Protokol pengujian strategi — backtest dan forward test

Protokol isian ini memandu Anda dari hipotesis dan aturan yang dibekukan hingga hasil dan keputusan tentang pengujian lanjutan. Lengkapi bagian 1–5 sebelum pengujian dan bagian 6–8 sesudahnya. Simpan hasil ekspor setiap versi bersama data dan hasil pengujian agar penelitian dapat direproduksi.

Alur kerja protokol pengujian strategi — backtest dan forward test

Formulir ini tidak menjalankan backtest atau terhubung ke broker. Formulir mendokumentasikan pengujian yang dilakukan di lingkungan pilihan Anda. Versi Polandia dan Inggris menggunakan skema JSON versi 1 dan 22 bidang yang sama. Isi bidang dipindahkan tanpa diterjemahkan. Versi ini menerima berkas hingga 2,000,000 byte, sama dengan pengimpor PL yang telah diperbarui. Pertahankan cadangan yang lebih besar dan buka melalui versi terbaru — jangan menghapus catatan penelitian agar muat dalam batas 600,000 byte pada versi EN lama.

Pertama, simpan dan ekspor bagian 1–5. Setelah penelitian, tambahkan hasil di bagian 6–8 sambil mempertahankan salinan sebelumnya. Semua bidang bersifat deskriptif: formulir tidak menilai validitas hipotesis atau memeriksa metrik yang Anda masukkan. Setiap bidang menampung hingga 12,000 karakter menurut penghitungan peramban; beberapa simbol dihitung sebagai dua unit. JSON digunakan untuk impor kembali, sedangkan TXT dan hasil cetak untuk dibaca. Tombol impor tidak dapat memuat data dari berkas TXT atau PDF.

Penyimpanan dilakukan melalui tombol dan tetap berada di browser ini, secara terpisah untuk setiap versi bahasa. Penyimpanan tidak otomatis dan tidak disinkronkan antarpiranti; orang yang menggunakan profil browser yang sama dapat membacanya. Menghapus data situs akan menghapusnya. Ekspor JSON memungkinkan Anda menyimpan cadangan atau memindahkan dokumen. Formulir tidak mengirim data yang dimasukkan ke server.

1. Hipotesis dan cakupan

Jelaskan mekanisme yang diharapkan menghasilkan keunggulan serta kondisi yang diperkirakan menghilangkannya. Tentukan pasar, timeframe, dan sesi sebelum memeriksa hasil. Gunakan satu ID penelitian yang sama pada rencana, berkas data, dan jurnal.

Misalnya, FX-TEST-001; inisial; tanggal mulai.
Apa yang seharusnya bekerja, mengapa, dan hasil teramati mana yang bertentangan dengan hipotesis?
Cantumkan simbol, spesifikasi instrumen, timeframe sinyal dan eksekusi, serta jam perdagangan.
2. Aturan yang dibekukan dan versi

Aturan harus memungkinkan setiap keputusan direproduksi. Sekadar mengatakan “masuk saat breakout” tidak cukup: catat sumber harga, waktu keputusan, dan metode eksekusi. Simpan salinan aturan atau kode dari sebelum pengujian. Perubahan setelah melihat hasil menciptakan versi baru; perubahan itu tidak memperbaiki penilaian historis versi sebelumnya.

Versi, tanggal dengan UTC atau offset, nama berkas / commit / checksum; perangkat lunak pengujian, versinya, dan pengaturan pengacakan jika berlaku.
Kondisi, kapan data tersedia, jenis order, SL, TP, keluar berdasarkan waktu, gap, serta sentuhan SL/TP pada saat bersamaan.
Ukuran posisi, eksposur gabungan, batas, biaya maksimum, rilis data, data yang hilang, dan entri yang dilarang.
3. Data, waktu, dan biaya

Catat sumber dan cakupan data, serta apakah data tersebut mewakili harga bid, ask, atau mid. Sesuaikan resolusi dengan aturan eksekusi. Jangan menganggap nilai indikator masa depan atau revisi rilis yang diterbitkan belakangan sebagai informasi yang tersedia saat sinyal muncul. Bar yang mencakup SL dan TP sekaligus memerlukan aturan penentuan hasil yang tegas atau data yang lebih rinci.

