การใช้ New Bar Event Handler สำหรับ Indicator ใน MetaTrader 5

Mike 2011.01.21 00:22 31 0 0
ไฟล์แนบ

ในบทความนี้เราจะมาพูดถึงแนวคิดเกี่ยวกับการใช้ New Bar Event Handler ที่ช่วยให้เราสามารถคำนวณค่าใหม่ได้เฉพาะเมื่อแท่งเทียนใหม่ปรากฏขึ้นเท่านั้น ซึ่งเป็นทางเลือกที่สะดวกสบายกว่าในการใช้ฟังก์ชัน OnCalculate() ตรงๆ ครับ

ตัวอย่างที่เรานำมาให้ดูในวันนี้คือ Indicator ง่ายๆ ที่จะแสดงเส้นเมื่อมีแท่งเทียนใหม่เกิดขึ้น:

//+------------------------------------------------------------------+//|                                                OnNewBarCalculate.mq5 |//|                                            Copyright 2010, Lizar |//|                                                    Lizar@mail.ru |//+------------------------------------------------------------------+#property copyright "Copyright 2010, Lizar"#property link      "Lizar@mail.ru"#property version   "1.00"#property indicator_chart_window#include <OnNewBarCalculate.mqh> // นี่คือความลับในการเรียกใช้ฟังก์ชัน OnNewBarCalculate()//+------------------------------------------------------------------+//| New bar event handler for the indicator                          |//+------------------------------------------------------------------+int OnNewBarCalculate(constint rates_total,
                constint prev_calculated,
                constdatetime& time[],
                constdouble& open[],
                constdouble& high[],
                constdouble& low[],
                constdouble& close[],
                constlong& tick_volume[],
                constlong& volume[],
                constint& spread[]) {
//--- ที่นี่คุณสามารถเขียนโค้ดได้คล้ายกับ OnCalculate();//--- แต่ฟังก์ชันนี้จะถูกเรียกใช้เฉพาะเมื่อแท่งเทียนใหม่เกิดขึ้น (ไม่ทุกที)

   PrintFormat("New bar: %s",TimeToString(TimeCurrent(),TIME_SECONDS));
//--- คืนค่าของ prev_calculated สำหรับการเรียกครั้งถัดไป
   return(rates_total);
}  
รายการ
ความคิดเห็น 0