KenKem Journal

Apa yang Harus Dilakukan Ketika Sistem Trading Anda Berhenti Bekerja?

· #risk-management #drawdown #overfitting #backtesting #systematic-trading

Anda mencari tahu apa yang berubah di pasar sebelum mengubah apa pun dalam strategi. Ketika sistem saya berada dalam drawdown hampir sepanjang 2024, penjelasan yang jujur ternyata hanya aritmetika. Sepanjang tahun itu spread pada emas memakan sekitar 8,6 persen ATR, dibanding sekitar 3 sampai 4 persen pada periode di sekitarnya. Tidak ada yang rusak pada bagian entri saya.

Sebagai quant otodidak, saya nyaris melakukan hal yang menghancurkan sistem yang sebenarnya bekerja, yaitu membangun ulang semuanya justru ketika sedang sakit. Berikut apa yang saya temukan sebagai gantinya, perbaikan yang lahir darinya, dan mesin yang saya pelihara supaya bisa membedakan perbaikan yang nyata dari sekadar curve fitting berikutnya.

Tampilan dekat panel instrumen gelap dengan satu lampu peringatan traksi berwarna kuning menyala di samping penanda dial
Lampu peringatan tidak memberi tahu bahwa pengemudinya memburuk. Ia memberi tahu bahwa jalannya berubah. Foto: Erik Mclean / Pexels.

Bagaimana membedakan strategi yang rusak dari pasar yang bermusuhan?

Dengan bertanya apa yang berubah, bukan apa yang harus saya ubah. Dua pertanyaan itu membawa ke tempat yang sangat berbeda, dan hanya satu yang jawabannya bisa diperiksa.

2024 bukan satu minggu yang buruk. Itu satu rezim yang buruk, dan tahun itu tetap saya simpan dalam catatan alih alih diam diam memulai grafik dari 2025. Hampir sepanjang periode itu sistem berada di bawah air. Godaannya saat itu adalah meraih filter baru, pengklasifikasi rezim, sedikit machine learning, apa pun yang terasa seperti kemajuan.

Sebagai gantinya saya mencari perbedaan yang bisa diukur di pasar, dan saya menemukannya. Biaya trading relatif terhadap seberapa jauh pasar bergerak sudah kira kira berlipat dua. Itu seluruh ceritanya. Edge nya masih sebesar sebelumnya. Ongkos untuk memungutnya sudah melampaui apa yang mampu ditanggung desain strategi ini.

Edge scalping pada dasarnya adalah angka kecil. Ketika garis biaya naik sampai menyentuhnya, yang tersisa bukan edge yang lebih kecil. Yang tersisa adalah tidak ada edge, tetapi tetap ditradingkan dengan penuh semangat. Saya hanya menemukan aritmetika itu karena biaya sudah dimodelkan sejak run pertama, bukan dikurangkan di akhir.

Mengapa perbaikannya adalah mengajari sistem menolak sebuah hari, bukan memprediksi lebih baik?

Karena masalahnya adalah keterjangkauan, dan masalah keterjangkauan tidak diselesaikan dengan ramalan yang lebih baik.

Saya tidak membuat strategi menjadi lebih pintar dalam kondisi mahal. Saya memberinya izin untuk menolak kondisi itu. Sistem sudah mengukur setiap hari seberapa besar ongkos trading dibanding apa yang realistis ditawarkan pasar. Ketika rasio itu cukup buruk, sistem menepi untuk hari itu. Tanpa prediksi, tanpa berkonsultasi pada indikator apa pun. Logikanya sama dengan menolak pekerjaan yang bayarannya lebih kecil dari ongkos perjalanan. Dalam jendela yang tervalidasi, mekanisme ini melewatkan kira kira satu dari tiga transaksi, terkonsentrasi pada periode yang paling bermusuhan.

Mekanisme kedua lahir dari studi yang sama. Selama akun berada cukup jauh di bawah puncaknya sendiri, posisi baru dipotong menjadi sekitar setengah ukuran normal, dan kembali penuh saat pulih. Rentetan kerugian menggali lubang yang lebih dangkal.

