Backtesting & verifikasi beginner 13 menit baca

Cara Backtest EA di MT5 (dan Angka Drawdown Mana dari Dua yang Dicetak Laporannya yang Layak Dipercaya)

Backtest MT5 dari nol: buka Strategy Tester, tentukan data dan setelan yang menentukan jawabannya, tekan Start, lalu baca laporannya tanpa membohongi diri sendiri. Termasuk satu jalannya pengujian yang dikutip utuh, plus angka yang tidak pernah diperiksa siapa pun: pada 23 jalannya pengujian yang diterbitkan, drawdown ekuitas selalu lebih dalam daripada drawdown saldo — 23 dari 23.

Diterbitkan · Ditinjau

Anda menjalankan backtest di MT5 dengan membuka Strategy Tester lewat View > Strategy Tester (atau Ctrl+R), memilih Expert Advisor, simbol, timeframe, rentang tanggal, dan mode modelling-nya, lalu menekan Start. Lima menit kemudian Anda sudah memegang sebuah laporan. Pertanyaan yang mendesak bukanlah bagaimana sampai ke sana — melainkan angka mana di laporan itu yang benar-benar berarti seperti yang Anda kira.

Panduan ini mengerjakan dua paruhnya sekaligus: prosedurnya, dan cara membacanya. Paruh membaca itulah asal bukti di halaman ini, karena kami memegang 23 jalannya pengujian yang sudah selesai, dan laporan-laporannya bertentangan dengan dirinya sendiri lewat cara yang hampir tidak pernah diperiksa siapa pun.

Apa yang Anda dapat dari satu jalannya pengujian yang selesai

Artefaknya adalah sebuah laporan berisi dua paruh: blok hasil (jumlah transaksi, faktor profit, drawdown, laba bersih) dan daftar transaksi di belakangnya. Keduanya penting, dan hanya yang pertama yang dikutip orang.

Yang seharusnya bisa Anda katakan di akhir bukanlah “ia menghasilkan 3.023 $”. Melainkan: seperangkat aturan ini, pada simbol dan timeframe ini, sepanjang jendela ini, dengan model tick ini, pada akun 10.000 $, menghasilkan sekian banyak transaksi, pada faktor profit sekian, setelah sempat terbenam sedalam ini pada titik terburuknya. Setiap anak kalimat di situ adalah setelan yang Anda pilih sendiri, dan mengubah salah satunya mengubah jawabannya. Karena itulah setelannya dibahas sebelum prosedurnya di sini.

Persiapan: data dan setelan yang menentukan jawabannya

Berikut satu jalannya pengujian nyata yang kami jalankan dan terbitkan, dikutip supaya Anda bisa memegang input dan outputnya berdampingan. Ini catatan di balik Stillwater, sebuah strategi USD/JPY long-only pada chart 5 menit.

SetelanJalannya pengujian iniKenapa disetel begitu
ExpertStillwater (19 input)Setiap input yang laporannya terverifikasi membawanya — permukaan yang harus Anda masukkan ulang untuk mereproduksinya
SimbolUSDJPY_DUKASimbol khusus riwayat tick, dipisahkan dari simbol yang dikuotasi live supaya jalannya pengujian bisa diulang
PeriodeM5Chart tempat aturannya dievaluasi; filter trennya membaca M30 dari dalam EA
Rentang tanggal2019-01-01 → 2026-07-017,5 tahun, cukup panjang untuk memuat lebih dari satu rezim pasar
ModellingEvery tick based on real ticks (Model 4)Apa pun yang bertransaksi di dalam hari butuh jalur intra-bar yang diukur, bukan diinterpolasi
Deposit10.000 USDTetap di seluruh jalannya pengujian di sini, supaya persentase drawdown-nya tetap sebanding
LeverageDiminta 1:500 — berjalan pada 1:100Lihat di bawah. Yang satu ini bukan seperti yang tampak
OptimisationDinonaktifkanSatu lintasan tunggal. Mencari parameter adalah pekerjaan lain dengan jebakan yang lain pula

Dua dari baris itu layak mendapat lebih dari sekadar satu sel tabel.

