Akun demo, backtesting, forward testing, dan market replay

Anda dapat memeriksa strategi pada akun demo, melalui pengujian historis, secara waktu nyata, atau melalui pemutaran ulang pasar. Setiap lingkungan menjawab pertanyaan berbeda dan memiliki keterbatasan sendiri. Kami menjelaskan apa yang dibuktikan suatu hasil, cara memperhitungkan biaya, dan cara memisahkan pemilihan parameter dari evaluasi independen. Artikel ini juga menunjukkan bagaimana kesalahan data dan simulasi dapat memperindah kurva kinerja sebelum aturan menghadapi eksekusi order yang sesungguhnya.

Adegan edukatif ilustratif tentang pengujian strategi. Adegan ini menggambarkan perangkat dan keterkaitan, bukan kinerja atau rekomendasi transaksi.
Inti pembahasan dalam 60 detik
  • Pengujian tanpa deskripsi lingkungan tidak dapat diverifikasi. Instrumen, periode, sumber dan mutu data, model tick, model biaya, pembagian menjadi kelompok in-sample dan out-of-sample — tanpanya, hasil hanyalah angka tanpa satuan
  • Backtest tanpa biaya menggambarkan sistem yang berbeda dari sistem yang hendak Anda perdagangkan. Dalam perhitungan di bawah, rangkaian transaksi yang sama menghasilkan +12.000 USD tanpa biaya dan tepat 0 USD setelah spread, komisi, serta slippage ditambahkan
  • Optimasi adalah pencarian, bukan validasi. Susunan parameter terbaik dari seribu percobaan adalah yang terbaik pada riwayat tersebut — jumlah varian yang diperiksa merupakan bagian dari hasil, sama seperti hasil itu sendiri
  • Walk-forward hanya bekerja selama kelompok out-of-sample tetap tidak disentuh. Jika Anda mengubah strategi setelah melihat hasil out-of-sample, rentang data itu tidak lagi merupakan out-of-sample bagi setiap iterasi berikutnya
  • Look-ahead menyusup melalui pintu belakang: melalui entri pada harga penutupan candle yang menghasilkan sinyal, indikator yang dihitung ulang ke masa lalu, atau data makro dalam versi setelah revisi
  • Demo dan paper trading bukan pengujian eksekusi. Keduanya memeriksa mekanisme dan kepatuhan terhadap aturan. Seberapa besar biaya eksekusi yang direproduksi server demo ditentukan oleh broker dan harus dibaca dalam dokumentasi akun tersebut; sisanya hanya dapat diukur pada akun dengan modal nyata — dan pengukuran itu berlaku untuk ukuran posisi yang memang diukur
  • Forward test yang positif bukan jaminan. Hasilnya mengonfirmasi bahwa aturan berhasil melewati rentang data yang belum pernah dilihat. Hasil itu tidak mengonfirmasi bahwa aturan akan bertahan pada rezim pasar berikutnya

1. Demo, paper trading, backtest, forward test, replay, live — enam pertanyaan berbeda

Sebagian besar kesalahpahaman tentang pengujian berasal dari satu penyederhanaan pikiran: “Saya sudah memeriksa strateginya.” Diperiksa di mana, dan dari segi apa? Lingkungan tersebut bukan tahapan berurutan pada satu skala akurasi. Masing-masing mengukur hal yang berbeda.

Akun demo adalah akun di server broker yang didanai dengan uang virtual. Kuotasi biasanya berasal dari feed yang sama dengan akun live, tetapi eksekusinya disimulasikan di sisi server demo menurut aturan yang disederhanakan. Brokerlah, bukan platform, yang menentukan aturan tersebut, dan aturannya dapat berbeda antarjenis akun — karena itu setiap pernyataan tentang apa yang “tidak direproduksi demo” hanya berlaku setelah dokumentasi akun bersangkutan diperiksa, bukan sebagai aturan universal (butir 16 dalam bibliografi menunjukkan seperti apa deskripsi tersebut pada salah satu penyedia). Model eksekusi dan cara broker menangani arus order dibahas dalam bagian tentang memilih broker.

Paper trading berarti mencatat keputusan tanpa mengirimkan order untuk eksekusi nyata kepada broker. Harga pengisian ditetapkan oleh lembar kerja, skrip, atau emulator yang terpasang pada lingkungan grafik. Perbedaan ini sering dilewatkan, padahal penting: jika order virtual diisi oleh emulator, aturan emulatorlah — bukan pasar — yang menentukan harga entri. Paper trading menguji logika keputusan. Ini bukan pengujian mutu eksekusi, kecuali Anda mendeskripsikan dan membenarkan aturan emulator secara terpisah.

Backtest memutar kembali aturan pada data historis. Ia menjawab pertanyaan bersyarat: apa yang akan dihasilkan jika data, model tick, dan model biaya sesuai dengan kenyataan. Mutu jawabannya tidak melampaui mutu asumsi yang digunakan.

Forward test memeriksa aturan di luar periode penyesuaian. Ini dapat berupa rentang riwayat yang dicadangkan dan tidak pernah dilihat pengoptimal, atau pengamatan waktu nyata — bar demi bar, tanpa kesempatan kembali ke belakang.

Market replay memutar kembali riwayat dengan masa depan tersembunyi dan memungkinkan Anda mengambil keputusan secara manual. Ini merupakan perangkat latihan untuk strategi diskresioner, bukan padanan akun dengan modal nyata.

Akun live merupakan satu-satunya lingkungan tempat Anda mengukur biaya eksekusi sesungguhnya: slippage, pelebaran spread, penolakan, dan pengisian parsial.

Enam lingkungan pengujian dan pertanyaan yang dijawabnya
LingkunganPertanyaan yang dijawabApa yang tidak dipastikanSiapa yang menetapkan kondisi
Akun demoApakah Anda mampu mengoperasikan platform dan apakah sistem otomatis tidak macet selama operasi normalBiaya eksekusi dan perilaku saat likuiditas rendahBroker (server demo)
Paper tradingApakah Anda mampu menerapkan aturan sendiri secara konsistenHarga pengisian — ditetapkan oleh emulator atau konvensi Anda sendiriAnda atau emulator perangkat
BacktestApa yang akan dihasilkan pada riwayat tertentu berdasarkan asumsi yang dinyatakan secara eksplisitMasa depan, biaya eksekusi, dan apakah asumsinya akuratPembuat pengujian (data, model tick, biaya)
Forward testApakah aturan bertahan pada rentang data yang belum pernah dilihat pengoptimalRezim pasar berikutnya; ini tidak memperbaiki masalah sampel kecilPembagian data atau berjalannya waktu
Market replayApakah Anda mengenali situasi secara berurutan tanpa melihat ke sebelah kananBiaya eksekusi dan tekanan dari kerugian nyataPembuat sesi replay
Akun live (eksposur minimal)Berapa biaya eksekusi sesungguhnya pada ukuran posisi tersebutBiaya eksekusi pada ukuran yang jauh lebih besarBroker dan kondisi pasar
Model order demo EUR/USD dengan volume 0,10 lot dan level proteksi.
Transaksi virtual dapat menguji pengoperasian; ia tidak memverifikasi eksekusi dan biaya live sesungguhnya.
Batas cakupan dalam satu kalimat. Artikel ini menjelaskan prosedur validasi: data, biaya, pembagian sampel, dan reproduksibilitas. Apakah suatu logika memang masuk akal secara ekonomi dan bagaimana mengukur keunggulan secara statistik merupakan topik bagian tentang strategi. Ukuran posisi dan batas risiko ditentukan dalam bagian tentang manajemen risiko. Di sini keduanya diperlakukan sebagai masukan pengujian.

2. Apa yang tidak diukur demo dan paper trading

Akun demo kadang digambarkan sebagai “live tanpa uang”. Pernyataan itu keliru dalam beberapa hal konkret yang dapat diperiksa. Tabel berikut memuat unsur yang pada server demo mungkin tidak ada atau dimodelkan secara sederhana — dan masing-masing langsung memengaruhi hasil saat Anda beralih ke modal nyata. Kolom “Pada demo” menggambarkan penyederhanaan yang lazim, bukan aturan yang berlaku bagi setiap broker: penyedia akun menetapkan cakupan simulasi, yang bahkan dapat berbeda antarjenis akun di broker yang sama.

Unsur eksekusi: akun demo dibandingkan dengan akun bermodal nyata
UnsurPada demoPada akun live
SlippageDi banyak broker nol atau dimodelkan dengan nilai tetap; cakupan simulasi ditetapkan penyedia akunBerubah-ubah, bergantung pada waktu dan likuiditas; paling besar di sekitar rilis data dan pembukaan sesi
Pelebaran spreadSering berupa spread tetap atau hampir tidak berubahSpread melebar saat likuiditas rendah dan di sekitar peristiwa; profil itu cenderung diperhalus pada demo
Penolakan dan requoteJarang atau tidak adaTerjadi bergantung pada model eksekusi dan jenis akun — karakteristik broker, bukan platform
Pengisian parsialBiasanya terisi penuhMungkin terjadi pada ukuran lebih besar dan likuiditas lebih buruk; pada posisi mikro biasanya tidak relevan
Likuiditas yang tersediaServer demo biasanya tidak menolak; apakah penolakan dimungkinkan bergantung pada aturan penyedia tersebutTerbatas; pada pasangan eksotis dan di luar sesi dapat hilang pada level harga Anda
Kesenjangan harga (gap)Kadang direproduksi berbeda dari akun liveStop loss di dalam gap bekerja seperti order pasar: dieksekusi pada harga pertama yang tersedia, bukan pada level stop
Taruhan psikologisNol — kerugian tidak menimbulkan konsekuensiNyata; memengaruhi apakah Anda benar-benar menjalankan rencana
Cara memeriksa hal ini untuk akun sendiri, bukan sekadar berasumsi. Aturan server demo kadang dijelaskan dalam dokumentasi broker sehingga tidak perlu ditebak. Contoh dari satu penyedia tertentu, bukan aturan industri: dalam artikel bantuan tertanggal 29 Mei 2026, IG menulis tentang akun demonya sendiri bahwa “Transaksi melalui akun demo tidak akan terkena slippage, penyesuaian bunga dan dividen, atau pergerakan harga di luar jam perdagangan”, dan order “tidak akan pernah ditolak karena ukuran atau harga”, meskipun penolakan semacam itu mungkin terjadi pada akun live (butir 16 dalam bibliografi, diakses 22.08.2026). Kalimat itu menggambarkan demo IG dan tidak lebih dari itu. Pada broker lain cakupan simulasi mungkin lebih sempit atau luas — dalam dokumentasi akun Anda, cari istilah slippage, requote, rejection, dan partial fill. Jika dokumentasinya tidak menjelaskan, catatan yang tepat dalam deskripsi pengujian adalah “tidak diketahui”, bukan “nol”.

Baris terakhir dapat mengubah rencana yang masuk akal menjadi improvisasi, tetapi bukan pokok artikel ini. Mekanisme perilaku di bawah tekanan dibahas dalam artikel tentang proses dan hasil. Di sini yang kami bahas adalah bagian yang dapat diukur: biaya eksekusi.