Diadu langsung di tester MetaTrader 5 pada data, jendela, dan akun yang identik, dengan dua sakelar itu sebagai satu satunya perubahan, kerugian puncak ke lembah terburuk turun dari 57 persen menjadi 22 persen. Itu selisih antara angka yang akan mengakhiri sebagian besar akun dan angka yang masih bisa dilewati seseorang. Ini hasil backtest, bukan trading langsung.

Batas jujur yang menyertainya: ambangnya spesifik untuk karakter spread satu broker. Di broker itu ia memang konfigurasi bawaan yang dikirim, sedangkan pada feed dengan spread lebih lebar ambang yang sama akan membuat sistem berdiri di pinggir hampir setiap hari, jadi menyalin angka itu ke broker lain akan membungkam strategi secara diam diam. Ambang itu juga tidak saya setel ulang untuk studi ini, dan konfigurasinya masih berutang uji maju pada akun langsung sebelum saya menyebutnya lebih dari tervalidasi dalam backtest.

Kontrol risiko mana yang gagal, dan mengapa itu tetap dipublikasikan?

Tiga dari lima kandidat gagal, dan bagi pembaca ketiganya lebih berharga daripada dua yang lolos.

Studinya diregistrasi lebih dulu, yang bagi saya berarti aturan keputusan ditulis sebelum saya melihat hasil apa pun. Lima kandidat mekanisme risiko masuk. Dua bertahan.

  • Batas kerugian harian tidak membantu apa apa. Hari hari buruk yang dipotongnya datang tepat sebelum pemulihan yang juga ikut diblokirnya.
  • Penghentian keras berbasis drawdown justru katastrofik.
  • Menurunkan target profit, yaitu ide intuitif ambil untung lebih awal untuk mengurangi risiko, malah memperburuk drawdown. Transaksi menang besar justru yang menarik akun keluar dari drawdown.

Yang ketiga sudah gagal delapan kali dalam program ini, dan saya terus mengujinya kembali karena terasa begitu jelas benar. Perasaan itulah alasan ide tersebut terus kembali, dan registri adalah alasan ia terus kalah.

Peningkatan manajemen risiko terbesar yang pernah saya kirim adalah mengajari sistem untuk tidak melakukan apa apa. Bertahan dulu, untung kemudian. Urutan itu bukan slogan, itu satu satunya urutan yang bisa berbunga.

Bagaimana saya tahu perbaikan itu bukan sekadar curve fitting lain?

Dengan memperhitungkan lebar pencarian sebelum mengutip apa pun yang keluar darinya. Sebuah backtest bukan pengukuran. Ia adalah pemenang kompetisi yang Anda selenggarakan sendiri, dan kualitas semunya sepenuhnya bergantung pada berapa banyak pesertanya.

Untuk mengirim tiga sistem, engine tick C++ saya mensimulasikan 7.718 konfigurasi strategi berbeda, kira kira dua setengah ribu yang diperiksa untuk setiap sistem yang berhasil keluar. Ditambah 178 run tick nyata MetaTrader 5 yang independen, dikonfigurasi dan dijalankan manual sebagai pemeriksaan wasit, masing masing satu setelan tester tersendiri, bukan batch job.

Pikirkan apa artinya itu bagi sang pemenang. Jalankan satu ide, uji sekali, maka hasil yang bagus adalah bukti lemah tetapi bukti yang jujur. Jalankan dua ratus varian lalu simpan yang terbaik, maka hasil yang bagus hampir pasti muncul terlepas dari ada tidaknya sesuatu yang nyata di baliknya. Angka di layar terlihat identik pada kedua kasus. Pada kasus kedua ia hampir tidak berarti apa apa, dan tidak perlu ada kecurangan untuk sampai ke sana. Itu memang yang dilakukan keacakan ketika Anda mengambil sampel ribuan kali lalu menyimpan sampel terbaik.

