Northmark
strategi-forex
5 menit membaca

Sistem Trading Saya Punya Tingkat Kemenangan 73,5% dan Tetap Rugi: Audit Backtest 16 Tahun

Audit 16 tahun terhadap sistem FX live: tingkat kemenangan 73,5%, -4.670 pip. Bug geometri spread, jebakan tingkat kemenangan impas, dan uji korelasi peringkat yang membuktikan ketika permukaan parameter murni noise.

Terverifikasi fakta · Terakhir diperiksa 20 Juli 2026
Need specific ticker symbols? Let me know!

Also, check out my website: https://volatilitystreet.com/
Photo by Tyler Prahm on Unsplash

Saya menghabiskan beberapa hari untuk mengaudit sistem FX langsung yang saya bangun, dengan riwayat data lebih dari 16 tahun. Hasilnya negatif dengan cara yang tidak saya duga, dan diagnosa yang menemukannya cukup umum sehingga layak untuk dituliskan — ini berlaku untuk pencarian parameter apa pun, bukan hanya trading.

Setiap angka di bawah ini berasal dari pengukuran run yang sebenarnya. Tidak ada yang bersifat ilustratif.

Konfigurasi Pengujian

17 konfigurasi, batang masuk (entry bars) 4 jam, keluar (exits) disimulasikan pada batang 1 jam, periode 2010-05-28 hingga 2026-07-08, mencakup 7.641 transaksi. Yang terpenting, saya memberikan data historis CSV ke fungsi produksi yang tidak dimodifikasi, alih-alih umpan data langsung (live data feed), sehingga jalur kode yang diuji adalah jalur kode yang sama persis dengan yang berjalan secara live.

Bug 1: Simulasi membebankan biaya pada tempat yang salah

Batang OHLC pada platform menggunakan harga BID. Backtest menempatkan entri pada penutupan batang, menetapkan take-profit dan stop-loss pada close ± n·ATR, memeriksa sentuhan terhadap tinggi dan rendah bid, lalu mengurangkan spread dari P&L akhir.

Secara live, posisi long terisi pada harga ASK, bracket berada relatif terhadap ask tersebut, dan ditutup pada BID. Oleh karena itu, secara live harga perlu bergerak satu spread ekstra untuk mencapai target, dan mencapai stop loss satu spread lebih cepat.

Mengurangkan biaya dari hasil tidak sama dengan membebankannya pada pemicu. Yang pertama mengubah besarnya kemenangan Anda. Yang kedua mengubah trade mana yang menang sama sekali.

Terukur: 2–5 poin persentase dari win rate, selalu merugikan Anda.

Hal ini berlaku umum jauh melampaui trading: jika simulasi Anda menerapkan biaya sebagai penyesuaian pasca-fakta daripada memodelkan mekanisme yang menghasilkannya, maka jumlah event Anda salah, bukan hanya totalnya.

Bug 2: Tingkat kemenangan adalah pilihan desain, bukan bukti

Target ditetapkan pada 0.5–0.8×ATR, dengan stop loss 1.5–2.0×ATR. Hal ini menghasilkan rasio reward:risk sebesar 0.25–0.4, yang secara aritmatika menentukan tingkat kemenangan impas (breakeven):

tingkat kemenangan impas = SL / (TP + SL) = 75–82%

Pada pengujian out-of-sample, menggunakan hanya slice uji walk-forward: 4.947 trade, tingkat kemenangan 73.5%, -4.669,9 pip, -0,944 pip per trade.

Tingkat kemenangan 73.5% yang tetap menghasilkan kerugian bukanlah sebuah paradoks. Target kecil memang sering tercapai. Itulah yang dilakukan oleh target kecil. Tingkat kemenangan tinggi tersebut "dibeli" dengan menerima kerugian empat kali lebih besar dari keuntungan — hal itu sama sekali bukan bukti adanya keunggulan (edge).

Diagnosis yang layak dicuri

Sebelum melakukan optimasi ulang apa pun, saya bertanya apakah permukaan parameter tersebut dapat dipelajari sama sekali.

Untuk setiap lipatan walk-forward: evaluasi seluruh kisi parameter pada jendela pelatihan dan pada jendela pengujian, lalu ambil korelasi peringkat Spearman di antara keduanya.

