Cara Backtest Strategi Trading 2026: Panduan Backtest CFD Langkah demi Langkah

Backtest adalah percakapan jujur satu-satunya antara Anda dan aturan trading Anda sendiri. Ia juga alat yang paling sering dipakai trader untuk menyenangkan diri sendiri: mesin yang sama bisa membongkar sebuah edge yang rusak, dan — kalau Anda membiarkan data bicara duluan lalu aturan menyusul — dengan andal memproduksi edge palsu.

Panduan ini ditulis untuk trader CFD, dan pembedaan itu penting. Backtest CFD tidak punya selisih beli-jual, tidak ada swap, tidak ada margin call dan tidak ada antrean order — dan kebanyakan backtest retail berhenti tepat di sana. Kami menyinggung spesifikasi aturan, kualitas data, pemodelan biaya, metrik yang bertahan di trading live, deteksi overfitting, aritmetika ukuran sampel, dan jalur walk-forward dari spreadsheet ke akun live di platform multi-aset berlisensi seperti UZFX.

Catatan riset: Disusun tim editorial MarketCFD, 26 Oktober 2026. Ambang ukuran sampel dan tipologi kesalahan mengikuti konvensi praktik kuantitatif standar; spesifikasi pialang merujuk UZFX di bawah lisensi ASIC AFSL 001291473. Backtest adalah metode analitik, bukan janji kinerja: replay historis memberi tahu apa yang aturan ini menghasilkan di masa lalu, tak pernah memberi tahu apa yang akan terjadi berikutnya.

Mengapa Backtest Bukan Pembuktian Edge

Kata ‘backtest’ dipakai terlalu longgar sehingga menyembunyikan batasnya sendiri. Dua praktisi bisa menjalankan data yang sama lewat platform yang sama, mendapat kesimpulan berlawanan, dan keduanya benar dalam frame masing-masing — karena backtest adalah pernyataan tentang implementasi tertentu dari set aturan tertentu dalam jendela tertentu.

Ubah satu dari tiga hal itu dan hasilnya berubah. Itu bukan cacat metode; itulah metodenya. Nilai backtest bukan pada prediksinya, melainkan pada penolakannya: strategi yang tak lolos backtest bersih tak seharusnya menerima satu dolar pun modal live, dan strategi yang lolos backtest ketat barulah berhak atas forward test terkendali.

Empat sifat memisahkan backtest yang layak dipakai mengambil keputusan dari backtest pamer:

  • Bisa direproduksi. Siapa pun diberi aturan tertulis dan data yang sama menghasilkan kurva ekuitas yang sama.
  • Biaya utuh. Setiap eksekusi membayar selisih; setiap posisi semalam membayar swap; setiap order besar membayar slippage.
  • Jujur secara statistik. Parameter dipilih pada data latih dan divalidasi pada data yang tidak pernah dilihat optimizer.
  • Meliputi rezim. Dataset mencakup setidaknya satu rezim volatilitas rendah dan satu ekspansi volatilitas.

Sisa panduan ini membangun empat sifat tersebut sesuai urutannya.

Diskon CFD: Empat Biaya yang Hampir Selalu Dilewati Backtest

Inilah bagian yang memisahkan artefak spreadsheet dari sistem yang benar-benar bisa ditradingkan.

1. Selisih (spread)

Backtest yang mengeksekusi pada harga close bar tempat sinyal muncul mengasumsikan selisih nol. Eksekusi nyata membayar selisih penuh saat entri dan lagi saat exit, jadi satu bolak-balik adalah 2× selisih. Di EUR/USD, selisih 1,0-1,2 pip memakan kira-kira satu pip penuh per bolak-balik — untuk strategi yang menargetkan 3-4 pip gerak kotor, itu 30-40% edge kotor hilang sebelum biaya lain dihitung.

Modelkan selisih sebagai geseran eksplisit yang diterapkan di kedua eksekusi, bukan dipotong dari kurva ekuitas akhir. Memotongnya ex-post mempercantik perilaku intra-bar.