Order beli EUR/USD hipotetis: harga acuan 1,1000 dan pengisian live 1,1003 berarti slippage merugikan 3 pip.
Model menunjukkan satu kemungkinan perbedaan eksekusi. Aturan demo bergantung pada penyedia; order live tidak selalu mengalami slippage.

Cara mengukur slippage, bukan menaksirnya. Untuk setiap transaksi, catat harga pada saat sinyal, harga yang diminta, harga eksekusi, spread saat klik, spread saat pengisian, latensi, sesi, informasi peristiwa makro, serta waktu server broker. Setelah sampel terkumpul, hitung median dan ekor distribusinya, bukan hanya rata-rata — rata-rata yang mencakup beberapa pengisian ekstrem dapat menyesatkan ke kedua arah. Hanya angka semacam itu yang layak dimasukkan ke model biaya backtest.

Eksposur minimal mengukur slippage untuk eksposur minimal. Slippage yang diukur pada 0,01 lot merupakan pengukuran untuk 0,01 lot. Menerapkannya pada posisi seratus kali lebih besar adalah asumsi, bukan pengukuran — dan harus disebutkan secara eksplisit dalam deskripsi pengujian. Itu merupakan perluasan kesimpulan secara diam-diam melampaui data yang mendasari pengukuran.

Kasus acuan: 3 Januari 2019, pergerakan tajam yen. Di tengah likuiditas tipis sesi Asia, pasangan yen mengalami lonjakan dalam hitungan menit; kejadian tersebut dijelaskan dalam kotak tersendiri pada laporan bank sentral Australia (butir 12 dalam bibliografi, isi diakses 22.08.2026). Laporan itu menyatakan bahwa “Pada pukul 9:36 AEDT, dalam sekitar 30 detik, tanpa berita material apa pun, yen menguat 3 persen terhadap dolar AS”, dan selisih bid-ask melebar “dari sekitar 2 pip menjadi 100–300 pip”. Dua kalimat dari kotak yang sama relevan bagi artikel ini: bahwa “likuiditas pasar rendah secara musiman pada waktu dan periode tahun tersebut”, serta bahwa broker ritel secara otomatis menutup posisi melalui order stop loss ketika kerugian melebihi level tertentu — artinya, dalam rentang itu justru mekanisme inilah yang terpicu, sementara tester hanya mereproduksi biayanya sejauh yang diizinkan mode pemodelan terpilih; pada mode sederhana, biaya itu sama sekali tidak direproduksi karena order diisi pada harga yang tercantum di dalamnya (lihat subbagian pengisian pending order). Besarnya pergerakan dan harga pengisian berbeda antarpenyedia data dan broker, sehingga tidak ada satu angka pip yang “benar” di sini dan kami tidak akan memberikannya. Bagi pengujian strategi, kesimpulannya terbatas dan konkret: model biaya dengan asumsi spread tetap dan slippage nol sama sekali tidak mereproduksi rentang semacam itu, dan strategi dengan stop ketat paling sensitif terhadapnya. Jalannya peristiwa dan latar pasarnya dibahas dalam bagian tentang sesi dan jam perdagangan.

Model kolom ukuran kosong pada kedalaman pasar dengan kuotasi contoh.
Buku order yang ditampilkan tidak mewakili seluruh pasar FX terdesentralisasi.

3. Unsur hasil backtest: data, model tick, model biaya

Hasil tester merupakan fungsi dari tiga hal yang dapat diputuskan pengguna tanpa menyadarinya: data yang dimuat, cara mereproduksi pergerakan di dalam candle, dan apa yang ditambahkan pada setiap transaksi.

Model pembangkitan tick

Dokumentasi MetaTrader 5 mencantumkan lima mode tester: Setiap tick, Setiap tick berdasarkan tick nyata, OHLC 1 menit, Hanya harga pembukaan dan Perhitungan matematika. Perbedaan mode pertama dan kedua paling penting di sini. Pada mode Setiap tick, tick dibangkitkan secara algoritmis dari data menit. Pada mode Setiap tick berdasarkan tick nyata, pengujian menggunakan tick yang dikumpulkan broker — yaitu rekaman satu arus tertentu, bukan rekonstruksi pasar secara menyeluruh. OHLC 1 menit mengemulasikan empat harga per menit, Hanya harga pembukaan menjalankan logika pada pembukaan bar, dan Perhitungan matematika sama sekali tidak memuat riwayat dan berfungsi mengoptimalkan fungsi matematika. Nama dan urutan mode dikonfirmasi oleh halaman pengaturan tester (butir 2 dalam bibliografi, diakses 22.08.2026). Mode tester kadang berubah bersama versi terminal, jadi periksa halaman bantuan versi Anda sebelum mengandalkannya.

Namun, memilih mode tick nyata bukan pernyataan bahwa tidak satu pun tick hasil perhitungan akan muncul dalam pengujian. Dokumentasi menjelaskan perilaku cadangan secara eksplisit: “Jika riwayat simbol memiliki bar menit tanpa data tick, tester membangkitkan tick dalam mode »Setiap tick«”; sebaliknya, “Jika riwayat simbol tidak memiliki bar menit tetapi data tick untuk menit tersebut tersedia, tick itu diabaikan” (butir 1 dalam bibliografi, diakses 22.08.2026). Dengan kata lain: ketika arsip broker memiliki celah atau inkonsistensi, sebagian pengujian direproduksi menggunakan tick model, dan laporan tidak menandai rentang tersebut secara terpisah. Halaman yang sama juga menyatakan bahwa pada tick nyata “spread dapat berubah di dalam bar menit”, sedangkan pada tick yang dibangkitkan digunakan spread tetap dalam bar terkait — jadi mode data mengubah bukan hanya lintasan harga, melainkan juga model spread.

Konsekuensi praktisnya sederhana dan tidak nyaman. Jika aturan bergantung pada urutan harga menyentuh high dan low dalam candle — dan setiap strategi dengan stop serta target aktif bersamaan bergantung padanya — maka pengujian dengan tick yang dibangkitkan dari data menit menebak urutan tersebut. Ini bukan bug program, melainkan sifat model. Pada MetaTrader 4, tester melaporkan ukuran cakupan data historis tersendiri, tetapi pergerakan di dalam candle tetap dihitung, bukan dibaca dari rekaman arus nyata. Dokumentasi menjelaskan tiga mode pemodelan — Hanya harga pembukaan, Titik kontrol dan Setiap tick — yang terakhir “menggunakan untuk pembangkitan bukan hanya data kerangka waktu lebih rendah terdekat, tetapi juga semua kerangka waktu terdekat yang tersedia”; ketika data kerangka waktu lebih rendah tidak ada, tester menggunakan pola gelombang siap pakai (butir 14 dalam bibliografi, diakses 22.08.2026). Bilah mutu pemodelan menunjukkan kerangka waktu yang benar-benar digunakan — makin rendah kerangka waktunya, makin sedikit tebakan dalam lintasan harga. Ketersediaan tick nyata dan kedalaman riwayatnya bergantung pada broker serta lamanya pengarsipan.

Diagram data historis, tick yang dibangkitkan, dan operasi simulasi.
Periksa data dan asumsi secara independen dari skor persentase tester.

Cara tester mengisi pending order

Model tick menentukan harga apa saja yang akan dilihat tester. Lapisan asumsi terpisah adalah tindakan tester terhadap harga tersebut ketika ada pending order di pasar — asumsi ini sering tidak terlihat dalam pengaturan dan perlu dicari pada dokumentasi perangkat. Di dalamnya ada dua pertanyaan terpisah; perhitungan baru benar setelah keduanya dibedakan: kapan order dieksekusi, dan pada harga berapa. Dalam tester MetaTrader 5, jawaban pertanyaan kedua bergantung pada dua sumbu terpisah: jenis instrumen dan mode pemodelan data. Mencampur kedua sumbu adalah cara termudah mengambil kalimat benar dari dokumentasi lalu menerapkannya pada konteks yang tidak berlaku.

Latensi. Emulasi latensi dalam tester MetaTrader 5 mencakup penempatan order oleh sistem otomatis, bukan eksekusi selanjutnya di server: “jika EA menggunakan pending order, penundaan hanya diterapkan pada penempatan order, bukan eksekusinya (dalam kondisi nyata, eksekusi terjadi di server tanpa penundaan jaringan)” (butir 2 dalam bibliografi, diakses 22.08.2026). Jadi, pengisian order yang sudah berada di pasar tidak memperoleh penundaan jaringan dalam pengujian — dan memang tepat demikian, sebab pada kenyataannya juga tidak.

Sumbu pertama: jenis instrumen. Tidak adanya latensi bukan berarti order akan diisi pada level yang tertulis di dalamnya. Dokumentasi terlebih dahulu membedakan persoalan ini berdasarkan jenis instrumen; simbol FX/CFD OTC yang dibahas di sini merupakan instrumen nonbursa, sedangkan kontrak mata uang yang diperdagangkan di bursa termasuk kategori lain. Aturan bagi instrumen nonbursa berbunyi: “Untuk instrumen nonbursa, pemicuan semua jenis pending order serta SL/TP dilakukan berdasarkan harga Bid dan Ask. Eksekusi dilakukan pada harga pasar Bid dan Ask saat pemicuan” (butir 13 dalam bibliografi, bagian Pemicuan dan Eksekusi Order, paragraf pertama, diakses 22.08.2026). Jadi semua jenis pending order — termasuk limit order — serta stop loss dan take profit dieksekusi pada bid atau ask saat pemicuan, bukan pada level yang tercantum dalam order. Untuk limit order, selisih yang menguntungkan dari harga yang ditetapkan merupakan perbaikan harga; ini bukan izin mengisi melewati limit ke arah merugikan.

Kalimat tentang pengisian limit order tanpa slippage berlaku bagi instrumen bursa. Paragraf berikutnya pada bagian yang sama membahas saham dan kontrak bursa secara terpisah, dengan aturan berbeda: “Untuk instrumen bursa, grafik digambar dan stop order dipicu oleh harga transaksi terakhir (Last). Limit order dipicu oleh harga Bid dan Ask. Limit order dieksekusi pada harga yang ditetapkan dalam order (tanpa slippage), sementara jenis order lain dieksekusi pada harga pasar Bid dan Ask saat itu (slippage mungkin terjadi)” (butir 13, paragraf kedua pada bagian yang sama, tanggal akses sama). Kalimat tersebut kadang dikutip sebagai aturan universal tester; ini kesalahan cakupan, bukan kesalahan kutipan: “limit tanpa slippage” berlaku untuk instrumen bursa. Untuk simbol FX nonbursa, paragraf sebelumnya yang berlaku; kontrak mata uang yang diperdagangkan di bursa mengikuti aturan instrumen bursa.