Kualitas data adalah setelan yang menjadi tumpuan seluruh hasilnya. Setiap angka lain di laporan itu dihitung di atas deret harga yang dipakai tester, jadi angka kualitas modelling membatasi seberapa jauh sisa laporannya benar-benar berbicara tentang strategi Anda. Catatan yang diterbitkan untuk jalannya pengujian di atas menyatakan kualitas riwayat 100% pada 229 juta tick nyata, dibaca langsung dari laporan tester-nya. Sebuah jalannya pengujian di atas data bar yang diinterpolasi akan menghasilkan kumpulan transaksi yang berbeda, bukan sekadar harga eksekusi yang berbeda — tester mengandaikan jalur yang mulus di antara harga-harga yang ia ketahui, dan strategi dengan stop yang ketat bertransaksi persis di atas andaian itu. Kalau Anda belum membaca data tick apa yang sebenarnya dipegang terminal Anda untuk simbol tersebut, itulah hal pertama yang harus diperiksa, sebelum strateginya.

Kolom leverage adalah sebuah permintaan, bukan sebuah setelan. Pada seluruh 23 jalannya pengujian yang tercatat, tester diminta 1:500 dan pengujiannya berjalan pada 1:100 — 0 dari 23 kali angka yang diminta itu benar-benar berlaku. Itu bukan tebakan dari membaca ulang kolomnya: itu dipastikan dengan mengukur margin yang benar-benar dipakai sebuah posisi di dalam pengujian, 126,39 USD, yang cocok dengan perhitungan leverage 100 dan bukan dengan perhitungan leverage 500. Konsekuensi praktisnya, sebuah desain yang sensitif terhadap margin — grid, martingale, apa pun yang menumpuk posisi — bisa lulus backtest pada leverage yang tidak akan pernah ia temui, atau gagal pada leverage yang sebenarnya tidak akan ia pakai. Periksa angka margin di laporannya terhadap aritmetika Anda sendiri alih-alih memercayai kotak yang Anda isi.

Langkah demi langkah: menjalankan pengujiannya di MT5

  1. Buka View > Strategy Tester (Ctrl+R). Panelnya menempel di bagian bawah terminal, dengan Settings, Inputs, Agents, dan Journal sebagai tab-tabnya.
  2. Di tab Settings, pilih Expert Advisor-nya, lalu Symbol dan Period. Pilih simbol yang benar-benar akan Anda tradingkan — spesifikasinya, bukan cuma harganya, datang dari sana, dan ukuran kontrak serta aturan margin berbeda antar varian pasangan yang sama di satu broker.
  3. Tetapkan rentang tanggalnya. Pakai periode kustom dengan tanggal From dan To yang eksplisit alih-alih “Last month”, supaya jalannya pengujian bisa direproduksi orang yang hanya membaca laporan Anda.
  4. Pilih mode Modelling. Every tick based on real ticks untuk apa pun yang intraday; Every tick generated from M1 bars untuk sistem yang lebih lambat; mode-mode yang lebih kasar itu untuk menyisir parameter, tidak pernah untuk angka yang Anda terbitkan.
  5. Atur Deposit, mata uang, dan leverage-nya, lalu biarkan Optimisation nonaktif untuk lintasan pertama. Catat leverage yang Anda minta — nanti Anda memverifikasinya terhadap angka margin di laporan, bukan mengandaikannya.
  6. Buka tab Inputs dan baca setiap nilainya. Inilah tab yang diam-diam membawa suntingan dari jalannya pengujian sebelumnya, dan itulah sebabnya catatan kami memverifikasi input terhadap laporan yang sudah jadi alih-alih terhadap berkas yang kami kira sudah dimuat. Satu jalannya pengujian dalam kumpulan ini membawa 362 di antaranya.
  7. Tekan Start. Biarkan Visual mode mati kecuali Anda sedang mendiagnosis logika masuknya — mode itu jauh lebih lambat dan menggoda Anda untuk menonton alih-alih mengukur.
  8. Setelah selesai, buka tab Results, Graph, dan Backtest, lalu klik kanan di dalam laporannya dan simpan. Laporan yang tersimpan, bukan tangkapan layar kurva ekuitas, adalah benda yang akan Anda bandingkan nanti.
  9. Catat build terminalnya berdampingan dengan hasilnya. 23 jalannya pengujian kami membentang di build 6090 dan 6140; dua jalannya pengujian atas strategi yang sama di bawah build berbeda tidak otomatis merupakan eksperimen yang sama.
  • Periksa riwayat apa yang benar-benar dipegang simbolnya
  • Pilih mode modelling yang cocok dengan lama posisi dipegang
  • Tetapkan simbol, periode, dan rentang tanggal yang eksplisit
  • Baca setiap nilai di tab Inputs
  • Jalankan satu lintasan dengan optimisation nonaktif
  • Simpan laporannya, bukan tangkapan layarnya
  • Baca kedua baris drawdown sebelum baris labanya
