หน้าแรก ตัวชี้วัดทางเทคนิค โพสต์

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

ไฟล์แนบ
199.zip (2.92 KB, ดาวน์โหลด 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(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[]) {
//--- ที่นี่คุณสามารถเขียนโค้ดได้คล้ายกับ OnCalculate();
//--- แต่ฟังก์ชันนี้จะถูกเรียกใช้เฉพาะเมื่อแท่งเทียนใหม่เกิดขึ้น (ไม่ทุกที)

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

โพสต์ที่เกี่ยวข้อง

ความคิดเห็น (0)