MetaTrader 4 Strategy Tester direka untuk menguji dan optimumkan indicator dan robot perdagangan sebelum menggunakannya dalam perdagangan forex sebenar. Tester lain boleh digabungkan di dalamnya, sambil menambah lebih banyak fungsi. Statistik ujian dimuat naik ke jurnal dagangan dan editor untuk analisis. Dari artikel ini, anda akan belajar mengenai kelebihan dan kelemahan dari Strategy Tester MT4, bagaimana untuk menganalisa hasil carian dan apa masalah yang diuji serta dioptimumkan oleh Expert Advisor (EA).

Gambaran Strategy Tester MT4: ujian, pengoptimuman indicator dan sistem perdagangan

Analisis keberkesanan sistem perdagangan, manual strategi dan indicator adalah syarat wajib yang mesti dipenuhi sebelum menggunakannya dalam perdagangan sebenar dengan wang sebenar (dan juga dalam akaun demo). Strategy tester Forex mungkin program berasingan atau, mungkin aplikasi untuk platform tertentu. Mereka juga boleh dibahagikan kepada yang direka untuk menguji hanya strategi perdagangan manual (Forex Simulator, FX Blue Trading Simulator) dan mereka yang boleh digunakan untuk menguji robot perdagangan juga.

Artikel ini merangkumi subjek berikut:


Saya cuba membuat gambaran keseluruhannya secara terperinci, untuk memberi sebanyak mungkin maklumat tetapi dalam cara yang mudah. Jika anda mendapati sebarang kesilapan atau tidak tepat, sila beritahu saya dalam komen!

MT4 tester - simulator universal untuk EA dan indicator

Menurut kaedah menguji, tester dibahagikan kepada dua jenis:

  1. Cyclic testers. Mereka secara konsisten menganalisis satu per satu candle. Menerima nilai baru candle terakhir, mereka membuat beberapa pengiraan berdasarkan formula, dengan mengambil kira data candle terdahulu. Jika faktor-faktor yang dinyatakan dalam kod / parameter bertepatan, mereka membuka dan menutup posisi. Mengikut keputusan ujian, statistik dagangan dibuat. Kekurangan penguji ini: mereka tidak mengambil kira spread sebenar, slippage, itu sebabnya hasil pengujian jauh dari apa yang akan berlaku dalam akaun sebenar.
  2. Event-driven backtesters. Mereka adalah hampir sama dengan pasaran sebenar. Pereka tester menunjukkan bahawa, apabila terjadi sesuatu, ia akan menghasilkan situasional baru secara rawak yang mungkin menjejaskan hasil akhir. Kelemahan penguji ini adalah kod yang susah dan akibatnya, kemungkinan besar kesilapan. Kita perlu mengetahui bahasa pengaturcaraan untuk merancang sistem perdagangan bagi tester seperti itu.

MT4 tester berdasarkan jenis pertama.

MetaTrader 4 sentiasa menaik taraf dan fungsi backtest juga ditingkatkan. Contohnya, dalam versi terdahulu (tersedia beberapa tahun lalu), tidak mungkin untuk menguji indicator. Peniaga mengkaji asas pengaturcaraan komputer, mengambil expert "kosong" (template dengan parameter pengurusan risiko bersepadu, pengiraan lot dan lain-lain) dan menambahkan kod indicator kepadanya, menyesuaikannya sedikit. Sekarang, MT4 Tester adalah program pelbagai fungsi untuk ujian asas yang membolehkan untuk menguji indicator dan robot dagangan dalam sebarang tempoh masa dengan kemudiannya memuat naik pernyataan tersebut menjadi editor.

1. Menguji indicator dan sistem perdagangan manual di MT4 Tester

Tester Strategy dalam platform dagangan membolehkan anda menguji bukan sahaja EA, tetapi juga indicator. Fungsi menguji indicator dalam MT4 bermaksud bahawa peniaga kini dapat memantau prestasi indicator pada sejarah masa dalam "waktu sebenar". Iaitu, anda menetapkan permulaan tempoh dalam carta dan mula menguji dalam mod visual, supaya anda dapat melihat lukisan garisan indicator. Ini membolehkan anda:

  • Bebaskan diri dari bahagian indicator. Dalam mod visualisasi, sebelah kanan carta belum dilukis lagi dan peniaga tidak tahu di mana harga akan pergi dan mengambil keputusan berdasarkan maklumat yang ada saat ini, tanpa "melihat ke masa depan".
  • Lihat sama ada indicator itu repaint balik atau tidak

Bagaimana tester MT4 berfungsi pada data sejarah

  • Ujian hanya boleh dilakukan dengan satu instrumen perdagangan, tiada ujian portfolio
  • Saiz dan kepelbagaian lot, swap dan komisyen diambil dari parameter akaun semasa.
  • Pemodelan dilaksanakan sedekat yang mungkin dengan keadaan pasaran, tetapi terdapat perbezaan yang signifikan dalam cross rate disebabkan oleh kurangnya rate yang tepat pada masa penukaran pada setiap jangka masa.
  • Dalam menguji tempoh, dagangan dimasukkan dalam mod Instant Execution.
  • Ujian tidak dilakukan pada jangka waktu yang non-standard, walaupun anda menambahkannya menggunakan skrip.

Sebarang ujian, tanpa mengira sama ada Tester MT4 atau simulator lain, bermula dengan memuat turun data sejarah. Di MT4, ini dilakukan seperti berikut:

  • Klik pada Tools/History Center
  • Tandakan pasangan mata wang yang diperlukan dan pilih carta M1 (mereka memberikan data sejarah yang paling tepat)
  • Muat turun data

LiteFinance: 1. Menguji indicator dan sistem perdagangan manual di MT4 Tester

Data dimuat turun dari rangkaian MetaQuotes. Pangasas quote MT4 mungkin berbeza dari broker, yang dicatatkan oleh LiteFinance. Disebabkan perbezaan data, terdapat perbezaan dalam statistik ujian, dan kualiti data adalah perkara pertama yang perlu anda perhatikan sebelum anda memulakan ujian.

