Data terukur
Setiap angka di halaman ini adalah hasil pengukuran, dan sumbernya disebut. Tidak ada proyeksi, tidak ada saran. Instruksi yang bisa dieksekusi ada di tab Dua-sisi dan Short saja — halaman ini menjelaskan kenapa instruksi itu berbentuk seperti itu.
| sisi | trip | net USDT | per trip |
|---|---|---|---|
| sell / short | 346 | +189.910 | +0.549 |
| buy / long | 445 | +87.490 | +0.197 |
Sisi sell mengambil trip lebih sedikit untuk net lebih besar — sekitar 2.8x per trade. Ini bukan alasan membuang sisi buy: dua sisi di 2 slot memegang posisi di 74% hari, sementara short-only di 6 slot cuma 43%. Jadi sisi buy membeli cakupan, bukan net.
sumber: blok evidence di lib/ebb/mandate.ts
| bar | hari | sisi | trip | win | margin | net/trade |
|---|---|---|---|---|---|---|
| 1m | ditolak — tidak satu rasio pun melewati break-even-nya sendiri | |||||
| 5m | 120 | sell / short | 710 | 58.0% | +0.2pp | +0.0574% |
| 5m | 120 | buy / long | 782 | 56.5% | -1.3pp | -0.1963% |
| 15m | 120 | sell / short | 607 | 56.5% | -1.3pp | -0.1383% |
| 15m | 120 | buy / long | 676 | 55.3% | -2.5pp | -0.3254% |
| 30m | 120 | sell / short | 522 | 57.1% | -0.8pp | -0.0518% |
| 30m | 120 | buy / long | 576 | 56.9% | -0.9pp | +0.0068% |
| 1H | 120 | sell / short | 422 | 58.5% | +0.7pp | +0.1147% |
| 1H | 120 | buy / long | 458 | 59.8% | +2.0pp | +0.4050% |
| 1H | 730 | sell / short | 3602 | 59.2% | +1.3pp | +0.1963% |
| 1H | 730 | buy / long | 3545 | 55.9% | -2.0pp | -0.2545% |
| 4H | 730 | sell / short | 1700 | 58.0% | +0.1pp | +0.0488% |
| 4H | 730 | buy / long | 1671 | 57.7% | -0.2pp | -0.0205% |
| 12H | 730 | sell / short | 707 | 62.1% | +4.2pp | +0.6112% |
| 12H | 730 | buy / long | 751 | 54.7% | -3.1pp | -0.4099% |
| 1D | 730 | sell / short | 500 | 64.0% | +6.1pp | +0.8977% |
| 1D | 730 | buy / long | 439 | 60.8% | +3.0pp | +0.4318% |
Margin itu win rate dikurangi break-even yang dibutuhkan rasio tersebut setelah fee 0,10% round trip dibayar. Cuma kolom itu yang menentukan apa pun. Cuma 1D yang positif di dua sisi. Semua bar lain sisi long-nya minus — kecuali 1H di 120 hari, dan itu justru buktinya di paragraf berikut.
Kolom hari wajib dibaca. 730 hari bar 5m = 4,2 juta bar, bukan fetch yang layak dimulai, jadi bar cepat dijalankan di 120 hari. Supaya tetap bisa dibandingkan, 1H diukur di DUA jendela sebagai jembatan: long +2,0pp di 120 hari lawan −2,0pp di 730 hari. Jendela pendek menyanjung sisi long sebesar 4,0pp dan membalik tandanya. Jadi baris 5m, 15m dan 30m di atas sudah versi terbaiknya, dan versi jujurnya sekitar 4pp lebih buruk.
Setelah koreksi itu: 15m dan 30m tidak punya satu rasio pun yang melewati break-even di kedua sisi, dan 5m short +0,2pp artinya nol — +0,0574% per trade lawan +0,8977% milik 1D, 15,6x lebih buruk. Urutan di antara bar cepat bahkan tidak monoton (30m long −0,9 lebih baik dari 15m −2,5), dan itu sendiri sebuah bacaan: di 500–700 trip perbedaan antar bar cepat adalah noise. Mereka tidak berbeda-beda, mereka sama-sama tidak punya edge.
Mekanismenya: lookback 20 periode di bar 1H itu high 20 jam, di bar 5m itu 100 menit — bukan versi lebih cepat dari jendela 20 hari, tapi jendela yang lebih PENDEK. Bar cepat tidak menemukan lebih banyak gerakan 6%, dia cuma menurunkan pagarnya.
sumber: evidiq-perp-mcp/tools/minute.ts · runbook §116.5, §16
| grup | trip | median | mean | p75 | p90 | p99 | max |
|---|---|---|---|---|---|---|---|
| semua | 892 | 2.0 | 3.2 | 4.0 | 7.0 | 21.0 | 35.0 |
| take-profit | 553 | 1.0 | 2.8 | 3.0 | 5.0 | 20.0 | 34.0 |
| stop-hit | 339 | 3.0 | 3.9 | 5.0 | 8.0 | 19.0 | 35.0 |
Hari. Angka "sekitar 2 hari" yang beredar sebelumnya benar untuk median semua, tapi itu diturunkan dari utilisasi dan jumlah trip — dua agregat, bukan distribusi.
Yang berguna justru pecahannya: pemenang selesai 1 hari, pecundang 3 hari. Trade yang belum jalan dalam sehari sudah berperilaku seperti kerugian. Dan ekornya panjang — p99 21 hari, max 35 — jadi "tidak ada batas waktu" itu bukan formalitas.
sumber: evidiq-perp-mcp/tools/trip-anatomy.ts · runbook §13.1
| stop | bertahan |
|---|---|
| 4% | 50.3% |
| 6% | 62.1% |
| 8% ★ | 70.2% |
| 10% | 76.0% |
| 12% | 80.2% |
| 16% | 85.8% |
| 20% | 89.8% |
| 25% | 94.5% |
| 30% | 95.9% |
Dari tembusan yang akhirnya mencapai target, berapa persen yang tidak dip lewat lebar itu dulu. Jalannya tanpa stop sama sekali, jadi ini sifat pasar bukan sifat konfigurasi. Kalau satu bar memuat target DAN dip lebih dalam, dip yang dihitung — bar harian tidak mencatat mana yang lebih dulu, dan memutuskannya menguntungkan trade adalah cara termudah membuat stop kelihatan cukup lebar.
Angka Base yang selama ini dipinjam bilang stop 8% bertahan 53,9%. Di OKX 70,2%. Pinjaman itu meremehkan 16pp — venue lain, rasio 25/50, long-only. Lubang terakhir yang parameternya masih dari venue lain sekarang tertutup.
Biaya stop sempit juga punya angka sekarang: 29,8% gerakan yang akhirnya mencapai target kena stop dulu. Itu terlihat seperti alasan melebarkan stop, dan melebarkan stop sudah diukur merugikan buku (ukuran posisi menyusut, slot berlipat, semuanya ganti tanda). Yang membenarkan adanya stop: yang tidak pernah sampai target dip median 44,30%.
sumber: evidiq-perp-mcp/tools/trip-anatomy.ts · runbook §13.2, §11.1
| bucket | trip | win | edge | net | /trip | dalam | luar | putusan |
|---|---|---|---|---|---|---|---|---|
| Q1 ≤ 1,13 | 223 | 71.3% | +14.2pp | +185.980 | +0.834 | +117.020 | +68.960 | lolos |
| Q2 1,13–2,33 | 223 | 60.1% | +2.9pp | +33.470 | +0.150 | +19.280 | +14.190 | lolos |
| Q3 2,33–4,20 | 223 | 60.1% | +2.9pp | +32.510 | +0.146 | +43.420 | -10.910 | ganti tanda |
| Q4 > 4,20 | 223 | 56.5% | -0.6pp | -21.100 | -0.095 | -3.970 | -17.130 | ganti tanda |
Give-back = excursion terbaik bar tembusan lewat level, dikurangi posisinya di penutupan. Turun rapi di win rate, di net, dan di net per trip. Q1 menghasilkan 80,6% net dari 25% trip, dan Q4 rugi di kedua paruh split — bukan efek periode, tapi kelas trade yang memang buruk.
| cap | diambil | win | edge | net | DD% | net/DD | dalam | luar | split |
|---|---|---|---|---|---|---|---|---|---|
| tanpa gate ★ | 892 | 62.0% | +4.9pp | +230.850 | 20.1% | 3.83 | +175.750 | +55.110 | lolos |
| 10.0 | 859 | 62.4% | +5.3pp | +247.360 | 17.7% | 4.67 | +179.440 | +67.920 | lolos |
| 8.0 | 833 | 62.8% | +5.6pp | +258.150 | 16.1% | 5.34 | +196.250 | +61.900 | lolos |
| 6.0 ◆ | 791 | 63.3% | +6.2pp | +277.390 | 15.6% | 5.94 | +160.510 | +116.890 | lolos |
| 5.0 | 771 | 63.8% | +6.7pp | +292.090 | 17.1% | 5.68 | +178.850 | +113.240 | lolos |
| 4.0 | 749 | 62.9% | +5.7pp | +242.460 | 19.3% | 4.19 | +154.420 | +88.050 | lolos |
| 3.0 | 672 | 63.4% | +6.3pp | +235.200 | 16.2% | 4.85 | +152.520 | +82.680 | lolos |
| 2.5 | 612 | 64.9% | +7.7pp | +268.310 | 12.7% | 7.06 | +178.620 | +89.690 | lolos |
| 2.0 | 559 | 65.8% | +8.7pp | +279.410 | 12.4% | 7.49 | +154.500 | +124.910 | lolos |
| 1.5 | 487 | 65.3% | +8.2pp | +228.280 | 17.1% | 4.44 | +119.040 | +109.230 | lolos |
| 1.0 | 391 | 66.8% | +9.6pp | +212.020 | 8.8% | 8.00 | +129.520 | +82.510 | lolos |
Bucket tidak bisa menjawab apa yang buku dapat, karena menolak kandidat membebaskan slot dan slot itu jatuh ke nama berikutnya. Jadi simulasi dijalankan ulang penuh per ambang, dan ambangnya bulat — batas yang dibaca dari distribusi adalah parameter tanpa riwayat. Hasilnya: 10 dari 10 ambang lolos split, 8 dari 10 mengalahkan net, 10 dari 10 mengalahkan net/DD. Itu plateau, bukan titik.
Yang paling meyakinkan bukan net-nya: splitnya jadi lebih rata. Tanpa gate dalam/luar 3,2x; di cap 6,0 jadi 1,4x. Ketergantungan periode turun — arah berlawanan dari overfit. Kandidat ◆ cap 6,0 dipilih di tengah plateau, bukan di maksimum.
Sebelum dipasang, dia harus lolos tiga uji, bukan satu. Plateau: tabel di atas. Blok berurutan: lebih baik di 4 dari 6 blok berjumlah kandidat sama, dan laju per bulan yang tanpa gate turun ke 36% dari awalnya bertahan di 109% dengan gate. Nol look-ahead: ambang dihitung ulang di tiap kandidat dari nilai give-back yang sudah pernah terlihat saja — 4 dari 5 aturan kausal mengalahkan buku tanpa gate, dan aturan p80 memilih ambang median 5,91, jadi aturan tanpa hindsight mendarat di angka yang sama dengan yang saya pilih pakai mata.
Biayanya, disebut apa adanya: di 2021 gate ini membuat tahun itu +29,31 jadi −0,41. Di pasar mania, tembusan yang mandek pun masih dibayar, dan gate ini menolaknya. Lebih baik di 5 dari 7 tahun, lebih buruk di 2021 dan 2023. Dan satu celah yang wajib Anda tahu: backtest masuk di penutupan bar, feed ini masuk intra-bar — jadi give-back live dibaca dari bar yang masih berjalan, angkanya bergerak sepanjang hari, dan sinyal bisa lolos jam 10:00 lalu gagal jam 14:00. Akibatnya sinyal akan lebih sering muncul-hilang dari sebelumnya.
sumber: evidiq-perp-mcp/tools/trip-anatomy.ts · runbook §14
| grup | n | 45U | 75U | 150U | 450U | 45U p90 | 450U p90 |
|---|---|---|---|---|---|---|---|
| 66 nama bersama (69 ∩ 86) | 66 | 0.0 | 0.0 | 0.6 | 1.7 | 2.3 | 5.3 |
| 20 nama tambahan (86 saja) | 20 | 1.9 | 2.6 | 4.0 | 6.1 | 4.1 | 9.5 |
| 3 nama keluar (GAS, SSV, CHZ) | 3 | 2.0 | 3.3 | 6.0 | 10.2 | 2.0 | 10.2 |
Basis poin round trip (masuk beli + keluar jual), berjalan melewati level buku sungguhan. Kalibrasinya: edge +0,276 USDT per trip di posisi ~45 USDT = +61 bps notional, dan fee round trip 10 bps sudah dihitung. Jadi setiap 6 bps slippage membuang sepersepuluh edge.
Di ukuran yang dipakai, 69 nama praktis nol — order habis di level pertama. 20 nama tambahan 1,9 bps = 3,1% dari edge. Tidak ada buku yang gagal menyerap 450 USDT. Jadi hasil universe 86 nama tidak perlu lagi disebut batas atas: slippage tidak menjelaskan selisih net 13%.
Asimetrinya wajib ikut: ini snapshot buku saat tenang, bukan buku di 892 momen entri historis, dan aturan menyala justru saat tembusan. Angka kecil di sini TIDAK membuktikan slippage bisa diabaikan; angka besar AKAN membuktikan sebaliknya. Yang keluar kecil, jadi kesimpulan yang sah cuma: slippage bukan kendala yang mengikat di ukuran ini. Di 450 USDT ekornya sudah 6–10 bps dan itu mulai berarti.
sumber: evidiq-ebb-mcp/../evidiq-perp-mcp/tools/book-depth.ts · runbook §15
| bench | diambil | win | edge | net | DD% | net/DD | dalam | luar | band terburuk |
|---|---|---|---|---|---|---|---|---|---|
| BTC ★ | 892 | 62.0% | +4.9pp | +230.850 | 20.1% | 3.83 | +175.750 | +55.110 | +188.520 |
| ETH | 921 | 60.6% | +3.4pp | +157.550 | 26.2% | 2.01 | +115.020 | +42.530 | +103.250 |
| EW | 917 | 59.9% | +2.7pp | +123.150 | 15.8% | 2.60 | +43.060 | +72.900 | +59.150 |
| MEDIAN | 839 | 60.1% | +2.9pp | +106.700 | 25.3% | 1.41 | +72.770 | +30.340 | +51.560 |
BTC (★ yang dipakai) menang di net, di edge, dan di net/DD, dan band terburuk-nya masih mengalahkan band terbaik semua benchmark lain — itu plateau, bukan titik. Keempatnya lolos split tanggal, yang berarti gate ini bukan sihir khusus BTC: dia bekerja terhadap referensi pasar apa pun, dan BTC sekadar yang terbaik. EW itu indeks berbobot sama dari return harian universe-nya sendiri, MEDIAN median lintas-instrumen dari return yang sama.
Yang tidak boleh dilebih-lebihkan: tren dalam/luar sampel berlawanan arah. BTC melemah di luar sampel (+5,4pp → +3,7pp) sementara EW menguat (+1,6pp → +4,5pp) dan drawdown-nya paling rendah dari keempatnya. Satu split tidak membuktikan apa pun — tapi kalau split kedua sepakat, EW tempat mencarinya.
Bacaan benchmark terhadap dirinya sendiri selalu 0, dan nol itu ada di dalam band long tapi di luar band short. Jadi BTC bisa menghasilkan sinyal long dan tidak akan pernah menghasilkan sinyal short. Itu aritmetika, bukan filter.
sumber: evidiq-perp-mcp/tools/benchmark.ts · runbook §117
| jendela | diambil | win | edge | net | DD% | net/DD | dalam | luar | putusan |
|---|---|---|---|---|---|---|---|---|---|
| 5d | 1386 | 59.3% | +2.2pp | +127.810 | 25.8% | 1.65 | +73.170 | +50.890 | lolos |
| 10d | 1180 | 57.7% | +0.6pp | -7.970 | 58.7% | -0.05 | +23.640 | -35.190 | ganti tanda |
| 14d | 1037 | 59.9% | +2.7pp | +127.420 | 31.2% | 1.36 | +158.260 | -30.850 | ganti tanda |
| 20d ★ | 892 | 62.0% | +4.9pp | +230.850 | 20.1% | 3.83 | +175.750 | +55.110 | lolos |
| 30d | 733 | 60.2% | +3.0pp | +107.690 | 17.9% | 2.01 | +67.760 | +39.930 | lolos |
| 40d | 607 | 58.3% | +1.2pp | +23.680 | 33.2% | 0.24 | +35.870 | -12.190 | ganti tanda |
| 60d | 456 | 57.7% | +0.5pp | -1.940 | 25.4% | -0.03 | -35.810 | +33.870 | ganti tanda |
20 hari (★ yang dipakai) menang di net dan di net/DD, dan lolos split tanggal dengan edge positif di dua paruh. 14 hari itu jebakannya: kedua terbaik di sampel penuh dengan +127,42, lalu balik tanda di luar sampel. Angka 20 diwarisi dari pengukuran 297 hari / 10 trade di Base untuk Helm dan belum pernah diuji di OKX sampai sapuan ini — ternyata benar, tapi benar karena kebetulan, bukan karena metode.
sumber: evidiq-perp-mcp/tools/lookback.ts · runbook §116.2
| ide | kenapa tidak |
|---|---|
| filter pola kerugian | 40 ambang lawan plafon kebetulan +4,9pp. Cuma "tolak kalau BTC di bawah +10%" yang mengalahkannya, dan begitu dipakai sebagai gate buku turun dari +340,82 jadi +210,46 — dia membuang pemenang bersama pecundang. |
| sizing berdasar regime | 5 skema, semuanya negatif di dalam sampel dan semuanya positif di luar sampel. Balik tanda sebersih itu berarti dua periode yang berbeda, bukan edge. |
| bar 1 menit | 305.974 bar, 0 dari 10 rasio melewati break-even. 43% trade tidak mencapai stop maupun target. |
| leverage lebih tinggi | Notional itu risiko÷stop, jadi tidak bergantung leverage — net identik di 1x, 2x, dan 3x. 10x cuma memindahkan likuidasi dari 32,83% ke 9,50% padahal stop di 8%. |
| stop di level tembusan | Jarak stop jadi bergantung titik masuk, sehingga ukuran posisi bergoyang 120x sepanjang jendela: 1.201 USDT margin dekat level lawan 11 USDT di batas. |
sumber: lossfilter.ts, regime-size.ts, minute.ts · runbook §114.9. Dicatat karena hasil negatif yang tidak dituliskan akan dicari ulang.
Backtest ini mengasumsikan eksekusi mekanis — stop dan target menyala, tidak ada yang lain terjadi. Memotong lebih awal atau menahan melewati level itu strategi yang berbeda, dan tidak satu angka pun di halaman ini menggambarkannya. Satu trade tidak membuktikan apa pun ke arah mana pun: edge-nya +6.2pp dari 791 trip, dan stop yang lebih lebar dari target berarti kalah lebih mahal daripada menang.