Ada versi jebakan ini yang justru menangkap para insinyur yang baik. Anda uji, gagal, Anda ubah satu parameter, Anda uji lagi. Rasanya seperti debugging. Sebenarnya itu pencarian, dan setiap iterasi diam diam memperbesar jumlah percobaan yang harus didiskon dari hasil akhir Anda. Penghitungnya tidak direset hanya karena percobaannya dilakukan dengan pemikiran.

Jadi pertanyaan jujur tentang backtest mana pun bukanlah seberapa bagus hasil ini. Melainkan seberapa bagus hasil ini, mengingat berapa banyak hasil yang dibuat untuk menemukannya. Kedua angka itu tarik menarik ke arah berlawanan, dan hanya yang pertama yang pernah masuk tangkapan layar. Inilah sebabnya saya mendiskon hasil yang bertahan milik saya sendiri, dan sebabnya ukuran sampel serta data luar sampel yang benar benar belum tersentuh lebih penting bagi saya daripada bentuk sebuah kurva.

Seperti apa registri eksperimen pra registrasi itu?

Tidak mengesankan, dan justru itu intinya. Bagian proses yang paling saya yakini juga bagian yang paling tidak fotogenik.

Setiap eksperimen diregistrasi sebelum dijalankan, dengan aturan keputusan ditulis di muka. Apa yang dihitung lolos. Apa yang dihitung gagal. Dinyatakan ketika saya masih belum tahu jawabannya, satu satunya saat seseorang bisa menyatakannya dengan jujur.

Registri saat ini berisi 137 eksperimen. 45 ditolak langsung, 72 disimpan sebagai riset saja, menarik tetapi tidak layak dikirim, dan 11 mencapai status terkunci. Jadi 122 dari 137 tidak menjadi produk, dan semuanya masih bisa ditelusuri.

Saya menyimpan kegagalan karena buku catatan penolakan adalah satu satunya hal yang membuat klaim keberhasilan bisa diperiksa. Siapa pun bisa menunjukkan apa yang berhasil. Pertanyaan yang memisahkan sebuah proses dari kompilasi momen terbaik adalah apakah hal hal yang tidak berhasil dicatat dengan kehati hatian yang sama, pada saat itu juga, sebelum siapa pun tahu bagaimana ceritanya berakhir.

Menulis aturan lebih dulu adalah seluruh mekanismenya. Begitu Anda melihat hasilnya, Anda selalu bisa menyusun alasan mengapa hasil itu layak dihitung. Saya pernah melakukannya. Registri itu ada karena saya tidak memercayai diri sendiri pada momen spesifik tersebut, dan membangun proses di sekitar ketidakpercayaan pada diri sendiri di momen momen yang bisa diprediksi adalah sebagian besar makna kata sistematis.

Model pasar apa yang ada di bawah semua ini?

Sebuah lelang. Grafik candle berbasis waktu menjawab pertanyaan kapan. Volume profile menjawab pertanyaan di mana, dan di mana biasanya pertanyaan yang lebih berguna.

Harga bergerak untuk mengiklankan. Volume memutuskan apakah iklan itu diterima. Semua istilah lain dalam kosakata ini mengalir dari satu kalimat itu. Harga dengan aktivitas terbanyak adalah tempat paling banyak transaksi terjadi, itulah sebabnya harga terus kembali ke sana, dan justru itu pula sebabnya ia bukan target. Ia magnet tanpa jadwal. Rak harga dengan banyak transaksi memperlambat harga. Celah yang cepat ditolak pasar dilewati dengan cepat, karena tidak ada apa apa di sana untuk ditransaksikan.

Lalu bagian yang paling sering dilewati orang. Harga keluar dari pita nilai bukanlah breakout. Harga keluar dan bertahan di luar sementara aktivitas menumpuk barulah penerimaan. Harga menyembul lalu langsung didorong kembali ke dalam adalah penolakan, dan penolakan sering kali menjadi transaksi yang lebih baik ke arah sebaliknya. Breakout tanpa apa apa di belakangnya dan breakout dengan aliran transaksi di belakangnya adalah dua peristiwa berbeda yang memakai candle yang sama. Anda mentradingkan reaksi terhadap sebuah level, bukan level itu sendiri.