Urutan pengambilan keputusannya — data sebelum setelan, setelan sebelum jalannya pengujian

Membaca hasilnya: angka apa yang sebenarnya dimaksud laporan itu

Ambil keluaran dari jalannya pengujian yang sama. Inilah yang kembali:

HasilNilaiYang harus dilewatinya sebelum Anda lanjut
Total transaksi416Cukup banyak sehingga rata-ratanya menggambarkan sebuah sampel, bukan sebuah anekdot
Faktor profit1,28Di atas 1,0 dengan selisih yang selamat dari biaya yang tidak Anda modelkan
Laba bersih3.023,01 USDPada deposit 10.000 — sebuah imbal hasil, bukan sebuah skor
Drawdown saldo5,82% (747,57)Penurunan terburuk pada transaksi yang sudah tertutup
Drawdown ekuitas6,11% (787,60)Penurunan terburuk termasuk posisi yang masih terbuka — yang akan Anda tonton sendiri
Win rate60,82%Tidak berarti apa-apa kalau berdiri sendiri; bacalah bersama stop dan target-nya, 100 dan 200 pip di sini
Kondisi pengujian
ID eksperimenEXP-BACKTEST-RUNBOOK-001
ID jalannya pengujianstillwater__gate_v2_duka_realticks__2019-01-01_2026-07-01
Build MT56140
Spesifikasi kontrakExness-MT5Trial5
Simbol / timeframeUSDJPY_DUKA M5
Periode2019-01-01 – 2026-07-01
ModelEvery tick based on real ticks (Model 4)
Deposit10,000 USD
Leverage diminta1:500
Leverage efektif1:100
Diukur2026-08-23
Terakhir diverifikasi2026-08-25

Ada tiga hal di laporan itu yang rutin disalahbaca.

Kedua baris drawdown itu menjawab dua pertanyaan yang berbeda. Drawdown saldo mengukur kurva ekuitas dari transaksi yang sudah tertutup; drawdown ekuitas memasukkan laba-rugi mengambang pada posisi yang saat itu masih terbuka. Di seluruh 23 jalannya pengujian kami, garis ekuitas selalu lebih dalam, dan besar selisihnya tidak bisa ditebak dari deskripsi strateginya: yang tersempit adalah 0,04 poin (0,67% berbanding 0,71%) dan yang terlebar 11,10 poin (14,52% berbanding 25,62%, sebuah rasio 1,76). Strategi yang menutup posisi dengan cepat punya selisih kecil. Strategi yang duduk menahan pergerakan yang berlawanan punya selisih besar — dan justru strategi seperti itulah yang drawdown-nya paling perlu Anda ketahui sebelum Anda mendanainya.

23 dari 23Jalannya pengujian yang diterbitkan di mana drawdown ekuitasnya lebih dalam daripada drawdown saldonya
11,10 poinSelisih terlebar antara kedua baris drawdown dalam satu jalannya pengujian — 14,52% berbanding 25,62%
0 dari 23Jalannya pengujian di mana leverage yang diminta ke tester sama dengan leverage yang benar-benar dipakai

MT5 mencetak setiap drawdown dua kali, di bawah dua definisi. Drawdown Maximal diukur pada saat nominalnya paling besar; yang Relative diukur pada saat persentasenya paling besar. Keduanya adalah dua momen berbeda di dalam jalannya pengujian yang sama, jadi kedua angka itu bukan dua sudut pandang atas satu peristiwa. Dari jalannya pengujian kami, 16 tercatat pada definisi Maximal dan 5 pada Relative — dan alur yang menulis catatan itu menolak memasangkan angka saldo Maximal dengan angka ekuitas Relative, karena halaman yang menampilkan keduanya sekaligus berarti membandingkan dua saat yang berlainan. Ketika Anda mengutip sebuah drawdown, sebutkan definisinya sekalian.