Anda menjalankan tester, ada ikon yang sepadan dalam toolbar. Atau, anda membuka menu View/Strategy Tester. Buka pasangan mata wang, yang mana anda telah memuat turun data sejarah, dalam carta dan pasangkan indicator itu. Dalam window tester yang telah dibuka di bahagian bawah platform, klik pada tab Indicator dan pilih yang akan anda uji. Dalam contoh yang diberikan, ia adalah Alligator.

LiteFinance: 1. Menguji indicator dan sistem perdagangan manual di MT4 Tester

Di sebelah kanan, terdapat menu Indicator properties (ditandakan dengan kotak hijau).

1. Indicator properties. Di sini, anda boleh menyesuaikan tetapan ndicator yang akan dijalankan untuk backtest. Ambil perhatian bahawa ini hanya untuk indicator yang akan diuji.

LiteFinance: 1. Menguji indicator dan sistem perdagangan manual di MT4 Tester

Ini ialah window tetapan Alligator sebelum ujian

LiteFinance: 1. Menguji indicator dan sistem perdagangan manual di MT4 Tester

Ini ialah window tetapan Alligator dalam carta dagangan standard. Seperti yang anda lihat, mereka berbeza. Adakah ini kelemahannya? Saya cadangkan kita membincangkannya dalam komen.

2.Symbol properties. Ini window maklumat, anda tidak boleh mengubah apa-apa di sana. Terdapat tetapan deposit permulaan, tahap kerugian, spread dan dan sebagainya.

3. Open chart. Butang ini tidak berfungsi. Tiada apa-apa perubahan apabila anda klik padanya, dan ini adalah kekurangan MT4 yang jelas. Masalah ini diterangkan pada forum sebelum ini, tetapi tiada apa yang telah dibaiki.

4. Modify indicator. Bahagian ini memberi peluang untuk mengubah suai intipati indicator yang diuji dengan cara MetaEditor, tetapi anda boleh melakukannya hanya jika anda mengetahui code tersebut.

Sekarang, terdapat gambaran ringkas mengenai menu utama tester.

LiteFinance: 1. Menguji indicator dan sistem perdagangan manual di MT4 Tester

Dalam bahagian Symbol, pilih instrumen dagangan, yang anda gunakan untuk menguji indicator itu. Dalam contoh yang dipelajari, ia adalah pasangan USD/JPY, yang mana data sejarahnya dimuat turun. Dalam bahagian Use date, tentukan tempoh masa apabila tester akan dijalankan. Window Pengoptimuman hanya aktif untuk Expert Advisor. Dalam bahagian Visualization, terdapat slider, yang menyesuaikan kelajuan pergerakan carta (tester run). Terdapat bug dalam jangka masa: apabila anda menggerakkan kelajuan dari 31 hingga maksimum 32, jangka waktu carta meningkat dengan ketara beberapa kali.

Di sebelah kanan window dialog, anda boleh menetapkan jangka masa, pilih floating atau fixed spread. Ia dilakukan untuk kemudahan. Sebagai contoh, spread biasanya terlalu tinggi pada waktu malam, dan, jika strategi menggunakan indcator pada waktu malam, maka sesuai untuk menetapkan spread semasa.

  • Advice. Salah satu pilihan untuk menguji tekanan melibatkan penentuan parameter yang lebih buruk daripada keadaan pasaran sebenar. Kestabilan sistem perdagangan untuk memaksa majeure adalah kunci kejayaan di bawah keadaan normal, kerana ujian tekanan melibatkan menganalisis prestasi sistem perdagangan (ini sangat penting untuk robot) pada kos yang berlainan (spread, swap, dll.). MT4 tidak membenarkan penetapan mana-mana spread dan, oleh itu, anda boleh menggunakan skrip Spread Changer. Jika anda tidak menemui versi yang dikemas kini (percuma) di Internet, tulis di dalam komen alamat e-mel anda dan saya akan menghantar skrip kepada anda secepat mungkin.

Dan sekarang, perkara yang paling menarik, Model ujian. Di sini, anda boleh memilih antara beberapa model.

  • Every tick. Ini adalah kaedah yang paling tepat tetapi memerlukan masa yang paling lama. IT menggambarkan generasi tick dalam candlestick. Candle terbentuk dalam jangka masa pendek M1. Kaedah ini berfungsi seperti berikut: sebuah bar dibentuk mengikut corak OHLCV (Open - High - Low - Close, Volume). Di dalam bar itu sendiri, harga mungkin naik atau turun beberapa kali, yang mempengaruhi ketepatan pengiraan tetapi merumitkan misi tester. Ia boleh digariskan seperti ini:

LiteFinance: 1. Menguji indicator dan sistem perdagangan manual di MT4 Tester

Titik rujukan ditandakan dengan nombor (tidak ada gunanya untuk penerangan mengiranya). Kaedah "by every tick" membolehkan anda memantau tester sekiranya setiap perubahan harga di dalam bar. Ia adalah yang paling tepat, tetapi juga kaedah ujian yang agak memakan masa.

  • Control points. Ia didasarkan pada data dari timeframe yang lebih rendah, oleh itu ujian lebih cepat tetapi tidak tepat. Sebagai contoh, untuk jangka masa M5, data dari masa M1 dianalisis. Ia digunakan untuk mempunyai gambaran umum tentang prestasi indicator.
  • Open prices only. Ia adalah kaedah terpantas untuk menganalisis bar yang baru selesai. EA menganalisis pasaran dan memasuki perdagangan pada permulaan candle baru (open price). Langkah pertama ialah pemodelan bar (Open = High = Low = Close, Volume = 1). Yang seterusnya adalah mewakili bar lengkap. Dalam carta, bar ditarik satu demi satu, tanpa perubahan harga intrabar, formula indicator hanya menilai satu nilai harga, harga pembukaan bar. Trailing tidak bergerak di dalam bar.

Sekiranya take profit dan stop loss berada di dalam candlestick, tester akan mula menjalankan perhentian, walaupun mungkin sebaliknya. Itulah sebabnya, model ini digunakan untuk menguji robot perdagangan yang tidak menggunakan stop loss atau take profit.

