Backtest yang untung dapat berbeda tajam dari trading live ketika data, eksekusi atau pemilihan parameter tidak realistis. Pahami mode MT4/MT5, biaya dan evaluasi terpisah sebelum membaca kurva hasil. Hasil simulasi tidak membuktikan kinerja mendatang.

MT4 dan MT5 Strategy Tester: apa yang berbeda?

Keduanya menjalankan Expert Advisor pada sejarah. MT5 mendukung banyak simbol dan membagi pass optimisasi kepada agen; satu run EA tidak otomatis memakai semua core. MT4 juga mempunyai optimiser genetik, tetapi tester standarnya tidak melakukan transaksi pada simbol selain yang diuji. Menjumlah laporan terpisah tidak mereproduksi modal portofolio bersama. Simpan build program, EA terkompilasi, input, spesifikasi simbol dan asumsi akun. Data unduhan History Center MT4 dapat berbeda dari server broker. Durasi sejarah atau label timeframe saja tidak menentukan kelayakan. Lihat dasar MT4 serta perbandingan fitur MT5.

Banyak tick bukan banyak menit dengan tick asli

Model sumber sepenuhnya buatan, bukan feed pasar atau laporan tester. Tiga menit sama panjang masing-masing memiliki bar menit lengkap. Dua menit pertama masing-masing memiliki 10 tick asli. Menit ketiga memiliki bar tetapi tidak memiliki tick asli; latihan menambahkan 80 rekaman buatan di sana. Jumlah akhir 100 rekaman. Angka 80 dipilih untuk model, bukan hasil aktual MetaTrader.

Banyak tick bukan banyak menit bertickDataset buatan memiliki tiga bar satu menit lengkap. Menit pertama dan kedua masing-masing berisi 10 tick asli. Menit ketiga tidak memiliki tick asli; model menambahkan 80 rekaman buatan. Batang jumlah rekaman berskala sama: 10,10,80. Cakupan menit bertick asli 2/3 atau sekitar 66,67%, sedangkan porsi rekaman asli 20 dari 100 atau 20%. Penyebut kedua ukuran buatan ini berbeda; bukan Modelling Quality atau hasil tester aktual.DUA PENYEBUT BERBEDATiga menit buatan · jumlah rekamanMenit 1 · tick asli10Menit 2 · tick asli10Menit 3 · tick buatan80020406080Menit bertick asli: 2/3Cakupan menit ≈ 66,67%Rekaman asli: (10 + 10)/100Porsi rekaman = 20%
Cakupan interval waktu dan porsi rekaman menjawab pertanyaan berbeda.

Ukuran buatan cakupan menit bertick asli adalah 2/3≈66,67%. Ukuran porsi rekaman asli adalah 20/100=20%. Rekaman tambahan dalam menit yang sama mengubah penyebut kedua tanpa menambahkan menit sejarah. Keduanya bukan definisi field Modelling Quality dan tidak membuktikan edge strategi. Dokumentasi MetaQuotes menjelaskan pembuatan tick ketika bar menit tersedia tetapi tick tidak ada; jumlah yang dipakai ilustrasi tetap buatan sendiri.

Mode pemodelan dan kualitas sejarah

MT4 menawarkan Open prices only, Control points dan Every tick berbasis bar serta jalur buatan. Control points adalah perkiraan awal kasar. MT5 juga menawarkan rekaman tick broker dan 1 minute OHLC. Stop intrabar dapat penting walau sinyal harian; aturan yang cocok beroperasi pada pembukaan bar boleh menyederhanakan model setelah batasnya diperiksa. Pada MT5, bar menit tanpa tick asli dapat diisi tick buatan. Spread tick asli dapat berubah dalam satu menit; tick buatan memakai spread yang ditetapkan pada bar menit itu.

Periksa cakupan untuk instrumen dan periode tepat. Impor tick eksternal ke MT4 membutuhkan proses kompatibel, dapat melibatkan file pengujian hasil olahan atau software tambahan. Bar HST saja tidak menjamin pemodelan tick asli. Persentase kualitas bukan bukti eksekusi realistis; MT5 tetap memerlukan pemeriksaan tick asli dan pengganti yang dibuat generator.

