Expert Advisor "Test_ChartEvent.mq4" adalah contoh yang menunjukkan berbagai jenis ChartEvent: peristiwa tombol keyboard, klik & gerakan mouse, serta peristiwa kustom. Kamu bisa menekan tombol 'H' untuk bantuan dan tombol 'M' untuk masuk ke mode peristiwa MOUSE_MOVE.
Kode sumber ini dapat digunakan di MetaTrader 4 dan MetaTrader 5.
Prototype Fungsi
- bool Obj_Create()
- bool Obj_Delete()
- bool Obj_Move(int hSens,int vSens) - memindahkan objek.
- void Print_Info() - mencetak informasi tentang objek.
- int MouseMove(int aXX,int aYY,string sState) - menangani peristiwa gerakan mouse.
Variabel Global
- int gChartNo=0
- int gSubWinNo=0
- string gsObj_Name_selected="" - nama objek yang sedang dipilih.
Peristiwa Kustom
Tiga jenis peristiwa kustom didefinisikan:
- #define cMyEvent_1 0
- #define cMyEvent_2 1
- #define cMyEvent_3_broadcast 2
Fungsi OnTimer()
Fungsi ini membuat ChartEvent kustom secara berkala. Fungsi ini secara acak menghasilkan tiga peristiwa kustom (cMyEvent_1, cMyEvent_2, dan cMyEvent_3_broadcast). Khususnya, peristiwa cMyEvent_3_broadcast dihasilkan untuk semua jendela chart yang terbuka.
Contoh Kelas
Kelas "CObjectMan" dibuat untuk menangani fungsionalitas objek di chart. Dua instance (variabel) dari kelas ini dideklarasikan: gObjectMan1 dan gObjectMan2.
Nama Objek Grafis yang terhubung dengan kedua instance ini adalah masing-masing: "Tombol Hijau" dan "Tombol Kuning".
Proses Peristiwa
void OnChartEvent():
Peristiwa "CHARTEVENT_KEYDOWN":
- 4 tombol arah (panah) atau 4 tombol arah di panel digital untuk memindahkan objek yang dipilih.
- 'H': mencetak informasi Bantuan (di jendela log expert).
- 'I': mencetak informasi posisi dua Objek.
- 'M': mengaktifkan peristiwa MOUSE_MOVE.
Peristiwa Kustom
Mencetak informasi tentang peristiwa ini. Khususnya untuk peristiwa MyEvent_3_broadcast.
Peristiwa Objek
- CHARTEVENT_OBJECT_CHANGE, CHARTEVENT_OBJECT_DRAG, CHARTEVENT_OBJECT_DELETE - mencetak nama objek yang sesuai.
- CHARTEVENT_OBJECT_CLICK - mencetak nama objek yang diklik, pilih namanya untuk dipindahkan dengan tombol arah.
Peristiwa Mouse
- CHARTEVENT_CLICK - mencetak informasi bar yang diklik: harga (buka, tutup) dan waktu bar.
- CHARTEVENT_MOUSE_MOVE (lihat: CHART_EVENT_MOUSE_MOVE) - mencetak informasi dari interval yang ditutupi: jumlah bar, variasi harga.

Demonstrasi
Kamu bisa melakukan pengujian berikut:
- Klik salah satu dari dua objek (Tombol) untuk memilih dan gunakan tombol arah untuk memindahkan objek yang dipilih.
- Klik pada bar grafik dan lihat informasi bar di tab log (pesan).
- Tekan tombol 'M' untuk masuk ke mode peristiwa MOUSE_MOVE. Tekan Ctrl+F untuk menampilkan garis silang, lalu lakukan operasi drag'n'drop. Jika tidak melihat pesan log, ubah parameter input: "iLogLevel".
Postingan terkait
- MQL5 Wizard: Mengoptimalkan Sinyal Perdagangan dengan Morning/Evening Stars dan MFI
- MQL5 Wizard: Membuat EA dengan Sinyal Trading Berdasarkan Pola Morning/Evening Stars dan Stochastic
- Uji Coba Alat Pembelajaran Mesin Schnick untuk MetaTrader 5
- MQL5 Wizard: Membuat Expert Advisor dengan Pola Candlestick 3 Black Crows/3 White Soldiers dan RSI
- MQL5 Wizard: Menggunakan Sinyal Trading Berbasis Morning/Evening Stars dan RSI untuk MetaTrader 5