Tidak perlu pergi terlalu jauh ke dalam butiran kaedah lukisan carta, saya cadangkan anda mematuhi peraturan berikut: jalankan proses ujian dengan parameter yang sama dengan menggunakan ketiga-tiga kaedah pemodelan bar. Sekiranya grafik dan laporan hampir sama, EA dioptimumkan. Sekiranya terdapat perbezaan yang besar, pemeriksaan yang kasar boleh dilakukan mengikut kaedah yang cepat, dan kemudian mengoptimumkan strategi tersebut, berdasarkan kaedah every ticka. Ini adalah benar untuk menguji EA juga.

Apabila semua parameter telah ditetapkan, anda boleh memulakan proses backtest dengan menekan butang Mula dan menunggu keputusan. Saya harus perhatikan bahawa setiap kali anda mengklik pada butang, terdapat graf baru dan proses pengujian bermula dari awal lagi. Untuk menghentikan tester dan masukkan dagangan, anda perlu mengklik di sekitar bar scrollbar speed. Anda tidak boleh kembali dan memasuki perdagangan secara retroaktif. Butang Stop sepenuhnya menghentikan proses ujian dan anda boleh menjalankannya hanya dari awal.

Jika proses ujian tidak bermula untuk beberapa sebab (masalah dengan data sejarah dan sebagainya), mulakan semula MT4.

Kelebihan MT4:

  • Ia adalah universal. Tester boleh menguji sebarang indicator, serta sistem perdagangan penuh (strategi manual, EA). Mana-mana indicator unik, yang codenya serasi dengan MT4, boleh dilampirkan pada carta dan diuji.
  • Anda boleh menggunakan program ini bersama-sama dengan simulator lain, tester MT4 boleh dijalankan secara bersendirian dan bersama dengan program lain yang sama. Contohnya, apabila anda memasang Simulator Trading FX Blue, parameter navigasi ditetapkan dalam window tester MT4. Berbeza dengan FX Blue yang diintegrasikan ke dalam simulator asas platform.

 Kekurangan tester MT4:

  • Tidak semua fungsi untuk menguji indicator berfungsi dengan betul. Terdapat masalah dengan import indicator (menambahkannya) semasa berhenti, indicator tidak menerima maklumat terkini dari jangka masa yang lain, itulah sebabnya hasilnya tidak betul.
  • Anda tidak boleh mengubah jangka masa semasa proses ujian
  • Anda tidak boleh memasukkan dagangan. Semasa berhenti, anda boleh menambah indicator lain, menukar visual "bar/candlestick", keluarkan grid, tukar skema warna, tetapi anda tidak boleh memasukkan dagangan. Oleh itu, anda tidak boleh menilai keuntungan strategi anda dan statistik lain, kerana tiada dagangan yang dimasukkan, tidak ada statistik perdagangan.

Kelemahan terakhir ini merosakkan semua manfaat menguji indicator. Seorang peniaga hanya dapat melihat carta yang sedang ditarik dan indicator berfungsi, tetapi tidak dapat meletakkan posisi.

Terdapat tiga cara untuk menyelesaikannya:

  1. Pasang tester tambahan manual strategi dalam MT4 Tester.
  2. Mereka EA berdasarkan indicator, anda perlu menambah syarat masuk/keluar kepada code indicator.
  3. Secara visual menilai prestasi indicator. Apabila ada saat kemasukan yang baik, hentikan seketika proses ujian dan letakkan anak panah atau simbol lain (Insert/ Symbol). Anda hanya boleh menilai secara visual sama ada keputusan itu berjaya, kerana dagangan tidak dimasukkan, jadi, tidak ada statistik apa pun.

LiteFinance: 1. Menguji indicator dan sistem perdagangan manual di MT4 Tester

Nota! Tidak ada masalah dengan menguji indicator, kadang-kadang ada masalah dengan indicator yang ditambah. Fungsi ujian indicator telah ditambah kepada MT4 beberapa tahun lalu. Jika indicatorelah direka sebelum fungsi ini ditambahkan, tester mungkin gagal untuk menjalankannya.

2. Menguji sistem perdagangan automatik dengan MetaTrader 4 Strategy Tester

Expert Advisor diuji hampir sama seperti indicator. MT4 mempunyai built-in editor, MetaEditor, di mana anda boleh menulis kod robot dagangan yang akan synchronise secara tepat dengan platform. Ujian di sini juga bermula dengan mengimport data sejarah.

Ia boleh:

  • Data dari MetaQuotes. Saya menerangkan bagaimana untuk memuat turunnya di bahagian sebelumnya. Kualiti mereka sering dikritik, tetapi mereka akan lakukan untuk latihan.
  • Quote broker yang sepatutnya berada di platform, dimuat turun dari laman webnya.

Buka menu Tool/Setting, klik pada menu Grafik, salin nilai dari "Bar maksimum dalam sejarah" dan masukkan dalam "Bar maksimum dalam window" (secara default, ia adalah 65,000).

Buka tester dan dalam kotak, di mana kami memilih Indicator dalam contoh terdahulu, sekarang pilih EA. Semua parameter yang lain adalah sama dengan ujian indicator, kecuali properties Expert.

LiteFinance: 2. Menguji sistem perdagangan automatik dengan MetaTrader 4 Strategy Tester

Terdapat tiga tab dalam window Properties:

  1. Testing. Di sini, anda menetapkan parameter ujian. Ini adalah volume dan mata wang deposit awal, jenis posisi (contohnya, hanya posisi long atau hanya short).
  2. Input. Senarai semua input diberikan di sini sebagai jadual. Input adalah pemboleh ubah yang mempengaruhi kerja expert dan boleh ditukar terus dari terminal pelanggan. Data yang akan ditulis dalam section "Start", "Step" dan "Stop" tidak mempengaruhi ujian expert dan hanya digunakan untuk optimumkannya. Anda tidak meletakkan tick dalam window pembolehubah.
  3. Optimazation. Anda akan memerlukan tab ini selepas anda telah menguji EA dan mahu optimumkannya. Saya akan menerangkan secara terperinci lagi, dalam bahagian khas.