Parameter simulasi: spread, komisi, swap dan delay

Periksa spread, komisi, pembiayaan serta delay untuk produk dan akun. MT4 standar menambahkan spread pilihan ke sejarah Bid; bawaan memakai spread saat pengujian dimulai, bukan jalur historis lengkap. Dalam EUR/USD hipotetis lima desimal, 12 point sebesar 0,00001 sama dengan 1,2 pip sebesar 0,0001. MT5 mendukung komisi akun atau kustom: pastikan dikenakan saat masuk, keluar atau keduanya dan rekonsiliasi satu transaksi tertutup. Mode profit in pips meniadakan komisi, swap dan kontrol margin. Emulasi delay adalah skenario, bukan rekonstruksi semua likuiditas atau fill live.

Tiga jebakan backtest

Look-ahead bias memakai informasi yang belum tersedia pada saat keputusan. Shift nol mengacu pada bar berjalan yang berkembang selama simulasi. Pukul 10.15, high yang sudah dicapai bar H1 sejak 10.00 tersedia, tetapi high akhir jam itu belum. Aturan bar selesai harus menunggu. Jangan mengganti setiap nol menjadi satu: deteksi bar baru dan aturan harga berjalan yang sah akan berubah. Periksa waktu, jumlah data yang tersalin dan arah indeks setiap input.

Pada contoh CopyRates berhasil mengembalikan empat close, urutan tertua ke terkini adalah 100,101,102,103. Dalam array dinamis dengan as_series=false, rates[1].close adalah 101 dan close terakhir yang sudah selesai adalah rates[2].close=102. Dengan as_series=true, rates[1].close adalah 102. Aturan “close terakhir selesai >101,5” benar, tetapi pembacaan rates[1] pada array normal keliru menolaknya. Ini salah identifikasi bar lama, bukan bukti informasi masa depan. Jangan memakai empat indeks ketika fungsi mengembalikan kurang dari empat rekaman.

Overfitting dapat muncul ketika pencarian berulang memilih noise yang kebetulan baik. Win rate, profit factor tinggi atau drawdown rendah sendiri bukan bukti. Survivorship bias terjadi ketika semesta tes mengecualikan instrumen atau akun yang tersedia dahulu tetapi kemudian hilang. Bangun semesta berdasarkan ketersediaan pada setiap tanggal; tidak ada inflasi hasil universal 30–50% yang terverifikasi.

Membaca laporan dan walk-forward

Baca hasil neto, jumlah transaksi, drawdown serta biaya bersama. Akun PLN hipotetis mulai 10.000; keuntungan tertutup 500 memberi saldo 10.500, tetapi rugi posisi terbuka 700 membuat equity 9.800 sebelum biaya atau perubahan lain. Saldo saja menyembunyikan eksposur. Ambang profit factor atau Sharpe tidak mensertifikasi strategi. Periksa sensitivitas dan data evaluasi yang sungguh terpisah; simpan laporan serta log.

Walk-forward mengevaluasi pilihan parameter yang dibekukan pada periode berikutnya secara berurutan. Bandingkan return tahunan yang konsisten serta rangkaian transaksi OOS kronologis. WFE saja tidak membuktikan ketahanan atau curve-fitting; return IS nol atau negatif menyulitkan tafsir. Analisis walk-forward membahas prosedurnya. OOS menilai aturan beku pada data yang tidak dipakai pencarian terkait; hasilnya tetap simulasi dengan asumsi data serta eksekusi.

Tambahan IDR: dua laporan terpisah bukan satu modal bersama

Model keadaan buatan, bukan run MT4/MT5 atau broker: saldo awal satu akun 10.000.000 IDR. Dua instrumen berbeda A dan B mempunyai hasil linear dalam IDR per unit, tanpa pertukaran pokok. Pada waktu T0, dua aturan masing-masing meminta long 1.000 unit pada Ask 16.002; Bid awal 16.000. Model mensyaratkan cadangan margin tetap 6.000.000 IDR per posisi. Cukup atau tidaknya margin diperiksa berurutan saat entry terhadap equity dikurangi margin yang sudah dicadangkan; P/L berjalan masuk equity. Tidak ada netting lintas A/B, retry atau antrean permintaan yang ditolak. Angka harga, margin dan fill adalah asumsi, bukan spesifikasi instrumen aktual.

