Beranda Perdagangan Sistem Postingan

Contoh Pengujian ChartEvent - EA untuk MetaTrader 4

Lampiran
17875.zip (4.97 KB, Unduh 2 kali)

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":

  1. 4 tombol arah (panah) atau 4 tombol arah di panel digital untuk memindahkan objek yang dipilih.
  2. 'H': mencetak informasi Bantuan (di jendela log expert).
  3. 'I': mencetak informasi posisi dua Objek.
  4. '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.

Contoh Pengujian ChartEvent


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

Komentar (0)