Dalam Input, terdapat butang Muat turun yang bertujuan menetapkan parameter. Apabila anda menguji satu robot pada pasangan mata wang tunggal dan anda mempunyai 4-5 parameter asas, ia boleh ditetapkan secara manual. Tetapi apabila ia adalah mengenai robot dengan 10 tetapan dan lebih (terutamanya mengenai EA pelbagai mata wang) dan mengenai ujian ke atas berpuluh-puluh aset, seseorang dengan mudah dapat dikelirukan. Oleh itu, robot biasanya ditambah dengan file yang mempunyai sambungan.set di mana parameter asas sudah ditetapkan untuk setiap pasangan mata wang. Anda hanya perlu memuat naik parameter ini.

Pilihan Optimization ditutup ketika anda menjalankan tester EA untuk pertama kalinya.

Tekan butang Mula dan lihat carta. Saya perlu ambil perhatian bahawa apabila anda menguji indicator, dagangan tidak dimasukkan ke dalam data sejarah, dalam hal ini robot meletakkan pesanan itu sendiri. Jika anda berminat dengan cara kerja EA, saya boleh mengesyorkan pemantauan carta, ia tidak mengambil banyak masa. Tetapi anda juga boleh melangkau visualisasi, menetapkan data yang diperlukan dalam tab "skip to" di sebelah scrollbar speed. Sehingga tarikh ini, ujian akan dilakukan tanpa visualisasi (tanpa carta), tetapi perdagangan akan dimasukkan ke dalam laporan.

3. Analisis statistik dan masalah menganalisis hasil backtest

Di bahagian bawah ruang platform (dan juga tester), terdapat menu, di mana anda dapat melihat statistik; Saya menandakannya dengan kotak merah dalam tangkapan skrin di bawah. Saya juga ingin menekankan bahawa skrin ini menunjukkan proses ujian untuk EA, berdasarkan Moving Average. Anda boleh melihat dagangan yang dimasukkan, keluar, quote dan sebab untuk keluar. Kotak di atas tester, di mana anda dapat melihat jumlah baki, adalah kotak untuk urus niaga semasa yang anda boleh laksanakan bersama dengan ujian di tab seterusnya. Baki di atas tester tidak berkaitan dengan proses ujian!

LiteFinance: 3. Analisis statistik dan masalah menganalisis hasil backtest

Saya cadangkan anda mula menganalisis dengan tab Graf. Sekiranya equity curve (curve balance) jelas turun, dengan penurunan tajam dan drawdown yang tinggi, kembali ke properties Expert dan konfigurasikan parameter. Sekiranya EA tidak memasuki sebarang dagangan, terdapat ralat. Cari kod ralat dalam jurnal Expert, huraiannya berada di laman web mql4.com di bahagian "Dokumentasi" (Rujukan).

Tab Hasil menunjukkan hasil ujian. Ia menunjukkan maklumat mengenai semua operasi perdagangan yang dilakukan, contohnya, masa, jenis, harga dibuka / tutup (termasuk ditutup dengan stop loss atau take profit), keuntungan dan baki.

LiteFinance: 3. Analisis statistik dan masalah menganalisis hasil backtest

Saya akan menerangkan tab Report dengan lebih terperinci

LiteFinance: 3. Analisis statistik dan masalah menganalisis hasil backtest

1. Bars in test. Ini adalah jumlah data sejarah model dalam bar;

2. Ticks modeled. Ia menunjukkan jumlah tick model. Setiap urutan posisi adalah keadaan bar pada satu ketika tertentu. Pointnya ialah bar yang corak lengkap harga OHLCV (Open - High - Low - Close, Volume). Bilangan bar dinyatakan mungkin berbeza-beza bergantung pada jangka masa, kualiti quote. Secara teori, tick yang lebih banyak digunakan, semakin tepat adalah ujian dan masa yang lebih lama diperlukan. Dalam praktiknya, terdapat situasi apabila data terperinci diuji adalah membuang masa, kerana hasilnya tidak akan berbeza dari mod ujian yang lebih cepat.

3. Modeling quality. Ia adalah kualiti tick yang dimodelkan semasa ujian dalam setiap sen. Dalam MT4, nilai tidak melebihi 90%, iaitu, 90% adalah hasil terbaik. Jika nilai kurang, anda perlu menyemak kualiti quote dan anda tidak boleh menggunakan Expert dalam perdagangan sebenar.

LiteFinance: 3. Analisis statistik dan masalah menganalisis hasil backtest

  • HistoryTotal - jumlah bilangan bar dalam sejarah;
  • StartBar - bilangan bar yang ujiannya bermula.
  • StartGen - bilangan bar dengan pemodelan pada jangka masa terdekat;
  • StartGenM1 - bilangan bar yang pemodelan pada minit bermula;
  • 0.25, 0.5 and 0.9 adalah faktor weighting

Jika anda memilih hanya Open price sebagai kaedah pemodelan bar (kaedah terpantas), nilai parameter akan menjadi n/a ", yang bermaksud pemodelan tidak dilakukan sama sekali, ia akan ditulis dalam section "Modelling quality";

Di forum, anda boleh menemui pendapat bahawa ketepatan 90% biasanya gagal dalam perdagangan sebenar. Untuk meningkatkan ketepatan sehingga 97% -99%, anda boleh menggunakan program Tickstory Lite percuma, yang gambarannya adalah topik untuk artikel lain. Sekiranya anda ingin mengetahui bagaimana untuk meningkatkan kualiti pemodelan dengan perisian ini, boleh komen di artikel ini

4. Mismatched chart errors. Kesilapan yang muncul apabila tick dimodelkan dalam tempoh masa yang berbeza. Sebab yang paling kerap adalah perbezaan antara data dari sejarah dan quote yang disediakan oleh broker.