Aturan A menutup pada T2 dengan Bid 16.012, hasil +10.000 IDR. Aturan B menutup pada T1 yang lebih awal dengan Bid 15.997, hasil −5.000. Semua fill penuh, spread sudah ada dalam harga; tidak ada komisi, pembiayaan, konversi, pajak, arus dana lain, utang atau perubahan syarat margin. Tidak ada stop-out atau penutupan paksa selama jalur asumsi. Saat T1, A yang masih terbuka diasumsikan Bid 16.000; ini mempertahankan equity positif dan margin cukup dalam model. Margin dilepas saat posisi ditutup, tidak dihitung sebagai biaya.

Jika A diproses dahulu pada T0, cadangan 6.000.000 dan rugi mark-to-Bid awal 2.000 menyisakan free margin 3.998.000. B yang membutuhkan 6.000.000 ditolak dan tidak diulang. A akhirnya memberi saldo 10.010.000 IDR. Jika B diproses dahulu, A ditolak dengan alasan sama; B ditutup pada T1 dan saldo akhir 9.995.000. Pelepasan margin pada T1 tidak menghidupkan kembali permintaan A di T0. Dua laporan terpisah, masing-masing mulai 10.000.000, dapat mencatat A +10.000 serta B −5.000. Menjumlah laba menjadi +5.000 lalu menempelkannya pada satu modal 10.000.000 mengabaikan konflik entry; menjumlah saldo akhir justru menghitung dua modal awal.

Satu modal, dua urutan entryModel dua instrumen buatan dalam IDR; modal 10.000.000, cadangan margin 6.000.000 per posisi, tanpa retry.PERHITUNGAN HIPOTETISA dahulu pada T0A diterima · B ditolakB dahulu pada T0B diterima · A ditolakLaporan terpisahA +10.000 · B −5.000 IDRMenjumlah saldo akhir20.005.000 IDR
Satu modal, dua urutan entry. Model dua instrumen buatan dalam IDR; modal 10.000.000, cadangan margin 6.000.000 per posisi, tanpa retry.

Bekukan prioritas serta kendala modal; jalankan keadaan portofolio bersama, bukan tambahkan laporan.

Pada layar kecil, gulir diagram mendatar atau perbesar. Nilai dan kesimpulan juga tersedia dalam teks di bawah.

A dahulu pada T0
A diterima · B ditolak – Free margin sesudah mark awal 3.998.000; akhir 10.010.000 IDR.
B dahulu pada T0
B diterima · A ditolak – Margin dilepas saat B tutup di T1; akhir 9.995.000 IDR.
Laporan terpisah
A +10.000 · B −5.000 IDR – Menjumlah +5.000 mengabaikan entry yang tidak dapat berjalan bersama.
Menjumlah saldo akhir
20.005.000 IDR – Ini memakai dua modal awal, bukan satu akun 10 juta.

Prioritas pemrosesan adalah bagian aturan yang harus dibekukan, bukan dipilih sesudah melihat hasil. Simulasi portofolio perlu urutan waktu, posisi, P/L berjalan dan cadangan modal bersama. Contoh ini menunjukkan konsekuensi kendala terpilih, bukan menyatakan A lebih baik dari B atau memprediksi hasil tester sesungguhnya.

Batas MT4/MT5 dan kebutuhan alat lain

Strategy Tester menilai aturan berkode dalam model data dan eksekusinya. Penilaian diskresioner membutuhkan kriteria tercatat serta protokol replay supaya dapat dibandingkan; bukan otomatis mustahil diuji. Pilih alat lain jika input atau mekanisme eksekusi yang diperlukan tidak dapat direpresentasikan, lalu periksa dokumentasi serta syarat data terkini. Perbandingan Forex Tester membahas alur replay lain. Cara menguji strategi menjelaskan metode lintas platform; bagian praktik memberi konteks latihan.

Apakah TimeGMT tester memvalidasi filter UTC?