Sumbu kedua: mode pemodelan. Jenis instrumen menentukan apa yang terjadi pada mode akurat — Setiap tick dan Setiap tick berdasarkan tick nyata. Mode pemodelan adalah sumbu terpisah dan pada mode sederhana menonaktifkan aturan itu sepenuhnya: “Dalam mode pengujian »Hanya harga pembukaan« dan »OHLC 1 menit«, pending order serta SL dan TP dieksekusi pada harga yang ditetapkan dalam order. Algoritme eksekusi pada harga pasar yang digunakan pada mode akurat (setiap tick dan tick nyata) tidak cocok untuk mode yang kurang akurat” (butir 13, tanggal akses sama). Penyedia juga memberikan alasan dan kesimpulannya: “Pada beberapa mode, tick antara tidak dibangkitkan, sehingga selisih harga order yang diminta dan harga saat itu (Open atau OHLC) dapat signifikan. Eksekusi order pada harga yang diminta dalam »Hanya harga pembukaan« dan »OHLC 1 menit« memberikan hasil pengujian yang lebih akurat”. Logikanya berlawanan dengan intuisi: pada mode sederhana, tester tidak memiliki sumber harga pasar setelah pemicuan, sehingga mengisi pada harga yang tertulis di order, sebab pengisian pada pembukaan bar berikutnya akan menjadi kesalahan yang lebih besar dibandingkan pengisian pada level tersebut.

Menggabungkan kedua sumbu. Untuk simbol FX nonbursa dalam tester MetaTrader 5, hal ini menghasilkan dua lingkungan eksekusi berbeda yang mudah tertukar karena laporan keduanya tampak sama:

  • Mode akurat (Setiap tick, Setiap tick berdasarkan tick nyata) — setiap pending order serta SL dan TP diisi pada bid atau ask saat pemicuan. Slippage dimodelkan, tetapi hanya di dalam lintasan harga yang direproduksi tester — baik dibangkitkan dari data menit maupun diambil dari arsip tick broker
  • Mode sederhana (OHLC 1 menit, Hanya harga pembukaan) — setiap pending order serta SL dan TP diisi tepat pada harga yang tertulis dalam order. Slippage hilang sepenuhnya dari perhitungan, untuk semua jenis order sekaligus

Mekanisme penyederhanaan ini berbeda pada kedua jenis order, meskipun dampaknya searah. Setelah terpicu, stop order berperilaku seperti order pasar: pada kenyataannya harga eksekusi adalah harga pertama yang tersedia setelah level ditembus, bukan level itu sendiri. Pengisian pada level — seperti yang diberikan mode sederhana — menghapus seluruh biaya lompatan dari perhitungan dan memperbesar hasil. Limit order adalah pembelian di bawah pasar atau penjualan di atasnya: pengisian pada level yang tertulis mengasumsikan likuiditas cukup bagi seluruh posisi tepat pada level itu, padahal harga menyentuh suatu level tidak menjamin likuiditas cukup untuk pengisian. Di bursa, posisi antrean juga penting; untuk FX/CFD OTC, aturan eksekusi penyedia yang berlaku. Tester tidak memodelkan antrean maupun volume yang tersedia pada level tersebut: ia hanya mengetahui lintasan harga. Jadi kedua penyederhanaan menguntungkan hasil, tetapi baru masuk perhitungan bila mode terpilih mengizinkannya.

Kondisi tersendiri lainnya adalah sisi pasar: level disentuh oleh rangkaian harga yang sesuai dengan sisi order, sehingga pembelian bereaksi terhadap ask dan penjualan terhadap bid. Pengujian pada satu rangkaian, biasanya bid, mereproduksi sisi lain dengan menambahkan spread, dan dokumentasi MQL5 menyatakan bahwa “Selama pengujian, spread tidak dimodelkan, melainkan diambil dari data historis” (butir 3 dalam bibliografi, diakses 22.08.2026) — jadi saat pemicuan bergantung pada spread yang terekam dalam data, bukan spread yang akan terjadi di akun Anda. Kerapatan lintasan harga juga penting: halaman tentang tick memperingatkan bahwa “Level Stop dan pending order dapat terpicu pada harga berbeda dari yang ditentukan (terutama saat menguji pada kerangka waktu lebih tinggi)” (butir 1 dalam bibliografi).

Artinya bagi pembacaan laporan. Laporan tester tidak menyebutkan lingkungan mana dari keduanya yang menghasilkannya — Anda harus membacanya dari pengaturan pengujian. Aturan yang sama dijalankan pada mode akurat dan sederhana akan menghasilkan perhitungan berbeda, bukan karena presisi komputasi, melainkan aturan pengisian berbeda. Strategi dengan rata-rata transaksi kecil dan stop ketat paling sensitif, sebab biaya lompatan yang dihapus merupakan bagian besar hasilnya. Karena itu, aturan pengisian pending order harus dicantumkan dalam deskripsi lingkungan pengujian setara dengan model tick dan biaya; laporan yang tidak mengungkapkannya perlu dicocokkan dengan dokumentasi perangkat. Uji kontrolnya murah: ulangi pengujian dalam mode akurat, lalu sekali lagi dengan harga pengisian diperburuk sebesar kira-kira slippage rata-rata, dan lihat seberapa banyak hasil yang tersisa.

Model biaya

Empat unsur dengan satuan berbeda ditambahkan pada setiap transaksi dan tidak boleh dicampur:

  • Spread — dalam pip atau point. Pertanyaan utamanya: apakah pengujian menggunakan spread tetap, spread yang terekam dalam data, atau spread saat pengujian dimulai. Tiga jawaban berbeda, tiga hasil berbeda — pada tester MetaTrader 5, dokumentasi yang dikutip di atas sudah menjawabnya; pada perangkat lain, jawabannya harus dicari dalam deskripsi tester tersebut
  • Komisi — dalam mata uang akun, biasanya per lot dan per sisi. Untuk membandingkannya dengan spread, Anda harus mengonversinya menjadi pip menggunakan nilai pip instrumen dan ukuran posisi bersangkutan
  • Poin swap — dibebankan untuk posisi yang melewati pergantian hari penyelesaian, dengan beban tiga kali lipat pada hari tertentu dalam seminggu. Tidak relevan bagi strategi intraday, tetapi pada strategi posisi kadang lebih besar daripada spread
  • Slippage — dalam pip atau point, sebagai selisih harga yang diminta dan harga eksekusi. Dalam tester, unsur ini hanya masuk jika aturan pengisian mengizinkannya: pada tester MetaTrader 5 untuk pasangan mata uang dalam mode akurat, berlaku bagi semua jenis pending order beserta SL dan TP, sedangkan pada mode OHLC 1 menit dan Hanya harga pembukaan sama sekali tidak masuk karena pengisian dilakukan pada harga yang tertulis dalam order (butir 13 dalam bibliografi)

Latensi sengaja tidak ada dalam daftar, meski kadang ditambahkan sebagai unsur kelima. Latensi diukur dalam milidetik, bukan pip, dan bukan tambahan pada transaksi — latensi adalah parameter model eksekusi, yakni memengaruhi harga mana yang digunakan, bukan berapa banyak yang dikurangkan. Tester MetaTrader 5 memungkinkan emulasinya dalam mode Tanpa penundaan dan Penundaan acak serta penundaan tetap; sebagaimana ditunjukkan subbagian pengisian pending order, emulasi mencakup penempatan order oleh sistem otomatis, bukan eksekusi order yang sudah berada di pasar (butir 2 dalam bibliografi). Mencampur kedua besaran ini dalam satu baris perhitungan biaya merupakan kesalahan satuan, bukan pembulatan.

Dua kekeliruan yang tampak serupa perlu dibedakan. Latensi jaringan yang diukur melalui perintah ping ke alamat server bukan waktu yang dibutuhkan untuk mengeksekusi order — di antaranya terdapat validasi di sisi broker, antrean, dan momen eksekusi itu sendiri. Infrastruktur, server virtual, serta menjaga sistem otomatis tetap berjalan dibahas lebih lanjut dalam artikel tentang otomatisasi, EA, dan VPS; di sini yang penting hanyalah bahwa latensi harus diasumsikan secara eksplisit dalam pengujian, bukan diam-diam dianggap nol.

Mutu data itu sendiri

Sebelum hasil memiliki makna, data harus diperiksa: celah dan diskontinuitas rangkaian, duplikat, pencilan, kronologi, zona waktu dan pergeseran daylight saving, konvensi stempel waktu candle (pembukaan atau penutupan), serta apakah rangkaian dibentuk dari bid, ask, atau harga tengah. Butir terakhir sering disepelekan, padahal menentukan apakah level pernah disentuh: posisi short ditutup pada ask, sehingga candle berbasis bid mungkin tidak pernah menunjukkan harga yang memicu stop.

4. Backtest sempurna tetapi tidak realistis — anatomi kurva yang indah

Hasil tester yang indah biasanya bukan berasal dari satu penipuan besar, melainkan empat kelonggaran kecil yang masing-masing tampak tidak berbahaya. Berikut setiap kelonggaran beserta cara mendeteksinya.

Kelonggaran pertama: entri pada harga yang belum mungkin diketahui

Aturan berbunyi “masuk ketika candle ditutup di atas rata-rata”, tetapi pengujian masuk pada harga penutupan candle yang sama. Sinyal yang memerlukan penutupan final baru dapat menghasilkan order setelah penutupan dikonfirmasi, pada harga yang tersedia saat itu. Dalam model lazim yang menghitung sekali saat penutupan, ini berarti tick pertama bar berikutnya. Harga pengisian mungkin kebetulan sama dengan penutupan sebelumnya, tetapi ketersediaannya tidak boleh diasumsikan tanpa menyebutkan model. Memperbaiki asumsi ini dapat mengubah hasil secara berarti.

Uji sensitivitas, bukan vonis: geser entri satu candle lalu jalankan lagi. Jika hasilnya lenyap, yang Anda ketahui hanyalah sistem tidak tahan terhadap pergeseran entri satu periode. Kebocoran dari masa depan merupakan salah satu kemungkinan penjelasan, bukan satu-satunya: sinyal mungkin sekadar berumur pendek atau sensitif terhadap harga eksekusi. Penentunya adalah audit ketersediaan setiap variabel pada saat keputusan — prosedur lengkap pengujian tersebut beserta apa yang tidak dibuktikannya diberikan dalam kotak pada akhir bagian tentang look-ahead.

Kelonggaran kedua: tanpa biaya

Pengujian tanpa spread, komisi, dan slippage bukan versi sederhana sistem itu, melainkan sistem berbeda — dengan nilai harapan serta ambang profitabilitas berbeda. Besar pergeserannya dapat dihitung dan ditunjukkan bagian berikut.

Kelonggaran ketiga: satu susunan dari seribu percobaan

Pengoptimal menghasilkan peringkat. Mengambil baris teratas lalu menyajikannya sebagai hasil strategi menghilangkan informasi jumlah varian yang diperiksa. Dengan cukup banyak percobaan, hasil terbaik akan tinggi hanya karena statistik pencarian, termasuk untuk aturan yang tidak masuk akal — pembahasan formal fenomena ini ada pada butir 8 dalam bibliografi. Jumlah varian yang diuji harus masuk deskripsi hasil sebagaimana periode dan biaya.

Kelonggaran keempat: evaluasi pada data yang dipakai menyetel