Kualiti pemodelan dipaparkan secara skematik sebagai band dalam baris seterusnya laporan. Band ini boleh menjadi salah satu dari empat warna:

  • Light-green. Pemodelan dilakukan dalam jangka masa M1.
  • Dark-green. Pemodelan dilakukan pada jangka masa yang lebih panjang (dari M5 hingga H4)
  • Red. Pemodelan tidak dilakukan dalam tempoh ini kerana tiada data tempoh yang lebih kecil tersedia. Pada masa itu, hanya data dari tempoh yang dipilih dalam tetapan penguji digunakan;
  • Grey. Bahagian data ini tidak diuji sama sekali. 

Pada masa itu, warna yang lebih cerah adalah lebih baik dalam kualiti pemodelan itu, kerana terdapat lebih banyak data tempoh waktu yang lebih pendek yang tersedia. Jika mana-mana bahagian band berwarna kelabu (tiada data tersedia), muat turun semula semua data sejarah.

  • Dalam menu utama, buka katalog data File/Open
  • Buka folder History dan pilih folder dengan nama rangkain dagangan anda
  • Padam semua data untuk pasangan mata wang yang sedang diuji. Muat turun data sekali lagi.

Parameter lain ialah prestasi perdagangan; Saya terangkan cara menganalisisnya dalam artikel ini. Saya hanya akan menambah beberapa bahagian yang tidak disebutkan.

  • Total trades – sekurang-kurangnya 150 dagangan untuk sebarang jangka masa
  • Expected payoff . Indeks ini dikira secara statistik mewakili purata faktor keuntungan/kerugian perdagangan. Ia juga boleh dipertimbangkan untuk mewakili faktor keuntungan/kerugian dijangkakan perdagangan seterusnya; Ia diukur dalam mata wang deposit, tetapi anda boleh menukarnya ke mata secara manual jika anda mahu. Sekiranya jumlah yang dijangkakan adalah kurang daripada 10 unit, ia mungkin mencadangkan bahawa robot keluar dari posisi terlalu cepat (iaitu, ia mengurangkan potensi keuntungan).
  • Absolute drawdown. Ia adalah perbezaan antara deposit permulaan dan nilai terendah semasa tempoh ujian. Pengeluaran maksima (%) adalah kehilangan maksimum dalam mata wang deposit dan dalam peratus deposit;

Anda boleh menyimpan laporan itu dengan right-click pada hasil ujian

LiteFinance: 3. Analisis statistik dan masalah menganalisis hasil backtest

Laporan backtest ini boleh disalin ke clipboard atau disimpan dalam hard disk sebagai file HTML. Untuk berbuat demikian, seseorang perlu melaksanakan menu "Salin" atau "Simpan sebagai Laporan", masing-masing

Backtest boleh disimpan tidak hanya dalam format HTM, tetapi juga dalam Excel atau program lain yang secara automatik boleh mengumpulkan data menggunakan statistik algoritma dan output yang diberikan dalam bentuk yang mudah. Sebagai contoh, dalam bentuk gambar rajah dan graf. Ini mudah apabila anda membandingkan sistem dagangan berganda atau beberapa kombinasi parameter untuk satu sistem.

Juga, penipu boleh mengimport data laporan ke dalam editor.

Di samping itu, keputusan backtest digunakan untuk tujuan peribadi. Contohnya untuk menggambarkan kecekapan strategi dagangan apabila seseorang ingin menjual EA atau untuk menarik dana untuk manage fund. Ciri-ciri laporan backtest palsu:

  • Jenis HTML. Apabila anda menyimpan backtest, MT4 menawarkan jenis HTM, tetapi HTML adalah lanjutan yang biasa, jadi mereka, memilih yang hasil backtest palsu. Walaupun anda boleh menulis jenis HTML secara manual, tidak ada gunanya melakukannya. Oleh itu, pelanjutan HTML adalah tanda pertama bahawa laporan backtest palsu.
  • Space atau garis hilang. Sekiranya ada ruang, ini bermakna laporan backtest telah diperbetulkan secara manual, dan ia diimport ke editor sebelum ini.
  • Aksara tambahan (titik, koma). Untuk memeriksa, anda boleh dapatkan sebarang laporan di MT4 dan bandingkan laporan anda dengan laporan backtest orang lain.
  • Tiada komisyen, quote tidak relevan, kesilapan dalam spread. Sekiranya tiada komisyen, ia adalah satu petanda jelas bahawa ujian telah dilakukan di akaun demo. Anda boleh mengimport data ke dalam Excel dan menyemak dengan beberapa formula sama ada komisyen, harga dibuka/tutup, keuntungan dan baki sesuai antara satu sama lain. Sekiranya dagangan yang rugi telah dipadam, atau angka telah ditukar, Excel akan menunjukkan percanggahan.
  • Ticket adalah sama, pesanan tiket tidak sesuai dengan masa memasuki dagangan.

Nasihat. Jika sesiapa menawarkan anda untuk melabur dalam sistem perdagangan dan menunjukkan kepada anda sebuah laporan backtest sebagai bukti, minta kata laluan pelabur.

4. Expert optimization bagi sejarah data

Expert optimization dalam MT4 Tester mewakili pas berturut-turut expert yang sama dengan input yang berlainan pada data yang sama. Pada masa itu, parameter sedemikian boleh diambil yang membuat keberkesanan maximum expert. Optimization diperlukan dalam dua kes

  1. Sekiranya anda baru mereka EA dan ingin optimumkannya untuk tempoh masa atau instrumen dagangan yang lain.
  2. Keadaan pasaran telah berubah. Pasaran tidak menentu, trend harga berubah, oleh itu, sebarang sistem perdagangan mesti dikonfigurasi dari semasa ke semasa. Parameter diperiksa secara automatik di tester.

Sebelum anda memulakan optimization, anda meletakkan tick dalam kotak yang sepadan di menu utama tester. Anda boleh mematikan mod Visual. Optimization dilakukan pada setiap tick model (menjalankan tester pada ketiga-tiga model dan bandingkan sejauh mana keputusannya).

LiteFinance: 4. Expert optimization bagi sejarah data

4.1. Menguji. Masukkan tab "properties Expert/ Menguji"