Total di laporannya sendiri sudah dibulatkan, dan jendelanya mungkin bukan jendela yang Anda maksud. Dihitung ulang dari daftar transaksi yang diterbitkan, faktor profit jalannya pengujian yang sama adalah 1,2843, bukan 1,28 seperti di laporannya — tidak berbahaya di sini, dan berbahaya ketika Anda sedang membandingkan dua kandidat yang terpisah tiga angka desimal. Yang lebih penting, jalannya pengujian berisi 416 transaksi itu terpecah menjadi 404 transaksi sampai batas publikasi 2026-04-01 dan 12 transaksi sesudahnya. Dua belas transaksi terakhir itu mengembalikan faktor profit 2,3317. Tidak ada satu pun angka yang salah; keduanya menjawab pertanyaan yang berbeda, dan batas itu adalah tanggal yang dipilih manusia, bukan sesuatu yang dicetak tester. Kalau Anda hendak membelah sebuah jalannya pengujian menjadi “bagian yang saya pakai untuk mencocokkan” dan “bagian yang tidak”, tuliskan letak garisnya sebelum Anda melihat paruh keduanya. Membaca laporan backtest MT5 melakukan pembelahan itu pada seluruh 23 jalannya pengujian dan menunjukkan seberapa jauh angka utamanya bergeser.

Jebakan yang diam-diam membatalkan sebuah jalannya pengujian

Memperbaikinya: ubah satu hal, jalankan ulang, bandingkan

Putarannya memang sengaja membosankan. Ubah satu variabel, jalankan ulang, dan tuliskan kedua hasilnya. Dua variabel sekaligus dan Anda tidak bisa lagi menautkan selisihnya ke salah satunya.

Urutan yang memberi Anda informasi terbanyak per jalannya pengujian adalah:

  1. Variasikan jendelanya sebelum memvariasikan strateginya. Jalankan 2019–2022 dan 2022–2026 secara terpisah. Kalau kedua paruhnya tidak sepakat, parameternya sedang menggambarkan satu periode saja, dan tuning sebanyak apa pun tidak memperbaiki itu.
  2. Variasikan simbolnya. Aturan yang hanya bekerja pada satu pasangan adalah sebuah fakta tentang pasangan itu. Kumpulan kami memuat pendekatan besar yang sama pada USD/JPY, EUR/GBP, AUD/CAD, NZD/USD, sebuah indeks, dan sebuah pasangan kripto persis karena alasan ini.
  3. Variasikan mode modelling-nya. Jalankan ulang kandidat yang bertahan pada model yang lebih kasar. Kalau hasilnya runtuh, keunggulannya hidup di dalam bar, dan jalur intra-bar adalah bagian yang paling tidak bisa dipercaya dari simulasi mana pun.
  4. Baru sesudah itu variasikan parameternya — dan perlakukan setiap setelan yang harus Anda cari dulu sebagai klaim yang lebih lemah daripada setelan yang Anda pilih di muka.

Berhentilah mengulang ketika sebuah perubahan tidak lagi menggeser hasilnya keluar dari derau jalannya pengujian sebelumnya, atau ketika Anda menyadari bahwa Anda memilih setelan karena apa kata laporan terakhir. Yang kedua itulah syarat berhenti yang sebenarnya, dan ia datang lebih cepat daripada dugaan orang. Penganalisis backtest berguna di sini karena ia membaca kembali angka-angka utama dari laporan yang tersimpan, sehingga membandingkan dua jalannya pengujian menjadi urusan aritmetika alih-alih urusan ingatan.

Langkah selanjutnya: forward test sebelum Anda live

Satu backtest yang bersih adalah langkah pertama dari empat, bukan garis finis.

Optimasi, kalau aturannya punya parameter yang layak dicari. Catat seluruh rentang pencariannya, bukan lintasan yang menang — hasil yang harus Anda cari dulu adalah bukti tentang pencariannya, dan rentangnyalah yang memberi tahu pembaca seberapa keras Anda mencari. Optimasi parameter menelusuri lintasan itu dan membaca delapan pencarian tercatat kami sendiri: 116 kombinasi, dan tidak satu pun setelan yang bersedia kami rilis.

Lalu jalankan walk-forward. Cocokkan pada satu segmen, ukur pada segmen berikutnya, lalu ulangi. Ini satu-satunya dari empat langkah tersebut yang menyerang overfitting secara langsung, dan karena itulah ia bernilai lebih daripada backtest yang lebih panjang.

Lalu forward test di akun demo. Di sinilah latensi, requote, dan pelebaran spread yang sesungguhnya akhirnya masuk ke dalam eksperimen. Jalankan cukup lama untuk melihat strateginya rugi lalu pulih, sebab angka yang benar-benar Anda butuhkan bukanlah imbal hasilnya — melainkan apakah Anda sanggup duduk menahan drawdown yang tadi Anda ukur.

