Optimasi parameter di MetaTrader 5 adalah sebuah pencarian: Anda menetapkan rentang untuk setiap input, Strategy Tester menjalankan setiap kombinasinya, dan ia menyerahkan sebuah tabel yang sudah diurutkan berdasarkan metrik mana pun yang Anda pilih. Bagian yang sulit bukanlah menjalankannya. Bagian yang sulit adalah tabel itu selalu punya baris teratas, dan baris teratas itu hampir selalu salah.
Yang Anda dapat dari artikel ini adalah sebuah prosedur yang menghasilkan sebuah keputusan, bukan sebuah angka: pencarian yang bisa Anda pertanggungjawabkan, cara membaca grid lintasan yang selamat ketika bertemu periode kedua, dan sebuah syarat berhenti.
| Kondisi pengujian | |
|---|---|
| ID eksperimen | EXP-PARAM-SEARCH-OUTCOMES-001 |
| Eksperimen induk | EXP-BUILDER-TEMPLATE-BASELINE-001 |
| Sumber | ea-templates-manifest.js → bt.explored |
| Populasi | 8 recorded searches of the 53 measured templates |
| Simbol / timeframe | USDJPYm, M5 and H1 |
| Model | M1 OHLC (Model=1), Exness MT5, measured 2026-06-18 |
| Parameter yang divariasikan | stop loss and take profit only |
| Terakhir diverifikasi | 2026-08-25 |
Persiapan: grid, pembelahan, dan datanya
Tiga setelan menentukan apakah pencariannya layak dijalankan sama sekali. Salah menyetelnya dan grid lintasan Anda hanyalah pembangkit angka acak yang sangat mahal.
| Kolom | Di mana | Yang harus disetel | Kenapa |
|---|---|---|---|
| Optimisation | Tab Settings | Slow complete algorithm untuk grid kecil | Mode genetik mengambil sampel ruangnya; untuk 12–32 kombinasi Anda mampu melihat semuanya |
| Start / Step / Stop | Tab Inputs, per input | Dua parameter, langkah yang kasar | Setiap input yang Anda centang melipatgandakan grid-nya. Milik kami menggerakkan dua |
| Forward | Tab Settings | 1/2, 1/3, atau 1/4 | Membelah intervalnya sehingga tester menilai paruh belakangnya secara terpisah — inilah pemeriksaan yang menjadi alasan Anda menjalankan pencarian itu |
| Optimisation criterion | Tab Settings | Putuskan sebelum Anda melihat grid-nya | Ia metrik yang dipakai tester untuk memeringkat lintasan, jadi ia yang menentukan baris mana yang menjadi baris teratas |
| Modelling | Tab Settings | Mode kasar untuk menyisir, lalu jalankan ulang kandidat yang bertahan pada tick nyata | Mode penyisiran itu untuk memeringkat kandidat, tidak pernah untuk angka yang diterbitkan |
| Period | Tab Settings | Cukup panjang untuk memuat lebih dari satu rezim | Pencarian di dalam satu tren menemukan setelan yang menumpang tren itu |
Kriterianya layak mendapat sebuah keputusan, bukan sebuah nilai bawaan. Memeringkat berdasarkan laba bersih memberi hadiah kepada lintasan yang mengambil risiko paling besar, dan memeringkat berdasarkan ukuran berbasis drawdown memberi hadiah kepada lintasan yang paling sedikit bertransaksi — faktor pemulihan ada justru karena kedua jawaban itu tidak sepakat. Pencarian kami sendiri sama sekali tidak dinilai dari peringkat tester: setiap kandidat yang bertahan dinilai lewat faktor profit pada tiga jendela terpisah, dan peringkat di dalam salah satu jendela itu tidak pernah menentukan apa pun.
Kualitas data lebih dulu: pencarian di atas tick yang buruk mengoptimasi celah-celahnya. Versi ringkasnya, kualitas modelling di bawah 90% membuat grid lintasan intraday tidak bisa dipakai, dan jalannya pengujian yang dibangun dari data tick hasil interpolasi tidak bisa memutuskan stop yang duduk di dalam sebuah bar.
- Jalankan satu backtest lebih dulu, pada nilai bawaannya, dan simpan laporannya. Tanpa baseline, grid lintasan Anda tidak punya apa pun untuk dikalahkan — cara menjalankan backtest mengurus lintasan itu dari ujung ke ujung.
- Di tab Settings, setel Optimisation ke lintasan lengkap untuk grid kecil, dan setel Forward ke
1/3supaya tester menahan sepertiga terakhir intervalnya. - Di tab Inputs, centang hanya parameter yang benar-benar Anda uji, dan beri masing-masing sebuah Start, Step, dan Stop. Dua input dengan langkah kasar mengalahkan empat input dengan langkah halus.
- Tekan Start dan biarkan selesai. Baca tab Optimisation Results sebagai sebuah tabel, dan Optimisation Graph sebagai sebuah bentuk — satu lonjakan tunggal adalah peringatan, sedangkan dataran adalah temuan.
- Ambil kandidat yang bertahan — bukan pemenangnya — dan jalankan ulang masing-masing sebagai backtest tunggal pada periode sebelum jendela optimasinya. Inilah langkah yang menghasilkan setiap verdict negatif di kumpulan kami, dan inilah langkah yang orang lewati.
Membaca hasilnya: tiga periode, bukan satu
Inilah seluruh kumpulan tercatat kami, diurutkan berdasarkan faktor profit in-sample terbaik yang dicapai masing-masing pencarian. IS adalah periode tempat setelannya dicocokkan, OOS adalah hold-out-nya, dan prior adalah jendela lebih awal yang tidak pernah dilihat pencarian itu.
| Template | Grid yang dicari | IS terbaik | OOS | Prior | Verdict |
|---|---|---|---|---|---|
ichimoku | 12 kombinasi × 3 jendela | 1,37 | 0,89 | 0,80 | no_robust_edge |
ma_crossover | 20 + 12 kombinasi, dua timeframe | 1,23 | 0,89–0,94 | 0,78 | no_robust_edge |
cci_level | 12 kombinasi × 3 jendela | 1,07 | 1,05 | 0,92 | no_robust_edge |
adx_trend | 12 kombinasi × 3 jendela | 1,04 | 0,91 | 0,80 | no_robust_edge |
breakout | 12 kombinasi × 3 jendela | 1,04 | 0,79–0,89 | 0,64–0,84 | no_robust_edge |
macd_signal | 12 kombinasi × 3 jendela | — | 1,14–1,15 | 0,74–0,77 | no_robust_edge |
rsi_reversal | 12 kombinasi × 3 jendela | 0,91 | — | — | no_robust_edge |
bb_bounce | 12 kombinasi × 3 jendela | 0,91 | — | — | no_robust_edge |
Baca ke bawah kolom angka pertama, lalu ke samping. Hasil in-sample terbesar di kumpulan ini menghasilkan keruntuhan terbesar: 1,37 milik ichimoku jatuh ke 0,89 lalu ke 0,80. Urutan itu bukan kebetulan — setelan yang paling pas dengan sebuah jendela justru, menurut caranya dibuat, adalah setelan yang paling banyak menyerap derau jendela tersebut.
Sekarang baca setelan yang sebenarnya paling mendekati. Ia tidak ada di tabel di atas, karena ia tidak pernah menjadi baris teratas apa pun: pada grid ichimoku yang sama, SL50/TP150 mencetak 1,18 di dalam sampel, 0,99 di luar sampel, dan 1,00 pada jendela prior. Tiga periode, semuanya kurang lebih datar. Ia dicatat sebagai kandidat terdekat dan tetap tidak diadopsi, karena impas di tiga jendela bukanlah keunggulan — ia justru ketiadaan keunggulan, yang diukur dengan cermat.
Berbanding dengan itu, baseline yang hendak dikalahkan pencarian-pencarian ini berada di antara 0,92 dan 1,03. Tidak satu pun pencarian menggeser nilai bawaan yang sudah dirilis.
Jebakan yang harus dihindari
Modus kegagalan di bawah kelimanya sama saja. Overfitting bukanlah kesalahan yang Anda buat di akhir sebuah pencarian — ia adalah hasil bawaan dari menjalankan pencarian, dan disiplin tiga periode itu ada supaya ia terlihat sebelum Anda bertindak atasnya.
Memperbaiki dan mengulang: apa yang diubah, dan kapan berhenti
Ubah satu hal, jalankan ulang, bandingkan dengan baseline yang tadi Anda simpan. Urutan yang paling sedikit membuang waktu:
- Lebarkan periodenya sebelum melebarkan grid-nya. Lebih banyak rezim mengalahkan lebih banyak kombinasi. Pencarian yang hanya mencakup satu tren akan menemukan setelan yang menumpang tren itu, seberapa pun resolusinya.
- Baru sesudah itu kasarkan langkahnya, jangan justru menghaluskannya. Kalau sebuah hasil hanya ada di
SL47, hasil itu tidak ada. - Baru setelah itu, dan hanya setelah itu, tambahkan satu parameter. Milik kami tidak pernah sampai sejauh ini, karena dua parameter saja sudah gagal melewati palang tiga periode.
Berhentilah ketika salah satu dari ini benar, dan tuliskan yang mana:
- Sebuah kandidat yang bertahan lolos ketiga periodenya. Rilis ia, dan catat seluruh grid yang Anda cari — bukan cuma lintasan yang Anda simpan.
- Hasil in-sample terbaiknya di bawah 1,0. Anda punya jawaban yang sungguhan: dua dari delapan pencarian kami berakhir di sini, dan berakhir di sini setelah 36 evaluasi itu murah.
- Kandidat yang bertahan terus lolos di satu jendela dan gagal di jendela lain. Aturannya bergantung rezim. Mencari lebih banyak hanya menghasilkan lebih banyak setelan yang bergantung rezim.
- Anda mulai menjelaskan kenapa jendela prior “tidak dihitung”. Itulah saat pencarian Anda berhenti menjadi sebuah pengujian.
Catatan yang jujur atas sebuah pencarian adalah rentang yang Anda jelajahi dan verdict-nya, bersama-sama. Kedelapan pencarian kami disimpan seperti itu, dan justru karena itulah artikel ini bisa ditulis dari mereka sama sekali — pemenang yang disimpan sendirian tidak akan membuktikan apa pun.
Langkah selanjutnya: forward test, lalu putuskan
Optimasi adalah langkah kedua dari empat. Urutannya adalah backtest → optimasi → walk-forward → demo, dan masing-masing menyingkirkan satu cara berbeda untuk menjadi salah.
- Latih putarannya pada sesuatu yang Anda kendalikan: bangun sebuah strategi di Builder dan carilah sendiri stop dan target-nya, sebab grid yang Anda tetapkan sendiri jauh lebih mudah dibaca dengan jujur daripada grid warisan orang lain.
- Versi formal dari pemeriksaan tiga periode itu adalah analisis walk-forward, yang menggulirkan pembelahannya ke depan alih-alih memakukannya di satu tempat.
- Apa pun yang diserahkan kembali oleh pencarian itu, laporan tempat ia diserahkan tetap harus dibaca: membaca laporan backtest MT5 membahas populasi mana yang sebenarnya sedang diklaim oleh masing-masing angka utamanya.
- Untuk melihat seperti apa catatan yang sudah jadi ketika angka-angkanya memang selamat, EA yang diterbitkan masing-masing membawa daftar lengkap transaksi tertutupnya beserta manifes eksekusinya.
- Bagaimana kami menguji, menilai, dan mencatat semua ini dijabarkan dalam metodologi pengujian kami.