Dalam section “Optimization’’, anda memilih parameter utama, berdasarkan yang mana setiap tester dijalankan melalui tempoh sejarah akan dinilai. Parameter yang dioptimumkan adalah faktor tertentu, yang nilainya mentakrifkan kualiti set parameter yang diuji.

  • Balance. Set parameter terbaik akan sesuai dengan versi di mana faktor utama adalah nilai tertinggi baki;
  • Profit Factor. Parameter utama adalah nilai tertinggi dari faktor keuntungan, iaitu nisbah keuntungan yang menang dan kalah. Jika nilai adalah 1 atau kurang untuk semua ujian, Expert tidak boleh digunakan dalam perdagangan sebenar.
  • Expected Payoff. Parameter utama robot di sini adalah hasil yang dijangkakan yang seharusnya tidak kurang daripada spread.
  • Maximal Drawdown. Titik utama adalah nilai terendah dari maksimum drawdown yang merupakan penunjuk risiko sebenar. Secara teori, ia tidak boleh melebihi jumlah deposit awal.
  • Drawdown Percent. Penanda aras adalah nilai terendah dari relative drawdown (dalam istilah peratusan).
  • Custom. Kriteria optimization di sini adalah nilai dalam Tester () dalam EA. Parameter ini membolehkan menggunakan sebarang nilai untuk pengoptimuman EA. Berdasarkan maklum balas para pedagang, fungsi ini tidak berfungsi.

Sekiranya anda mematikan algoritma Genetik (keluarkan tick), tester akan meluluskan semua kombinasi parameter sedia ada melalui set kriteria. Memandangkan ia mungkin mengambil masa yang banyak, saya tidak mengesyorkan untuk mematikan fungsi itu.

4.2. Inputs. Semua input disenaraikan di sini dalam jadual. Input adalah pembolehubah yang mempengaruhi operasi expert dan boleh ditukar terus dari terminal pelanggan. Terdapat kotak pilihan di sebelah kiri nama-nama pembolehubah yang memasukkan parameter ke dalam proses optimization.

LiteFinance: 4. Expert optimization bagi sejarah data

Sekiranya pemboleh ubah tidak ditandakan dalam kotak semak ini, ia tidak akan terlibat dalam optimization. Setiap pembolehubah mempunyai nilai.

  • Value – nilai semasa parameter
  • Start – nilai awal
  • Step – selang perubahan
  • Stop – nilai akhir.

Sebagai contoh, anda ingin mengetahui tahap stop loss yang optimum. Anda faham bahawa dalam perdagangan harian, tidak munasabah untuk menetapkan stop loss pada 50 point, tetapi, pada masa yang sama, tidak betul untuk menetapkannya pada tahap kurang dari 10 point. Oleh itu, anda memasukkan had ini dalam medan yang sesuai, sehingga tester tidak akan mempertimbangkan parameter yang jelas tidak benar untuk strategi, iaitu, ia akan menjimatkan waktu.

Anda boleh menetapkan step minimum, tetapi tidak ada gunanya. Ia tidak penting jika stop loss ialah 11 atau 12 point, tetapi proses ujian akan mengambil lebih banyak masa.

Dalam contoh saya, expert advisor hanya mempunyai 5 parameter. Terdapat robot yang mempunyai lebih banyak tetapan. Lebih banyak tetapan ditentukan, lebih banyak kombinasi harus diperiksa oleh penguji. Pada satu ketika, jumlah kombinasi menjadi kritikal dan tester menghentikan optimization sama sekali, yang dilaporkan sebagai kesilapan dalam jurnal.

4.3. Optimization. Tab ini membolehkan untuk menguruskan limit semasa optimization. Jika mana-mana syarat dipenuhi semasa pas berasingan, pas expert ini akan terganggu. Optimization akan diteruskan dengan pas seter

LiteFinance: 4. Expert optimization bagi sejarah data

Sebagai contoh, anda boleh menentukan baki minimum (iaitu tahap, di bawah mana ia tidak munasabah untuk menguji expert, kerana ia tidak beroperasi), selepas itu optimization berhenti. Begitu juga dengan kriteria lain.

Kaedah optimization:

  • Ujian dilakukan pada 2 bahagian yang sama. EA melalui kedua-duanya, sehingga 10 pilihan parameter optimum pada setiap bahagian disimpan. Ia berdasarkan pada versi pass, di mana parameter hampir sama di kedua-dua bahagian.
  • Forward Testing. Tempoh dibahagikan kepada tiga bahagian: dua yang pertama ialah tempoh pengujian dan optimization, yang terakhir adalah tempoh forward test, di mana keputusan terbaik dipilih.
  • Backtesting dan forward testing. Tempoh dibahagikan kepada tiga bahagian. Tempoh terawal adalah untuk ujian awal, pertengahan adalah untuk optimization. Beberapa set parameter yang telah dipilih diluluskan melalui tempoh akhir yang lalu. Variasi terbaik diuji pada tempoh pertama (backtesting) dan kemudian, pada keseluruhan tempoh sejarah. Dalam semua tempoh, hasil (statistik dan jenis curve deposit) harus sama.

Set parameter terbaik dijalankan pada akaun demo. Purata dagangan 30-50 adalah cukup untuk melihat bagaimana statistik perdagangan dapat dipadankan dengan hasil optimization.

5. Kelemahan Expert Advisor yang dioptimumkan dalam perdagangan sebenar

Tester MT4 tidak sempurna dan tuntutan peniaga paling kerap mengenai masalah Expert ini. Walau bagaimanapun, ini adalah salah sebahagian daripada pedagang sendiri. Ujian tidak memberikan jaminan 100% bahawa perdagangan sebenar akan melakukan hasil yang sama. Tidak kira betapa kompleks dan mengoptimumkan sistem perdagangan, hasil ujian akan selalu mengandungi beberapa ketidaktepatan yang pedagang sering melupakannya.

Kesalahan peniaga, sepenuhnya mempercayai tester dan Expert Advisor.

1. Ujian dan optimization merangkumi hanya data In-Sampel. Ia menguji data asas tertentu dalam tempoh yang ditetapkan. Jadi, pedagang hanya menyesuaikan hasil ujian ke curve deposit yang diperlukan dan hasil dalam perdagangan sebenar tidak sesuai dengan hasil ujian. Ini adalah kesilapan biasa para pedagang pemula, yang tidak mahu mempelajari konsep-konsep jangkaan keuntungan dan statistik, yang digunakan dalam Out-of-Sample (daripada parameter sampel).