Volume pada emas sebenarnya mengukur apa?

Jumlah tick, bukan volume transaksi sungguhan. Ini peringatan yang hampir tidak pernah disampaikan orang yang menjual analisis volume, dan saya lebih suka Anda mendengarnya dari saya.

Pada emas spot dan sebagian besar CFD tidak ada bursa terpusat yang melaporkan berapa banyak yang benar benar berpindah tangan. Yang diberi label volume oleh platform Anda adalah berapa banyak pembaruan harga yang masuk pada periode itu. Jumlah tick mengukur seberapa sibuk feed nya. Volume transaksi mengukur seberapa banyak bisnis yang terjadi. Itu dua hal berbeda.

Keduanya berkorelasi cukup baik untuk benar benar berguna, dan saya memakai tick volume secara ekstensif sebagai fondasi seluruh pendekatan saya. Tetapi siapa pun yang menjual Anda order flow institusional di atas feed emas ritel sedang menjual proksi dan menyebutnya sebagai barang aslinya.

Anda bisa memverifikasi ini sekitar sepuluh menit di dokumentasi broker Anda sendiri, dan saya justru berharap Anda melakukannya. Proksi itu tetap layak dijadikan fondasi. Tempat aktivitas tick berkumpul memang menandai ke mana perhatian pasar tertuju, dan struktur itu bertahan. Alat yang batasnya Anda pahami lebih aman daripada alat yang Anda percayai.

Mengapa saya mengambil keputusan sekali saja, saat terang?

Karena alternatifnya adalah memutuskan ulang pada jam tiga pagi dengan uang di layar, waktu termahal yang pernah dipilih manusia untuk berpikir.

Saya bilang saya malas dan orang mendengarnya sebagai memotong jalan. Maksud saya justru sebaliknya. Saya tidak sanggup mengerjakan hal yang sama dua kali, dan ketidaksanggupan itu adalah pajak yang dibayar di depan, bukan jalan pintas yang diambil di belakang. Versi pertama dari setiap otomatisasi yang saya bangun selalu lebih lama daripada pekerjaan manual yang digantikannya. Lalu ia berjalan beberapa ratus kali.

Engine Dquants yang saya kembangkan sendiri butuh waktu lama untuk dibangun, dan ia mempercepat seluruh proses pengembangan, dari validasi hipotesis sampai deployment. Kecepatan itu tidak sepenting fakta bahwa hasil yang ditolak meninggalkan catatan yang tidak bisa saya sunting diam diam di kemudian hari.

Strategi sistematis adalah tawar menawar yang sama, diterapkan pada keputusan. Berpikirlah sekali, dengan bukti, lalu tuliskan. Kegagalannya bukan pada rasa malas. Kegagalannya adalah malas pada momen yang salah, pada satu tahap yang menentukan apakah Anda harus membuka lagi hal itu suatu hari nanti.

Apa yang saya biarkan diputuskan AI, dan apa yang tidak?

Sebuah model boleh menghasilkan apa pun yang bisa saya verifikasi, dan tidak boleh dipercaya untuk apa pun yang tidak bisa saya verifikasi. Kedengarannya jelas, dan ternyata sangat tajam dalam praktik karena memilah pekerjaan dengan rapi.

Hal paling berharga yang saya lakukan dengan AI bukan menulis kode. Melainkan mencoba menghancurkan apa yang sudah saya bangun. Ketika sebuah sistem lolos pengujian saya sendiri, artinya sangat sedikit, karena saya yang merancang pengujiannya dan secara konstruksi saya berbagi semua titik butanya. Jadi saya serahkan semuanya dan minta argumen yang melawannya. Bukan apakah ini bagus, karena itu hanya mengundang persetujuan. Di mana ini overfit. Apa yang akan dikatakan quant yang skeptis tentang ukuran sampel ini. Apa yang saya klaim tetapi tidak benar benar didukung bukti saya. Sebagian yang kembali ternyata salah. Sebagian lagi adalah hal yang baru akan saya temukan nanti, di depan publik, di hadapan seseorang yang sudah membayar saya. Ini bekerja karena modelnya tidak punya kepentingan, dan tidak gentar pada kesimpulan yang berarti membuang satu minggu yang saya habiskan membangun komponen yang sedang ia pertanyakan.

