Dalam dunia trading, sangat penting untuk mengetahui sama ada bar baru telah muncul pada timeframe yang ditetapkan. Berikut adalah cara untuk melakukannya menggunakan fungsi isNewBar().
Setelah panggilan pertama fungsi isNewBar(), bar semasa tidak dianggap sebagai bar baru. Fungsi ini akan menyimpan masa bar semasa, dan bar seterusnya akan dianggap baru.
Kod ini telah diberi komen dengan jelas, jadi mudah untuk difahami. Saya harap ia berguna untuk anda!
Pastikan anda menggunakan kaedah yang biasa digunakan dalam MQL4 - pengiraan bar menggunakan Fungsi Bars (dibincangkan di sini dalam bahasa Rusia).
Dalam MQL5, ini hanya akan berfungsi jika maksimum bar dalam carta ditetapkan kepada Tidak Terhad:

Apabila bar baru muncul, fungsi Bars akan mengembalikan bilangan bar yang semakin meningkat. Namun, jika maksimum bar dalam carta adalah terhad (contohnya, 10000 bar), pendekatan ini tidak akan berfungsi! Mudah untuk memeriksa ini.
Oleh itu, adalah perlu untuk menyimpan masa bar terakhir dan membandingkannya, kerana masa tidak akan berubah sehingga bar tersebut selesai.
Kaedah ini digunakan dalam indikator tersebut.