Dalam tester MT5, TimeGMT sama dengan TimeTradeServer yang disimulasikan. Membandingkan kedua fungsi dalam satu tes tidak merekonstruksi offset historis broker dari UTC. Identifikasi setiap sumbu waktu dan uji konversi dengan input eksplisit. Mengurangi dua jam secara tetap tidak mendokumentasikan perubahan jam server.

Satu saat, dua bacaan waktu dalam model

Apakah TimeGMT tester memvalidasi filter UTC?Satu saat buatan: pukul 12.00 UTC sama dengan 14.00 pada asumsi eksplisit UTC+2. Filter menerima pukul 12.00 inklusif sampai 13.00 UTC eksklusif. Kesamaan fungsi waktu di tester tidak membuktikan offset historis broker.12:00 UTCwaktu keputusanUTC +2asumsi eksplisit14:00bacaan serverfilter UTC12:00–13:00
Kesamaan fungsi tester bukan tabel offset historis broker.

Filter model menerima 12.00 UTC secara inklusif sampai 13.00 UTC secara eksklusif. Keputusan pukul 12.00 UTC berada di dalamnya. Pada asumsi UTC+2, saat itu terbaca 14.00; memperlakukan 14 sebagai UTC akan menolaknya. Asumsi +2 hanya untuk sampel ini. Uji tepat batas akhir, pergantian tanggal dan setiap transisi offset pada jadwal aktual yang didokumentasikan.

Latihan: dua jam tester sama membuktikan filter identik ketika live?

Tidak. Itu membuktikan kesamaan dalam simulasi. Nilai konversi dengan UTC eksplisit, offset terdokumentasi untuk tanggal dan uji batas interval. Nama fungsi tidak menetapkan zona broker. WIB, WITA dan WIT juga tidak mengubah arti timestamp server secara otomatis.

Periksa ekspor sebelum pengujian berikutnya

Siapkan lima kolom timestamp,open,high,low,close dengan offset waktu eksplisit. Di pemeriksa cakupan CSV lokal, masukkan waktu pembukaan bar pertama dan terakhir yang diharapkan serta intervalnya. Contoh M1 sintetis dari 08.00 sampai 08.11 memuat dua belas baris tetapi hanya delapan timestamp valid berbeda: empat posisi kosong, dua baris berulang dan satu kelompok OHLC bertentangan. Simpan laporan lalu teliti gap terhadap sesi produk. OHLC lengkap tidak membuktikan sejarah tick rekaman lengkap; alat tidak menyisipkan harga atau memvalidasi eksekusi tester.

Langkah latihan berikutnya

  1. Pilih dataset terdokumentasi untuk produk serta tanggal yang dimaksud. Pada MT4 periksa bar, mode dan persiapan FXT eksternal jika dipakai. Pada MT5 periksa tick asli serta penggantinya. Arsipkan penyedia, zona waktu, periode hilang dan pengaturan; nama mode saja belum cukup.
  2. Atur biaya serta pilihan delay lingkungan tes yang sebenarnya. Gunakan asumsi komisi, pembiayaan dan spread terdokumentasi, lalu uji kondisi kurang menguntungkan. Jangan memakai 7 USD dan penalti pip tetap sebagai parameter universal broker.
  3. Pilih empat tahun pencarian parameter dan satu tahun berikutnya untuk OOS beku bila pembagian itu cocok. Bandingkan return tahunan dengan basis konsisten; WFE di bawah 0,5 saja tidak mendiagnosis curve-fitting. Periksa ukuran sampel, rezim dan biaya, serta pertahankan evaluasi akhir yang belum dipakai.
  4. Periksa kapan setiap nilai harga/indikator tersedia. Ubah indeks nol menjadi bar selesai hanya jika aturan memerlukannya. Bandingkan waktu sinyal dan transaksi; perubahan hasil 30% sendiri bukan bukti look-ahead bias.

Jelajahi data sumber

Studi penerbit melaporkan 2.560 publikasi referensi EUR/USD dan 49 hari kerja tanpa publikasi pada 2016–2025, dengan kalender TARGET yang dihitung terpisah. Baca metode, snapshot, batasan serta kode; ini bukan data tick intraday atau reproduksi baru oleh artikel ini.

Kurs tidak dipublikasikan belum tentu gap data: kalender ECB 2016–2025 →