Penyedia, tanggal pengunduhan, cakupan, resolusi, bid/ask/mid, celah data, dan metode validasi; pengenal atau checksum salinan data yang disimpan serta deskripsi pembersihan data.
Timestamp UTC; zona waktu server sumber; sesi, misalnya Europe/London dengan GMT/BST; aturan DST.
Spread, komisi, swap, slippage, konversi mata uang, dan sumber asumsi; catat komponen yang sudah tercermin dalam harga eksekusi.
Pembagian data in-sample dan out-of-sample serta rancangan forward test
Pembagian data in-sample dan out-of-sample serta rancangan forward test
4. Pembagian sampel dan rencana forward test

Pisahkan sampel yang digunakan untuk mengembangkan aturan (in-sample, IS) dari sampel yang digunakan untuk mengevaluasinya (out-of-sample, OOS). Catat tanggal dan metode pembagian. Berulang kali memeriksa OOS lalu menyesuaikan aturan dengannya mengikis independensinya. Jalankan forward test pada data yang datang setelah aturan dibekukan, sambil mendokumentasikan semua sinyal dan hal yang dilewatkan; lingkungan demo tidak sepenuhnya mereproduksi eksekusi pada akun riil.

Tanggal IS; daftar percobaan, filter, dan parameter, termasuk yang ditolak; metode pemilihan.
Tanggal OOS; urutan waktu pembagian; aturan untuk posisi yang melintasi batas sampel dan pemanasan indikator. Jangan menghitung transaksi yang sama di kedua sisi. Data pemanasan boleh berasal dari masa lalu, tetapi tidak boleh memasukkan informasi masa depan ke dalam aturan.
Waktu mulai, lingkungan demo/paper, versi aturan, tanggal peninjauan, rentang waktu dan jumlah pengamatan beserta alasannya; apakah pengujian berhenti pada tanggal tertentu atau setelah jumlah transaksi tertentu, serta tindakan jika sampel lebih kecil. Catat pula sesi tanpa sinyal.
5. Kriteria yang dicatat sebelum pengujian

Tentukan metrik dan aturan keputusan sebelum melihat hasil. Tidak ada satu jumlah transaksi atau ambang profit factor yang mengonfirmasi keunggulan untuk setiap strategi. Panjang sampel, ketergantungan antarpengamatan, kejadian langka, dan jumlah varian yang diuji memengaruhi interpretasi. Pisahkan kriteria evaluasi strategi dari pemeriksaan apakah pengujian itu sendiri dilakukan dengan benar. Tentukan sejak awal cara memperhitungkan ketidakpastian dan ketergantungan antarhasil, serta kapan penelitian berakhir. Jangan menghentikan pengujian pada hasil pertama yang menguntungkan atau memperpanjangnya sampai ambang yang diinginkan tercapai. Keputusan demikian memerlukan metode evaluasi sekuensial yang telah direncanakan, atau pengakuan tegas bahwa analisis lanjutan bersifat eksploratif.

Ekspektansi bersih dalam R; definisi R dan unit transaksi; PF dalam R atau mata uang, yang harus dinyatakan; drawdown beserta rangkaian data, unit, dan titik awalnya; jumlah pengamatan, biaya, dispersi, dan metode penilaian ketidakpastian.

Agar konsisten dengan jurnal F, definisikan kelipatan R suatu transaksi sebagai hasil bersih dibagi jumlah risiko positif yang direncanakan sebelum entri. Jika jumlah risikonya berbeda-beda, penjumlahan kelipatan R tersebut bukan hasil yang dinyatakan dalam R dasar rencana. Kurva R kumulatif dimulai dari 0; drawdown adalah penurunan dari puncak sebelumnya, sehingga kerugian awal −1 R menghasilkan drawdown 1 R. Untuk ekuitas atau saldo, nyatakan modal awal, arus kas, dan perlakuan terhadap posisi terbuka — jangan memulai perhitungan persentase dari modal nol. PF tanpa kerugian memiliki penyebut nol: tandai sebagai tidak terdefinisi, bukan sebagai konfirmasi keunggulan. Perhitungkan keluar sebagian menggunakan satu definisi transaksi yang terdokumentasi.