Jika parameter dipilih pada periode yang sama dengan periode pelaporan hasil, sama sekali tidak ada validasi — yang ada hanya deskripsi kecocokan. Ini sekaligus kesalahan paling mudah dideteksi: cukup tanyakan rentang data mana untuk penyetelan dan mana yang khusus untuk evaluasi.

Empat kelonggaran dalam satu perhitungan — berapa banyak kurva indah yang tersisa

Mendaftar empat kelonggaran belum menunjukkan skalanya. Perhitungan berikut menunjukkannya dan disusun agar setiap langkah dapat diperiksa dengan satu operasi.

Asumsi perhitungan (nilai ilustratif, bukan hasil pengujian yang dijalankan).
Lingkungannya sama dengan perhitungan pada bagian Uji sensitivitas biaya: EUR/USD, posisi 1,00 lot standar, nilai pip 10,00 USD, mata uang akun USD.
Data: kuotasi menit satu broker selama 36 bulan; 24 bulan sebagai in-sample dan 12 bulan sebagai out-of-sample, dengan batas ditetapkan sebelum penyetelan.
Jumlah transaksi pada in-sample: 1.000; pada out-of-sample sekitar 500 karena pada frekuensi perdagangan yang sama periode validasinya setengah panjangnya. Kolom dolar menormalisasi setiap baris menjadi 1.000 transaksi agar dapat dibandingkan — jadi pada baris keempat nilainya merupakan hasil normalisasi, bukan jumlah yang terjadi pada out-of-sample itu sendiri. Jumlah varian parameter yang diperiksa: 1.200.
Biaya satu putaran penuh pada varian contoh: spread 0,30 + komisi 0,70 + slippage 0,20 = 1,20 pip. Ini bukan susunan terukur ataupun tipikal pasar — nilainya dipilih agar perhitungan dapat diperiksa di kepala.
Poin swap: nol karena contoh secara eksplisit mengasumsikan strategi intraday yang menutup setiap posisi sebelum pergantian hari penyelesaian. Pada strategi yang melewati rollover, baris ini bukan lagi nol dan harus ditambahkan terpisah.
Tidak satu pun angka ini berasal dari tester yang dijalankan. Ini konstruksi untuk menunjukkan arah dan orde besaran masing-masing dari empat kelonggaran — dapat diperiksa dengan kalkulator, tetapi bukan pengganti pengujian sendiri.
Aturan yang sama setelah kelonggaran dihapus bertahap (nilai ilustratif)
LangkahApa yang dihapusHasil
(pip/transaksi)
1.000 transaksi
(USD, 1 lot)
0. Laporan pengoptimaltidak ada — entri pada penutupan candle sinyal, biaya nol, peringkat teratas, evaluasi pada periode penyetelan+2,60+26.000
1. Entri yang benar-benar dapat dieksekusilook-ahead: entri digeser ke pembukaan candle berikutnya+1,20+12.000
2. Biaya ditambahkanasumsi spread, komisi, dan slippage nol0,000
3. Tanpa hak istimewa peringkat teratasmedian 1.200 varian menggantikan yang terbaik, periode dan biaya sama−0,45−4.500
4. Evaluasi di luar periode penyetelansusunan parameter beku yang sama pada data out-of-sample−0,30−3.000

Cara memeriksa setiap baris. Kolom dolar adalah hasil dalam pip dikalikan 10,00 USD dan 1.000 transaksi. Langkah 0, 1, dan 2 merupakan varian parameter yang sama, dengan satu asumsi dihapus tiap langkah, sehingga pengurangannya berjalan vertikal: 2,60 − 1,40 = 1,20 dan 1,20 − 1,20 = 0,00. Langkah 3 dan 4 bukan pengurangan lanjutan, melainkan jawaban atas dua pertanyaan berbeda terhadap hasil yang sama — karena itu dihitung terpisah, bukan ditambahkan ke langkah 2.

Langkah 1 mengurangi 1,40 pip, yakni bagian pergerakan candle sinyal yang diklaim aturan dengan masuk pada harga yang baru diketahui saat penutupan. Tidak kebetulan bahwa setelah koreksi tersisa tepat 1,20 pip bruto: sistem inilah yang sensitivitas biayanya diuraikan bagian berikut. Langkah 2 menunjukkan akibat sensitivitas itu — setelah biaya putaran penuh 1,20 pip ditambahkan, hasil menjadi nol hingga sen terakhir.

Langkah 3 menunjukkan jarak hasil terpilih dengan median varian yang diuji. Puncak peringkat 1.200 varian merupakan nilai tertinggi dari 1.200 nilai; keunggulannya atas median — di sini 0,45 pip per transaksi — mengilustrasikan seleksi, tetapi tidak mengukur overfitting dengan sendirinya. Median negatif di seluruh peringkat juga tidak membuktikan bahwa titik terpilih merupakan lonjakan terisolasi: nilai lingkungan sekitarnya dan data independen. Langkah 4 mengevaluasi susunan beku yang sama pada 12 bulan yang belum dilihat pengoptimal, menghasilkan −0,30 pip per transaksi.

Dalam perhitungan hipotetis ini, menghapus tiga dari empat kelonggaran mengubah +26.000 USD menjadi −3.000 USD pada normalisasi 1.000 transaksi yang sama, tanpa mengubah satu pun aturan strategi. Kelonggaran keempat — hak istimewa menampilkan puncak peringkat — tetap dipertahankan pada baris keempat karena susunan parameter beku yang sama bekerja pada data out-of-sample; selisihnya dari median ditampilkan terpisah pada baris ketiga, yang menjawab pertanyaan berbeda. Yang berubah hanyalah asumsi kapan boleh masuk, berapa biaya transaksi, varian mana yang boleh ditampilkan, dan data mana yang boleh digunakan untuk evaluasi.

Model hasil IS dan hasil OOS variabel setelah aturan dibekukan.
Penurunan tidak pasti terjadi; pengujian independen, stabilitas, dan biaya realistislah yang penting.
Mengapa “Saya mengujinya pada dua puluh delapan pasangan dan berhasil pada empat” bukan argumen. Dengan cukup banyak percobaan paralel, sebagian akan baik semata-mata karena kebetulan. Memilih yang berhasil setelah mengetahui hasil lalu menyajikannya sebagai wilayah operasi strategi merupakan seleksi berdasarkan hasil, bukan kesimpulan pengujian — mekanisme yang disebut data mining bias ini dijelaskan pada butir 9 dalam bibliografi. Catatan jujurnya: 28 instrumen diperiksa, semuanya dilaporkan, empat memberikan hasil positif. Selain itu, pasangan dengan mata uang kuotasi sama bukan sampel independen — cara memperhitungkan ketergantungan itu dijelaskan dalam artikel tentang korelasi dan risiko portofolio.
Matriks korelasi hipotetis EUR/USD, GBP/USD, dan AUD/USD.
Setiap long mengandung sisi short USD; korelasi yang berubah tidak menjamin lindung nilai.

5. Uji sensitivitas biaya — perhitungan langkah demi langkah

Di sinilah sebagian besar strategi lenyap. Perhitungan berikut bukan hasil pengujian yang dijalankan — melainkan konstruksi berdasarkan asumsi eksplisit yang dapat diperiksa dengan kalkulator. Justru itu membuatnya cocok untuk menunjukkan mekanisme: asal setiap angka dapat dilacak.

Asumsi perhitungan (nilai ilustratif, bukan hasil pengujian).
Instrumen: EUR/USD, 1 pip = 0,0001 harga. Mata uang akun: USD.
Ukuran posisi: 1,00 lot standar, yaitu nosional 100.000 EUR. Nilai pip = 100.000 × 0,0001 = 10,00 USD (untuk EUR/USD mata uang kuotasinya USD, sehingga nilai pip tetap dalam mata uang akun).
Distribusi hasil bruto sebelum biaya: 1.000 transaksi, terdiri dari 600 untung sebesar +8,00 pip dan 400 rugi sebesar −9,00 pip.
Total laba bruto: 600 × 8,00 − 400 × 9,00 = 4.800 − 3.600 = 1.200 pip, yaitu 1,20 pip per transaksi.
Profit factor bruto = 4.800 / 3.600 = 1,33 (jumlah laba bruto dibagi nilai absolut jumlah kerugian bruto).
Biaya dihitung untuk satu putaran penuh — entri dan keluar sekaligus — dan ditambahkan pada setiap transaksi.
Konversi komisi ke pip: 3,50 USD per lot per sisi menghasilkan 7,00 USD per putaran penuh, yaitu 7,00 / 10,00 = 0,70 pip. Tarif komisi bergantung pada broker dan jenis akun — di sini merupakan nilai asumsi, bukan hasil pengukuran.
Poin swap: nol, dan itu asumsi, bukan pengukuran — contoh ini membahas strategi intraday yang posisinya tidak melewati pergantian hari penyelesaian. Jika melewatinya, baris terpisah harus ditambahkan ke kolom biaya; dengan beban tiga kali lipat pada hari tertentu dalam seminggu, nilainya dapat melampaui spread.
Tidak satu pun angka tabel ini berasal dari tester yang dijalankan atau pengukuran pada akun. Semuanya ilustratif dan hanya menunjukkan betapa cepat biaya menghabiskan keunggulan kecil per transaksi.
Dampak model biaya pada rangkaian 1.000 transaksi yang sama (nilai ilustratif)
Model biayaSpread
(pip)
Komisi
(pip)
Slippage
(pip)
Total biaya
(pip)
Hasil bersih
(pip/transaksi)
Profit factor
bersih
1.000 transaksi
(USD, 1 lot)
Tanpa biaya0,000,000,000,00+1,201,33+12.000
Spread saja0,300,000,000,30+0,901,24+9.000
Spread dan komisi0,300,700,001,00+0,201,05+2.000
Spread, komisi, slippage0,300,700,201,200,001,000
Kondisi lebih buruk daripada asumsi0,600,700,501,80−0,600,86−6.000

Cara memeriksa setiap baris. Kolom “total biaya” adalah jumlah tiga kolom di sebelah kirinya. Kolom “hasil bersih” adalah 1,20 pip dikurangi total biaya. Kolom dolar adalah hasil bersih dikalikan 10,00 USD dan 1.000 transaksi. Profit factor bersih dihitung dari distribusi yang sama setelah biaya ditambahkan pada setiap transaksi — misalnya pada biaya 1,20 pip, laba per transaksi turun dari 8,00 menjadi 6,80 pip dan kerugian naik dari 9,00 menjadi 10,20 pip, menghasilkan laba 600 × 6,80 = 4.080 pip dan kerugian 400 × 10,20 = 4.080 pip, yaitu profit factor tepat 1,00. Jumlah seluruh biaya pada baris itu adalah 1.000 × 1,20 = 1.200 pip, sama dengan seluruh laba bruto — karena itulah hasil menjadi nol hingga sen terakhir.