Sisi lain garis itu sama tegasnya. Kode bisa saya verifikasi: ia terkompilasi atau tidak, tes lulus atau tidak, dan kedua engine saya entah saling mereproduksi atau berbeda dan saya pergi mencari tahu sebabnya. Angka di sebuah tulisan tidak bisa saya verifikasi dengan membacanya, karena yang salah terlihat persis seperti yang benar. Jadi tidak ada satu pun statistik dalam apa yang saya publikasikan berasal dari model, tidak pernah. Setiap angka tertelusur ke artefak yang bisa saya buka, dan ketika dokumen dan tulisan berselisih, dokumen yang menang dan tulisan yang diperbaiki.

Kefasihan bukan akurasi, dan sebuah model jauh lebih pandai terdengar benar daripada benar benar tepat. Itu bukan keluhan tentang alatnya. Itu deskripsi tentang apa alat itu sebenarnya, dan mengetahuinya justru yang membuat alat itu cukup aman untuk diberi pekerjaan sungguhan.

Pertanyaan yang sering diajukan

Apa yang harus dilakukan ketika sebuah strategi trading berhenti bekerja? Tetapkan dulu apa yang berubah di pasar sebelum mengubah apa pun dalam strategi. Dalam kasus saya penyebabnya terukur dan membosankan: sepanjang 2024 spread pada emas memakan sekitar 8,6 persen ATR dibanding sekitar 3 sampai 4 persen pada periode di sekitarnya. Kualitas entri tidak runtuh, rasio biaya terhadap volatilitas yang melewati titik di mana sebuah edge scalping masih bisa bertahan menanggung biayanya sendiri. Meraih filter baru lebih dulu berarti menghancurkan sistem yang bekerja demi memperbaiki sebuah kondisi pasar.

Apakah trading lebih sedikit benar benar menurunkan drawdown? Dalam uji pra registrasi saya, ya, tetapi hanya karena hari hari yang dilewati memang hari hari yang tidak terjangkau biayanya. Menambahkan mode menepi pada hari mahal ditambah pemotongan ukuran menjadi setengah saat akun di bawah puncaknya, diadu langsung pada data, jendela, dan akun yang identik, menggeser kerugian puncak ke lembah terburuk dari 57 persen menjadi 22 persen. Itu hasil backtest pada data tick nyata broker, bukan rekam jejak trading langsung, dan ambangnya spesifik untuk karakter spread satu broker.

Mengapa mempublikasikan kontrol risiko yang gagal? Karena klaim yang tidak bisa Anda gagalkan secara jujur bukanlah klaim. Tiga dari lima mekanisme pra registrasi gagal. Batas kerugian harian tidak membantu karena hari hari buruk yang dipotongnya mendahului pemulihan yang juga diblokirnya. Penghentian keras berbasis drawdown katastrofik. Menurunkan target profit memperburuk drawdown, untuk kedelapan kalinya dalam program ini, karena transaksi menang besar yang menarik akun keluar dari drawdown.

Bagaimana lebar pencarian membuat sebuah backtest menyesatkan? Kalau Anda menghasilkan cukup banyak kandidat, hasil yang tampak luar biasa akan muncul karena kebetulan semata. Untuk mengirim tiga sistem, engine tick C++ saya mensimulasikan 7.718 konfigurasi, kira kira dua setengah ribu per sistem yang bertahan, ditambah 178 run tick nyata MetaTrader 5 yang disetel manual sebagai pemeriksaan wasit. Pertanyaan yang berguna bukan seberapa bagus sebuah hasil, melainkan seberapa bagus ia mengingat berapa banyak hasil yang dibuat untuk menemukannya. Hanya angka pertama yang sampai ke tangkapan layar.

