Bagaimana Memverifikasi Backtest Ketika Anda Sendiri yang Menulis Mesin Backtest-nya?
· #backtesting #research-method #tick-data #software-engineering #systematic-trading
Anda membangun implementasi kedua dan menolak mempercayai keduanya sampai mereka mereproduksi satu sama lain. Itu jawaban singkatnya. Backtest yang ditulis satu orang dan diperiksa oleh orang yang sama adalah angka tanpa saksi independen, dan orang yang paling ingin mempercayainya adalah orang yang menulisnya.
Saya seorang software engineer sebelum menjadi trader, dan inilah bagian dari trading kuantitatif yang tidak pernah masuk ke tangkapan layar siapa pun. Berikut mesin verifikasi yang benar-benar saya jalankan, termasuk saat mesin itu menangkap kesalahan saya sendiri.
Mengapa Anda tidak bisa mempercayai backtest yang Anda tulis sendiri?
Karena Anda juga yang menulis pengujiannya, dan secara konstruksi Anda berbagi setiap titik buta dengannya. Bug yang memperindah hasil tidak akan mengumumkan dirinya. Ia muncul sebagai kurva ekuitas yang bagus, persis yang Anda harapkan, sehingga tidak ada bagian dari diri Anda yang ingin memeriksa lebih dalam.
Di pekerjaan rekayasa yang normal ada reviewer, ada fungsi QA, ada insiden yang mempermalukan Anda di depan rekan kerja. Peneliti yang bekerja sendiri tidak punya satu pun dari itu. Tekanan yang bersifat menyanggah harus dibangun ke dalam proses secara sengaja, di awal, pada saat Anda belum punya hasil apa pun sehingga belum punya kepentingan atas jawabannya.
Itu mengubah bentuk pekerjaannya. Sebagian besar waktu saya tidak dipakai untuk mencari edge. Waktu itu dipakai untuk membangun alasan agar meragukan edge yang saya temukan.
Apa yang bisa ditangkap dengan menjalankan dua mesin independen?
Cacat nyata di kode saya sendiri, dan itu satu-satunya alasan aturan ini bertahan meski merepotkan.
Setiap strategi melewati dua perangkat lunak yang sepenuhnya terpisah. Yang pertama adalah laboratorium C++ yang dibangun untuk keluasan, cukup cepat untuk mensimulasikan ribuan konfigurasi pada data tick nyata. Itu penting, karena alternatifnya adalah menguji tiga ide yang kebetulan terlintas pada hari Selasa lalu menyebutnya sebuah pencarian. Untuk merilis tiga sistem, mesin itu mensimulasikan 7.718 konfigurasi berbeda, kira-kira dua setengah ribu untuk setiap satu yang bertahan.
Yang kedua adalah MetaTrader 5, juga pada tick nyata, dan itu adalah ruang sidangnya. Ia memodelkan broker, eksekusi, dan pengisian order, seluruh kenyataan yang tidak menarik namun menentukan apakah sebuah edge teoretis bertahan saat menyentuh akun sungguhan. Ketika keduanya berselisih, MetaTrader menang dan mesin sayalah yang diperbaiki. Di belakang tiga sistem yang dirilis ada 178 run wasit MetaTrader yang independen, masing-masing dikonfigurasi dan dijalankan dengan tangan.
Aturan yang paling penting datang sebelum keduanya dipercaya: mereka harus mereproduksi satu sama lain pada jendela waktu yang sama lebih dulu. Gerbangnya adalah satu persen pada laba rugi bersih, tanpa satu pun trade yang tidak berpasangan di kedua sisi, dan tanpa selisih arah maupun alasan keluar. Kegagalan diperlakukan sebagai cacat mesin, bukan perbedaan pendapat yang menarik. Bahkan run paritas yang baik pun hanya kecocokan yang mendekati, bukan bukti, itulah sebabnya mesin cepat hanya boleh memeringkat konfigurasi dan tidak pernah boleh mengesahkan satu pun.
Pemeriksaan itu pernah benar-benar menangkap saya. Pada sebuah run referensi, mesin saya sendiri melebih-lebihkan hasil sekitar 48 persen, akibat tiga cacat yang bertumpuk. Pemuat konfigurasi diam-diam menjatuhkan sebuah kunci, sehingga mesin mengambil trade yang tidak pernah diambil aturan live. Sebuah pembacaan volatilitas diambil dari bar yang salah, bar tertutup alih-alih bar yang sedang terbentuk, sehingga setiap stop yang dibatasi menjadi beberapa persen terlalu lebar. Selisih yang tersisa mengecil menjadi sekitar satu persen ke arah konservatif, dan itu lulus. Semua kesimpulan yang saya tarik selama rentang itu salah. Saya tidak menemukannya karena berhati hati, saya menemukannya karena dua implementasi menolak sepakat dan saya tidak bisa menghilangkan selisih itu hanya dengan menginginkannya hilang. Perbaikan yang bertahan lama bukanlah tambalannya, melainkan membuat kedua pemuat gagal dengan keras saat menemui kunci yang tidak dikenali, alih-alih mengabaikannya.
Naluri yang sama berlaku ketika data baru akhirnya datang. Dua bulan riwayat yang ditahan diimpor dan diputar ulang satu kali, tanpa penyetelan apa pun. Sebelum membaca satu angka baru, jalur pemutaran ulang itu dibuktikan benar dengan menjalankan kembali bulan sebelumnya melaluinya dan memastikan ia mereproduksi catatan lama trade demi trade, 119 dari 119 pada satu sistem dan 39 dari 39 pada sistem lainnya. Baru setelah itu hasil barunya dibaca. Buktikan alat ukurnya dulu, baru lakukan pengukuran, dan harus dalam urutan itu, karena setelahnya Anda tidak akan bisa lagi membedakan mana yang sedang Anda kerjakan.
Mengapa label pada sebuah file tick tidak berarti apa apa?
Karena sebuah file bisa dijual sebagai data tick padahal sebenarnya dibangkitkan, ditipiskan, atau penuh lubang, dan segala sesuatu yang diuji di atasnya akan diam diam terlihat lebih baik daripada seharusnya.
Mulai dari mengapa tick dibutuhkan sama sekali. Bar satu menit memberi tahu Anda di mana harga dibuka, di mana ditutup, dan titik ekstrem yang dicapainya. Ia tidak memberi tahu urutan kedatangan titik ekstrem itu. Di dalam bar itu harga bisa saja lari ke target lebih dulu lalu ke stop, atau ke stop lebih dulu lalu ke target, dan barnya terlihat identik pada kedua kasus. Untuk sesuatu yang bertahan dalam hitungan menit, bukan hari, itu bukan detail kecil. Itulah hasil trade-nya.
Backtest berbasis bar harus menebak jalur harga, dan setiap konvensi tebakan yang saya kenal murah hati pada strategi dalam sebagian situasi dan kejam dalam situasi lain. Hasilnya membawa faktor koreksi yang tidak bisa Anda lihat maupun ukur. Tick menghapus tebakan itu, karena jalur harga adalah datanya, bukan sesuatu yang direkonstruksi belakangan.
Pelajaran kedua butuh waktu lebih lama bagi saya, dan pelajaran itu bisa diukur. Saya memverifikasi riwayat tick lewat kepadatan sebelum membiarkannya mendekati kesimpulan apa pun. Tester yang membangkitkan tick sendiri menghasilkan empat tick per menit atau kurang. Ekspor asli dari broker untuk pasar yang sama berjalan di kisaran 55 sampai 660 per menit. Jaraknya tidak halus begitu Anda mau menghitung, dan hitungan itulah satu satunya yang membedakan kedua file. Kepadatan juga bergeser seiring usia data pada feed yang sama. Broker menipiskan riwayat lamanya, sehingga sumber yang sama memberi sekitar 66 tick per menit di awal 2024 dan sekitar 470 pada akhir 2025, yang berarti backtest pada rentang lama bekerja dengan jauh lebih sedikit informasi dibanding rentang terbaru. Satu tahun riwayat emas di penyimpanan saya kira kira 40 juta tick sepanjang 312 hari perdagangan. File yang mengaku sama tetapi hanya berisi sebagian kecil dari angka itu sedang memberi tahu Anda sesuatu.
Hampir setiap backtest scalping yang pernah saya lihat dipresentasikan secara terbuka dijalankan pada bar, dan hampir tidak ada yang menyebutkannya. Itu biasanya bukan ketidakjujuran. Kebanyakan orang tidak tahu bahwa jalur harganya hilang.
Apa yang membuat model biaya menjadi jujur?
Membebankan ongkosnya di dalam simulasi, pada setiap trade, alih alih mengurangi perkiraan di akhir.
Setiap trade membayar komisi, spread yang Anda lewati, dan slippage antara harga yang Anda inginkan dan harga yang Anda dapatkan. Semakin sering sebuah strategi bertransaksi, semakin menumpuk semua itu, dan sistem yang terlihat spektakuler di atas kertas bisa berbalik menjadi rugi begitu biaya realistis diterapkan. Backtest yang mengabaikan biaya bukanlah versi strategi Anda yang sedikit optimistis. Itu strategi yang berbeda, yang tidak bisa Anda perdagangkan sungguhan. Kondisi pengujian saya membebankan spread, slippage, komisi, biaya pendanaan, dan penundaan eksekusi 15 milidetik pada setiap trade, di atas tick emas nyata, dan angka yang saya publikasikan keluar dari sisi seberang semua itu.
Mengurangi biaya setelahnya lebih buruk daripada kedengarannya, karena biaya mengubah trade mana yang terjadi sama sekali. Posisi yang tidak akan pernah dibuka mesin di bawah friksi nyata tetap duduk dalam catatan tanpa biaya, menyeret hasilnya ikut serta. Memodelkan ongkos sejak awal adalah satu satunya alasan saya bisa mendiagnosis periode terburuk saya: sepanjang 2024 spread pada emas memakan sekitar 8,6 persen ATR, dibanding sekitar 3 sampai 4 persen pada periode di sekitarnya. Itu terlihat pada simulasi yang membebankan biaya dan tidak terlihat pada yang tidak.
Melakukannya dengan benar juga tidak otomatis, dan mode kegagalannya layak disebut namanya. Salah satu broker saya menagih seluruh komisi bolak balik pada deal masuk, sementara ekspor per trade saya melewatkannya, sehingga sekumpulan angka yang sudah tersimpan berdiri di atas basis biaya yang kurang hitung sampai cacat itu ditemukan dan diperbaiki pada Agustus 2026. Biayanya dibebankan dengan benar di dalam simulasi, ekspornya yang menghitung salah, dan angka yang terdampak sekitar 11,5 persen lebih optimistis sampai dinyatakan ulang. Itu jenis kesalahan yang hanya muncul ketika dua jalur menuju angka yang sama dibandingkan.
Skeptisisme yang sama berlaku pada datanya sendiri. Kumpulan data historis yang diam diam membuang apa yang sudah mati, kebangkrutan dan penghapusan pencatatan, menggambarkan masa lalu yang tidak pernah benar benar dijalani siapa pun. Saya memperdagangkan dua instrumen, emas dan bitcoin, jadi survivorship bias bukan risiko paling tajam bagi saya, tetapi pertanyaan dasarnya tetap berguna: ke mana perginya kerugian itu, dan apakah saya akan menyadarinya jika data saya sudah menghapusnya lebih dulu?
Mengapa menambah tombol pengaturan justru memperburuk strategi?
Karena dengan cukup banyak tombol Anda bisa mencocokkan masa lalu mana pun dengan sempurna dan tidak memprediksi apa apa, dan proses pencocokan itu terasa seperti kemajuan sepanjang waktu.
Beri sebuah model cukup banyak ambang yang disetel tangan, dan ia akan menggambarkan kecelakaan acak dari satu potongan sejarah tertentu dengan sangat indah. Kecelakaan itu tidak akan terulang. Overfitting juga tidak butuh seratus parameter. Ia datang dengan dua, lalu menumpuk pada setiap aturan yang ditambahkan untuk menyelamatkan aturan sebelumnya.
Karena itu jumlah percobaan yang Anda lakukan sama pentingnya dengan kualitas temuan Anda. Hasilkan cukup banyak kandidat dan hasil yang tampak luar biasa akan muncul murni karena kebetulan. Jadi eksperimen didaftarkan dengan kriteria lulus dan gagal yang ditulis sebelum hasilnya diketahui. Pada hitungan yang saya publikasikan pada Agustus 2026, registri memuat 137 eksperimen, dan 122 di antaranya tidak pernah menjadi produk: 45 ditolak langsung, 5 dihentikan di tengah jalan, 72 disimpan sebagai riset saja. Semuanya tetap bisa ditelusuri di samping yang bertahan, sehingga tidak ada yang perlu percaya begitu saja pada rasio yang saya sebutkan. Begitu Anda melihat sebuah hasil, Anda selalu bisa menyusun alasan mengapa hasil itu layak dihitung, dan justru itulah sebabnya aturannya harus dinyatakan lebih dulu.
Kejujuran soal data di luar sampel bekerja dengan cara yang sama, dan di sini sangat mudah untuk mengklaim berlebihan. Saya bisa mengatakan sebuah jendela dua bulan ditahan dan dibaca sekali, karena itulah yang terjadi dan tanggalnya tercatat. Saya tidak bisa mengatakan hal yang sama tentang periode konfirmasi yang lebih tua yang sudah terlihat ketika sebuah ambang dipilih, meskipun aturan pemilihannya hanya melihat jendela terbaru. Kalimat yang bisa dipertahankan lebih sempit daripada kalimat yang mengesankan, jadi yang lebih sempit itulah yang dipublikasikan.
Mengapa akun live saya sengaja menjalankan build bulan lalu?
Ada versi sistem saya di laptop yang lebih baik daripada yang sedang memperdagangkan uang saya, dan versi itu akan tetap di laptop, dengan alasan yang sama yang membuat sebuah backtest berarti sama sekali.
Backtest adalah klaim tentang satu konfigurasi tertentu yang dibekukan. Begitu saya mengubah sesuatu, semua hasil yang saya kumpulkan menggambarkan sistem yang sudah tidak ada lagi. Rilis setiap perbaikan begitu Anda menemukannya, maka yang memegang uang Anda tidak akan pernah membangun rekam jejak. Ia hanya membangun rangkaian catatan pendek yang terputus milik rangkaian sistem yang sedikit berbeda, dan tidak satu pun cukup panjang untuk berarti.
Jadi perubahan harus menunggu, dan sebuah rilis harus mengusahakan jalan keluarnya sendiri. Aturannya, build baru harus mereproduksi pengujian yang menjadi dasar persetujuannya sebelum boleh menyentuh akun live. Ketika batas bawah volatilitas dirilis pada Agustus 2026, biner rilisnya mereproduksi run referensinya secara identik hingga level byte, 1.034 trade cocok persis, dan begitulah cara membuktikan bahwa perubahan yang Anda buat adalah satu satunya perubahan yang terjadi. Perbaikan di luar itu masuk ke uji maju pada akun demo live, dalam kondisi nyata di pasar saat ini, tempat saya tidak bisa mengintip jawabannya lalu membujuk diri sendiri untuk merilis lebih cepat. Uji maju itu masih berstatus utang, bukan sesuatu yang sudah selesai, dan menyatakannya adalah bagian dari disiplin yang sama.
Dua kebiasaan kecil lahir dari penalaran yang sama, keduanya bekas luka. Nama file rilis kini membawa nomor versinya, karena deploy yang diam diam menimpa biner yang sedang live membuat Anda tidak bisa lagi mengatakan apa yang sedang berjalan. Dan setiap file konfigurasi yang dirilis memaku seluruh 62 input yang bisa diatur, alih alih menyerahkan belasan di antaranya pada apa pun yang kebetulan diingat kotak dialog. Yang kedua adalah bekas luka karena pernah ada build produksi yang mengabaikan sepuluh pengaturan penting selama berminggu minggu dan menjalankan konfigurasi yang tidak ada di file mana pun dan pengujian mana pun. Tidak ada yang crash. Ia hanya bukan sistem yang saya kira sedang saya jalankan, dan itu kegagalan yang lebih buruk daripada crash, karena crash setidaknya memberi tahu Anda.
Bagian yang tidak nyaman saya sampaikan terus terang: saya sadar sedang menjalankan sesuatu yang belum optimal, dan kadang saya menonton build yang lebih baru bekerja lebih baik sementara yang lama yang bertransaksi. Itu harga dari bisa mengatakan bahwa rekamnya memang milik hal yang menghasilkannya.
Jika setiap edge meluruh, apa yang sebenarnya layak disimpan?
Kemampuan menilai apakah sesuatu itu nyata, karena kemampuan itu hidup lebih lama daripada apa pun yang Anda bangun dengannya.
Backtest sepuluh tahun yang cemerlang bisa sepenuhnya ditopang oleh rezim pasar yang sudah tidak ada lagi. Pasar bergerak melalui fase fase, tenang dan liar, mean reverting dan trending, dan persaingan bersifat mengikis. Strategi dengan parameter yang dibekukan selamanya diam diam bertaruh bahwa dunia tidak pernah berubah, padahal dunia selalu berubah. Nama sopannya adalah alpha decay.
Itu tampak bertentangan dengan membekukan build, dan penyelesaiannya layak dinyatakan dengan jelas. Pembekuan adalah yang membuat sebuah catatan berarti pada jendela waktu yang ditentukan. Peninjauan adalah yang mencegah catatan itu berubah menjadi pusaka. Sebuah konfigurasi tetap beku selama masih dalam masa uji, dan perubahan terhadapnya harus diraih melalui rantai bukti yang sama seperti hal lainnya, bukan karena ide yang lebih baru terasa lebih menyenangkan. Pertanyaannya tidak pernah sekadar apakah ia pernah bekerja. Pertanyaannya adalah apakah ia masih bekerja, dan bagaimana saya akan tahu saat ia berhenti.
Bagaimana otomatisasi membuat prosesnya lebih jujur, bukan sekadar lebih cepat?
Karena sebuah jadwal tidak kelelahan, tidak melewatkan satu hari karena pasarnya membosankan, dan tidak diam diam menurunkan standarnya di minggu kesembilan.
Hampir setiap pekerjaan berulang di sini kini berjalan tanpa ditunggui. Grafik ditangkap, analisis sesi ditulis dan dikirim. Konten dirender, diperiksa terhadap aturan kepatuhannya sendiri, lalu dipublikasikan. Tidak ada yang gratis. Setiap pekerjaan itu memakan satu malam dan beberapa memakan lebih, karena kegagalan yang menarik hanya ada di produksi: penjadwal yang berjalan baik saat dijalankan manual lalu mati di lingkungan yang serba minimal, langkah publikasi yang menandai sebuah pos terkirim padahal baru sebagian kanal menerimanya, pembersihan yang benar secara teknis tetapi merusak secara operasional.
Intinya bukan jam yang dihemat. Intinya adalah pekerjaan berlanjut dengan cara yang sama setiap kali, termasuk bagian bagian proses yang satu satunya tugasnya adalah membuat hasil saya sendiri terlihat lebih buruk. Konsistensi bukan sifat bawaan yang saya miliki. Ia hasil yang saya rekayasa, karena saya sudah tahu seperti apa konsistensi saya ketika bergantung pada ingatan saya.
Sebenarnya itulah seluruh argumennya. Konfigurasi diberi versi, sehingga sebuah hasil bisa dilacak kembali ke pengaturan persis yang menghasilkannya. Kegagalan tetap bisa ditelusuri di samping keberhasilan. Biaya dibebankan di dalam simulasi. Dua implementasi harus sepakat dalam toleransi satu persen sebelum salah satunya dipercaya. Aturan keputusan ditulis sebelum hasilnya dilihat. Data yang ditahan dibaca sekali. Tidak satu pun dari itu memperbaiki strateginya walau satu basis poin. Setiap butir membuat hasil yang saya laporkan terlihat lebih buruk, dan itulah tujuannya, karena masing masing menutup satu jalur spesifik yang lewat situ saya bisa menipu diri sendiri tanpa menyadarinya.
Saya tidak meminta siapa pun mempercayai hasil saya. Saya berusaha memublikasikan cukup banyak tentang bagaimana hasil itu dibuat, sehingga kepercayaan tidak diperlukan.
Pertanyaan yang sering diajukan
Bagaimana cara memvalidasi mesin backtest yang Anda bangun sendiri? Dengan membuat implementasi kedua yang independen mereproduksinya sebelum salah satunya dipercaya. Mesin riset C++ saya dan MetaTrader 5 harus sepakat pada trade yang sama di jendela waktu yang sama pada data tick nyata, dalam toleransi satu persen pada laba rugi bersih dan tanpa trade yang tidak berpasangan di kedua sisi. Ketika keduanya berselisih, platform tradingnya menang dan mesinnya yang diperbaiki. Aturan ini bertahan karena berhasil: mesin saya sendiri pernah melebih-lebihkan sebuah run referensi sekitar 48 persen, akibat tiga cacat bertumpuk termasuk kunci konfigurasi yang diam diam dijatuhkan pemuatnya.
Mengapa memakai dua mesin backtest alih alih satu yang bagus? Karena keduanya menjawab pertanyaan yang berbeda dan tidak satu pun memadai sendirian. Mesin C++ dibangun untuk keluasan, cukup cepat untuk menjelajahi ribuan konfigurasi alih alih segelintir yang kebetulan terpikir, dan 7.718 di antaranya dijalankan untuk merilis tiga sistem. MetaTrader 5 dibangun untuk realisme, memodelkan broker dan pengisian order, dengan 178 run wasit yang dikonfigurasi dengan tangan. Mesin cepat hanya dipercaya untuk memeringkat konfigurasi dan tidak pernah untuk mengesahkan satu pun.
Apakah data tick benar benar perlu untuk backtest strategi scalping? Ya, dan alasannya spesifik, bukan soal selera. Bar satu menit tidak merekam apakah harga mencapai target atau stop Anda lebih dulu, dan untuk trade yang hidup di dalam bar itu, urutannya adalah seluruh hasilnya. Mesin berbasis bar harus menebak jalur harga, dan setiap konvensi tebakan memperindah strategi pada sebagian kondisi dan menghukumnya pada kondisi lain.
Bagaimana Anda tahu sebuah file data tick asli? Dengan memeriksa kepadatan, bukan mempercayai labelnya. Tester yang membangkitkan tick sendiri menghasilkan empat tick per menit atau kurang, sementara ekspor asli broker untuk pasar yang sama berjalan sekitar 55 sampai 660 per menit. Broker juga menipiskan riwayat lamanya, sehingga feed yang sama memberi sekitar 66 tick per menit di awal 2024 dan sekitar 470 pada akhir 2025, sehingga backtest pada periode lama bekerja dengan informasi yang jauh lebih sedikit dibanding periode terbaru.
Sebaiknya biaya trading dikurangi setelah backtest atau dimodelkan di dalamnya? Di dalamnya, pada setiap trade, karena biaya mengubah trade mana yang terjadi sama sekali. Mengurangi perkiraan setelahnya menyisakan posisi dalam catatan yang sebenarnya dicegah oleh friksi nyata. Pengujian saya membebankan spread, slippage, komisi, biaya pendanaan, dan penundaan eksekusi 15 milidetik. Memodelkan ongkos sejak awal adalah satu satunya alasan saya bisa mendiagnosis periode terburuk saya: sepanjang 2024 spread pada emas memakan sekitar 8,6 persen ATR dibanding sekitar 3 sampai 4 persen di sekitarnya, dan itu aritmetika, bukan strategi yang rusak.
Berapa banyak eksperimen yang gagal? 122 dari 137, pada hitungan yang dipublikasikan Agustus 2026. Masing masing didaftarkan dengan kriteria lulus dan gagal yang ditulis sebelum hasilnya diketahui: 45 ditolak langsung, 5 dihentikan di tengah jalan, 72 disimpan sebagai riset saja. Semuanya tetap bisa ditelusuri di samping yang berhasil, sehingga tidak ada yang perlu percaya begitu saja pada rasionya.
Mengapa tidak memperbarui sistem trading live begitu Anda memperbaikinya? Karena backtest adalah klaim tentang satu konfigurasi yang dibekukan, dan mengubahnya membatalkan semua hasil yang sudah Anda kumpulkan. Perbarui terus menerus dan sistem yang memegang uang Anda tidak pernah mengumpulkan catatan yang cukup panjang untuk berarti. Di sini sebuah rilis harus mereproduksi pengujian yang menjadi dasar persetujuannya sebelum mendekati akun live, dan perbaikan berikutnya menunggu di uji maju pada demo, yang berarti saya sengaja menjalankan sesuatu yang belum optimal.
Apa gunanya pemeriksaan paritas jika kedua mesin tidak pernah identik? Gunanya ada pada ukuran dan penyebab selisihnya, bukan pada kesempurnaan. Pita satu persen pada laba rugi bersih tanpa trade yang tidak berpasangan sudah cukup dekat untuk memperlakukan sisanya sebagai derau waktu tick, sedangkan apa pun yang lebih besar adalah cacat dengan penjelasan spesifik yang menunggu ditemukan. Kegagalan yang penting bersifat struktural: trade yang diambil satu mesin dan tidak diambil mesin lain, selisih arah, atau keluar dengan alasan yang berbeda.
Apakah ini hasil trading live? Bukan. Setiap angka di sini adalah keluaran riset: backtest, run paritas, dan validasi pada data tick nyata dari broker, ditambah hitungan dari registri eksperimen. Ukuran sampel dalam program ini masih di bawah panjang rekam jejak minimum yang saya inginkan sebelum menyebut apa pun sudah tuntas, dan saya lebih memilih memublikasikan itu daripada membulatkannya. Saya menjalankan uji live dan memantaunya, dan saya akan memublikasikan apa yang ditunjukkannya, tetapi mengutip keluaran riset sebagai kinerja akan tidak jujur.
Produk KenKem yang mana melakukan apa? Indikator Master Volume Profiler berjalan di TradingView dan di MetaTrader 5, dan ia menampilkan pembacaannya sambil menyerahkan keputusan order kepada Anda. Master Volume Sniper di pasar MQL5 adalah sisi Expert Advisor, dan ia hanya menjalankan aturan serta pengaturan risiko yang dikonfigurasi sendiri oleh penggunanya. Keduanya bukan layanan sinyal, dan keduanya tidak menghapus keharusan Anda 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 metode riset dan 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.