Lalu putuskan. Tuliskan di muka, kerugian sebesar apa yang akan membuat Anda mematikannya. Batas yang Anda tetapkan sebelum mendanai adalah sebuah keputusan; batas yang Anda tetapkan di tengah drawdown adalah sebuah reaksi.

Kalau Anda ingin rujukan yang sudah dikerjakan sebelum menjalankan milik Anda sendiri, setiap entri di katalog EA yang diterbitkan membawa daftar lengkap transaksi tertutupnya, kedua baris drawdown-nya, dan manifes eksekusi di baliknya, dan cara kami menguji menjelaskan standar yang berlaku bagi catatan-catatan itu. Sisa panduan backtesting menyelam lebih dalam ke langkah optimasi dan walk-forward yang di halaman ini hanya ditunjuk sekilas. Tidak ada satu pun di sini yang menjanjikan hasil: setiap angka di halaman ini menggambarkan jalannya pengujian yang sudah terjadi.

Pertanyaan yang sering diajukan

Berapa panjang periode backtest yang seharusnya?
Cukup panjang sampai strateginya sudah bertransaksi melewati kondisi yang akan ia temui lagi, dan itu pertanyaan tentang jumlah transaksi, bukan tentang panjang kalender. Dari 23 jalannya pengujian yang diterbitkan di sini, 22 dimulai pada 2019-01-01 dan nilai tengah jendelanya 7,5 tahun — tetapi laju pengambilan sampel di dalam jendela itu berkisar dari 14,2 transaksi per tahun sampai 945,1. Jendela tujuh tahun pada strategi yang lambat tetap bisa berarti sampel seratusan transaksi, dan seratus transaksi adalah angka yang kecil untuk menarik kesimpulan. Baca jumlah transaksinya lebih dulu, rentang tanggalnya belakangan.
Kenapa hasil backtest saya berubah ketika pengujian yang sama dijalankan ulang?
Hampir selalu karena riwayat harganya yang berubah, bukan strateginya. Tester mengunduh dan menyimpan riwayat per simbol, jadi jalannya pengujian pertama pada jendela yang tahun-tahun awalnya belum tersimpan menghasilkan deret tick yang berbeda dari jalannya pengujian kedua setelah celah datanya terisi. Mode Modelling melakukan hal yang sama secara lebih kasatmata: berpindah antara Every tick based on real ticks dan Every tick generated from M1 bars mengubah transaksi mana yang terpicu sama sekali, bukan sekadar harga eksekusinya. Catat mode dan build terminalnya bersama hasilnya, atau dua jalannya pengujian milik Anda sendiri menjadi tidak bisa dibandingkan.
Apakah Strategy Tester sudah memperhitungkan spread, komisi, dan swap?
Ia menerapkan apa pun yang dibawa data harga dan spesifikasi simbolnya, dan itu bukan hal yang sama dengan Anda memilih biaya-biaya tersebut. Pada 23 jalannya pengujian yang diterbitkan di sini, komisinya keluar nol pada setiap satunya, dan hanya satu jalannya pengujian yang bisa menyatakan rata-rata spread miliknya sendiri — 19,14 poin, dan itu pun hanya karena ada EA perekam yang berjalan di dalam pengujian berdampingan dengan strateginya. Sisanya mewarisi spread yang dibawa data harga tanpa pernah mencatatnya. Kalau sebuah biaya berpengaruh pada hasil Anda, ukur biaya itu di dalam pengujian alih-alih menganggap tester sudah memodelkannya.
Apakah backtest yang bagus sudah cukup untuk menjalankan EA di akun live?
Tidak. Sebuah backtest membatasi apa yang bisa saja dilakukan seperangkat aturan pada harga yang terekam, di bawah model eksekusi yang disimulasikan. Di dalamnya tidak ada latensi, tidak ada requote, dan tidak ada pelebaran spread yang datang tepat ketika sebuah sinyal menembak. Urutan yang benar adalah backtest, lalu optimasi kalau aturannya punya parameter yang layak dicari, lalu pemeriksaan walk-forward pada data yang tidak pernah dilihat pencarian itu, lalu akun demo yang dijalankan cukup lama untuk melihat strateginya rugi lalu pulih. Hasil masa lalu menggambarkan masa lalu, dan tidak ada satu pun di halaman ini yang merupakan ramalan.