Pada kod sebelum ini, saya menggunakan masa untuk mengesan bar baru. Kali ini, mari kita gunakan kiraan bar untuk mengesan bar baru. Kaedah ini lebih ringan dan pantas berbanding dengan kaedah masa.
- Nyatakan pembolehubah dalam jenis data integer untuk menyimpan kiraan bar.
- Tetapkan kiraan bar untuk "BarsTotal_OnInt" semasa inisialisasi.
- Gunakan fungsi iBars(); untuk menetapkan kiraan bar bagi pembolehubah "BarsTotal_OnTick" pada carta langsung. Pembolehubah ini akan dikemas kini pada setiap tick.
- Gunakan komen dan peringatan untuk memeriksa ketepatan kod.

int BarsTotal_OnInt; int BarsTotal_OnTick; //+------------------------------------------------------------------+ //| Fungsi inisialisasi pakar | //+------------------------------------------------------------------+ int OnInit() { BarsTotal_OnInt = iBars(NULL,PERIOD_CURRENT); // Menetapkan jumlah bar semasa inisialisasi return(INIT_SUCCEEDED); } void OnTick() // Fungsi OnTick { BarsTotal_OnTick = iBars(NULL,PERIOD_CURRENT); // Menyimpan jumlah terkini if(BarsTotal_OnTick > BarsTotal_OnInt) // Bar baru telah tiba { BarsTotal_OnInt = BarsTotal_OnTick; // Mengemas kini sejarah. Alert("Bar Baru telah tiba"); Comment("Kiraan Bar dalam sejarah -: ", BarsTotal_OnInt, "\n", "Kiraan Bar dalam Langsung -: ", BarsTotal_OnTick); // Kod anda di sini. -------------------------- // Anda boleh mengemas kini "bendera" / pembolehubah untuk digunakan kemudian juga. } }
Siaran berkaitan
- MQL5 Wizard: Cipta Isyarat Dagangan Menggunakan Corak Morning/Evening Star dan MFI
- Panduan Lengkap MQL5 Wizard untuk Isyarat Dagangan Berdasarkan Morning/Evening Stars dan Stochastic
- MQL5 Wizard: Cipta Sistem Trading Berdasarkan Pola Morning/Evening Star dan RSI
- Pemprosesan Pesanan Visual - Sistem Trading untuk MetaTrader 4
- MQL5 Wizard: Cipta EA Berdasarkan Pola Bullish dan Bearish Engulfing dengan Stochastic