Dalam bentuk yang mudah, prosedur optimization kelihatan seperti ini:

  • Tempoh sejarah sekurang-kurangnya 5 tahun diambil untuk ujian. Span dibahagikan kepada 3 bahagian.
  • Interval yang merangkumi 2/3 pertama tempoh adalah data In-sampel, yang akan digunakan untuk menyesuaikan parameter Expert Advisor.
  • Sistem yang dioptimumkan diuji pada 1/3 terakhir tempoh tersebut. Jika hasilnya mempunyai korelasi yang rendah (sangat berbeza), sistem tidak akan berfungsi di pasaran sebenar. Inilah dipanggil forward test, dijalankan secara manual.

Untuk forward test automatik yang tidak disediakan di MT4, baru-baru ini, perpustakaan Walk Forwarding Optimization (WFO) dan skrip Walk Forward Reporter tersedia di Pasaran. Ini adalah alat forward-optimization yang mengulangi pas yang berkali-kali dengan window yang beralih ke masa hadapan.

LiteFinance: Kesalahan peniaga, sepenuhnya mempercayai tester dan Expert Advisor.

Kaedah pengujian dan optimization diterangkan secara terperinci di forum mql4.com. Sekiranya anda ingin mengetahui cara memasangnya, menulis kod dan anda ingin mendapat petunjuk menggunakan alat-alat ini, tulis dalam komen dan saya akan menghantar pautan kepada anda.

Terdapat juga varian individu ujian pada data In-sampel dan Out-of-sampel: optimization Expert pada tempoh paling kurang berjaya (yang kerugian) dengan jangka masa berikutnya pada keseluruhan tempoh. Atau anda boleh optimumkan robot pada tempoh 1 tahun dan kemudian, anda lulus sepanjang tempoh "1 tahun + 3 bulan", "1 tahun +6 bulan" dan bandingkan keputusan selepas itu.

2. Tukar dalam kitaran pasaran. Semakin lama tempoh yang anda cuba semasa ujian, semakin kecil kemungkinannya anda mendapatkan sistem yang hilang, walaupun anda dapat mencari parameter yang optimal. Pasaran adalah kitaran dan expert advisor akan melakukan hasil yang berbeza semasa kitaran yang berbeza. Oleh itu, seorang peniaga mempunyai dua pilihan:

  1. Pilih parameter universal expert advisor untuk tempoh yang panjang, tetapi perlu diingat bahawa keputusan pada akaun sebenar mungkin lebih buruk.
  2. Bahagikan interval ke dalam bahagian dan tentukan masa (flat, fundamental isu, akhir atau permulaan tahun, sesi Eropah atau Asia, dll) robot berfungsi dengan baik. Menyesuaikan parameter dan menguji robot dalam tempoh tertentu yang mana ia direka.

3. Komisyen dikenakan. Anda perlu menetapkannya dalam tester secara manual.

  • Spread. Pedagang sering menetapkan spread yang boleh menjadi 2-4 kali kurang daripada pasaran sebenar. Sekiranya spread untuk pasangan matawang tertentu, sebagai contoh, 0.7 mata, itu tidak bermakna ia benar-benar begitu. Dalam perjanjian tawaran dan istilah perdagangan (yang jarang dibaca sehingga akhir), terdapat komisyen tambahan untuk beberapa jenis akaun.
  • Swap. Ia mengurangkan potensi keuntungan.
  • Slippage. Ia bergantung kepada broker dan keadaan pasaran. Ia tidak diambil kira dalam ujian, jadi hasilnya pada akaun sebenar akan berbeza.

4. Market liquidity dand market-maker. Dalam mod ujian, seseorang boleh memasukkan perdagangan scalping untuk beratus-ratus lot dan menerima hasil yang sangat baik. Di pasaran sebenar, jumlah urus niaga sedemikian tidak dapat mengubah harga, terutama pada masa yang agak tenang pada waktu malam. Tester tidak menganggap harga sedemikian digerakkan. Ia juga tidak memberi tekanan di pasaran yang dibuat oleh pelabur besar apabila mereka mahu mengambil keuntungan.

5. Kualiti data sejarah. Kualiti quote broker tidak semestinya tinggi. Dalam tempoh jangka pendek, terdapat bahagian yang hilang. Apakah sumber quote yang anda cadangkan? Saya ingin mempelajari pendapat pembaca blog LiteFinance!

6. Rintangan rendah terhadap perubahan dalam parameter. Satu lagi kesalahan biasa peniaga ketika optimization. Katakan bahawa, selepas satu siri ujian parameter, anda dapat mencapai hasil terbaik sepanjang tempoh sejarah yang panjang. Bolehkah anda menggunakan sistem sedemikian dalam perdagangan sebenar? Tidak. Jika sebarang perubahan dalam parameter menghasilkan keputusan yang jauh lebih buruk pada data ujian (contohnya, perubahan dalam parameter penunjuk dari 8 hingga 9), sistem tidak akan berfungsi.

7. Percaya sepenuhnya kepada Expert. Pembuat EA mendakwa bahawa dengan perdagangan automatik, anda boleh melupakan psikologi, kerana robot beroperasi menurut algoritma yang telah ditetapkan, berdasarkan data sejarah. Seperti yang saya tulis di atas, tidak ada robot yang ideal. Oleh itu, kejayaan seorang peniaga dalam perdagangan algoritmik adalah beralih kepada perdagangan manual pada waktu yang tepat dan sentiasa menyesuaikannya dengan keadaan pasaran.