Hasil kumulatif selama 1.000 transaksi menurut model biaya (nilai ilustratif) +12.000 +8.000 +4.000 0 −4.000 −8.000 0 250 500 750 1.000 jumlah transaksi hasil kumulatif dalam USD, posisi EUR/USD 1,00 lot, nilai pip 10,00 USD biaya 0,00 → +12.000 biaya 0,30 → +9.000 biaya 1,00 → +2.000 biaya 1,20 → 0 biaya 1,80 → −6.000
Lima kali rangkaian 1.000 transaksi yang sama, lima model biaya putaran penuh dalam pip. Pada biaya 1,20 pip, garis berhimpit dengan sumbu nol — seluruh laba bruto habis untuk biaya. Nilai ilustratif, dihitung dari asumsi di atas tabel.

Dua angka dari perhitungan ini patut diingat. Pertama: selisih baris ketiga dan keempat hanya slippage 0,20 pip, tetapi 2.000 USD pada hasil akhir. Kedua: antara pengujian tanpa biaya dan pengujian dengan biaya sebesar asumsi contoh ini, perbedaannya bukan koreksi kecil — melainkan perbedaan sistem yang untung dan yang tidak. Apakah 1,20 pip realistis bagi strategi Anda hanya dapat ditentukan melalui pengukuran pada akun sendiri; di sini angka itu dipilih untuk perhitungan, bukan dibaca dari pasar. Makin kecil hasil bruto rata-rata per transaksi dan makin tinggi frekuensinya, makin tajam transisi tersebut. Untuk strategi posisi dengan hasil rata-rata beberapa puluh pip, perubahan biaya yang sama bersifat marginal — karena itulah sensitivitas biaya harus dihitung bagi strategi sendiri, bukan diambil dari contoh orang lain.

6. Look-ahead dan kebocoran data — kebocoran dari masa depan

Look-ahead bias adalah penggunaan informasi yang belum tersedia pada saat keputusan dibuat. Kebocoran data merupakan konsep lebih luas: semua cara pengetahuan masa depan merembes ke proses penyusunan atau evaluasi aturan. Keduanya berbahaya karena tampak bukan sebagai kesalahan, melainkan hasil yang baik.

Tempat munculnya kebocoran:

  1. Entri pada harga penutupan candle sinyal. Dijelaskan pada bagian empat. Perbaikannya: entri paling cepat pada pembukaan candle berikutnya, atau sinyal yang dihitung hanya dari data yang sudah ditutup
  2. Indikator yang dihitung ulang ke masa lalu. Dokumentasi Pine Script mendefinisikan repainting sebagai kondisi ketika perilaku skrip membuat “perhitungan atau gambar historis dibandingkan waktu nyata” berperilaku berbeda (butir 4 dalam bibliografi, diakses 22.08.2026). Tidak setiap perilaku demikian merupakan penipuan, tetapi semuanya harus dijelaskan sebelum hasil dianggap kredibel. Mekanisme alert serta perbedaan riwayat dan waktu nyata dibahas lebih lanjut dalam artikel tentang TradingView
  3. Indikator terpusat. Setiap konstruksi yang menggunakan observasi dari t+k untuk nilai pada titik t tidak berguna untuk perdagangan, meskipun tampak sangat baik pada grafik historis
  4. Data makro setelah revisi. Angka indikator dalam versi yang direvisi bertahun-tahun kemudian bukan angka yang diketahui saat publikasi. Jika aturan menggunakan data makro, ia harus menggunakan versi data yang tersedia pada saat keputusan, termasuk revisi yang sudah dirilis saat itu, serta waktu publikasi yang sebenarnya. Interpretasi rilis dibahas dalam artikel tentang perdagangan di sekitar rilis data
  5. Memilih instrumen dengan pengetahuan masa depan. Menguji hanya instrumen yang bertahan hingga hari ini atau diketahui naik memasukkan seleksi berdasarkan masa depan. Pada mata uang, ini terutama menyangkut pasangan eksotis dan periode perubahan rezim nilai tukar
  6. Menyiapkan data sebelum membagi sampel. Normalisasi, penskalaan, atau pemilihan fitur yang dihitung pada seluruh kumpulan membawa informasi dari bagian out-of-sample ke in-sample. Pembagian in-sample dan out-of-sample harus menjadi operasi pertama, bukan terakhir
Uji penundaan sinyal — uji sensitivitas, bukan penentu akhir.
Asumsi. Aturan dan parameter sama, instrumen, periode, mode pembangkitan tick, serta model biaya sama seperti pengujian dasar. Hanya satu hal berubah: waktu entri. Catat versi kode, versi platform, dan pengenal kedua laporan; tanpa itu, perbandingan tidak dapat direproduksi.
Prosedur. Tunda seluruh sinyal satu periode keputusan penuh lalu jalankan lagi tanpa mengubah apa pun yang lain. Ulangi dengan penundaan dua periode — satu titik tidak menunjukkan bentuk hubungannya.
Hasil pengamatan. Yang diinterpretasikan adalah perbandingan tiga angka: hasil per transaksi tanpa penundaan, setelah satu periode, dan setelah dua periode. Tidak ada nilai spesifik di sini karena tidak ada pengujian yang dijalankan untuk artikel ini — isi ketiga kolom itu dengan angka dari laporan Anda sendiri.
Keterbatasan. Hilangnya hasil setelah penundaan tidak membuktikan kebocoran dari masa depan. Gambaran yang sama muncul pada sinyal berumur pendek yang keunggulannya habis dalam hitungan menit serta sinyal sensitif harga eksekusi, yang perbedaan satu candlenya setara seluruh keunggulan entri yang diharapkan. Pengujian ini membedakan sistem yang tahan terhadap waktu entri dari yang tidak, dan hanya itulah yang dapat dikatakan.
Apa yang benar-benar menentukannya. Kebocoran disingkirkan melalui audit ketersediaan: untuk setiap variabel keputusan, catat saat nilainya diketahui lalu bandingkan dengan saat keputusan dibuat. Variabel dengan stempel waktu setelah keputusan adalah kebocoran, apa pun hasil uji penundaan — sebaliknya, audit tanpa temuan menuntaskan persoalan meskipun hasil turun setelah ditunda.

7. In-sample, out-of-sample, dan walk-forward

Prinsipnya satu kalimat dan tanpa kompromi: data untuk penyetelan tidak boleh sekaligus menjadi validasi independen. Seluruh konsekuensi lain mengikuti prinsip itu.

In-sample (IS) adalah rentang riwayat tempat Anda boleh memilih parameter, menguji varian, dan mengubah aturan. Out-of-sample (OOS) adalah rentang yang tidak Anda lihat selama pekerjaan tersebut. Keduanya harus dipisahkan secara waktu — pengacakan observasi seluruh periode bukan pembagian IS/OOS, sebab deret waktu memiliki memori dan pengacakan membawa informasi ke kedua arah.

Konsekuensi paling penting pembagian ini: out-of-sample kehilangan independensi ketika hasilnya memengaruhi perubahan berikutnya. Jika Anda melihat hasil OOS, menilainya lemah, lalu mengubah strategi, rentang data itu bukan lagi OOS bagi semua yang dilakukan setelahnya. Anda masih boleh menggunakannya — sebagai bagian in-sample, bukan bukti independen. Tidak ada data tentang seberapa sering mekanisme ini merusak validasi dalam praktik, dan tidak perlu berpura-pura sebaliknya — dampaknya sudah jelas: periode OOS yang dipakai mengubah parameter bukan lagi bukti independen bagi model hasil revisi.

Tester MetaTrader 5 menyediakan pembagian ini. Pengaturan Forward menerima nilai Tidak, 1/2, 1/3, 1/4 dan Kustom, dan yang dicadangkan selalu bagian kedua yang lebih akhir dari periode (butir 2 dalam bibliografi). Ini memudahkan karena mengurangi risiko mengintip OOS tanpa sengaja, tetapi tidak menggeser jendela otomatis — walk-forward banyak putaran harus dirakit manual atau dengan perangkat eksternal. Status dokumentasi diperiksa pada 22 Agustus 2026.

Walk-forward: jendela yang bergerak

Walk-forward mengulang prosedur yang sama pada rentang riwayat berurutan yang digeser. Intinya, alih-alih satu putusan, Anda memperoleh rangkaian putusan; gabungan rentang validasinya membentuk satu rangkaian yang belum pernah dilihat pengoptimal secara keseluruhan.

  1. Tetapkan panjang jendela sebelum pengujian pertama — misalnya in-sample 12 bulan dan out-of-sample 3 bulan. Memilih panjangnya setelah melihat hasil merupakan bentuk penyetelan lainnya
  2. Optimalkan hanya pada jendela in-sample dan catat jumlah varian yang diperiksa
  3. Terapkan parameter terpilih pada jendela out-of-sample tanpa perubahan apa pun
  4. Geser kedua jendela sepanjang jendela out-of-sample lalu ulangi
  5. Evaluasi gabungan rentang validasi, bukan hasil optimasi. Berapa yang positif, seperti apa yang terburuk, dan apakah parameter pilihan tiap putaran saling mirip
Walk-forward: jendela in-sample 12 bulan, out-of-sample 3 bulan In-sample: M1–M12 OOS M13–M15 In-sample: M4–M15 OOS M16–M18 In-sample: M7–M18 OOS M19–M21 Putaran 1 Putaran 2 Putaran 3 kelompok in-sample (penyetelan) kelompok out-of-sample (tanpa perubahan) Evaluasi gabungan rentang M13–M21, bukan hasil optimasi jendela in-sample.
Skala horizontal: 25 piksel per bulan. Jendela in-sample menempati 300 piksel (12 bulan), out-of-sample 75 piksel (3 bulan), dan setiap putaran menggeser kedua jendela 75 piksel, yakni sepanjang seluruh jendela out-of-sample. Dengan demikian rentang validasi bertemu tepat tanpa tumpang tindih.

Efisiensi Walk-Forward, ukuran yang diperkenalkan Pardo (butir 7 dalam bibliografi), kadang digunakan sebagai indikator ringkas ketahanan hasil di luar in-sample:

WFE = tingkat imbal hasil OOS tahunantingkat imbal hasil IS tahunan × 100%

Agar angka itu bermakna, kedua tingkat hasil harus dihitung setelah biaya yang sama, dalam mata uang sama, dan dengan aturan ukuran posisi yang sama. Jika hasil IS nol, rasionya tidak terdefinisi; jika negatif, rasio tidak berguna untuk menggambarkan retensi keunggulan positif. Membandingkan WFE antarsistem dengan definisi imbal hasil berbeda tidak masuk akal. Peringatan lebih penting: WFE bukan gerbang biner. WFE tinggi pada dua belas transaksi OOS kurang bermakna dibanding WFE sedang pada empat ratus transaksi. Lihat bersama jumlah transaksi, distribusi hasil setiap putaran, drawdown, serta perilaku ketika biaya dinaikkan.

8. Optimasi, stabilitas parameter, dan Monte Carlo

Optimasi menjawab susunan parameter mana yang memberi hasil terbaik pada data ini. Ia tidak menjawab susunan mana yang akan baik kelak. Ini bukan nuansa bahasa — melainkan perbedaan deskripsi masa lalu dan ramalan. Tanpa catatan penerapan, artikel ini tidak dapat menyebut jumlah sistem yang gagal karena alasan tersebut. Pengoptimal memeringkat hasil pada data masukan; hasil itu tidak membuktikan kinerja masa depan.