2. Swap dan pembiayaan

Posisi semalam dan akhir pekan menimbulkan swap. Biaya ini berarah: Anda membayar untuk memegang posisi long pada mata uang berbunga lebih rendah dan menerima pada yang lebih tinggi, dan platform CFD biasanya memotong swap tiga kali lipat di akhir pekan untuk selisih Jumat ke Senin. Untuk strategi swing yang menahan posisi 3-10 hari, swap bisa menggeser hasil 1-3% dari imbal hasil kotor per tahun pengujian — cukup untuk mengubah sistem marginal dari neto positif menjadi neto negatif.

3. Slippage

Yang terbesar dan paling sedikit dimodelkan. Slippage adalah selisih antara harga yang Anda maksud dan harga yang tereksekusi, dan ia tidak seragam: melebar saat lonjakan volatilitas, sekitar rilis berita Tier-1, dan di sesi tipis. Backtest yang mengeksekusi order pasar pada harga open bar berikutnya akan secara sistematis meremehkan slippage tepat di hari-hari paling penting — hari saat strategi Anda memegang posisi besar sementara pasar bergerak 60 pip dalam satu candle.

Model praktis: komponen tetap (0,1-0,3 pip pada pasangan utama) plus komponen berskala volatilitas yang proporsional terhadap range bar itu sendiri. Letakkan slippage di titik eksekusi, lalu uji tekanan dengan melipatgandakannya.

4. Margin dan likuidasi

Paling sering terlewatkan. Daya ungkit memungkinkan posisi yang membutuhkan margin 20.000 USD tinggal di akun 2.000 USD, tetapi sekaligus berarti posisi itu bisa ditutup paksa sebelum stop-loss Anda bekerja. Backtest yang hanya memodelkan exit karena stop-loss dan tak pernah memodelkan exit karena margin call akan melaporkan drawdown yang tak akan Anda selamatkan di trading live.

Pantau rasio ekuitas terhadap margin sepanjang pengujian. Titik mana pun yang mendekati ambang pemeliharaan pialang adalah kejadian likuidasi, bukan penurunan yang bisa pulih.

Langkah 1: Tulis Set Aturan Sebelum Menyentuh Data

Setiap parameter yang Anda pilih setelah melihat data, secara konstruksi, sudah terkontaminasi oleh data itu. Set aturan harus ditulis, ditanggal dan ditutup sebelum membuka chart apa pun.

Spesifikasi lengkap memuat lima bagian:

KomponenApa yang harus dispesifikasikanSering terlewat
UniverseInstrumen, timeframe, sesi‘pasangan utama’ alih-alih nama spesifik
EntriPemicu, filter, arahTak ada aturan re-entri setelah stop
ExitStop, target, time stop, exit sinyalHanya satu jenis exit
UkuranPecahan ekuitas, posisi simultan maksimumUkuran lot tetap
PengecualianLibur, jendela berita, sesi tipisTak dinyatakan

Dua aturan praktik. Pertama, tulis daftar pengecualian secara eksplisit — tidak trading di sekitar rilis Tier-1 bukan soal selera melainkan pilihan struktural, dan formalisasinya ada di panduan trading kalender ekonomi. Kedua, versi-kan set aturan. Jika Anda mengubah parameter di tengah pengujian, tandai sebagai versi baru dan jangan membandingkan kurva versi 3 dengan drawdown versi 1.

Langkah 2: Ambil Data yang Benar