Apa itu registri eksperimen pra registrasi? Catatan setiap eksperimen beserta kriteria lolos dan gagalnya, ditulis sebelum hasilnya diketahui. Registri saya berisi 137 entri: 45 ditolak langsung, 72 disimpan sebagai riset saja, 11 mencapai status terkunci. Jadi 122 dari 137 tidak pernah menjadi produk, dan semuanya tetap bisa ditelusuri. Begitu Anda melihat hasilnya, Anda selalu bisa menyusun alasan mengapa ia layak dihitung, dan justru itu sebabnya aturannya harus dinyatakan lebih dulu.

Apakah volume pada CFD emas itu volume yang sebenarnya? Bukan. Tidak ada bursa terpusat yang melaporkan berapa banyak yang berpindah tangan pada emas spot, sehingga yang diberi label volume oleh platform adalah jumlah tick, yaitu berapa banyak pembaruan harga yang masuk. Korelasinya cukup baik untuk dijadikan fondasi dan saya memakainya secara ekstensif, tetapi ia tetap sebuah proksi. Anda bisa memastikannya di dokumentasi broker Anda sendiri dalam sekitar sepuluh menit.

Apa beda breakout dan penerimaan? Harga keluar dari pita nilai bukanlah breakout. Harga keluar dan bertahan di luar sementara aktivitas menumpuk barulah penerimaan. Harga menyembul lalu langsung didorong kembali ke dalam adalah penolakan, yang sering menjadi transaksi lebih baik ke arah sebaliknya. Breakout tanpa apa apa di belakangnya dan breakout dengan aliran transaksi di belakangnya adalah dua peristiwa berbeda dengan candle yang sama, dan membedakan keduanya mencegah lebih banyak transaksi buruk bagi saya daripada indikator mana pun yang pernah saya tambahkan.

Apakah ini hasil trading langsung? Bukan. Setiap angka di sini adalah keluaran riset: run backtest dan validasi pada data tick nyata broker, serta hitungan dari registri eksperimen. Saya menjalankan uji langsung dan memantaunya, dan saya akan mempublikasikan apa yang ditunjukkannya, tetapi mengutip keluaran riset sebagai kinerja akan tidak jujur. Konfigurasi yang dijelaskan di sini masih harus lolos uji maju secara langsung sebelum saya menyebutnya lebih dari sekadar tervalidasi dalam backtest.

Apakah ada bagian dari ini yang pernah gagal? Berkali kali, dan itu bagian yang berguna. 122 dari 137 eksperimen teregistrasi tidak pernah dikirim. Tiga dari lima mekanisme risiko ditolak. Di bawah konfigurasi yang lebih lama, siklus penuh yang menembus rezim biaya 2024 mengalami drawdown puncak ke lembah 74,2 persen pada fill nyata MetaTrader 5, dengan titik terendah pada Maret 2025. Angka itu diungkap, bukan disembunyikan, karena angka itulah yang melahirkan pemeriksaan keterjangkauan tersebut.

Produk KenKem yang mana melakukan apa? Indikator Master Volume Profiler berjalan di TradingView dan di MetaTrader 5, dan ia menampilkan pembacaannya sambil membiarkan keputusan order tetap pada Anda. Master Volume Sniper di pasar MQL5 adalah sisi Expert Advisor, dan ia hanya mengeksekusi aturan dan pengaturan risiko yang dikonfigurasi sendiri oleh pengguna. Keduanya bukan layanan sinyal, dan keduanya tidak menghapus kebutuhan untuk berpikir.


Ditulis oleh KenKem, seorang software engineer dan pendiri dengan pengalaman dua puluh tahun, yang belajar trading kuantitatif secara terbuka dan menerbitkan prosesnya, termasuk hipotesis yang ditolak.

Artikel ini disusun dari rangkaian tulisan tentang isi mesin dalam build log KenKem. Hanya untuk tujuan edukasi. Bukan nasihat keuangan. Angka yang dikutip adalah hasil audit, backtest, dan validasi pada data tick nyata, bukan rekam jejak trading langsung. Kinerja masa lalu tidak menjamin hasil di masa depan.

← All journal articles

Chat