ในบทความก่อนหน้านี้ เราใช้เวลาในการตรวจจับแท่งเทียนใหม่ แต่วันนี้เราจะมาลองใช้การนับแท่งเพื่อตรวจจับแท่งเทียนใหม่กันดูวิธีนี้เบาและเร็วกว่าการใช้วิธีเวลานะครับ
- ประกาศตัวแปรในชนิดข้อมูล integer เพื่อเก็บจำนวนแท่ง
- กำหนดจำนวนแท่งให้กับ "BarsTotal_OnInt"
- ใช้ฟังก์ชัน iBars(); เพื่อกำหนดจำนวนแท่งให้กับ "BarsTotal_OnTick"ทุกๆ ที
- ใช้ comments และ alerts เพื่อตรวจสอบความถูกต้องของโค้ด

int BarsTotal_OnInt; int BarsTotal_OnTick; //+------------------------------------------------------------------+ //| ฟังก์ชันเริ่มต้นของ EA | //+------------------------------------------------------------------+ int OnInit() { BarsTotal_OnInt = iBars(NULL,PERIOD_CURRENT); // กำหนดจำนวนแท่งที่เริ่มต้น return(INIT_SUCCEEDED); } void OnTick() // ฟังก์ชัน OnTick { BarsTotal_OnTick = iBars(NULL,PERIOD_CURRENT); // เก็บจำนวนแท่งล่าสุด if(BarsTotal_OnTick > BarsTotal_OnInt) // แท่งใหม่เข้ามา { BarsTotal_OnInt = BarsTotal_OnTick; // อัปเดตประวัติ Alert("แท่งใหม่เข้ามาแล้ว"); Comment("จำนวนแท่งในประวัติ -: ", BarsTotal_OnInt, "\n", "จำนวนแท่งในกราฟสด -: ", BarsTotal_OnTick); // โค้ดของคุณไปที่นี่ -------------------------- // คุณสามารถอัปเดตตัวแปร "flag" เพื่อใช้ในภายหลังได้ } }
ความคิดเห็น 0