Kualitas data menentukan apakah backtest Anda mendeskripsikan realitas atau sebuah ilusi realitas yang telah dimuluskan.

  • Data bar vs data tick. Untuk sistem harian dan 4 jam, bar OHLC sudah cukup. Untuk sistem intraday apa pun — apalagi scalping — bar adalah kebohongan: high dan low sebuah bar hanya memberi tahu bahwa harga tersentuh, bukan urutannya, sehingga stop yang dipasang di low bar akan tampak tereksekusi tepat pada bar yang seharusnya sudah mengeluarkannya. Pakai data tick atau 1 menit untuk sistem intraday, dan modelkan eksekusi stop secara konservatif.
  • Nilai tick dan spesifikasi kontrak. Nilai tick CFD berbeda antar instrumen dan antar pialang. Backtest yang dibangun di atas broker yang mengutip XAU/USD dalam sen akan salah skala sebuah sistem yang berjalan dalam dolar. Konfirmasi pengali sebelum menghitung satu angka P/L pun — mekanismenya di panduan kalkulasi profit-loss CFD.
  • Survivorship. Jika Anda menguji ‘semua pasangan likuid’, pastikan dataset mencakup pasangan yang pernah di-delisting, dihentikan atau diganti nama selama jendela itu. Komponen indeks terutama: backtest di keranjang indeks saat ini tanpa disadari hanya menguji para pemenang.
  • Kontinuitas. Penyesuaian gap, dividen dan stock split pada indeks serta saham harus dimasukkan atau dikecualikan secara eksplisit. Gap dividen yang tak dikoreksi adalah kerugian ilusi 3-4% pada tanggal ex-date yang tak dimiliki siapa pun.

Langkah 3: Jalankan, Lalu Baca Metrik yang Benar

Kurva ekuitas adalah output paling tidak informatif yang backtest hasilkan. Ia satu realisasi dari sebuah proses stokastik, dan mata manusia lebih menyukai kurva daripada distribusi.

MetrikApa yang diberitahuHati-hati
Win rateProporsi transaksi menangTidak bermakna tanpa rata-rata menang/kalah
ExpectancyP/L rata-rata per transaksiAngka tunggal paling berguna
Profit factorLaba kotor / rugi kotorDi bawah 1,5 jarang robust
Max drawdownPenurunan puncak-lembah terdalamHarus bisa bertahan, bukan sekadar terukur
Recovery factorLaba total / max drawdownDi bawah 3 memicu quit dini
Sharpe / SortinoImbal hasil per satuan volatilitasSensitif terhadap timeframe dan leverage
Consecutive lossesRangkaian kalah terpanjangUji tekanan psikologis

Satu angka layak perhatian khusus: expectancy setelah biaya. Hitung (win rate × menang rata-rata) − (lose rate × kalah rata-rata), lalu kurangi biaya per transaksi. Strategi dengan win rate 40% dan rasio menang/kalah 2,2:1 punya expectancy positif sekitar 0,08R per transaksi; setelah biaya bolak-balik 0,4R ia menjadi negatif. Baca kalimat itu dua kali.

Juga periksa distribusi transaksi, bukan sekadar rata-ratanya. Apakah edge Anda terkonsentrasi di sepuluh transaksi yang menyumbang 90% laba? Itu bukan edge — itu satu minggu keberuntungan. Sistem yang bertahan menyebarkan expectancy ke banyak transaksi, masing-masing individually tak mencolok.

Langkah 4: Deteksi Overfitting Sebelum Ia Menemukan Anda

Overfitting adalah kegagalan memfit noise alih-alih struktur. Gejalanya sunyi dan menyenangkan: kurva ekuitas indah, win rate 70%, parameter terlihat masuk akal sampai Anda mengubah satu digit.

