MetaTrader5
ZigZag Profesional - Indikator untuk MetaTrader 5
Perhatian! Versi indikator ZigZag ini berdasarkan pada kod ZigZag, dan diterbitkan di sini dengan izin daripada penulisnya, PPC. Saya telah menguji versi ini dan membetulkan kesalahan dalam algoritma.
Kod ini adalah versi MQL5 dari indikator ZigZag untuk MetaTrader 4.
Perhatian! Pustaka AlexSTAL_OutsideBar.mqh perlu diletakkan di ..\MQL5\Include folder terminal klien MetaTrader 5.
Itu sahaja?
Saya berpendapat ZigZag adalah seperti pemampatan carta harga. ZigZag boleh dikira menggunakan harga bar (contohnya, harga Tutup) atau harga Tinggi/Rendah bar (kaedah yang paling biasa digunakan).
Semasa bekerja dengan ZigZag standard yang dicadangkan oleh MetaQuotes, saya telah menemui beberapa kesalahan. Masalah utama ialah ZigZag standard tidak mengambil kira bar luar.
Pada tahun 2007, Rashid Umarov (Rosh) telah menerbitkan kod Zigzag2 R yang memproses bar luar (gaya DRAW_ZIGZAG menggantikan DRAW_SECTION).
Mari kita tentukan ciri-ciri pelaksanaan ZigZag yang "betul":
Tinggi dan Rendah mesti bergantian secara ketat;
Tinggi mesti lebih tinggi (atau sama) di kalangan semua bar di sebelah kanan sehingga ke Rendah (bertentangan) seterusnya;
Rendah mesti lebih rendah (atau sama) di kalangan semua bar di sebelah kiri sehingga ke Tinggi (bertentangan) seterusnya.
Mari kita pertimbangkan menggunakan contoh (EURUSD, H1, 2006, 8-13 Disember). Di sini kita mempunyai dua kes dengan bar luar. ZigZag tipikal tidak dapat membina gambar "betul".
Gambar 1. ZigZag tipikal ZigZag dengan parameter input [12;5;3] dan [12;0;0]
Gambar 2. Zigzag2 R dengan parameter input [12;5;3]
Gambar 3. Zigzag2 R dengan parameter input [12;0;0]
Pada pandangan pertama, pembinaan yang betul ditunjukkan pada Gambar 3 tetapi ada beberapa ciri:
Dalam kes ini, ia telah dibina dengan betul kerana parameter input, tetapi secara amnya algoritma mesti berfungsi dengan mana-mana parameter.Bar luar di sebelah kiri tidak betul, kerana urutan pembentukan Tinggi/Rendah bar:
Segmen ZigZag mesti dibina dengan cara ini.
Saya telah menguji banyak kes algoritma ZigZag berikut: ZigZag MT3, ZigZag, Zigzag R, Zigzag2 R, ZigZag_NK, ZigZag_ZUP89_nen, ZigZag_new_nen4, CZigZag, Swing_ZZ_1, DT_ZZ_nen, ZigZag_Talex, Reverse_ZZ, Points_ZZ_1, i_MF_Fractal_ZZ_3in1, ang_Amp_ZZ, ZigzagFr_v1, NonLagZigZag_v2, ZZ_FF_v3, ZigZag Ensign, ZigZag tauber, SQZZ Товаровед, ZZ_2L_nen wellx, Channel ZZ, Azzx_larryzz_3_0, RPoint, RPoint-m v2, ZigZagTF. Tetapi tiada satupun daripada mereka yang dapat menyelesaikan masalah ini dengan betul.
Berikut adalah gambar dengan indikator ini:
Gambar 4. ZigZag Profesional dengan parameter input [12;0]
Gambar 5. ZigZag Profesional dengan parameter input [23;0]
Beberapa ciri versi ini:
algoritma satu laluan
ia mengira semula dan menggambar hanya segmen terakhir (segmen tidak boleh dibatalkan kecuali kemas kini sejarah)
ia mempunyai algoritma pengoptimuman untuk pengiraan di dalam bar (ia tidak menggunakan pengiraan semula pada tick, jika harga telah berubah di dalam bar 0 (belum siap) atau perubahan harga adalah lebih rendah daripada ambang, ditentukan oleh parameter input MinMotion)
ia mempunyai dua algoritma untuk urutan pembentukan Tinggi/Rendah: menggunakan jenis bar (cepat tetapi tidak tepat) menggunakan data dari timeframe yang lebih rendah (ia memerlukan sejarah, anda perlu memeriksa kehadiran dan ketepatannya atau anda perlu mengubah pustaka OutsideBar)
Versi ProExtra tidak diterbitkan, kerana ketepatan petikan MetaTrader 5 tidak disemak.Berikut adalah beberapa contoh tambahan pembinaan ZigZag yang tidak betul:
Gambar 6. EURUSD, H1, 29 November - 7 Disember. (Garis Merah: ZigZag dengan parameter input [7;0;0]. Garis Biru: Zigzag2 R dengan parameter input [7;0;0].)
Gambar 7. EURUSD, H1, 2010, 29 November - 7 Disember. Pembinaan segmen ZigZag yang betul.
Kesimpulan
Malangnya versi ini tidak sempurna, tetapi saya sedang berusaha untuk memperbaikinya.Disebabkan oleh algoritma saluran (iHighest/iLowest), kadang-kadang ia terlepas tinggi.
Sila maklumkan kepada saya mengenai pepijat dan ciri indikator ini.
2011.01.19