Kriteria Anda: lanjutkan pengujian / kumpulkan data / tolak hipotesis. Apa arti hasil yang belum dapat disimpulkan?
Perubahan biaya, subperiode, parameter yang berdekatan; kondisi penghentian karena kesalahan data atau prosedur.
6. Hasil dan penyimpangan

Catat hasil IS, OOS, dan forward test secara terpisah. Sertakan jumlah sinyal, transaksi, dan pengecualian beserta alasannya. Simpan rangkaian hasil, bukan hanya totalnya. Hasil bersih memperhitungkan biaya tepat satu kali: jika spread dan slippage sudah tercermin dalam harga eksekusi, jangan menguranginya lagi. Tandai data yang hilang sebagai hilang, bukan nol.

Tanggal, jumlah pengamatan, metrik, dispersi, berkas hasil, dan keterbatasan.
Metrik dan satuan yang sama seperti IS; perbandingan dengan kriteria yang dicatat sebelumnya.
Hasil, sinyal yang dilewatkan, perbedaan eksekusi, gangguan, dan pengaruhnya terhadap keterbandingan.
7. Log perubahan

Bedakan perbaikan kesalahan implementasi dari perubahan gagasan. Dalam kedua kasus, simpan hasil sebelumnya dan identifikasi data yang sudah dilihat. Jangan menimpa versi protokol lama saat mengubah aturan. Hasil ekspor mendokumentasikan keadaan pada waktu tertentu; berkas atau penyimpanan lokal saja bukan bukti independen tanggal pembekuan.

Satu perubahan per catatan: apa yang berubah, mengapa, dan hasil mana yang sudah diketahui.
Hasil mana yang harus dihitung ulang? Bagaimana Anda mengevaluasi perubahan tanpa memakai sampel yang sama sebagai OOS baru?
Protokol titik keputusan untuk evaluasi strategi secara objektif
Protokol titik keputusan untuk evaluasi strategi secara objektif
8. Kesimpulan dan pengujian lanjutan

Bandingkan hasil dengan kriteria pada bagian 5. Catat bukti yang mendukung hipotesis serta fakta yang membantahnya. Kesimpulan “perlu lebih banyak data” memerlukan rencana konkret. Dokumen ini mengatur penelitian; dokumen ini tidak memberikan izin untuk trading riil dan tidak menjamin hasil mendatang.

Lanjutkan pengujian / revisi hipotesis / tolak / belum dapat disimpulkan; nyatakan bukti dan keterbatasannya.
Data atau pengujian apa, siapa yang mengerjakannya, dan kapan akan ditinjau?

Contoh: hasil yang sama, kesimpulan berbeda

Contoh ilustratif: anggap versi 1.0 menghasilkan +8 R pada OOS. Jika setelah memeriksa sampel itu Anda mengecualikan dua sesi yang merugi dan menyajikan +12 R sebagai “konfirmasi independen”, Anda mencampur pengembangan aturan dengan evaluasi. Catat filter baru sebagai versi 1.1, simpan hasil +8 R, dan identifikasi data yang sudah Anda lihat. Selisih +4 R di sini berasal dari menghapus sesi dengan hasil gabungan −4 R, bukan dari pengamatan baru. Hasil +12 R menggambarkan varian baru yang disesuaikan dengan sampel yang sudah dikenal; evaluasi independennya memerlukan pengujian lanjutan yang direncanakan dengan tepat.

Sumber dan cakupan verifikasi

  • Bailey, Borwein, López de Prado, Zhu, The Probability of Backtest Overfitting, versi Februari 2015: pemilihan varian berulang kali menggunakan data yang sama dapat melebihkan penilaian strategi. Makalah ini mendukung pencatatan setiap percobaan; makalah tersebut tidak menetapkan ambang jumlah transaksi universal untuk formulir ini.
  • MDN — localStorage: cakupan penyimpanan browser dan kemungkinan akses ditolak. Cadangan JSON terpisah dari penyimpanan lokal situs.

Sumber diperiksa pada 21 September 2026. Bab terkait 15.4 dan 15.9 menjelaskan lebih jauh definisi metrik dan prosedur penelitian; formulir itu sendiri mencatat isi, bukan menghitung keunggulan.

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.