Lima pemeriksaan praktis:

  1. Sensitivitas parameter. Geser tiap parameter sedikit lalu jalankan ulang. Jika perubahan 5% ambang meruntuhkan profit factor dari 3,1 ke 1,0, parameter itu bukan struktural — ia di-fit.
  2. Holdout sampel luar. Bagi dataset (misal 70% latih / 30% uji). Optimasi hanya di set latih. Set uji ada untuk menilai, bukan untuk dinilai.
  3. Walk-forward. Gerakkan jendela bergulir bertahap: optimasi bulan 1-12, uji 13-18; optimasi 7-18, uji 19-24. Hasil yang digabungkan lintas jendela memperkirakan bagaimana strategi sungguh-sungguh dipelihara.
  4. Validasi lintas instrumen. Apakah set aturan yang sama bekerja di EUR/USD dan GBP/JPY dan emas? Aturan yang hanya bekerja di satu instrumen hampir pasti di-fit ke idiosinkrasi instrumen itu.
  5. Kekokohan kontra-faktual. Jalankan ulang dengan biaya dobel, buang satu sesi, potong 20% awal dan akhir sampel. Edge yang bertahan hanya dalam kondisi terbaiknya sendiri adalah deskripsi sejarah, bukan sifat pasar.

Langkah 5: Ukuran Sampel dan Monte Carlo Reshuffle

Dua pertanyaan terpisah, keduanya biasanya dilewati.

Berapa transaksi yang cukup? Untuk sistem harian, 300-500 transaksi adalah lantai yang layak; untuk sistem intraday satu instrumen, 1.000 adalah minimum lazim. Di bawah itu, drawdown yang Anda amati bisa jadi artefak sampel, bukan sifat strategi. Dataset juga harus melintasi setidaknya satu pergantian rezim volatilitas — sampel EUR/USD 2020-2026 yang tak pernah memuat kompresi volatilitas nyata secara struktural tak lengkap. Cara mengklasifikasikan rezim ada di playbook trading rezim volatilitas.

Bagaimana kalau transaksi datang dengan urutan berbeda? Ini pertanyaan Monte Carlo, dan satu-satunya uji yang menjawab langsung ‘apakah rantai sial bisa telah menjatuhkan saya?’ Acak urutan transaksi ribuan kali, pertahankan P/L tiap transaksi tetapi tukar posisinya. Baca tiga hal dari distribusi hasil: median max drawdown, max drawdown persentil ke-95, dan fraksi permutasi yang melebihi ambang bertahan akun Anda.

Jika 20% urutan acak menghasilkan drawdown yang tak sanggup bertahan oleh akun Anda, maka sizing Anda salah — strateginya mungkin baik, tetapi belum di-size untuk ekornya sendiri. Deret balik dari persentil itu untuk menetapkan risiko per transaksi, jangan maju dari angka bulat seperti 1%. Mekanismenya di panduan position sizing dan aturan 1%; Monte Carlo menambah kalibrasi.

Langkah 6: Ubah Backtest Menjadi Hasil Live

Backtest adalah hipotesis tentang masa lalu. Hanya data baru yang bisa mengvalidasinya.

  1. Forward test di demo. Trading set aturan final tanpa perubahan, minimal 60-90 hari atau 50-100 transaksi — mana pun yang lebih lambat. Demo menghilangkan risiko finansial tetapi menjaga disiplin eksekusi; ia tidak menjaga slippage, jadi perlakukan sebagai uji disiplin, bukan uji eksekusi.
  2. Catat semuanya. Forward test tanpa jurnal tak bisa direproduksi. Catat alasan entri, size, stop, target dan hasil tiap transaksi sesuai format panduan trading journal agar periode live bisa diuji ulang sepresisi periode historis.
  3. Bandingkan eksekusi, bukan P/L. Angka paling diagnostik dalam transisi ini adalah slippage: jika eksekusi demo rata-rata 0,8 pip lebih buruk daripada asumsi backtest, semua kesimpulan sebelumnya harus dijalankan ulang dengan 0,8 pip ditambah.
  4. Live dengan kecil. Hanya ketika forward test cocok dengan backtest dalam toleransi yang ditetapkan — umumnya expectancy live dalam ±25% expectancy backtest — baru skalakan. Skala dengan size, bukan dengan keyakinan.
  5. Bekukan set aturan. Mengubah aturan selama fase live membatalkan perbandingan sepenuhnya. Catat perubahan, buka versi baru, jalankan ulang seluruh pipeline.

Sepenggal Laporan Backtest Layak Keputusan