Lonjakan dan dataran

Alih-alih hanya melihat baris terbaik, lihat lingkungan sekitarnya. Jika nilai parameter tetangga memberikan hasil serupa, Anda memiliki dataran — area tempat aturan berperilaku serupa meskipun pengaturan sedikit berubah. Jika hasil runtuh ketika parameter digeser satu langkah, Anda memiliki lonjakan, kemungkinan besar kecocokan kebetulan dengan konfigurasi data historis. Memilih titik di tengah dataran biasanya lebih masuk akal daripada puncak; pembedaan ini dan seluruh metodologi walk-forward berasal dari karya Pardo (butir 7 dalam bibliografi).

Pengujian yang sama patut dilakukan untuk parameter yang biasanya tidak dioptimalkan: jam perdagangan, jarak stop minimum, filter hari dalam seminggu. Jika hasil bergantung pada perdagangan hingga pukul 22:00 atau 23:00 waktu server, periksa alasan ekonomi filter dan stabilitas di luar periode penyetelan; perbedaan jam saja tidak membuktikan overfitting.

Jumlah varian merupakan bagian dari hasil

Saat melaporkan backtest, sebutkan jumlah kombinasi yang diperiksa bersama hasilnya. Kebiasaan ini membedakan deskripsi pengujian dari iklan. Pembahasan metodis masalah pengujian berganda dan probabilitas hasil terbaik merupakan artefak pencarian ada dalam karya Bailey, Borwein, López de Prado, dan Zhu (butir 8 dalam bibliografi); deskripsi sistematis seleksi berdasarkan hasil diberikan Aronson (butir 9).

Monte Carlo sebagai uji ketahanan, bukan ramalan

Varian sederhana dan berguna, antara lain dijelaskan Tomasini dan Jaekle (butir 10 dalam bibliografi): ambil hasil transaksi dari rentang validasi, undi ulang urutannya berulang kali, lalu hitung distribusi drawdown maksimum. Yang diperhatikan adalah ekor kanan distribusi tersebut — misalnya persentil ke-95 drawdown maksimum, yaitu nilai yang tidak dilampaui oleh 95 persen simulasi. Jika nilai itu melampaui batas drawdown dalam rencana risiko, model asumsi dan ukuran posisi gagal memenuhi kriteria risiko tersebut, meskipun rata-ratanya tampak baik.

Dua keterbatasan harus disebutkan eksplisit. Pengacakan urutan mengasumsikan transaksi independen, yang tidak benar jika strategi membuka posisi berkorelasi atau menyesuaikan ukuran berdasarkan hasil terkini. Kedua, hal yang biasanya dirumuskan terlalu luas: pengacakan mengambil hasil yang sudah terjadi, jadi tidak akan menghasilkan satu transaksi pun di luar distribusi yang diamati. Itu tidak membatasi drawdown maksimum — justru tujuan simulasinya adalah menunjukkan bahwa urutan berbeda dapat memusatkan kerugian yang ada menjadi satu rangkaian dan menghasilkan drawdown lebih besar daripada yang diamati. Jadi Monte Carlo menguji sensitivitas terhadap urutan peristiwa, bukan cakupan kemungkinan peristiwa individual. Batas drawdown dan mekanisme penghentian perdagangan dibahas dalam artikel tentang drawdown dan kill switch.

Definisi yang wajib ada agar metrik dapat dibandingkan. Profit factor: jumlah laba bruto dibagi nilai absolut jumlah kerugian bruto — besaran tanpa satuan. Drawdown maksimum: nyatakan dihitung dari saldo atau ekuitas berjalan, serta dalam mata uang atau persen — varian tersebut dapat berbeda beberapa kali lipat untuk rangkaian yang sama. Nilai harapan: dalam mata uang per transaksi atau satuan risiko R, jangan pernah tanpa menyebutkan yang mana. Membandingkan angka itu antardua perangkat tanpa memeriksa definisi, rentang riwayat, serta perlakuan setoran dan penarikan adalah membandingkan besaran berbeda. Cara membaca laporan dan letak perbedaan definisi ditunjukkan dalam artikel tentang jurnal perdagangan dan analisis kinerja.

9. Forward test, demo, dan market replay — apa tepatnya yang dikonfirmasi

Forward test kadang disebut bukti pamungkas. Bukan demikian. Ini tahap validasi yang mengonfirmasi sesuatu yang sempit dan sangat spesifik.

Forward test pada rentang riwayat yang dicadangkan mengonfirmasi bahwa aturan dengan parameter tetap menghasilkan hasil tertentu pada data yang belum dilihat pengoptimal. Ia tidak mengonfirmasi biaya eksekusi atau perilaku pada rezim pasar lain.

Forward test waktu nyata pada akun demo menambahkan dua hal: memeriksa implementasi bekerja benar selama operasi terminal normal dan kemampuan Anda menerapkan aturan tanpa improvisasi. Ia tidak mengukur biaya eksekusi sejauh server demo tidak mereproduksinya — dan apa tepatnya yang direproduksi ditentukan dokumentasi broker serta jenis akun itu, bukan prinsip umum. Sebelum diperiksa, hasil demo menggambarkan simulasi dengan asumsi eksekusi yang belum diverifikasi.

Forward test pada akun bermodal nyata dengan ukuran minimal menambahkan pengukuran biaya eksekusi. Dengan catatan dari bagian dua: yang diukur adalah ukuran yang Anda perdagangkan. Keputusan menambah eksposur bukan bagian prosedur pengujian — melainkan bagian rencana manajemen risiko, itu pun hanya jika rencana tersebut mengizinkannya.

Model hipotetis hasil bruto dan bersih kumulatif setelah biaya.
Gunakan satuan biaya konsisten dan hindari menghitung spread dua kali.

Market replay

Replay mereproduksi riwayat dengan masa depan tersembunyi: Anda menggulir bar demi bar, memutuskan, baru melihat apa yang terjadi. Untuk strategi diskresioner, ini memungkinkan banyak pengulangan tanpa menunggu waktu nyata atau menulis kode aturan. Lingkungan replay terbagi menjadi simulator khusus dengan panel order dan statistik, serta mode bawaan platform grafik — yang kini bukan sekadar menggulir grafik. TradingView kini menjelaskan mode Replay Trading terpisah tempat “Anda dapat membuka posisi serta memasang limit, stop, dan stop-limit order, seperti pada broker nyata”, dan hasil sesi dihimpun dalam tab Ikhtisar, Kinerja, Analisis transaksi, Rasio risiko/kinerja dan Daftar transaksi, dengan “Kinerja dan Daftar transaksi juga dapat diekspor untuk analisis atau pencatatan lebih lanjut” (butir 5 dalam bibliografi, diakses 22.08.2026).

Grafik nonstandar menghitung hasil pada harga yang tidak pernah ada di pasar. Jika aturan diuji pada Heikin Ashi, Renko, Kagi, Line Break, atau Point & Figure, harga pengisian emulator bukan harga pasar. Dokumentasi TradingView menyatakannya eksplisit: “Karena level harga pada grafik nonstandar secara inheren sintetis, hasil backtest yang dihitung padanya biasanya tidak mewakili kondisi pasar nyata” (butir 15 dalam bibliografi, diakses 22.08.2026). Untuk Heikin Ashi ada solusi — pengaturan Menggunakan OHLC standar dalam properti strategi menghitung sinyal pada data sintetis tetapi mengisi order pada harga nyata. Jenis grafik lain tidak memiliki solusi itu. Penyedia merumuskan konsekuensinya hati-hati — “biasanya tidak”, bukan “tidak pernah” — dan kehati-hatian tersebut harus dipertahankan. Namun keputusan praktis tidak berubah: sampai Anda membuktikan harga sintetis pada kasus Anda sama dengan harga pasar, hasil tidak dapat dikonversi menjadi uang.

Apa yang tidak diberikan replay. Ia tidak memberikan biaya eksekusi karena pengisian ditetapkan simulator menurut aturannya sendiri — aturan yang harus diketahui sebelum hasil sesi diperlakukan lebih dari sekadar latihan. Ia juga tidak memberikan tekanan kerugian nyata. Ada pula kelemahan khas: Anda mudah menipu tanpa sadar. Membatalkan keputusan terakhir, mengulangi rentang, “sekali lagi karena tadi saya melihatnya berbeda” — setiap tindakan itu mengubah pengujian menjadi cerita. Agar sesi replay menjadi data, aturannya harus tertulis sebelum mulai dan semua keputusan tercatat, termasuk yang buruk.

Model replay grafik dengan masa depan tersembunyi dan keputusan tercatat.
Replay menguji penerapan aturan; tidak mereproduksi seluruh kondisi eksekusi live.
Volume tick bukan volume pasar. Pasar mata uang spot tidak memiliki perputaran terpusat, sehingga volume di terminal adalah jumlah perubahan kuotasi pada feed tertentu. Itu ukuran aktivitas satu penyedia, bukan perputaran pasar. Aturan berbasis volume dalam pengertian itu akan berperilaku berbeda di broker lain, dan dalam pengujian historis menggunakan rekaman yang tidak dapat dibandingkan antarsumber.

10. Perangkat pengujian — perbandingan berdasarkan kriteria

Tidak ada perangkat yang mencakup seluruh tahap. Tabel berikut membandingkan menurut kriteria yang benar-benar menentukan pilihan, bukan jumlah fitur.

