Kali ini, kita akan bincangkan tentang pengendali acara 'Bar Baru' yang sangat berguna dalam penggunaan indikator di MetaTrader 5. Konsep ini dijelaskan dalam artikel Pengendali Acara 'Bar Baru'. Dalam artikel tersebut, anda akan menemui contoh penggunaannya dalam EA (Expert Advisor) dan solusi untuk indikator. Idea utama di sini adalah ia membolehkan kita melakukan pengiraan semula hanya apabila bar baru muncul. Ini merupakan alternatif yang lebih praktikal berbanding penggunaan langsung fungsi OnCalculate().
Sekarang, mari kita lihat contoh indikator ringkas yang mencetak garis apabila bar baru muncul:
//+------------------------------------------------------------------+//| 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> // ini adalah rahsia untuk memanggil fungsi OnNewBarCalculate()//+------------------------------------------------------------------+//| Pengendali acara bar baru untuk indikator |//+------------------------------------------------------------------+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[]) { //--- di sini anda boleh menulis kod, serupa dengan OnCalculate();//--- tetapi fungsi ini hanya akan dipanggil jika bar baru muncul (bukan pada setiap tick) PrintFormat("Bar baru: %s",TimeToString(TimeCurrent(),TIME_SECONDS)); //--- nilai kembali prev_calculated untuk panggilan seterusnya return(rates_total); }

Komen 0