if rho > 0  -> peringkat pelatihan memprediksi peringkat pengujian; seleksi bermakna
if rho ~ 0  -> permukaan adalah noise; ATURAN seleksi apa pun TIDAK dapat membantu

Baris kedua itulah bagian yang berharga. Ini memisahkan "pengoptimal saya buruk" dari "tidak ada apa-apa di sini" — dua situasi yang terlihat identik dari luar dan menuntut respons yang berlawanan.

Hasil di seluruh 119 lipatan:

  • median rho: -0,024
  • mean rho: -0,030, 95% CI [-0,090, +0,030] — mencakup nol
  • lipatan dengan rho > 0: 47,9% — sama seperti melempar koin

Nol informasi. Konsisten dengan hal tersebut, optimasi walk-forward dengan perataan dataran (plateau smoothing) menghasilkan hasil out-of-sample yang lebih buruk dibandingkan parameter yang tidak pernah saya sentuh, dan memilih batas kisi pada 11 dari 17 konfigurasi — tanda khas sebuah pengoptimal yang tidak memiliki apa pun untuk digenggam.

Kemudian saya memeriksa apakah efek tersebut ada di mana pun

38 instrumen, periode penahanan yang tidak tumpang tindih, diskalakan berdasarkan volatilitas, digabungkan per kelas aset sehingga 1.140 pengujian menyusut menjadi 6, dibagi antara paruh pertama versus paruh kedua:

Kelas asetSharpe @0bpBiaya impasParuh ke-1Paruh ke-2Stabil
FX major+0.083bp+0.06-0.09tidak
FX cross+0.021bp-0.05-0.06tidak
Index+0.075bp+0.04+0.02ya
Metal+0.1212bp+0.13+0.03ya
Energy+0.1323bp+0.15-0.02tidak
Crypto+0.42100bp+0.54+0.15ya

Dua hal yang tidak akan saya duga sebelumnya:

Biaya transaksi impas lebih berguna untuk pengambilan keputusan daripada Sharpe. FX major mencapai titik impas pada sekitar 3bp dan crosses pada sekitar 1bp — keduanya di bawah spread aktual. Pertanyaan "apakah ada keunggulan di sini" terjawab sebelum Anda menulis kode strategi apa pun.

Hasil yang signifikan ternyata adalah hasil palsu. Energy menunjukkan t = 3.73 pada sampel penuh. Namun, hasilnya datar hingga negatif pada paruh kedua. Tanpa pemisahan data, ini akan terlihat sebagai temuan terkuat dalam tabel.

Crypto adalah satu-satunya yang bertahan, namun mengalami penurunan tajam (dari 0.54 menjadi 0.15). Pada spread CFD yang realistis, paruh kedua berubah menjadi negatif. Ini adalah efek historis, bukan kondisi saat ini.

Pelajaran Sebenarnya

Bangun alat pemalsu sebelum menyusun strategi.

Alasan mengapa serangkaian panjang konfigurasi tampak "tervalidasi" adalah karena tidak ada satu pun komponen dalam alur kerja yang bertugas untuk mengatakan tidak ada apa-apa di sini. Setiap bagian dirancang untuk menemukan sesuatu, sehingga selalu menemukan sesuatu, setiap saat.

Uji korelasi peringkat di atas hanya membutuhkan waktu satu sore, namun berhasil membatalkan pekerjaan parameter yang telah berlangsung selama berbulan-bulan — termasuk satu petunjuk utama yang paling saya yakini. Itulah ujian yang menjalankan fungsinya, dan ini merupakan asuransi termurah yang saya tambahkan ke dalam proses riset saya dalam waktu lama.


Ini adalah dokumentasi riset, bukan saran investasi. Hasil masa lalu tidak mengindikasikan hasil di masa depan. Perdagangan CFD membawa risiko kerugian yang tinggi.


Foto oleh Tyler Prahm di Unsplash


Photo by Tyler Prahm on Unsplash

Tag
#overfitting backtest#validasi walk forward#tingkat kemenangan impas#momentum deret waktu#audit sistem trading

Artikel terkait