ElemenAda?
Aturan tertulis, ditetapkan sebelum pengujian
Instrumen, timeframe, sesi, pengecualian
Sumber data, periode, jenis bar/tick, penyesuaian
Model spread, swap, slippage — dinyatakan eksplisit
Aturan sizing posisi
Pemeriksaan margin dan likuidasi
Jumlah transaksi, expectancy setelah biaya, profit factor
Max drawdown, recovery factor, kekalahan beruntun terpanjang
Hasil sampel luar dan walk-forward
Tabel sensitivitas parameter
Max drawdown persentil ke-95 Monte Carlo
Perbandingan forward test dengan selisih slippage

Laporan yang tak mampu mengisi sebagian besar baris itu hanyalah tangkapan layar dengan garis hijau.

Backtest di UZFX

Sisi pialang dari pipeline inilah tempat kebanyakan backtest CFD diam-diam patah, karena mereka mengasumsikan harga eksekusi yang tidak pernah dicatat oleh broker.

  • Model eksekusi. UZFX memakai akun Standard spread-only: tidak ada komisi yang perlu ditambahkan ke backtest, tetapi spread adalah biaya penuh masuk dan keluar. Modelkan spread yang benar-benar ditunjukkan untuk tiap instrumen, bukan angka nominal, dan periksa ulang saat spread melebar di jendela berita.
  • Tidak ada MetaTrader. UZFX tidak menyediakan MT4 maupun MT5. Artinya alur strategy tester yang lazim tidak tersedia, jadi bangun backtest di lingkungan terpisah — Python dengan penyedia data pasar, atau platform riset pilihan Anda — lalu bawa set aturan yang sudah terverifikasi ke Web Terminal. Jenis order dan perilaku eksekusi didokumentasikan di panduan jenis order CFD.
  • Rentang platform. Web Terminal, H5 Mobile, iOS, Android, Windows dan Mac — set aturan yang sama harus menghasilkan entri dan exit yang sama di mana pun Anda mengeksekusi, dan pemantauan lintas sesi serta zona waktu penting untuk strategi dengan komponen time stop.
  • Ukuran minimum. Deposit minimum 10 USD di akun Standard memungkinkan Anda menjalankan fase live pipeline pada ukuran yang tak rugi apa-apa jika salah. Deret balik aturan size akun dari persentil Monte Carlo Anda, bukan dari angka deposit minimum.
  • Regulasi. UZFX diotorisasi oleh Australian Securities and Investments Commission di bawah lisensi AFSL 001291473. Verifikasi status lisensi di register ASIC sebelum membuka posisi.
  • Rentang produk lebih penuh. 46+ produk CFD melintasi valas, logam mulia, energi, indeks, saham dan kripto memungkinkan set aturan yang validasi di satu instrumen di-validasi silang di instrumen lain — tepat uji lintas instrumen di Langkah 4.

Profil pialang lengkap ada di UZFX review 2026.

Pertanyaan Umum

Apa sebenarnya backtest?

Pemutaran ulang mekanis satu set aturan tertulis pada data historis, di mana setiap entri, exit, ukuran dan biaya dihitung oleh aturan bukan oleh penilaian. Ia menghasilkan distribusi hasil untuk periode yang diuji dan menjawab ‘jika saya trading dengan aturan ini, apa yang saya pegang hari ini?’. Ia tidak memprediksi kinerja mendatang dan harus digabung dengan validasi sampel luar agar berarti.

Tiga biaya wajib dalam backtest CFD?

Spread, dibayar di kedua eksekusi; swap, dibebankan pada posisi semalam dan akhir pekan dan biasanya tiga kali lipat di akhir pekan; serta slippage, jarak antara harga intended dan harga ter-eksekusi, yang melebar di sekitar lonjakan volatilitas dan rilis Tier-1. Meninggalkan salah satu dari tiga mengembungkan expectancy yang dilaporkan. Pada strategi yang menargetkan 3-4 pip kotor di EUR/USD, spread realistis 1,0-1,2 pip saja sudah menghapus 30-40% edge kotor.