Beberapa nasihat mengenai optimization.

  • Tempoh optimization untuk jangka masa harian adalah sekurang-kurangnya tiga tahun. Oleh itu, keseluruhan tempoh untuk menyesuaikan sistem perdagangan adalah empat atau lima tahun dan lebih.
  • Anda tidak boleh optimumkan banyak parameter pada satu masa. Ini akan menyesuaikan hasilnya secara artifisikal ke sejarah dan sistem akan gagal dalam perdagangan sebenar.
  • Untuk mengurangkan masa optimization, tambah Step dalam tetapan. Tempoh dengan hasil terbaik masih dapat dilihat, tetapi beban pada tester akan berkurang. Bahagian yang terbaik kemudiannya boleh melalui tester lagi dengan lebih terperinci.
  • Jangan cuba optimumkan sistem sebanyak mungkin, menghabiskan masa dengannya. Bagaimanapun, selepas beberapa lama ia perlu dioptimumkan lagi. Jika optimization gagal, tingkatkan algoritma expert advisor

Yang lebih mudah, untuk membuat robot dagangan anda sendiri dan optimumkannya atau untuk membeli sistem dagangan yang berkesan, berdasarkan analisis hasil backtest? Persoalannya adalah retorik. Mewujudkan sistem anda sendiri adalah pekerjaan yang membosankan yang mengambil masa beberapa hari dan minggu dan tidak selalu menghasilkan hasil yang positif.

Tidak sukar untuk menggunakan tester MT4, apa yang sukar adalah untuk mengoptimumkan sistem dan memilih parameter yang betul. Membeli sistem perdagangan lengkap bukanlah satu yang berkesan. Keputusan backtest boleh dipalsukan, tidak ada yang menjamin sistem akan berfungsi. Contohnya, beberapa tahun yang lalu, di Market (seksyen mql4) terdapat indicator ramalan forex yang popular. Kod mereka membenarkan peniaga-peniaga dibimbing oleh quote harga masa depan, dengan itu menyampaikan yang dikehendaki sebagai sah. Di pasaran sebenar, mereka tidak berkesan.

6. MT4 atau MT5?

Walaupun MT5 tidak begitu popular di kalangan peniaga, tester di platform ini mempunyai komen yang lebih positif daripada tester MT4. Kebanyakannya kerana hasilnya lebih tepat. Saya igin bertanya kepada pembaca sama ada betul atau tidak. Saya hanya akan menekankan beberapa perkara penting.

  • Indicator dan Expert yang direka untuk MT4 tidak akan berfungsi pada MT5.
  • Kedua-dua tester mempunyai kaedah closed optimization. Optimization hanya dilakukan untuk parameter yang disertakan dalam MT4. Jika anda menambah baris dalam kod, anda boleh menambah parameter custom. Semasa proses optimization, parameter khusus akan dikira tetapi anda tidak dapat optimumkan expert berdasarkan ini. Contohnya, anda boleh menambah Recovery Factor (net profit/max drawdown), tetapi ia tidak akan dimasukkan ke dalam properties expert.
  • Pada MT5, terdapat hanya satu kaedah pemodelan harga, tick dihasilkan berdasarkan data sejarah masa M1.
  • MT5 menggunakan kapasiti sistem multi-core, manakala MT4 hanya boleh menggunakan core tunggal. Pertama sekali, ia mempengaruhi kelajuan ujian parameter dan optimization.
  • MT5 menyediakan ujian untuk pelbagai instrumen (ini adalah kelebihan untuk strategi pelbagai mata wang). Dalam tester MT4, anda boleh melakukan ujian hanya dengan satu instrumen pada satu masa.

Anda menyediakan pengujian dan optimization hampir dengan cara yang sama untuk kedua-dua tester.

Kesimpulan

Artikel ini hanya memberikan gambaran menyeluruh tentang bagaimana tester MT4 beroperasi. Anda boleh mengetahui mengenai kaedah pengujian dan optimization menggunakan model dan prinsip yang berbeza untuk mengubah keputusan pada sela masa yang berasingan dalam tempoh sejarah pada forum khusus, termasuk mql4.com. Optimization Expert Advisor adalah kerja yang membosankan, yang kadang-kadang tidak mendatangkan hasil. Ia mungkin menarik untuk:

  1. Orang yang terlibat secara profesional dalam perkembangan expert advisor untuk menjualnya, sebagai contoh.
  2. Orang yang menikmati proses pengujian, optimumkan dan mereka kod.

Cara terbaik masih merupakan ujian manual, yang tidak memerlukan pengetahuan mendalam tentang prinsip penggunaan tester, tetapi, pada saat yang sama, ini membolehkan anda untuk menilai prestasi strategi.

Saya menjemput semua orang untuk menyertai perbincangan mengenai ujian dan optimumkan strategi perdagangan forex. Kongsi pengalaman dan kaedah ujian anda atau tanya soalan kepada pedagang berpengalaman LiteFinance!


P.S. Adakah anda suka artikel saya? Kongsikan di laman sosial: itu menjadi "penghargaan" yang terbaik :)

Pautan link:

  • Saya mencadangkan untuk berdagang dengan broker yang dipercayai di sini. Sistem membenarkan anda berdagang sendiri atau menyalin pedagang yang berjaya dari seluruh dunia.
  • Gunakan kod promo BLOG untuk mendapatkan bonus deposit 50% di platform LiteFinance. Hanya masukkan kod ini di ruang yang disediakan semasa membuat deposit ke akaun perdagangan anda.
  • Channel Telegram dengan analisis berkualiti tinggi, ulasan Forex, artikel latihan dan perkara lain yang berguna untuk pedagang https://t.me/forex_hari_ini_malaysia

Carta graf harga USDJPY dalam mode real time

Strategy Tester MetaTrader 4

Kandungan artikel ini mencerminkan pendapat penulis dan tidak semestinya mencerminkan pendirian rasmi broker LiteFinance. Bahan yang diterbitkan di halaman ini disediakan untuk tujuan maklumat sahaja dan tidak boleh dianggap sebagai penyediaan nasihat pelaburan untuk tujuan Arahan 2014/65/EU.
Menurut undang-undang hak cipta, artikel ini dianggap sebagai harta intelek, termasuk larangan menyalin dan mengedarkannya tanpa kebenaran.

Rate artikel ini:
{{value}} ( {{count}} {{title}} )
Mula berdagang
Ikuti kami dalam rangkaian sosial!
Live Chat
Tinggalkan maklumbalas
Live Chat