Lingkungan pengujian menurut kriteria pemilihan
PerangkatApa yang diujiSumber dataPembagian in-sample / out-of-sampleMemerlukan kodeKeterbatasan utama
MetaTrader 4 — Strategy TesterSistem otomatis MQL4 pada satu instrumenTiga mode pemodelan: Hanya harga pembukaan, Titik kontrol, Setiap tick (butir 14)Manual, melalui rentang tanggalYa (MQL4)Pergerakan dalam candle dihitung dari data kerangka waktu lebih rendah, bukan dibaca dari arus tick; bilah mutu pemodelan menunjukkan kerangka waktu yang digunakan
MetaTrader 5 — Strategy TesterSistem otomatis MQL5, juga multi-instrumenLima mode pembangkitan tick, termasuk tick yang dikumpulkan broker (butir 2)Bawaan (Forward: 1/2, 1/3, 1/4, Kustom) (butir 2)Ya (MQL5)Ketersediaan dan kedalaman tick nyata bergantung pada broker; pada celah arsip, tester mengisi pengujian dengan tick model (butir 1); jendela walk-forward tidak bergeser sendiri
cTrader — backtest cBotSistem otomatis dalam lingkungan cTrader AlgoEmpat mode: Data tick dari server, Bar M1 dari server, Bar M1 dalam berkas CSV, Bar H1 dari server (butir 6)Manual, melalui rentang tanggalYaKomisi ditetapkan per juta unit yang diperdagangkan, spread tetap atau diundi secara acak dari rentang tertentu — jadi model biayanya sederhana dan harus diatur dengan sengaja
TradingView — strategi Pine dan Replay TradingAturan Pine Script dan latihan pengambilan keputusan pada grafik, dengan catatan posisi serta ekspor hasil sesi (butir 5)Data penyedia yang dipilih pada grafikManualSebagian (Pine untuk strategi, replay tanpa kode)Pengisian ditetapkan emulator; perilaku historis dan waktu nyata dapat berbeda (butir 4); pada grafik nonstandar, harga pengisian sintetis dan hasil biasanya tidak menggambarkan pasar (butir 15)
Simulator replay khususStrategi diskresioner, keputusan demi keputusanPaket data yang disertakan perangkat; pada salah satu penyedia yang diperiksa, dokumentasi menyebut data tick dengan spread variabel — pada penyedia lain cakupannya dapat berbeda dan harus dibaca tersendiri (butir 11)ManualTidakPengisian ditetapkan emulator sehingga tidak mengukur biaya eksekusi nyata — bahkan ketika penyedia memungkinkan spread variabel dan komisi; aturan pengisian itu sendiri tidak dijelaskan dalam dokumentasi penyedia yang diperiksa (butir 11); mengulangi rentang dan merusak sampel juga mudah
Penganalisis hasil (impor laporan)Laporan jadi dari tester atau akunBerkas masukanBergantung pada perangkatTidakTidak menjalankan pengujian — mewarisi semua kesalahan sumber
Python (pustaka backtesting)Logika apa pun, kendali penuh pembagian sampelApa pun, beserta tanggung jawab mutuPenuh, skema apa punYaSeluruh ketepatan metodologi menjadi tanggung jawab Anda — lihat artikel tentang Python dalam perdagangan
Tentang harga dan batas paket. Harga lisensi, cakupan paket gratis, dan ketersediaan mode replay merupakan lapisan produk yang berubah, bukan arsitekturnya, serta berbeda antarwilayah — karena itu tidak masuk tabel; tidak ada angka frekuensi perubahan di sini karena belum dihitung. Sebelum membeli, periksa daftar harga terkini penyedia dan pastikan fitur yang dibutuhkan — misalnya replay pada kerangka waktu lebih rendah atau ekspor daftar transaksi — masuk paket pilihan. Perbandingan platform perdagangan tanpa bagian pengujian tersedia dalam artikel tentang MT4, MT5, dan cTrader.

Pilihan mengerucut menjadi tiga pertanyaan. Dapatkah aturan ditulis menjadi kode? Jika tidak, Anda memerlukan lingkungan replay, bukan tester. Apakah Anda memerlukan tick nyata? Jika aturan bergantung pada urutan peristiwa di dalam candle, jawabannya ya dan itulah penentu pilihan. Apakah Anda ingin mengendalikan skema pembagian sampel? Jika ya, cepat atau lambat Anda akan menggunakan kode sendiri karena pembagian bawaan sengaja dibuat sederhana.

11. Protokol reproduksibilitas dan daftar periksa kredibilitas

Pengujian yang tidak dapat diulang hanyalah opini dalam angka. Kolom berikut merupakan minimum agar Anda enam bulan mendatang, atau orang lain, dapat mereproduksi pengujian yang persis sama. Jika suatu kolom tidak dapat dipulihkan, nyatakan sebagai keterbatasan, jangan dilewati.

Protokol reproduksibilitas pengujian — kolom wajib.
1. Versi aturan atau kode dan tanggal pembekuannya. 2. Seluruh parameter. 3. Instrumen dan simbol tepat pada broker, termasuk sufiks. 4. Sumber data dan cara memperolehnya. 5. Rentang tanggal. 6. Zona waktu data dan waktu server. 7. Konvensi stempel waktu candle. 8. Mode pembangkitan tick. 9. Model spread. 10. Tarif komisi dan cara pembebanan. 11. Poin swap jika posisi melewati pergantian hari. 12. Asumsi slippage dan latensi eksekusi. 13. Aturan pengisian pending order yang digunakan perangkat — kapan limit dianggap terisi, harga pengisian, dan penanganan lompatan pada stop order. 14. Modal awal dan mata uang akun. 15. Aturan ukuran posisi. 16. Versi platform atau pustaka pengujian. 17. Pembagian in-sample dan out-of-sample beserta tanggal batas. 18. Jumlah varian parameter yang diperiksa. 19. Pengenal laporan atau berkas keluaran.
Rangkaian validasi: pembagian data sebelum penyetelan 1. ATURAN DIBEKUKAN aturan dan parameter ditulis sebelum pengujian 2. DATA DAN PEMBAGIAN batas IS/OOS ditetapkan sebelum penyetelan 3. UJI DAN PENYETELAN penyetelan hanya pada IS biaya dan data diungkapkan 4. SET OUT-OF-SAMPLE OOS, parameter beku dilihat satu kali 5. STABILITAS kisi parameter dataran, bukan lonjakan 6. FORWARD / DEMO di luar periode penyesuaian aturan dipatuhi? 7. EKSPOSUR minimal dan opsional jika diizinkan rencana risiko REPLAY cabang diskresioner bukan tahap dalam rangkaian penyimpangan mengembalikan ke pembagian data Pembagian data dan pembekuan aturan mendahului penyetelan — bukan sebaliknya. Replay merupakan cabang latihan terpisah untuk strategi diskresioner, bukan bagian forward test.
Tujuh tahap dalam urutan yang mengikuti aturan pembagian data: aturan dibekukan sebelum pengujian, batas in-sample/out-of-sample ditetapkan sebelum penyetelan, penyetelan hanya pada in-sample, barulah evaluasi out-of-sample, kemudian stabilitas parameter, forward test akun demo, dan terakhir eksposur minimal opsional pada akun live. Replay berada pada cabang terpisah bergaris putus-putus di tahap data — perangkat latihan strategi diskresioner, bukan tahap rangkaian ini atau padanan forward test. Jalur kembali menuju pembagian data, bukan perubahan ukuran posisi.

Daftar periksa kredibilitas backtest

Sebelas pertanyaan yang diterapkan sama persis pada hasil orang lain maupun hasil sendiri. Jawaban “tidak tahu” adalah jawaban negatif.

  1. Apakah instrumen, simbol tepat, periode, dan sumber data disebutkan?
  2. Apakah mode pembangkitan tick disebutkan dan cocok dengan horizon strategi?
  3. Apakah diketahui pada harga berapa tester mengisi limit dan stop order — serta telah diperiksa dalam dokumentasi perangkat, bukan diasumsikan?
  4. Apakah hasil memperhitungkan spread, komisi, poin swap, dan asumsi slippage — masing-masing dengan satuan yang disebutkan?
  5. Apakah hasil bertahan jika biaya dinaikkan sebesar kira-kira slippage rata-rata yang diukur pada akun?
  6. Apakah waktu diketahuinya nilai setiap variabel keputusan dicatat dan tidak satu pun setelah keputusan itu sendiri? Uji entri tertunda melengkapi audit ini, bukan menggantikannya
  7. Apakah pembagian in-sample dan out-of-sample beserta tanggal batasnya disebutkan?
  8. Apakah out-of-sample hanya dilihat satu kali setelah parameter dibekukan?
  9. Apakah jumlah varian parameter yang diperiksa disebutkan?
  10. Apakah hasil bertahan di sekitar parameter terpilih, bukan hanya satu titik?
  11. Apakah jumlah transaksi dan panjang periode mencakup lebih dari satu rezim pasar, mengingat kesimpulannya hendak digeneralisasi?

Kegagalan terburuk prosedur ini bukan melewatkan satu butir, tetapi menjalankannya dalam urutan keliru: hasil dahulu, pembenaran kemudian. Urutan merupakan syarat kebermaknaan, bukan preferensi — butir tujuh dan delapan yang diputuskan setelah melihat hasil tidak lagi dapat ditetapkan secara jujur. Menulis aturan sebelum pengujian, menetapkan tanggal batas sebelum optimasi, dan mencatat jumlah varian selama proses memerlukan seperempat jam; itulah yang membedakan validasi dari pencarian grafik indah.

Setelah prosedur ditulis, langkah berikutnya sering memindahkannya dari klik dalam tester ke kode yang menjalankannya secara berulang dan melacak pembagian sampel sendiri. Di situlah topik artikel terpisah dimulai — Python dalam perdagangan, tempat reproduksibilitas lingkungan sama pentingnya dengan reproduksibilitas pengujian.

FAQ — menguji strategi sebelum masuk pasar

Apakah akun demo cukup untuk membuktikan strategi menghasilkan laba?
Tidak, bukan karena psikologi, melainkan mekanisme. Server demo menyimulasikan eksekusi menurut aturan broker yang biasanya menghilangkan atau menyederhanakan sebagian biaya nyata — pada satu penyedia slippage, pada penyedia lain juga penolakan atau pengisian parsial. Besar penyederhanaan harus dibaca dari dokumentasi akun tertentu, bukan diasumsikan: IG, misalnya, secara eksplisit menulis bahwa transaksi demonya “tidak terkena slippage” dan tidak pernah ditolak “karena ukuran atau harga” (butir 16 dalam bibliografi, artikel 29.05.2026), tetapi itu deskripsi satu penyedia, bukan aturan pasar. Demo menjawab pertanyaan lain: apakah implementasi bekerja dan Anda mampu menerapkan aturan. Biaya eksekusi yang dihilangkan model demo baru dapat diamati ketika order benar-benar dieksekusi pada akun live.
Berapa transaksi diperlukan agar hasil bermakna?
Tidak ada satu angka dan angka itu tidak dapat diberikan tanpa perhitungan. Sampel yang diperlukan berasal dari hubungan rata-rata hasil per transaksi (m) dengan simpangan baku hasil individual (s): galat baku rata-rata adalah s dibagi akar kuadrat n, sehingga agar galat itu k kali lebih kecil dari rata-ratanya, diperlukan n lebih besar daripada kuadrat (k kali s/m). Ambil distribusi ilustratif bagian lima: 600 laba +8,00 dan 400 kerugian −9,00 pip memberikan m = 1,20 pip dan s = 8,33 pip; pada k = 2, n harus lebih besar daripada kuadrat (2 × 8,33 / 1,20), yakni sekitar 193 transaksi. Ubah distribusinya dan angkanya ikut berubah — pada strategi berlaba besar jarang dan rugi kecil sering, s membesar dan sampel yang diperlukan meningkat secara kuadratik. Perhitungan ini mengasumsikan transaksi independen dan distribusi stabil; dalam praktik keduanya dapat salah, jadi perlakukan hasil sebagai batas bawah, bukan ambang. Kriteria pelengkap yang tidak tergantikan angka: apakah sampel mencakup lebih dari satu rezim pasar.
Apakah walk-forward menghilangkan overfitting?
Tidak menghilangkan, tetapi membatasinya. Walk-forward memaksa evaluasi pada data yang tidak dilihat pengoptimal pada putaran tersebut, tetapi skemanya sendiri masih dapat overfit: memilih panjang jendela setelah melihat hasil, mengulang seluruh prosedur dengan logika berbeda sampai berhasil, atau mengubah strategi setelah melihat rentang validasi. Setelah setiap perubahan itu, rentang validasi sebelumnya tidak lagi independen.
Apa tepatnya arti backtest tidak memperhitungkan biaya?
Artinya ia menggambarkan sistem berbeda dari yang hendak Anda perdagangkan. Dalam perhitungan ilustratif bagian lima — yang tidak satu pun angkanya berasal dari pengujian yang dijalankan — rangkaian 1.000 transaksi yang sama memberikan +12.000 USD tanpa biaya dan 0 USD setelah spread 0,30 pip, komisi 0,70 pip, dan slippage 0,20 pip ditambahkan, dengan asumsi posisi ditutup sebelum pergantian hari penyelesaian, yakni swap nol. Perbedaannya berasal dari asumsi pengujian, bukan pasar. Makin kecil hasil bruto rata-rata per transaksi, makin tajam mekanisme tersebut.
Dapatkah market replay menggantikan pengujian akun bermodal nyata?
Tidak. Replay memungkinkan banyak pengulangan tanpa menunggu waktu nyata serta pengujian strategi diskresioner tanpa menulis kode aturan. Namun ia tidak mengukur biaya eksekusi — harga pengisian ditetapkan emulator menurut aturannya sendiri — dan memungkinkan pembatalan keputusan, yang tanpa disiplin mengubah sampel menjadi kumpulan fragmen pilihan.
Apakah tick nyata menyelesaikan masalah mutu backtest?
Tick nyata memperbaikinya pada satu dimensi: jika benar-benar tersedia, urutan peristiwa dalam candle tidak lagi ditebak. Ini bukan berarti tidak ada tick yang dibangkitkan — dokumentasi MetaTrader 5 menjelaskan perilaku cadangan secara eksplisit: “Jika riwayat simbol memiliki bar menit tanpa data tick, tester membangkitkan tick dalam mode »Setiap tick«” (butir 1 dalam bibliografi, diakses 22.08.2026). Jadi pada celah arsip broker, sebagian pengujian direproduksi menggunakan tick model tanpa penandaan terpisah di laporan. Keterbatasan lain tidak diselesaikan mode ini. Tick nyata dalam tester merupakan rekaman arus satu penyedia, dengan kedalaman riwayat tertentu dan mutu bergantung cara pengumpulan. Tidak ada informasi tentang likuiditas pada level Anda, penolakan, atau latensi koneksi Anda. Pengujian tick nyata tanpa model biaya eksekusi tetap merupakan pengujian eksekusi sempurna.