Kesalahan backtest paling umum?

Overfitting — memfit parameter ke noise bukan ke struktur; lookahead bias — memakai informasi yang tak tersedia saat keputusan; survivorship bias — hanya menguji instrumen yang bertahan; sampling bias — data terlalu pendek untuk memuat siklus drawdown penuh; dan mengubah aturan di tengah pengujian. Masing-masing mengembungkan hasil, dan tidak satu pun muncul sebagai peringatan dalam laporan.

Berapa data historis yang saya perlukan?

Sekitar 300-500 transaksi untuk sistem harian dan 1.000+ untuk sistem intraday satu instrumen, mencakup setidaknya satu rezim volatilitas rendah dan satu ekspansi volatilitas. Sampel yang lebih pendek menghasilkan drawdown yang berupa artefak sampling, bukan sifat strategi, sehingga tak andal sebagai masukan keputusan size.

Apa disiplin terpenting?

Tulis set aturan sebelum membuka data. Setiap parameter yang dipilih setelah melihat data sudah terkontaminasi oleh data itu, dan tidak ada walk-forward berapa pun yang dapat mendekontaminasi set aturan yang dirancang berdasarkan hasil uji dirinya sendiri.

Kesimpulan

Backtest adalah mekanisme penolak, bukan ramalan. Tugasnya adalah menghancurkan strategi secara murah, dalam data, sebelum modal terekspos. Bangun sesuai urutan panduan ini: tetapkan aturan sebelum menyentuh data, ambil data bar dan kontrak yang mendeskripsikan pasar bukan versi yang dimuluskan, modelkan spread, swap, slippage dan margin sebagai gesekan eksplisit, baca expectancy setelah biaya bukan win rate, lalu serang hasil Anda sendiri dengan sensitivitas parameter, walk-forward, Monte Carlo dan distribusi drawdown dari urutan diacak.

Transisi ke modal live adalah tempat nilai benar-benar diciptakan — dan juga dihancurkan. Forward test di demo sampai eksekusi dan slippage cocok dengan backtest dalam toleransi, jurnal setiap transaksi, lalu baru skala dengan size bukan keyakinan. Segala sesuatu di hulu adalah spreadsheet. Segala sesuatu di hilir adalah akun.

Untuk kerangka berapa yang seharusnya Anda risikokan, lihat strategi manajemen risiko CFD; untuk perilaku statistik indikator yang melingkupi kebanyakan backtest, panduan indikator MACD; dan untuk konteks musiman kuartal ini, kalender trading Q4 2026.

Disclaimer risiko: Panduan ini mendeskripsikan metodologi untuk mengevaluasi strategi. Hasil backtest adalah replay historis dan tidak menunjukkan kinerja mendatang. CFD adalah derivatif ber-daya ungkit dengan risiko substansial: Anda bisa kehilangan lebih dari deposit awal. Strategi yang tervalidasi dalam kondisi historis atau demo dapat berkinerja sangat berbeda dalam kondisi live, dan dapat berkinerja buruk di keduanya. Panduan Monte Carlo dan ukuran sampel di atas adalah titik awal sizing, bukan jaminan bertahan hidup. UZFX diotorisasi dan diregulasi oleh Australian Securities and Investments Commission di bawah lisensi AFSL 001291473 — verifikasi di register ASIC sebelum membuka akun. Jangan pernah trading dengan modal yang tak sanggup Anda kehilangan.


Tinjauan terakhir: 26 Oktober 2026 oleh tim editorial MarketCFD. Bacaan terkait: position sizing dan aturan 1%, strategi manajemen risiko CFD, panduan trading journal, playbook rezim volatilitas. CTA pialang: Kunjungi situs resmi UZFX — diregulasi ASIC (AFSL 001291473), deposit minimum 10 USD, 46+ produk, spread-only pricing.