Panduan Lengkap Expert Advisor untuk MetaTrader 5

Mike 2012.11.30 20:13 17 0 0
Lampiran

Expert Advisor (EA) ini telah ditulis semula dari MQL4 oleh lsv. Anda boleh merujuk kepada sumber asal di https://www.mql5.com/ru/code/9431.

Bagaimana Ia Berfungsi

EA ini berfungsi berdasarkan tick, tanpa mengira timeframe yang digunakan. Ia mengumpul pola harga semasa yang terbentuk di pasaran. Beberapa pola dengan parameter yang berbeza akan dibentuk. Bilangan pola ditentukan dalam pemboleh ubah Nidelt. Untuk pola pertama, parameter dstop digunakan; untuk pola kedua, dstop*2, dan seterusnya hingga dstop*N, di mana N adalah bilangan pola. Sekiranya harga berubah menjadi nilai dstop*N, satu titik pola baru akan ditangkap. Titik yang paling baru akan dihapuskan, menjadikan pola tersebut mempunyai panjang tetap Nidelt titik. Semakin banyak nilai tetapan yang dimiliki oleh pola, semakin dalam ia menangkap sejarah. Oleh itu, pasaran dapat dikesan secara serentak dalam pelbagai kedalaman sejarah.

Apabila terdapat perubahan pada pola (perubahan dalam situasi pasaran), posisi maya akan dibuka. Tugas di sini adalah untuk mengaitkan posisi dengan situasi pasaran yang tertentu. Ini dilakukan dengan cara berikut: pola ditunjukkan oleh urutan nilai harga yang ditukar kepada urutan binari. Jika nilai satu titik lebih tinggi daripada nilai sebelumnya, ia menjadi 1, jika tidak - 0. Dalam urutan ini, nombor pola unik dikira (ini bermakna penukaran digit binari kepada desimal).

EA ini boleh membuka dari satu hingga tiga posisi maya dengan Stop Loss/Take Profit yang berbeza. Nilai Stop Loss dan Take Profit untuk setiap posisi adalah sama. Nilai Stop Loss/Take Profit ditentukan oleh parameter dstop; untuk satu posisi, dstop*1 digunakan, untuk yang lain - dstop*2, dan seterusnya. Jika harga naik pada nilai kemungkinan Stop Loss/Take Profit, ia akan menambah nilai yang mungkin untuk kenaikan pola ini; jika turun, ia akan meningkatkan nilai kemungkinan ke bawah. Posisi maya dibuka untuk setiap tiga pola: parameter pola, nombor pola (bentuknya), dan untuk setiap nilai Stop Loss/Take Profit. Untuk setiap kombinasi ini, kemungkinan perdagangan naik atau turun dikira.

Jika menurut mana-mana kombinasi tiga parameter (parameter, nombor, Stop Loss/Take Profit) sekurang-kurangnya 10 transaksi maya dicipta, dan jika situasi yang sama berlaku di pasaran (parameter tertentu dan nombor pola dikesan secara automatik), maka pembukaan posisi boleh dianggap dengan arah yang ditentukan berdasarkan kemungkinan yang dikira berdasarkan statistik ini oleh nilai Stop Loss/Take Profit.

Pengumpulan statistik memerlukan masa. Seperti yang dinyatakan oleh penulis EA: "Ia mungkin memerlukan beberapa minggu". Proses pengumpulan statistik dapat dipercepatkan menggunakan penguji. Namun, perubahan harga tick di penguji dan pasaran sebenar boleh berbeza dengan ketara. Penulis mencadangkan cara berikut: latih EA di penguji dan kemudian jalankannya di akaun demo selama hampir seminggu. Jika EA menunjukkan hasil positif (maka ia akan belajar sedikit), maka ia boleh digunakan di akaun sebenar.

Persediaan Expert Advisor

Langkah pertama dalam penyediaan EA untuk berfungsi adalah mengoptimumkan parameternya: Nidel, Nstop, dstop, forg, Probab, NN, delta. Pada tahap ini, pengoptimuman dilakukan dengan parameter ReadHistory dan SaveHistory dimatikan. Selepas kombinasi parameter yang boleh diterima dijumpai, satu ujian perlu dilakukan dengan SaveHistory=true. Kemudian jalankan EA di akaun dari ReadHistory=true - EA akan mula berfungsi serta-merta kerana ia telah mengumpul statistik yang mencukupi dalam penguji. Menghidupkan SaveHistory semasa berfungsi dalam akaun adalah disyorkan untuk menyimpan data secara automatik apabila EA sudah belajar dan bersedia untuk berfungsi jika EA dihidupkan semula.

Apabila menggunakan SaveHistory dalam penguji, data pembelajaran yang disimpan akan disimpan dalam fail bernama FD_[Symbol]. Sebagai contoh, jika EA diuji pada EURUSD, fail akan dinamakan «FD_EURUSD», jika pada GBPUSD – «FD_GBPUSD», dan sebagainya. Fail-fail ini disimpan dalam folder Files yang merupakan folder data umum untuk semua terminal. Anda boleh mencari General Data Folder melalui menu utama MetaEditor – untuk membuka folder data umum. Melalui folder ini, data dibaca oleh ReadHistory.

Selain menyimpan hasil pembelajaran, EA juga menyimpan dua fail yang penting dalam proses perdagangan. Fail-fail ini dinamakan: FDlast_buy[Symbol][TimeFrame], dan FDlast_sell[Symbol][TimeFrame]. Jangan terlalu risau mengenai fail ini.

EA ini bergantung kepada timeframe hanya dalam kekerapan penyimpanan data pembelajaran dan masa minimum antara transaksi maya. Ia sama dengan ketumpatan dua bar, jadi terdapat sedikit perbezaan dalam hasil kerja EA pada timeframe yang berbeza.

Gambar di bawah menunjukkan hasil pembelajaran kerja EA pada EURUSD M15 dengan tetapan lalai.

 

Parameter

  • ReadHistory - Membaca sejarah pembelajaran yang disimpan.
  • SaveHistory - Menyimpan sejarah pembelajaran. Semasa ujian, sejarah disimpan sehingga akhir ujian, apabila bekerja pada akaun - secara berkala melalui cara pembelajaran semula.
  • Lots - Jumlah posisi.
  • Nidelt - Bilangan pola tidak boleh melebihi 30.
  • Nstop - Bilangan parameter posisi maya (nilai berbeza bagi Stop Loss dan Take Profit, Stop Loss dan Take Profit adalah sama), 1, 2 atau 3.
  • dstop - Langkah perubahan parameter posisi maya (Stop Loss dan Take Profit).
  • forg - Kadar melupakan hasil pembelajaran, nilainya harus sedikit lebih dari 1.
  • Probab - Tahap kebarangkalian yang ditentukan oleh hasil pembelajaran di mana pembukaan posisi dilakukan.
  • NN - Saiz pola tidak boleh melebihi 12.
  • delta - Langkah perubahan parameter pola.
  • ReplaceStops - Untuk mengubah Stop Loss/Take Profit pada isyarat pembukaan baru. Penukaran Stop Loss/Take Profit hanya dilakukan berdasarkan arah posisi.
  • Trailing - Tahap trailing stop; apabila nilai adalah 0, trailing stop dinyahaktifkan.
Senarai
Komen 0