Sumber dan bibliografi

  1. MetaQuotes — Bantuan MetaTrader 5: Tick Nyata dan Tick yang Dibangkitkan, metatrader5.com/en/terminal/help/algotrading/tick_generation (diakses 22.08.2026) — mode pembangkitan tick dan prinsip penggantian tick nyata yang hilang dengan tick model: “Jika riwayat simbol memiliki bar menit tanpa data tick, tester membangkitkan tick dalam mode »Setiap tick«”
  2. MetaQuotes — Bantuan MetaTrader 5: Pengujian Strategi — pengaturan tester, forward testing, dan emulasi penundaan, metatrader5.com/en/terminal/help/algotrading/testing (diakses 22.08.2026) — pengaturan Forward dengan pilihan Tidak, 1/2, 1/3, 1/4, Kustom serta prinsip: “jika EA menggunakan pending order, penundaan hanya diterapkan pada penempatan order, bukan eksekusinya”
  3. MetaQuotes — Referensi MQL5: Menguji Strategi Perdagangan, mql5.com/en/docs/runtime/testing (diakses 22.08.2026) — “Selama pengujian, spread tidak dimodelkan, melainkan diambil dari data historis”
  4. TradingView — Panduan Pengguna Pine Script: Repainting, tradingview.com/pine-script-docs/concepts/repainting (diakses 22.08.2026)
  5. TradingView — Pusat Bantuan: Belajar berdagang pada data historis (Replay Trading), tradingview.com/support/solutions/43000691889 (diakses 22.08.2026) — “Anda dapat membuka posisi serta memasang limit, stop, dan stop-limit order, seperti pada broker nyata”; tab Ikhtisar, Kinerja, Analisis transaksi, Rasio risiko/kinerja dan Daftar transaksi, dengan “Kinerja dan Daftar transaksi juga dapat diekspor untuk analisis atau pencatatan lebih lanjut”
  6. Spotware — cTrader Algo: Melakukan Backtest cBot, help.ctrader.com/ctrader-algo/documentation/cbots/backtest-a-cbot (diakses 22.08.2026) — empat mode data: “Data tick dari server”, “Bar M1 dari server”, “Bar M1 dalam berkas CSV”, “Bar H1 dari server”; komisi sebagai “tarif komisi per juta unit yang diperdagangkan”; spread dalam pilihan “Nilai Tetap” dan “Acak”
  7. Pardo, R. — Evaluasi dan Optimasi Strategi Perdagangan, Wiley, edisi ke-2, 2008 — walk-forward, Efisiensi Walk-Forward, dataran parameter, metodologi pengujian sistem
  8. Bailey, D.H., Borwein, J.M., López de Prado, M., Zhu, Q.J. — Probabilitas Overfitting Backtest, Journal of Computational Finance, 2017 — pengujian berganda dan probabilitas hasil terbaik merupakan artefak pencarian
  9. Aronson, D.R. — Analisis Teknikal Berbasis Bukti, Wiley, 2007 — data mining bias, seleksi berdasarkan hasil, validasi statistik
  10. Tomasini, E., Jaekle, U. — Sistem Perdagangan: Pendekatan Baru Pengembangan Sistem dan Optimasi Portofolio, Harriman House, 2009 — walk-forward, Monte Carlo, pengujian tingkat portofolio
  11. Forex Tester Software — Forex Tester Online: Pusat Dukungan, help.forextester.com (diakses 22.08.2026) — cakupan data yang disertakan: “Ya, kami menyediakan data tick dan membentuk candle berdasarkan data tersebut”, “Data perubahan harga per menit, meliputi harga Open, High, Low, Close, dan Volume (aktivitas perdagangan). Data tick memberikan rincian setiap perubahan harga simbol keuangan, serta spread mengambang”; parameter biaya: “Forex Tester Online mendukung pengujian strategi dengan spread variabel dan komisi”. Dokumentasi ini tidak menjelaskan aturan penetapan harga pengisian emulator. Alamat yang sebelumnya dikutip, forextester.com/documentation, mengembalikan halaman 404 (diperiksa 22.08.2026) dan telah diganti
  12. Reserve Bank of Australia — Pernyataan Kebijakan Moneter, Februari 2019, Kotak B: Peristiwa Flash Yen Jepang Terkini, rba.gov.au/publications/smp/2019/feb/box-b-the-recent-japanese-yen-flash-event.html (isi diakses 22.08.2026) — “Pada pukul 9:36 AEDT, dalam sekitar 30 detik, tanpa berita material apa pun, yen menguat 3 persen terhadap dolar AS”; “Spread bid-ask juga melebar signifikan dari sekitar 2 pip menjadi 100–300 pip”; “likuiditas pasar rendah secara musiman pada waktu dan periode tahun tersebut”
  13. MetaQuotes — Bantuan MetaTrader 5: Fitur Pengujian, metatrader5.com/en/terminal/help/algotrading/testing_features (diakses 22.08.2026) — bagian Pemicuan dan Eksekusi Order, dua paragraf berurutan dengan cakupan terpisah. Paragraf pertama yang berlaku bagi pasar mata uang: “Untuk instrumen nonbursa, pemicuan semua jenis pending order serta SL/TP dilakukan berdasarkan harga Bid dan Ask. Eksekusi dilakukan pada harga pasar Bid dan Ask saat pemicuan”. Paragraf kedua khusus instrumen bursa: “Limit order dieksekusi pada harga yang ditetapkan dalam order (tanpa slippage), sementara jenis order lain dieksekusi pada harga pasar Bid dan Ask saat itu (slippage mungkin terjadi)”. Halaman yang sama tentang mode sederhana: “Dalam mode pengujian »Hanya harga pembukaan« dan »OHLC 1 menit«, pending order serta SL dan TP dieksekusi pada harga yang ditetapkan dalam order”
  14. MetaQuotes — Bantuan MetaTrader 4: Strategy Tester — Pengaturan Tester, metatrader4.com/en/trading-platform/help/autotrading/tester/tester_parameters (diakses 22.08.2026) — mode Hanya harga pembukaan, Titik kontrol dan Setiap tick; mode terakhir “menggunakan untuk pembangkitan bukan hanya data kerangka waktu lebih rendah terdekat, tetapi juga semua kerangka waktu terdekat yang tersedia”, dan bilah mutu pemodelan menunjukkan kerangka waktu yang digunakan
  15. TradingView — Pusat Bantuan: Strategi menghasilkan hasil tidak realistis pada jenis grafik nonstandar, tradingview.com/support/solutions/43000481029 (diakses 22.08.2026) — “Karena level harga pada grafik nonstandar secara inheren sintetis, hasil backtest yang dihitung padanya biasanya tidak mewakili kondisi pasar nyata”
  16. IG — Apa perbedaan akun demo dan akun live?, ig.com/uk/help-and-support/articles/687034 (artikel 29.05.2026, diakses 22.08.2026) — deskripsi hanya menyangkut akun demo penyedia ini: “Transaksi melalui akun demo tidak akan terkena slippage, penyesuaian bunga dan dividen, atau pergerakan harga di luar jam perdagangan” dan “Transaksi dapat ditolak jika dana Anda tidak cukup untuk membukanya, tetapi berbeda dari akun live, tidak akan pernah ditolak karena ukuran atau harga”

Kemajuan belajar Anda

Selesai membaca pelajaran ini? Tandai sendiri. Membuka atau menggulir halaman tidak menandainya sebagai selesai.

Kemajuan memerlukan JavaScript dan penyimpanan browser.

Disimpan hanya di browser ini. Tanpa akun atau sinkronisasi antarperangkat. Menghapus data situs dapat menghapus kemajuan Anda.

Jarosław Wasiński

Pemimpin redaksi, ForexMechanics.com • Analis makro dan FX

Analis independen dan profesional dengan lebih dari 20 tahun pengalaman di pasar keuangan. Aktif di Forex sejak 2004, berfokus pada analisis fundamental, struktur pasar OTC, dan manajemen risiko modal yang disiplin.

  • Pendiri dan pemimpin redaksi MyBank.pl, menyediakan edukasi keuangan tepercaya sejak 2004.
  • Penulis ratusan komentar pasar mendalam, analisis struktural, dan materi edukasi untuk trader dan investor.
  • Pendukung transparansi pasar, mempromosikan edukasi berbasis data konkret dan laporan institusional (BIS, ESMA, CFTC).

Seluruh konten bersifat edukasi dan informasi semata – bukan merupakan saran investasi atau rekomendasi apa pun. Ingat: trading dengan leverage (Forex/CFD) memiliki risiko tinggi kehilangan modal dengan cepat.