Jurnal Transaksi Forex — R-Multiple, Ekspektansi, SQN, dan MAE/MFE
Jurnal trading seharusnya membantu menjelaskan keputusan, bukan sekadar mengumpulkan tangkapan layar dan hasil. Untuk itu, perlu catatan konsisten tentang rencana, eksekusi, biaya, dan risiko awal. Kami menunjukkan apa yang dicatat setelah tiap transaksi, cara merekonsiliasi angkanya dengan riwayat akun, serta cara menghitung R-multiple dan metrik lain tanpa mencampur definisi. Artikel bergerak dari ekspektansi dan faktor laba ke drawdown, ketidakpastian estimasi, MAE, dan MFE. Artikel juga menjelaskan keterbatasan indikator dan alat jurnal populer. Contoh terhitung serta dataset kontrol membantu memverifikasi perhitungan sebelum diterapkan pada catatan Anda. Tujuannya bukti andal yang mengidentifikasi masalah dan mendukung keputusan, bukan skor tunggal yang konon menilai strategi.

- Tanpa jurnal, Anda memperdagangkan opini, bukan sistem. 29 kolom per transaksi merupakan minimum operasional: setup, tingkat A+/A/B/C, harga masuk rencana versus aktual, SL rencana versus pengisian aktual, slippage, spread, swap, komisi, R-multiple neto, klasifikasi kesalahan, keadaan psikologis, jam tidur, volume, nilai pip saat pembukaan, versi setup, dan tautan bukti.
- R-multiple neto = PnL neto broker aktual / risiko rencana — spread dan slippage dicatat terpisah sebagai hambatan eksekusi; jangan dikurangkan dua kali. Standardisasi dalam satu unit untuk berbagai setup memungkinkan scalp M5 dibandingkan langsung dengan swing D1.
- Ekspektansi neto di atas +0.3R untuk setup A+ berfungsi sebagai tolok ukur kerja ilustratif, bukan standar pasar universal: 0 hingga +0.15R berarti “terus kumpulkan data”, sedangkan nilai di bawah nol menjadi kandidat untuk dinonaktifkan. Ambang tunggal tidak memutuskan apa pun sendiri: keputusan bergantung lebar interval kepercayaan terhadap ambang, dengan kriteria formal pertahankan/ubah/nonaktifkan dijelaskan dalam Artikel 15.10.
- Hitung Sortino dengan deviasi sisi bawah pada seluruh populasi (√(Σ min(R − MAR, 0)² / n), MAR = 0) — jangan gunakan simpangan baku kerugian saja; cara terakhir memperbesar metrik kira-kira tiga kali dalam distribusi contoh pada Bagian 3; selisih pada data Anda bergantung frekuensi kerugian. MAE/MFE mengungkap apakah stop terlalu lebar dan apakah terlalu banyak laba tidak diambil. Ritme tinjauan: 5 menit setiap hari pascasesi, 30 menit mingguan, 60 menit bulanan untuk metrik lengkap; audit kuartalan dibahas dalam Artikel 15.10.
1. Mengapa tanpa jurnal Anda punya opini, bukan sistem
Trading tanpa mencatat parameter pasar empiris adalah hobi mahal. Anda tidak memiliki sistem; Anda menjalankan rangkaian klik sewenang-wenang yang tercemar bias penyintas. Menurut kerangka peringatan risiko CFD yang berlaku dan dibahas sumber Polandia, penyedia memublikasikan persentase akun investor ritel mereka sendiri yang merugi dan memperbaruinya setidaknya tiap kuartal. Ini kewajiban pengungkapan khusus yurisdiksi, bukan aturan yang dianggap berlaku bagi setiap broker di dunia. Angka dari satu broker bukan konstanta pasar global, dan merata-ratakannya tidak bermakna. Angka itu mewakili rekan statistik Anda. Tanpa diagnosis ketat, mayoritas besar mengulangi kesalahan sama sepanjang perjalanan trading; pengalaman tanpa pengukuran hanyalah kegagalan berulang.
Tiga ilusi kognitif yang menghancurkan trader tanpa jurnal
Ilusi 1: Ingatan selektif. Otak manusia memprioritaskan peristiwa bermuatan emosi, seperti untung besar atau margin habis menghancurkan, sambil meredam kejadian netral. Setelah sebulan, pikiran Anda mungkin menyimpan 3 dari 50 transaksi — biasanya dua kemenangan spektakuler dan satu kerugian menyakitkan. Ingatan menyajikan ketiganya sebagai wakil seluruh kinerja, padahal bukan. Jurnal menghapus ilusi itu: hitam di atas putih, Anda mendapati “strategi Senin” sebenarnya menghasilkan 8 kemenangan dan 11 kerugian pada kuartal lalu.
Ilusi 2: Rasionalisasi setelah kejadian. Setelah transaksi rugi, otak membuat kisah nyaman: “Saya tahu setup itu tampak lemah.” Setelah menang: “Saya membaca pasar dengan benar.” Kedua kisah dibuat setelah hasilnya diketahui, dengan sedikit kemiripan pada apa yang benar-benar Anda ketahui sebelum eksekusi. Jurnal mewajibkan pencatatan niat sebelum mengeklik, yaitu harga masuk rencana, SL rencana, dan klasifikasi setup. Membandingkan rencana pratransaksi dengan eksekusi pascatransaksi mengungkap berapa banyak “keputusan tajam” yang benar-benar direncanakan versus diciptakan kemudian.
Ilusi 3: Saldo agregat, bukan distribusi. Amatir hanya melihat ekuitas akun: “Saya untung 4% pada Maret” — lalu menghentikan analisis. Namun 4% itu mungkin hasil 60 transaksi dengan tingkat kemenangan 55% dan ekspektansi +0.3R, proses yang lebih sehat dalam ilustrasi ini; atau 12 transaksi dengan kemenangan 75% dan satu transaksi mujur +6R yang menutupi bahwa 11 lainnya perjudian liar, proses rapuh yang tersamarkan satu pencilan. Saldo akun tidak dapat membedakan dua kenyataan itu. Jurnal dengan metrik tepat segera membedakannya.
Definisi sistem trading yang diabaikan trader ritel
Sebuah sistem trading adalah proses berulang yang hasilnya dapat diukur dalam unit terstandar. Tiga kriteria penting mendefinisikannya:
- Dapat diulang — kondisi pasar identik menghasilkan keputusan eksekusi konsisten. Bukan “saya merasakan momentum bullish kuat”, melainkan “syarat A, B, dan C terpenuhi sehingga memicu eksekusi berbasis aturan”.
- Terukur — setiap transaksi mencatat 29 kolom dalam jurnal; ekspektansi dihitung per setup dan faktor laba dievaluasi bulanan.
- Unit terstandar — R-multiple menjadi mata uang perbandingan universal. “Saya untung PLN 200” sama sekali tidak informatif, sebab berapa modal yang dirisikokan? Sementara “saya memperoleh +1.8R” menyampaikan keseluruhannya.
Tanpa tiga pilar ini, Anda tidak menjalankan sistem; Anda melakukan taruhan individual terpisah tanpa penyebut sama. Anda mungkin mujur, lalu yakin terampil, atau mengalami varians buruk, lalu menyimpulkan broker memanipulasi harga. Kedua kesimpulan tidak beralasan — Anda hanya tidak memiliki data empiris untuk penilaian objektif.
Pencatatan pratransaksi — menghapus penipuan setelah kejadian
Fungsi kedua jurnal yang sering diremehkan ialah hambatan operasional. Mencatat parameter eksekusi, yaitu harga masuk rencana, SL rencana, ukuran posisi, tingkat setup, sebelum mengeklik memiliki satu tujuan utama: mempersulit penipuan diri setelah hasil diketahui. Jika entri melanggar aturan playbook, jurnal langsung menangkapnya, mencegah Anda menulis “pergerakan pasar tampak bullish”. Spreadsheet tidak merasionalisasi untuk Anda: jika Anda menyeret Stop Loss secara manual, baris 42 mencatat Kode Kesalahan 3, betapapun fasih alasan yang dibuat setelah sesi. Ini bukan sekadar psikologi; ini hambatan operasional yang memaksa refleksi sadar sebelum eksekusi ceroboh terjadi.
2. Apa yang dicatat — 29 kolom jurnal transaksi profesional
Jurnal amatir terdiri atas 5 hingga 8 kolom dasar: tanggal, pasangan mata uang, arah, harga masuk, SL, TP, hasil, dan komentar singkat. Ini minimum paling dasar laporan akun broker, sama sekali tidak cukup untuk analisis diagnostik sistematis. Jurnal profesional melacak 29 kolom yang diatur dalam 7 kelompok fungsional. Setiap kolom menjawab pertanyaan analitis berbeda.
Kelompok A: Identifikasi transaksi (4 kolom)
Metadata dasar — apa yang terjadi dan tepat kapan.
- ID transaksi — identitas unik, misalnya T-2026-04-001, untuk rujukan silang pada tinjauan pascatransaksi, skrip, dan basis data analitis.
- Tanggal dan waktu pembukaan — dicatat hingga menit dalam satu zona waktu terstandar, disarankan UTC, boleh disertai waktu pasar lokal.
- Pasangan mata uang — EUR/USD, GBP/JPY, dan sebagainya.
- Arah — beli / jual.
Kelompok B: Konteks strategis (4 kolom)
Niat strategis, struktur setup, dan klasifikasi lingkungan Anda.
- Setup playbook — setup bernama khusus, misalnya “LON-breakout-A”, “NY-mean-revert-B”. Tanpa kolom ini, perhitungan ekspektansi khusus setup secara matematis mustahil.
- Tingkat / nilai setup — A+, A, B, C. Tiap tingkat menentukan ukuran posisi tertentu. Tanpa penilaian tingkat, Anda tidak dapat menentukan apakah untung pada setup A+ sambil membocorkan modal pada B, atau sebaliknya.
- Rezim pasar — tren / rentang / volatilitas tinggi / volatilitas rendah — dinilai pada D1 atau H4 sebelum masuk.
- Sesi pasar — Asia / London / New York / tumpang tindih London-NY. Memisahkan sesi trading yang menghasilkan keunggulan empiris versus sesi yang menghasilkan kerugian konsisten.
Kelompok C: Parameter order — rencana versus kenyataan (6 kolom)
Di sinilah kebenaran eksekusi ritel yang paling telanjang dan keras muncul.
- Harga masuk rencana — level harga teknis persis yang Anda niatkan untuk masuk menurut analisis pratransaksi.
- Pengisian masuk aktual — harga pengisian riil oleh broker; sumber menggunakan ilustrasi slippage 1–5 pip pada M15, sebuah contoh bukan tolok ukur eksekusi universal.
- SL rencana — harga pembatalan teknis ketika tesis transaksi terbantahkan, menurut aturan strategi.
- Pengisian SL aktual — harga persis saat order stop dieksekusi penyedia likuiditas; slippage eksekusi stop dapat 2–10× lebih besar daripada saat masuk selama kekosongan likuiditas.
- TP rencana — harga target rencana atau keluar pada R-multiple yang ditentukan sebelumnya.
- Pengisian TP aktual / keluar manual — harga eksekusi aktual ketika target terisi atau penutupan manual diskresioner.
Kelompok D: Biaya friksi (4 kolom)
Biaya friksi menggerus ekspektansi teoretis bruto — besarnya hanya diungkap jurnal Anda, bergantung instrumen, model eksekusi broker, dan lebar stop. Tanpa melacak friksi, Anda tidak tahu apakah keunggulan masih ada secara neto.
- Spread (pip) — spread langsung saat masuk, bukan spread promosi “mulai dari” pada situs broker.
- Slippage masuk (pip) —
direction × (actual_entry − planned_entry) / pip_size; nilai positif menunjukkan slippage merugikan, yaitu pengisian lebih buruk dari rencana. - Slippage keluar (pip) —
direction × (planned_exit − actual_exit) / pip_size. Perhatikan pembalikan tanda matematis: untuk posisi beli, masuk merugikan berarti harga lebih tinggi dari rencana, sedangkan keluar merugikan berarti harga lebih rendah dari rencana. Konvensinya konsisten di kedua sisi: slippage merugikan positif dan menguntungkan negatif. Menggunakan urutan pengurangan masuk untuk keluar membalik arti pada keluar. - Swap dan komisi — dalam mata uang akun, mencakup pembiayaan menginap dan biaya transaksi pulang-pergi ECN.
Kelompok E: PnL dan metrik kinerja (3 kolom)
- PnL bruto — dalam pip dan mata uang akun, dihitung dari harga pengisian aktual tanpa pembiayaan dan komisi.
- PnL neto broker — PnL laporan setelah komisi dan swap; spread dan slippage sudah tercermin dalam harga pengisian, sehingga jangan kurangkan lagi untuk kedua kalinya.
- R-Multiple neto —
broker_net_pnl / planned_riskdirumuskan pada Bagian 3.
Kelompok F: Penilaian kualitas keputusan (4 kolom)
Kelompok ini paling sering diabaikan, tetapi paling kuat untuk diagnosis. Dua transaksi dapat memberi hasil finansial identik, padahal mewakili kualitas keputusan yang sangat berbeda.
- Klasifikasi kesalahan — taksonomi kategori: 0 = tanpa kesalahan (proses sempurna), 1 = stop loss terlalu lebar, 2 = stop loss terlalu ketat, 3 = stop dipindah melawan rencana, 4 = keluar terlalu dini, 5 = keluar terlambat, 6 = entri di luar playbook (FOMO), 7 = posisi terlalu besar (ukuran lot lebih besar dari rencana), 8 = transaksi balas dendam, 9 = kesalahan kognitif/diskresioner lain, 10 = kegagalan infrastruktur, seperti tanpa stop server tegas, platform broker terputus, atau gangguan ISP — satu-satunya kategori yang memerlukan konfigurasi operasional ulang, bukan perubahan perilaku.
- Keadaan psikologis (1–5) — 1 = terganggu (lelah, mudah marah, terdistraksi), 5 = optimal (fokus, cukup istirahat, jernih). Harus dicatat sebelum mengirim order, tidak pernah secara retrospektif.
- Jam tidur — bilangan bulat/desimal. Memungkinkan korelasi peringkat Spearman antara tidur malam sebelumnya dan R-multiple neto aktual dihitung pada sampel Anda sendiri. Ini hipotesis untuk diuji dengan data sendiri; sumber tidak menyediakan statistik publik yang membuktikan korelasi itu bagi trader ritel.
- Kualitas keputusan (1–5) — dinilai pada akhir hari trading, benar-benar dipisahkan dari hasil finansial. Pertanyaannya: apakah transaksi dilaksanakan 100% sesuai aturan pratransaksi? 5 = kepatuhan sempurna, 1 = improvisasi tanpa dasar.
Kelompok G: Volume, versi, dan jejak audit (4 kolom)
Empat kolom yang diperlukan agar jurnal dapat direkonsiliasi secara matematis maupun pembuktian. Tanpa volume transaksi dan nilai pip, risiko uang rencana tidak dapat direkonstruksi dari jarak harga saja. Tanpa versi setup, Anda tidak dapat mengidentifikasi iterasi aturan yang sedang diuji. Tanpa tautan bukti, Anda tidak dapat menyelesaikan perbedaan terhadap laporan broker.
- Volume (lot) — ukuran posisi dibulatkan ke langkah lot broker. Bersama jarak stop dan nilai pip, ini menetapkan risiko uang rencana dalam mata uang akun; tanpanya kolom 21 tidak dapat direkonstruksi.
- Nilai pip saat pembukaan — dalam mata uang akun untuk 1 lot standar (100000 unit mata uang dasar), dicatat sebagai nilai tersendiri saat eksekusi, bukan konstanta global statis spreadsheet, sebab kurs berubah; lihat catatan Bagian 3.
- Versi setup / playbook — identitas kartu dan penanda versi, misalnya “LON-breakout-A+ v1.2”. Kinerja sebelum dan sesudah perubahan aturan mewakili dua distribusi statistik berbeda, bukan satu sampel berkesinambungan.
- Tautan bukti (
evidence_link) — URL tangkapan grafik, nomor tiket broker, atau jalur log laporan. Satu kolom yang mengangkat catatan dari diary pribadi tak terverifikasi menjadi catatan finansial yang dapat diaudit.
Tabel ringkasan — seluruh 29 kolom, tipe data, dan sumber
| # | Nama kolom | Tipe data | Sumber utama |
|---|---|---|---|
| 1 | ID transaksi | Teks | Dibuat otomatis / rumus |
| 2 | Tanggal dan waktu | Tanggal-waktu UTC | Laporan broker / platform |
| 3 | Pasangan mata uang | Teks | Pengisian broker |
| 4 | Arah | Enum (beli/jual) | Pengisian broker |
| 5 | Setup playbook | Teks | Trader (sebelum masuk) |
| 6 | Tingkat setup (A+/A/B/C) | Kategori | Trader (sebelum masuk) |
| 7 | Rezim pasar | Kategori | Trader (sebelum masuk) |
| 8 | Sesi pasar | Kategori | Otomatis dari cap waktu |
| 9 | Harga masuk rencana | Angka (harga) | Trader (analisis sebelum masuk) |
| 10 | Pengisian masuk aktual | Angka (harga) | Laporan eksekusi broker |
| 11 | SL rencana | Angka (harga) | Trader (rencana sebelum masuk) |
| 12 | Pengisian SL aktual | Angka (harga) | Laporan eksekusi broker |
| 13 | TP rencana | Angka (harga) | Trader (rencana sebelum masuk) |
| 14 | Pengisian TP aktual | Angka (harga) | Laporan eksekusi broker |
| 15 | Spread (pip) | Angka (desimal) | Log platform / tick broker |
| 16 | Slippage masuk (pip) | Angka (desimal) | Otomatis: direction × (10 − 9) / pip_size |
| 17 | Slippage keluar (pip) | Angka (desimal) | Otomatis: direction × (11 − 12) / pip_size atau direction × (13 − 14) / pip_size — urutan pengurangan dibalik terhadap kolom 16. |
| 18 | Swap + komisi | Angka (mata uang) | Laporan broker |
| 19 | PnL bruto dari pengisian | Angka (mata uang) | Laporan broker (selisih harga mentah) |
| 20 | PnL neto broker | Angka (mata uang) | Laporan broker: PnL setelah komisi dan pembiayaan; spread dan slippage sudah tercermin dalam pengisian dan tidak boleh dikurangkan lagi |
| 21 | R-Multiple neto | Angka (desimal R) | Otomatis: broker_net_pnl / planned_risk |
| 22 | Klasifikasi kesalahan | Kategori 0–10 | Trader (tinjauan pascatransaksi) |
| 23 | Keadaan psikologis 1–5 | Bilangan bulat (1–5) | Trader (dicatat sebelum masuk) |
| 24 | Jam tidur | Angka (desimal) | Trader (catatan pagi) |
| 25 | Kualitas keputusan 1–5 | Bilangan bulat (1–5) | Trader (audit akhir hari) |
| 26 | Volume (lot) | Angka (desimal) | Pengisian broker |
| 27 | Nilai pip saat pembukaan | Angka (mata uang) | Otomatis (kurs saat pembukaan); per 1 lot standar |
| 28 | Versi setup / playbook | Teks | Trader (sebelum masuk) |
| 29 | Tautan bukti | Teks / URL | Trader (tangkapan layar atau ID tiket broker) |
Mencatat 29 kolom ini memerlukan sekitar 60 hingga 90 detik per transaksi setelah templat spreadsheet siap. Tanpa data ini, evaluasi kinerja berikutnya hanyalah tebak-tebakan. Jika Anda tidak dapat menyediakan 90 detik untuk mencatat transaksi, jangan menghabiskan 30 detik untuk memasukinya.
Spesifikasi mini CSV / spreadsheet
Struktur kolom yang dapat dibaca mesin untuk diterapkan dalam Excel, Google Sheets, atau basis data PostgreSQL/SQLite. Kolom kiri nama kolom teknis; kanan sumber operasional dan penurunan matematis:
| Nama kolom | Tipe data | Sumber / rumus |
|---|---|---|
trade_id | Teks | Otomatis / rumus string bertambah berurutan |
open_time_utc / close_time_utc | Tanggal-waktu UTC | Ekspor CSV/MT broker |
pair | Teks | Laporan eksekusi broker |
direction | Beli / jual | Laporan eksekusi broker (+1 beli, −1 jual dalam rumus) |
setup / setup_class (A+/A/B/C) | Teks / kategori | Trader, dicatat sebelum masuk |
regime / session | Kategori | Trader sebelum masuk / otomatis dari cap waktu |
planned_entry / actual_entry | Angka | Trader / pengisian broker |
planned_sl / actual_exit | Angka | Trader / pengisian broker |
planned_tp / actual_tp | Angka | Trader / pengisian broker |
spread_pips | Angka | Log broker pada cap waktu masuk |
slippage_entry_pips / slippage_exit_pips | Dihitung otomatis | Masuk: direction × (actual_entry − planned_entry) / pip_size; keluar: direction × (planned_exit − actual_exit) / pip_size. Arah = +1 untuk beli, −1 untuk jual — slippage positif selalu berarti pengisian merugikan. Karena itu urutan pengurangan keluar harus dibalik: untuk masuk beli, harga pengisian di atas rencana merugikan; untuk keluar beli, harga pengisian lebih rendah dari rencana merugikan. Selisih harga dibagi dengan pip_size (0.0001 untuk pasangan non-JPY, 0.01 untuk pasangan JPY) agar angkanya dalam pip. |
swap_curr / commission_curr | Angka | Laporan broker dalam mata uang akun |
broker_gross_pnl / broker_net_pnl | Angka | Laporan pengisian broker: PnL harga bruto versus PnL neto setelah pembiayaan dan biaya |
planned_gross_pnl / planned_risk | Angka | Otomatis: planned_gross_pnl = direction × (planned_exit − planned_entry) / pip_size × lots × pip_value_at_open; planned_risk = |planned_entry − planned_sl| / pip_size × lots × pip_value_at_open. Selisih harga dibagi dengan pip_size sama seperti rumus slippage — tanpa pembagian, hasilnya unit harga mentah, bukan pip, sehingga penyebut menyusut empat orde besaran untuk ukuran pip 0.0001. pip_value_at_open didefinisikan per 1 lot standar, dengan ukuran posisi diperhitungkan melalui lots. |
r_net | Angka (desimal R) | Otomatis: broker_net_pnl / planned_risk |
execution_drag_R | Angka (desimal R) | Otomatis: (planned_gross_pnl_same_exit_type − broker_net_pnl) / planned_risk — “jenis keluar sama” mewajibkan: SL rencana jika terkena stop, TP rencana jika ditutup pada target, dirumuskan pada Bagian 3. |
mae_r / mfe_r | Angka (desimal R) | Audit grafik manual trader / Edgewonk / cTrader / skrip Python |
error_code | Enum 0–10 | Trader, dicatat setelah tutup (10 = kegagalan infrastruktur) |
mental_state 1–5 | Bilangan bulat (1–5) | Trader, dicatat tepat sebelum masuk |
sleep_hours | Angka (desimal) | Trader, dicatat saat rutinitas pagi |
decision_quality 1–5 | Bilangan bulat (1–5) | Trader, dicatat pada akhir hari |
lots / pip_value_at_open | Angka | Laporan broker / otomatis (konversi mata uang saat pembukaan). pip_value_at_open dicatat secara ketat per 1 lot standar (100000 unit mata uang dasar) dalam mata uang akun, tidak pernah disesuaikan lebih dulu dengan volume transaksi; ukuran posisi dimasukkan terpisah melalui lots. Dalam contoh terhitung mata uang Polandia di bawah, PLN 22 per pip sudah mencakup posisi 0.5 lot, sehingga perhitungan dalam prosa tidak mengalikan lot lagi. Kolom spreadsheet seharusnya berisi PLN 44 per pip per lot standar, dengan 0.5 dicatat pada lots. |
strategy_version | Teks | Trader, dicatat sebelum masuk |
evidence_link | Teks / URL | Trader, dicatat setelah tutup |
Meskipun ada 29 kolom logis, spreadsheet teknis memiliki lebih banyak kolom fisik — beberapa parameter berupa pasangan “rencana versus aktual”, yaitu masuk, stop, target, dan slippage, yang menempati kolom terpisah. Struktur kolom spreadsheet Anda harus langsung mengikuti spesifikasi ini. Nama kolom khusus mata uang pada templat Polandia telah digeneralisasi menjadi nama mata uang akun di sini; contoh PLN tetap mempertahankan mata uang dan jumlah aslinya.
Taksonomi error_code memuat tepat sebelas nilai bilangan bulat berbeda yang digunakan konsisten di seluruh panduan: 0 = tanpa kesalahan, 1–9 = kesalahan kognitif dan diskresioner pada kolom 22, serta 10 = kegagalan infrastruktur (tidak ada stop server tegas, platform macet, ISP terputus). Kode 10 tidak boleh dicampur dengan kesalahan diskresioner karena penyelesaiannya memerlukan perubahan arsitektur, bukan psikologis. Jika posisi tidak memiliki stop sisi server saat gangguan, riwayat eksekusi yang hilang mungkin mustahil direkonstruksi dari log lokal. Mencatat kode kesalahan bukan pengganti perbaikan infrastruktur tersebut.
r_net, slippage_entry_pips, serta execution_drag_R, dengan rumus Excel Polandia dan Inggris, serta dasbor kinerja dengan ekspor CSV berbasis browser. Jika workbook lebih lama daripada bagian ini, tambahkan kolom yang kurang. Verifikasi tiga unsur khusus saat memuat: pastikan ada kolom lots, pip_value_at_open, strategy_version, dan evidence_link; pastikan rumus execution_drag_R merujuk harga keluar rencana untuk jenis keluar yang cocok, bukan selalu memakai TP; dan verifikasi bahwa planned_risk dan planned_gross_pnl membagi jarak harga dengan ukuran pip sambil merujuk nilai pip lot standar. Jika ada perbedaan, definisi dalam panduan ini yang berlaku.Lapisan order dan pengisian — satu keputusan, banyak eksekusi
Tabel transaksi utama menjawab pertanyaan strategis: “Apa keputusannya?” Riwayat rinci order dan pengisian menjawab pertanyaan teknis: “Bagaimana pelaksanaannya?” Ini dua lapisan basis data berbeda yang dihubungkan kunci relasional trade_id. Mencampurkan keduanya merupakan penyebab paling umum jurnal menyimpang dari saldo akun riil:
orders— satu permintaan order:order_id,trade_id, jenis order (pasar / limit / stop / ubah SL / ubah TP), harga yang dikirim, cap waktu pengiriman, status eksekusi (terisi / ditolak / dibatalkan). Penolakan dan perubahan stop dicatat di sini, bukan tabel ringkasan transaksi utama.fills— satu eksekusi transaksi:fill_id,order_id,trade_id, harga pengisian, volume pengisian, komisi pengisian, cap waktu. Penutupan parsial terdiri atas beberapa baris eksekusi yang memakaitrade_id.
Empat aturan agregasi tegas menjaga keterbandingan metrik:
- Hitung risiko awal R0 tepat satu kali, ditetapkan dari rencana pratransaksi sebelum pengisian masuk pertama, dan pertahankan mutlak tetap selama penutupan parsial atau penyesuaian stop. Menutup 50% posisi pada +1R tidak menciptakan penyebut risiko baru secara retrospektif untuk sisanya.
- Jumlahkan PnL neto dan biaya friksi seluruh pengisian, lalu bagi hanya jumlah agregat dengan R0. Jangan rata-ratakan R-multiple tiap bagian parsial, sebab bobot volumenya sering berbeda.
- Satu keputusan strategis setara satu transaksi dalam statistik kinerja. Menghitung tingkat kemenangan dari tiap bagian parsial menaikkannya secara artifisial, sebab pengurangan awal biasanya untung — trik pemasaran ritel lama untuk membuat jurnal tampak indah tanpa mengubah profitabilitas sebenarnya.
- Tentukan konvensi pengukuran MAE/MFE Anda — definisikan apakah yang dilacak lintasan harga mentah sejak pengisian awal atau pergerakan ekuitas dalam mata uang akun dari posisi yang ukurannya menyusut melalui penutupan parsial. Ini dua metrik sangat berbeda yang tidak boleh berada dalam satu kolom.
Impor, rekonsiliasi laporan, deduplikasi, dan penyesuaian audit
Jurnal yang tidak pernah direkonsiliasi dengan laporan resmi broker hanyalah diary pribadi tak terverifikasi. Lakukan rutinitas minimum ini sekali seminggu:
- Impor — ekspor riwayat transaksi platform, seperti MetaTrader, cTrader, atau log FIX, ke CSV untuk periode yang sudah ditutup, dengan batas tanggal dan zona waktu server identik; misalnya minggu kalender standar dengan waktu server jelas pada nama file.
- Deduplikasi — bentuk kunci utama
trade_iddari ID tiket posisi unik broker. Saat mengimpor rentang tanggal tumpang tindih, prioritaskan catatan dengan cap waktu tutup lebih akhir, bukan sekadar file yang diunduh belakangan. Karena pengisian parsial dan perubahan order berbagi tiket utama, kelola eksekusi rinci melaluiorder_iddanfill_iddalam lapisan relasional, bukan menimpa setiap pengisian atau perubahan padatrade_id. - Rekonsiliasi — jumlah transaksi, PnL neto agregat, serta total komisi/swap harus cocok dengan laporan resmi broker hingga sen terakhir. Setiap perbedaan adalah kesalahan operasional yang harus diselidiki, bukan variasi pembulatan yang dapat diterima.
- Penyesuaian audit — catat koreksi pascatransaksi sebagai versi baru dengan cap waktu perubahan dan alasan; jangan hapus catatan historis. Tanpa pelestarian versi, Anda tidak dapat membedakan catatan salah dengan sengketa eksekusi broker yang nyata.
Audit diagnostik: mengapa dua platform melaporkan angka berbeda untuk transaksi identik? Enam penyebab operasional yang dapat diverifikasi:
- Zona waktu server berbeda — posisi ditutup pukul 23:30 server dapat jatuh pada Senin di satu platform dan Selasa di platform lain. Total mingguan berbeda, meskipun total tahunan cocok jika pergeseran tidak melewati batas tahun.
- Pencatatan pembiayaan dan komisi — satu platform memasukkan swap dan komisi dalam PnL posisi tutup, sedangkan lainnya mencatat sebagai transaksi saldo terpisah.
- Akun netting versus hedging — posisi berlawanan serentak pada pasangan sama digabung menjadi satu eksposur neto di akun netting, tetapi tampil sebagai dua transaksi terpisah di akun hedging.
- Eksekusi penutupan parsial — satu platform mencatat posisi yang dikurangi sebagai satu transaksi dengan beberapa sisi eksekusi, sedangkan lainnya memisahkan menjadi tiket transaksi independen, sehingga mengubah jumlah transaksi, tingkat kemenangan, dan rata-rata R.
- Penyesuaian broker setelah transaksi — pembatalan lonjakan harga salah di luar pasar, penghitungan ulang swap, atau penyesuaian saldo beberapa hari setelah tutup.
- Mekanisme pembulatan dan konversi kurs — konversi laba ke mata uang dasar akun pada cap waktu tutup tepat versus memakai kurs fixing resmi akhir hari.
Jika perbedaan tak terjelaskan tetap ada setelah audit enam faktor ini, jurnal belum siap untuk menghitung metrik. Metrik dari laporan yang belum direkonsiliasi mencerminkan kerusakan data, bukan keunggulan strategi.
Batas regulasi: Jurnal trading adalah alat kinerja operasional, bukan buku pajak wajib. Perhitungan keuntungan modal untuk pajak dibahas dalam Bagian 14 — jurnal menyediakan dokumentasi pendukung, yaitu laporan broker, tiket order, dan tautan bukti, bukan perhitungan kewajiban pajak menurut hukum. Pajak tidak pernah masuk perhitungan r_net baik pembilang maupun penyebut: pungutan fiskal bukan biaya transaksi eksekusi.
3. R-Multiple — Metrik dasar yang sering tidak dihitung trader ritel
R-multiple memungkinkan Anda membandingkan transaksi dengan profil risiko berbeda pada satu skala. Tanpanya, laba PLN 200 pada scalp M5 dan PLN 200 pada swing D1 tampak sama, padahal yang pertama mungkin merisikokan PLN 50 (+4R), yang kedua PLN 600 (+0.33R, imbal hasil jauh lebih kecil terhadap risiko awal). Ini contoh mata uang Polandia dari sumber. Van K. Tharp memperkenalkan R-multiple[1], yang menjadi fondasi analisis sistem trading.
Rumus R-Multiple
Definisi operasional paling aman ialah:
R_net = actual_broker_net_pnl / planned_risk
PnL neto aktual adalah hasil setelah pengisian aktual, komisi, swap, dan seluruh biaya pada laporan broker. Slippage dan spread sudah tercakup dalam harga pengisian: broker menghitung laba dari harga transaksi aktual, bukan harga rencana. Catat slippage dan spread terpisah untuk diagnosis, tetapi jangan kurangkan lagi ketika sudah termasuk PnL aktual.
Penyebut adalah risiko rencana, bukan risiko terealisasi. Jika stop meleset 10 pip melewati jarak rencana 30 pip, penyebut tidak naik: kerugian menjadi −40 / 30 = −1.33R, ditambah komisi, bukan −1R. Hasil lebih buruk dari −1R mungkin terjadi dan itulah yang harus diungkap konvensi ini: biaya aktual kegagalan eksekusi. Tetapkan penyebut sebelum mengirim order, dan jangan ubah setelah memindahkan stop, keluar parsial, atau mengetahui hasil.
Hambatan eksekusi — mendiagnosis eksekusi bersama kinerja
Spread, slippage, dan komisi adalah biaya operasional, tetapi dalam pembukuan hasil, semuanya sudah tercakup dalam PnL aktual. Untuk diagnosis kualitas eksekusi, hitung terpisah:
execution_drag_R = [direction × (planned_exit_price_of_same_type − planned_entry) / pip_size × lots × pip_value_per_standard_lot − actual_net_pnl] / planned_risk
Frasa pentingnya ialah “harga keluar rencana untuk jenis yang sama”. Jika terkena stop, bandingkan dengan SL rencana. Jika mencapai target, bandingkan dengan TP rencana. Untuk keluar manual atau berbasis waktu tanpa harga keluar rencana, definisikan diagnostik sebagai slippage masuk, komisi, dan swap dalam R. Membandingkan setiap transaksi dengan TP rencana memang menggoda karena TP tercatat, tetapi menghasilkan hal absurd: stop bersih yang terisi tepat sesuai rencana akan menunjukkan sekitar 3R “biaya eksekusi” padahal slippage nol. Hambatan eksekusi mengukur kualitas pelaksanaan, bukan jarak dari hasil untung ideal. Arah, +1 beli dan −1 jual, serta volume harus dimasukkan agar beli dan jual diperlakukan konsisten. Jangan tambahkan spread lagi jika sudah tercermin dalam pengisian.
Aturan operasional: pisahkan pembukuan kinerja dari diagnosis eksekusi. Jika r_net memakai PnL broker aktual, biaya sudah berada dalam hasil dan dianalisis terpisah melalui hambatan eksekusi. Jika perhitungan dimulai dari harga rencana, kurangkan biaya secara manual. Gunakan salah satu metode, jangan keduanya bersamaan.
Contoh perhitungan lengkap
Pertimbangkan beli EUR/USD 0.5 lot (EUR 50000) pada akun PLN, dengan ilustrasi USD/PLN sekitar 4.40. Satu pip per lot standar EUR/USD adalah USD 10, sekitar PLN 44; untuk 0.5 lot sekitar PLN 22 per pip.
- Harga masuk rencana: 1.0850
- Harga masuk aktual: 1.0852 (slippage 2 pip)
- SL rencana: 1.0820 (risiko 30 pip)
- TP rencana: 1.0910 (60 pip = 2R)
- Keluar aktual: 1.0908 (slippage 2 pip pada TP)
- Spread saat masuk: 0.8 pip
- Komisi ECN: PLN 4 pulang-pergi
- Swap: 0 (posisi ditutup hari yang sama)
Menghitung R_net dari pengisian aktual broker:
- PnL dari pengisian aktual: (1.0908 − 1.0852) / 0.0001 = 56 pip; dalam PLN: 56 × 22 = PLN 1232. Slippage masuk dan keluar sudah tercakup karena perhitungan memakai harga aktual.
- Komisi ECN: PLN 4. Swap: 0.
- PnL neto aktual: 1232 − 4 = PLN 1228.
- Risiko rencana: |1.0850 − 1.0820| / 0.0001 = 30 pip; 30 × 22 = PLN 660.
- R_net = 1228 / 660 ≈ +1.86R.
Menghitung hambatan eksekusi sebagai diagnostik terpisah:
- PnL bruto rencana dengan pengisian ideal tanpa biaya: (1.0910 − 1.0850) / 0.0001 × 22 = 60 × 22 = PLN 1320.
- PnL neto aktual: PLN 1228.
- Selisih: 1320 − 1228 = PLN 92.
- execution_drag_R = 92 / 660 ≈ 0.14R. Transaksi keluar pada target, jadi tolok ukur keluar rencana ialah TP; biaya eksekusi menghabiskan sekitar 14% risiko rencana.
Untuk stop-out, hitung hambatan terhadap SL rencana. Jika baik masuk maupun stop terisi tepat pada harga rencana dan komisi PLN 4, hambatan ialah 4 / 660 ≈ 0.01R, bukan sekitar 3R yang dihasilkan perbandingan TP. Jika slippage masuk 2 pip sebelumnya dipertahankan, biayanya PLN 44 + PLN 4, atau 48 / 660 ≈ 0.07R. Ekstrapolasi memerlukan asumsi terpisah eksplisit: “setelah 100 transaksi, hambatan sekitar 14R, atau sekitar 14% modal per tahun pada risiko 1% per transaksi” hanya berlaku pada skenario 100 keluar target dengan slippage sama tiap kali. Dalam jurnal nyata, hitung hambatan seluruh transaksi tutup dan periksa keluar stop serta target secara terpisah: distribusinya berbeda dan mencampurnya mengaburkan diagnosis. Biaya bukan detail pembulatan; ini memberi informasi untuk pilihan broker, pasangan, dan timeframe. Pertahankan r_net untuk pembukuan kinerja dan execution_drag_R untuk memperbaiki eksekusi; jangan gabungkan kedua pengurangan dalam satu rumus.
Mengapa R-multiple, bukan persentase atau PLN?
| Unit | Yang ditunjukkan | Keterbatasan |
|---|---|---|
| PLN | Laba atau rugi absolut | Mengabaikan risiko: laba PLN 200 dengan risiko PLN 50 berbeda dari laba sama dengan risiko PLN 600. |
| % | Dampak pada akun | Bergantung ukuran: ukuran lebih besar menghasilkan persentase lebih besar, tanpa harus mencerminkan keputusan lebih baik. |
| Pip | Pergerakan harga | Tidak membuat pasangan bervolatilitas berbeda, misalnya EUR/USD dan USD/MXN, dapat dibandingkan. |
| R-multiple | Laba yang dinormalisasi terhadap risiko | Memerlukan disiplin menentukan risiko sebelum masuk. |
R-multiple memberi unit berbasis risiko yang sama untuk membandingkan scalp dengan swing, EUR/USD dengan GBP/JPY, dan posisi kecil dengan besar. Setelah setahun dan 200 transaksi dicatat, trader dapat menyatakan tepat: “Setup A+ saya rata-rata +0.84R, B +0.21R, dan C −0.13R.” Di situlah kontribusi jurnal berakhir. Menonaktifkan C atau tidak bergantung interval di sekitar angka itu dan kriteria dalam Artikel 15.10, bukan sekadar tanda rata-ratanya.
Distribusi R-multiple — membaca 220 transaksi
Tiga observasi dari distribusi ini:
- Tingkat kemenangan rendah, tetapi hasil positif dalam sampel ini: 44.5% transaksi positif, yaitu 98 dari 220 di atas 0R, sementara ekor kanan — 17 transaksi +2R atau lebih, termasuk satu +5R — menyumbang seluruh ekspektansi positif. Hapus ketujuh belasnya dan total R menjadi negatif.
- Median 0R, rata-rata +0.13R: selisih menunjukkan laba datang dari ekor. Separuh transaksi berakhir nol atau di bawahnya. Ini ciri mengikuti tren dan menjelaskan mengapa median dan rata-rata harus ditampilkan bersama, bukan saling dipertukarkan.
- Kembali ke rata-rata dapat menunjukkan bentuk sebaliknya: ilustrasi sumber memiliki kemenangan tinggi 60–70%, rata-rata untung kecil +0.5R, dan ekor kiri panjang dengan kerugian langka −2R atau −3R ketika kembali ke rata-rata gagal. Ini pola contoh, bukan karakteristik strategi yang terjamin.
Distribusi sama dipakai nanti untuk Sharpe dan Sortino pada Bagian 6 serta SQN pada Bagian 4: rata-rata +0.130R dan simpangan baku 1,182R, menghasilkan Sharpe per transaksi 0.11, SQN 1.10 dengan N dibatasi 100, dan Sortino benar 0.21. Ingat angka ini: distribusi tampak “sehat” dengan faktor laba 1.31 terlihat lemah dalam tabel ambang populer. Itu saja tidak membatalkan distribusi; ambang mungkin mengasumsikan definisi atau jumlah transaksi berbeda.
4. Ekspektansi neto — Pembeda sistem untung dari pemasaran
Ekspektansi menjawab satu pertanyaan mendasar: berapa yang saya harapkan untung atau rugi tiap transaksi, dalam unit R? Tanpa metrik ini, Anda tidak tahu kelayakan matematis strategi. Dengannya, Anda dapat mengestimasi hasil rata-rata selama N transaksi menurut asumsi model; estimasi bukan jaminan sampel berikutnya atau imbal hasil modal.
Rumus ekspektansi baku
Rumusan struktural standar, digunakan dalam backtest dan pemodelan teoretis pratransaksi:
Ekspektansi = (WR × avg_win_R) − ((1 − WR) × avg_loss_R) − costs_per_trade_R
Satu catatan statistik penting: suku (1 − WR) menggabungkan transaksi yang tutup tepat 0.00R ke kategori rugi. Jika distribusi memiliki transaksi impas, bagi sampel menjadi tiga populasi terpisah — E = pw × avgWin − pl × |avgLoss|, dengan pw + pl + p0 = 1 — inilah implementasi persis dalam skrip Python di bawah dan buku sintetis pada Bagian 5.
Dengan:
- WR — tingkat kemenangan, dinyatakan sebagai pecahan desimal, misalnya 0.55 = 55%.
- avg_win_R — rata-rata R-multiple transaksi untung, misalnya +1.80R.
- avg_loss_R — nilai absolut rata-rata R-multiple transaksi rugi, misalnya 1.00R dengan disiplin stop ketat.
- costs_per_trade_R — friksi agregat, yaitu spread + slippage + swap + komisi, dinormalisasi sebagai persentase risiko rencana R, misalnya 0.10R.
r_net dari PnL neto laporan broker aktual, Bagian 3, ekspektansi riil hanyalah rata-rata aritmetis kolom r_net — biaya eksekusi sudah tercakup. Rumus diperluas memakai WR, avgWin, dan avgLoss digunakan untuk diagnosis struktural untuk menentukan apakah keunggulan berasal dari tingkat kemenangan tinggi dengan target kecil atau tingkat kemenangan rendah dengan perluasan ekor kanan, serta untuk validasi backtest. Jangan kurangkan biaya friksi dua kali.Tiga tolok ukur kerja ekspektansi
Ambang tabel ini adalah asumsi kerja ilustratif untuk perencanaan skenario, bukan kewajiban pasar universal. Hanya terapkan bersama interval kepercayaannya: jika interval melintasi batas ambang, keputusan strategis harus ditunda. Ukuran posisi menurut tingkat setup ditetapkan dalam Artikel 15.2, sementara kriteria penonaktifan formal dibahas dalam Artikel 15.10.
| Ekspektansi neto | Status sistem | Protokol operasional |
|---|---|---|
| > +0.50R | Luar biasa | Setup A+: alokasi playbook maksimum. |
| +0.30R hingga +0.50R | Kuat | Setup A: alokasi standar rencana. |
| +0.15R hingga +0.30R | Marjinal | Setup B: alokasi dikurangi menurut playbook risiko. |
| 0.00 hingga +0.15R | Meragukan | Sampel tidak cukup atau keunggulan tak dapat dibedakan dari noise — kumpulkan observasi lagi sebelum mengubah aturan. |
| < 0.00R | Tidak menguntungkan | Kandidat penonaktifan — nilai interval kepercayaan dan terapkan kriteria dari Artikel 15.10 alih-alih bertindak hanya berdasarkan rata-rata nominal. |
Ukuran sampel minimum untuk validasi ekspektansi
Jebakan paling berbahaya trader ritel ialah menghitung ekspektansi pada 30 hingga 50 transaksi lalu menganggap desimalnya kebenaran tetap. Teori probabilitas menunjukkan sebaliknya:
- 50 transaksi — interval kepercayaan 95% tingkat kemenangan sekitar ±14 poin persentase, interval Wald pada p = 0.55 dengan asumsi percobaan independen; pengelompokan dan paparan peristiwa bersama dapat memperlebar interval. Kemenangan teramati 55% dapat mewakili parameter populasi sebenarnya 41% atau 69%.
- 100 transaksi — interval sekitar ±10 pp, masih terlalu lebar untuk membenarkan meninggalkan setup mapan.
- 200 transaksi — interval menyempit menjadi sekitar ±7 pp.
- 500 transaksi — interval menyempit menjadi sekitar ±4 pp. Estimasi lebih sempit, tetapi tetap dibatasi ketidakpastian probabilistik.
Aturan operasional bukan “jangan memutuskan sebelum 100 transaksi”, melainkan: putuskan berdasarkan interval kepercayaan, bukan estimasi titik. Jika interval kepercayaan 95% ekspektansi setup mencakup ambang keputusan operasional, keputusan ditunda hingga siklus audit berikutnya, baik sudah mencatat 40 maupun 400 transaksi. Ukuran sampel masuk melalui lebar interval; jumlah bukan minimum universal atau validasi tersendiri. Menghentikan trading karena risiko operasional, seperti batas drawdown terlampaui atau eksekusi broker gagal, selalu diperbolehkan dan tidak menunggu signifikansi statistik.
Jebakan biaya friksi: backtest versus hambatan eksekusi riil
Trader ritel sering mengevaluasi ekspektansi teoretis bruto sambil mengabaikan spread, slippage, komisi, dan pembiayaan rollover. Backtest ideal +0.50R bruto sering menurun menjadi +0.20R neto pada kondisi riil. Selama setahun, saldo stagnan karena trader merealisasikan +0.20R, bukan +0.50R, pada 200 transaksi.
Keharusan metodologis: Jika r_net diperoleh dari PnL neto laporan, Bagian 3, biaya sudah tercakup — spread, slippage, dan biaya dilacak terpisah sebagai hambatan eksekusi, tidak pernah dikurangkan dua kali. Jika ekspektansi dihitung dari grafik candle ideal, friksi harus dikurangkan eksplisit. Jangan campur kedua metode. Contoh hipotetis berikut menghitung hambatan eksekusi, bukan pengurangan kedua PnL neto:
Contoh konkret biaya per transaksi dalam R, dengan akun PLN dan kurs ilustratif asli:
- Pasangan: EUR/USD; broker ECN; spread 0.2 pip; komisi USD 7 per lot standar pulang-pergi; slippage rata-rata 0.3 pip tiap sisi.
- Setup tipikal: SL 30 pip, ukuran 0.3 lot, ilustrasi USD/PLN ≈ 4.40; nilai pip 0.3 lot ≈ PLN 13.20.
- Risiko rencana: 30 × 13.20 = PLN 396.
- Biaya: spread 0.2 × 13.20 = PLN 2.64; slippage masuk dan keluar 0.6 pip × 13.20 = PLN 7.92; komisi USD 7 × 0.3 lot = USD 2.10 ≈ PLN 9.24. Total: sekitar PLN 19.80.
- Biaya dalam R: 19.80 / 396 = 0.05R, atau 5% risiko rencana.
Contoh lain — pasangan lebih mahal dan stop lebih ketat:
- Pasangan: GBP/JPY; broker market maker; spread 2.5 pip; tanpa komisi; slippage 1 pip tiap sisi.
- Nilai pip 0.1 lot pada ilustrasi USD/JPY ≈ 150 dan USD/PLN ≈ 4.40: satu lot standar menghasilkan JPY 1000 per pip; 1000 / 150 ≈ USD 6.67, atau PLN 29.33 pada 4.40. Untuk 0.1 lot, sekitar PLN 2.93 per pip.
- Setup ketat: SL 25 pip, ukuran 0.1 lot; risiko 25 × 2.93 = PLN 73.25, atau sekitar PLN 73.
- Biaya posisi: spread 2.5 × 2.93 ≈ PLN 7.33; slippage masuk 1 × 2.93 = PLN 2.93; slippage keluar 1 × 2.93 = PLN 2.93; total PLN 13.19 dengan pembulatan yang ditampilkan.
- Biaya dalam R: 13.19 / 73.25 ≈ 0.18R, atau sekitar 18% risiko rencana sudah habis oleh biaya sejak awal.
Ini menunjukkan jebakan biaya proporsional: slippage pip yang sama menghabiskan jauh lebih banyak R jika stop ketat. Karena itu stop 25 pip pada pasangan berspread 2.5 pip sulit dibenarkan dari biaya saja. Asumsi kerja di sini ialah ambang skenario ilustratif, bukan standar pasar: biaya di atas 5–8% risiko rencana mulai memengaruhi hasil secara material, memicu peninjauan broker, pasangan, atau timeframe dengan stop teknis lebih lebar. Uji relevan berasal dari jurnal Anda: bagi biaya rata-rata dalam R dengan ekspektansi bruto dan periksa sisa ekspektansinya.
System Quality Number (SQN) Van Tharp — rumus, batas N, dan skala
dengan E menyatakan ekspektansi neto dalam R, σR menyatakan simpangan baku R-multiple; contoh numerik dan skrip di sini memakai konvensi populasi,
ddof=0), serta n menyatakan total transaksi tutup. Batas pada N = 100 merupakan komponen eksplisit spesifikasi asli Dr. Van K. Tharp[1]: setelah 100 transaksi, N dibatasi pada 100; jika tidak, sampel yang bertambah akan terus menaikkan skor tanpa perbaikan struktural kualitas strategi.
Skala interpretasi penulis metode ditampilkan lengkap di sini. Artikel lain harus merujuk ke sini, bukan mengulang varian berbeda: tiga “skala Tharp” yang tidak konsisten dalam tiga artikel akan merusak konsistensi kursus.
| Skor SQN | Klasifikasi asli penulis |
|---|---|
| < 1,6 | Buruk |
| 1,6 – 1,9 | Di bawah rata-rata, tetapi dapat diperdagangkan |
| 2,0 – 2,4 | Rata-rata |
| 2,5 – 2,9 | Baik |
| 3,0 – 5,0 | Sangat baik |
| 5,1 – 6,9 | Luar biasa |
| ≥ 7,0 | “Cawan Suci” — ditafsirkan penulis sebagai tanda bahaya untuk menyelidiki penyetelan parameter berlebihan dan sampel tidak memadai, bukan lencana keunggulan tanpa dasar. |
Tiga catatan penting mencegah salah tafsir: pertama, skala ini heuristik penulis, bukan standar pasar. Kedua, SQN meningkat dengan akar kuadrat N hingga 100 transaksi; perbandingan hanya sah jika N sama — distribusi dasar 220 transaksi Bagian 3 menghasilkan 1.10 pada N = 100, tetapi mencapai 1.63 jika n = 220 dimasukkan secara naif tanpa batas. Ketiga, SQN adalah metrik sinyal terhadap noise, bukan arahan ukuran posisi; tidak menggantikan interval kepercayaan ekspektansi neto.
Segmentasi sampel — menghindari bias seleksi
Jurnal terstruktur memungkinkan data disegmentasi menurut setup, sesi, rezim pasar, dan versi playbook. Jaga kewaspadaan statistik: makin banyak subsegmen dibandingkan, makin tinggi kemungkinan kelompok terbaik hanyalah artefak noise acak. Memilih yang terbaik dari dua belas setup adalah seleksi data, bukan estimasi parameter sejati. Arsitektur formal kalibrasi in-sample versus validasi out-of-sample dijelaskan dalam Artikel 15.4, sementara keputusan pertahankan/ubah/nonaktifkan dibahas dalam Artikel 15.10. Jurnal harus memberi jumlah observasi dan interval setiap bagian, bukan sekadar peringkat.
Interval kepercayaan bootstrap — mengapa +0.22R adalah hipotesis, bukan keunggulan
Ekspektansi neto teramati +0.22R dari 42 transaksi bukan keunggulan terbukti, melainkan hipotesis empiris yang belum diuji. Bootstrap nonparametrik memperlihatkannya: ambil 10000 sampel ulang dengan pengembalian dari 42 transaksi itu, hitung rata-rata masing-masing, lalu plot distribusi rata-ratanya untuk membentuk batas kepercayaan empiris. Dokumentasikan temuan dalam satu kalimat dengan tiga komponen sama setiap kali: n, metode, dan asumsi:
“Untuk n = 42 transaksi, interval ekspektansi 95% adalah (−0.17R; +0.61R) pada std(R) = 1.3R. Titik batas yang ditampilkan adalah pemeriksaan pendekatan normal, ±1.96 × std / √n; ini bukan hasil bootstrap terhitung. Bootstrap yang dimaksud memakai 10000 sampel ulang dengan pengembalian, dapat asimetris jika distribusi R menceng, dan keluaran sebenarnya itulah yang harus dicatat. Kedua pendekatan mengasumsikan observasi independen; pengelompokan dan peristiwa bersama dapat memperlebar interval. Karena interval mencakup nol, keputusan setup ditunda hingga tinjauan berikutnya.”
Ukuran sampel saja tidak memutuskan apa pun; lebar interval terhadap batas keputusan menentukan semua kesimpulan. Untuk setup jarang yang hanya menghasilkan segelintir sinyal per bulan, verifikasi bootstrap tidak boleh diabaikan: tanpanya, 50 transaksi setahun tampak kuat padahal noise statistik tersebar dua belas bulan.
Skrip Python: menghitung metrik kinerja dari CSV
Skrip berikut menghitung ekspektansi neto, faktor laba, Sharpe per transaksi, Sortino, SQN, MAE/MFE, dan drawdown ekuitas langsung dari CSV jurnal standar 29 kolom:
import pandas as pd
import numpy as np
# Muat jurnal transaksi dari CSV (29 kolom sesuai Bagian 2)
df = pd.read_csv('journal.csv')
# Batasi pada posisi tutup dengan R-multiple neto yang sudah dihitung
df = df.dropna(subset=['r_net'])
# Tegakkan urutan kronologis ketat. Tanpanya, kurva ekuitas
# dan metrik drawdown mencerminkan urutan ekspor, bukan riwayat akun.
df['close_time_utc'] = pd.to_datetime(df['close_time_utc'], utc=True)
df = df.sort_values('close_time_utc').reset_index(drop=True)
total = len(df)
if total == 0:
raise SystemExit('Tidak ditemukan transaksi tutup — metrik tak terdefinisi, bukan nol.')
r = df['r_net']
# Tiga populasi berbeda: untung, rugi, dan impas persis.
wins = r[r > 0]
losses = r[r < 0]
zeros = r[r == 0]
wr = len(wins) / total
p_loss = len(losses) / total
avg_win = wins.mean() if len(wins) else float('nan')
avg_loss = abs(losses.mean()) if len(losses) else float('nan')
# Ekspektansi neto sama dengan rata-rata aritmetis r_net (biaya sudah tercakup)
expectancy = r.mean()
# Pemeriksaan silang struktural: harus cocok tepat dengan rata-rata aritmetis
structural_check = ((wr * avg_win if len(wins) else 0.0)
- (p_loss * avg_loss if len(losses) else 0.0))
# Faktor laba. Tanpa kerugian = tak terdefinisi, bukan "kesempurnaan tak terbatas"
sum_wins = wins.sum()
sum_losses = abs(losses.sum())
profit_factor = sum_wins / sum_losses if sum_losses > 0 else float('nan')
# Statistik R per transaksi dan SQN dengan konvensi N = min(n, 100) yang dipilih
sd = r.std(ddof=0)
sharpe = expectancy / sd if sd > 0 else float('nan')
sqn = sharpe * np.sqrt(min(total, 100))
# Rasio Sortino: deviasi sisi bawah pada SELURUH populasi, MAR = 0
mar = 0.0
dside = np.sqrt((np.minimum(r - mar, 0) ** 2).mean())
sortino = (expectancy - mar) / dside if dside > 0 else float('nan')
# Interval kepercayaan analitis 95% untuk ekspektansi (asumsi i.i.d.)
se = r.std(ddof=1) / np.sqrt(total)
ci = (expectancy - 1.96 * se, expectancy + 1.96 * se)
# Evaluasi drawdown pada kurva ekuitas dengan fraksi risiko tetap f per transaksi.
# Modal awal (1.0) WAJIB ditambahkan di awal larik puncak berjalan;
# jika tidak, jurnal yang dimulai dengan rugi melaporkan drawdown 0% yang menyesatkan.
f = 0.01 # parameter skenario kerja, bukan universal
equity = pd.concat([pd.Series([1.0]), (1 + r * f).cumprod()], ignore_index=True)
run_max = equity.cummax()
max_dd = ((equity - run_max) / run_max).min()
# Analisis MAE / MFE dihitung pada baris terisi
mae_win = mae_loss = mfe_win = float('nan')
if {'mae_r', 'mfe_r'}.issubset(df.columns):
m = df.dropna(subset=['mae_r', 'mfe_r'])
if len(m):
mae_win = m.loc[m['r_net'] > 0, 'mae_r'].mean()
mae_loss = m.loc[m['r_net'] < 0, 'mae_r'].mean()
mfe_win = m.loc[m['r_net'] > 0, 'mfe_r'].mean()
# Rincian tersegmentasi per setup dan versi playbook
print(df.groupby(['setup', 'strategy_version']).agg({
'r_net': ['count', 'mean', 'sum', 'std']
}))
print(f"Ukuran sampel (n): {total} (Untung: {len(wins)}, Rugi: {len(losses)}, Impas: {len(zeros)})")
print(f"Tingkat kemenangan: {wr:.1%}")
print(f"Ekspektansi neto: {expectancy:+.2f}R (Pemeriksaan struktural: {structural_check:+.2f}R)")
print(f"IK 95% ekspektansi: ({ci[0]:+.2f}R; {ci[1]:+.2f}R)")
print(f"Faktor laba: {profit_factor:.2f}")
print(f"Sharpe per transaksi: {sharpe:.2f} | SQN (batas N=100): {sqn:.2f}")
print(f"Rasio Sortino (deviasi sisi bawah penuh, MAR=0): {sortino:.2f}")
print(f"Drawdown ekuitas maksimum (pada f={f:.0%}): {max_dd:.1%}")
print(f"Rata-rata MAE untung: {mae_win:.2f}R | Rata-rata MAE rugi: {mae_loss:.2f}R | Rata-rata MFE untung: {mfe_win:.2f}R")
Skrip mengasumsikan struktur CSV Bagian 2 dan memerlukan empat kolom terisi: r_net, close_time_utc (urutan waktu wajib untuk ekuitas dan drawdown), serta setup beserta strategy_version untuk segmentasi. mae_r dan mfe_r opsional; data hilang atau kosong membuat metriknya tak terdefinisi, bukan nol. Sebelum mengandalkan hasil, validasi terhadap tolok ukur terverifikasi, misalnya buku sintetis 6 transaksi pada Bagian 5, dan pastikan hasil cocok persis dengan perhitungan manual. Uji file sintetis kedua yang dimulai dengan transaksi rugi: ini mengisolasi apakah skrip memasukkan ekuitas awal dengan benar dalam maksimum berjalan; skrip cacat menampilkan drawdown 0% pada kerugian pertama. Skrip diagnostik yang belum dibandingkan dengan kasus tepi yang diketahui hanyalah sumber kepercayaan diri tak berdasar lainnya.
5. Faktor laba dan faktor pemulihan — pertanyaan berbeda, jawaban berbeda
Ekspektansi neto mengukur “berapa rata-rata yang saya harapkan tiap transaksi”. Faktor laba dan faktor pemulihan menjawab pertanyaan struktural yang sangat berbeda; mengabaikannya menyembunyikan dimensi penting kesehatan sistem.
Faktor laba — rasio total laba terhadap total rugi
Tolok ukur kedua tabel bagian ini adalah asumsi kerja ilustratif, bukan standar pasar, dan hanya bermakna statistik bila disertai ukuran sampel. Faktor laba dari R-multiple neto memberi penilaian neto tanpa pemolesan; sampel tanpa kerugian menghasilkan PF tak terdefinisi, tidak pernah “sistem sempurna tak terbatas”.
Faktor laba (PF) = sum_of_all_wins / abs(sum_of_all_losses)
Pertanyaan inti yang dijawab: Apakah sistem saya menghasilkan laba kumulatif melebihi kerugian kumulatif, dan tepat berapa kali?
| Faktor laba | Interpretasi analitis |
|---|---|
| < 1,00 | Sistem rugi — kerugian kumulatif melebihi laba kumulatif. |
| 1,00 − 1,30 | Kelayakan marjinal — rentan terhadap lonjakan friksi eksekusi kecil. |
| 1,30 − 1,50 | Kinerja operasional dapat diterima untuk setup tingkat B. |
| 1,50 − 2,00 | Sistem profesional tingkat A yang kuat. |
| 2,00 − 3,00 | Sistem trading A+ luar biasa. |
| > 3,00 | Biasanya indikator curve-fitting atau sampel sangat kurang — verifikasi out-of-sample. |
Faktor laba intuitif bagi trader tanpa pendidikan statistik formal: “untuk tiap PLN 1 rugi, strategi memberi PLN 1.80 laba”. Namun kelemahannya, distribusi diabaikan. Sistem PF 1.80 dari 200 transaksi tidak dapat disamakan secara struktural dengan PF 1.80 dari 20 transaksi. Selalu evaluasi faktor laba langsung bersama jumlah transaksi dan ekspektansi neto.
Faktor pemulihan — laba neto kumulatif terhadap drawdown maksimum
Faktor pemulihan (RF) = total_net_profit / max_drawdown
Pertanyaan inti yang dijawab: Berapa kali imbal hasil neto total melampaui drawdown historis terdalam? Dengan kata lain, berapa kali strategi bisa melewati keterpurukan historis terburuk sambil tetap mempertahankan keuntungan modal keseluruhan?
Misalnya imbal hasil tahunan +35% dengan drawdown maksimum tahun yang sama −12% menghasilkan RF = 35 / 12 = 2.92. Kedua angka harus berasal dari kurva ekuitas sama persis dan periode identik — laba periode dibagi drawdown periode itu. Membagi CAGR beberapa tahun dengan drawdown satu tahun menciptakan metrik tidak ilmiah yang membandingkan parameter tak sepadan.
| Faktor pemulihan | Interpretasi analitis |
|---|---|
| < 1,00 | Drawdown melebihi laba total — eksposur risiko penurunan tak proporsional. |
| 1,00 − 2,00 | Imbal hasil neto menutup drawdown, tetapi buffer terlalu tipis. |
| 2,00 − 3,00 | Sistem trading kuat dan tahan tekanan. |
| 3,00 − 5,00 | Luar biasa — imbal hasil modal melebihi drawdown historis maksimum 3–5×. |
| > 5,00 | Istimewa, tetapi sering artefak statistik durasi sampel terbatas. |
Faktor pemulihan sangat berguna sebagai pengukur psikologis: bila imbal hasil tahunan 30% memerlukan drawdown puncak-ke-lembah 25% yang berat, RF = 1.20, pertanyakan apakah tekanannya sepadan dengan hasil. Sumber membingkai kompromi sebagai memilih RF di atas 2 dengan CAGR lebih rendah daripada imbal hasil lebih tinggi disertai drawdown dalam; ini preferensi yang harus dinilai, bukan statistik mapan tentang trader profesional.
Tingkat kemenangan versus faktor laba — kekeliruan klasik ritel
Trader ritel sering menyamakan kemenangan dengan kualitas: “Kemenangan saya 75%, jadi strateginya pasti untung.” Kesimpulan itu tidak sah secara matematis. Kemenangan 75% dengan rata-rata untung +0.50R dan rata-rata rugi −2.50R menghasilkan:
- Ekspektansi neto: 0.75 × 0.50 − 0.25 × 2.50 = 0.375 − 0.625 = −0.25R per transaksi sistem yang jelas merugi.
- Faktor laba: (0.75 × 0.50) / (0.25 × 2.50) = 0.375 / 0.625 = 0,60 — setiap PLN 1 rugi, sistem hanya memperoleh PLN 0.60 laba.
Tingkat kemenangan tinggi tanpa disertai kendali ketat rasio hasil menang/kalah adalah ciri strategi kembali ke rata-rata ceroboh tanpa disiplin stop. Satu kerugian besar menghapus banyak kemenangan. Faktor laba langsung mengungkapnya — kemenangan 75% dengan faktor laba 0.60 tetap merugi meski sering menang.
Buku audit jurnal sintetis — enam transaksi dan metrik direkonsiliasi
Skenario ilustratif berbasis data sintetis, bukan kinerja akun historis. Enam baris di bawah tidak diambil dari akun mana pun dan tidak menunjukkan efektivitas strategi. Mata uang PLN sumber dipertahankan; data sintetis dirancang untuk memperlihatkan rekonsiliasi matematis lengkap dari risiko awal R0 hingga drawdown maksimum pada sampel yang cukup kecil untuk diperiksa manual. Konvensi standar berlaku sepanjang contoh: R0 menyatakan risiko awal rencana yang dikunci sebelum eksekusi; r_net menyatakan PnL neto laporan resmi broker setelah biaya dan pembiayaan, dibagi R0.
trade_id | Setup dan versi | R0 (PLN) | PnL neto broker (PLN) | r_net | Catatan audit eksekusi |
|---|---|---|---|---|---|
| T-001 | LON-breakout-A+ v1.2 | 400 | +720 | +1,80 | Keluar target bersih pada TP rencana. |
| T-002 | LON-breakout-A+ v1.2 | 400 | −412 | −1,03 | Stop terisi dengan slippage — rugi lebih buruk dari −1.0R; penyebut tetap terkunci. |
| T-003 | NY-mean-revert-B v0.9 | 300 | −300 | −1,00 | Stop terisi bersih tanpa slippage. |
| T-004 | NY-mean-revert-B v0.9 | 300 | +9 | +0,03 | Kasus batas: penutupan manual diskresioner dekat impas — hasil neto positif. |
| T-005 | LON-breakout-A+ v1.2 | 500 | +625 | +1,25 | Penutupan parsial: dua pengisian pada trade_id yang sama; PnL neto dijumlahkan, R0 dihitung sekali. |
| T-006 | LON-breakout-A+ v1.2 | 500 | −510 | −1,02 | Terkena stop; komisi merupakan biaya di luar definisi awal R0. |
Perhitungan bertahap yang diturunkan hanya dari kolom r_net tersebut:
- Tingkat kemenangan = 3 / 6 = 50,0%. Transaksi T-004 dengan +0.03R termasuk menang karena neto benar-benar positif; jika tutup tepat 0.00R, masuk populasi ketiga yang impas, bukan rugi. Inilah yang keliru ditangani jalan pintas
(1 − WR) × avgLoss. - R kumulatif = 1,80 − 1,03 − 1,00 + 0,03 + 1,25 − 1,02 = +0.03R.
- Ekspektansi neto = +0,03 / 6 = +0.005R per transaksi. Pemeriksaan struktural: rata-rata untung = +1,027R, rata-rata rugi = −1,017R; jadi (0.50 × 1,027) − (0.50 × 1,017) = +0.005R — terkonfirmasi.
- Faktor laba = (1,80 + 0,03 + 1,25) / (1,03 + 1,00 + 1,02) = 3,08 / 3,05 = 1,01.
- Drawdown maksimum dinilai pada R kumulatif, diambil setelah tiap transaksi; ini drawdown dalam R, bukan persentase modal akun, sehingga harus dilabeli: 0.00 → +1.80 → +0.77 → −0.23 → −0.20 → +1.05 → +0.03R. Puncak berjalan +1.80R; lembah berikutnya −0.23R; maka DD maks = 1.80 − (−0.23) = 2.03R. Pada akhir sampel, +0.03R versus puncak +1.80R, drawdown belum pulih; durasi pemulihan dinyatakan tak terdefinisi secara eksplisit, bukan dihilangkan.
- Interval kepercayaan: std(R) = 1,257, galat baku = 1,257 / √6 = 0.513; interval kepercayaan 95% pendekatan normal untuk ekspektansi, dengan asumsi independen, mencakup (−1.00R; +1.01R).
Pelajaran utama buku ini: enam transaksi menunjukkan rekonsiliasi aritmetis, tetapi tidak membuktikan keunggulan statistik apa pun. Interval melintasi nol, mencakup ambang kelayakan +0.15R, dan menjangkau kerugian parah — satu transaksi tambahan menggeser ekspektansi lebih besar daripada keunggulan yang diklaim. Buku ini hanya menjawab “apakah rumus saya cocok dengan benar?” Bukan kelayakan strategi. Mengevaluasi buku yang sama pada 600 transaksi memberi substansi statistik, tetapi rumus matematis tetap sama; hanya interval kepercayaannya menyempit.
6. Sharpe dan Sortino — kapan berguna bagi trader ritel
Rasio Sharpe dan Sortino menjadi standar utama institusional dalam atribusi kinerja hedge fund, tetapi sering menyesatkan saat diterapkan tanpa kritik pada trading ritel. Namun jika disesuaikan ke kerangka per transaksi, bukan volatilitas portofolio tahunan, keduanya memberi informasi diagnostik penting yang tidak diungkap ekspektansi neto maupun faktor laba.
Rasio Sharpe per transaksi — imbal hasil per unit volatilitas hasil
Sharpe = (mean_R − risk_free_rate) / std_R
Untuk diagnostik per transaksi di sini, tolok ukur ditetapkan nol dan hasil diukur dalam R. Ini konvensi, bukan klaim bahwa normalisasi menjadikan bunga bebas risiko ekonomi nol. Hasilnya:
Sharpe ≈ mean(R) / std(R)
Artinya: berapa imbal hasil sistem per unit dispersi hasil transaksi. Nilai lebih tinggi menunjukkan rata-rata lebih besar dibanding dispersi, bukan jaminan urutan mulus atau dapat diprediksi. Sharpe rendah berarti hasil tersebar lebar meskipun ekspektansi neto nominal tetap positif.
Rentang interpretasi tabel adalah asumsi kerja ilustratif dan hanya boleh dievaluasi bersama ukuran sampel persis yang dipakai menghitungnya.
| Sharpe (per transaksi) | Interpretasi analitis |
|---|---|
| < 0,10 | Noise hasil tinggi; ekspektansi mungkin positif, tetapi ekuitas berayun berat. |
| 0,10 − 0,20 | Dapat diterima untuk strategi mengikuti tren yang secara alami mengelompok dan bergejolak. |
| 0,20 − 0,40 | Sistem trading kuat dengan keyakinan tinggi. |
| 0,40 − 0,60 | Luar biasa — jarang bertahan di lingkungan trading ritel. |
| > 0,60 | Indikator curve-fitting ekstrem atau sampel sangat kurang — verifikasi out-of-sample. |
Sharpe tahunan institusional tidak dapat diterjemahkan 1:1 ke metrik per transaksi. Pengubahan tahunan menggunakan Sharpe_per transaksi × √N, dengan N jumlah transaksi tahunan. Jadi Sharpe per transaksi 0.30 yang sama menghasilkan tahunan 1.50 pada 25 transaksi/tahun, 2.00 pada 44, 4.20 pada 200, dan 7.30 pada 600. Satu skor per transaksi memberi empat rasio tahunan sangat berbeda. Penskalaan ini juga mengasumsikan independensi ketat, yang dapat gagal pada pasangan atau rezim sama. Ketergantungan positif dapat memperbesar hasil tahunan ini. Selalu laporkan Sharpe per transaksi bersama jumlah transaksi; angka tahunan tanpa frekuensi tidak bermakna statistik.
Kelemahan fatal Sharpe — menghukum volatilitas sisi atas
Sharpe klasik menganggap seluruh dispersi sekitar rata-rata risiko tidak diinginkan. Ketika strategi menangkap tren besar dengan kemenangan ekor +5.0R atau +8.0R, simpangan baku sampel meningkat tajam dan rumus Sharpe menghukum skor Anda. Secara ekonomi ini absurd: trader tidak semestinya dihukum karena keuntungan pencilan positif yang menguntungkan.
Untuk mengatasi distorsi ini, Dr. Frank A. Sortino mengembangkan rumusan alternatif[2]: hanya mengukur varians sisi bawah.
Rasio Sortino — imbal hasil per unit risiko sisi bawah
Sortino = (mean(R) − MAR) / DD, dengan DD = √( Σ min(Ri − MAR, 0)² / n ), dan MAR = 0
Unsur matematis pentingnya ialah ukuran sampel n pada penyebut: deviasi sisi bawah harus dinilai pada seluruh populasi transaksi, dengan memasukkan nol untuk transaksi yang hasilnya pada atau di atas imbal hasil minimum yang diterima, MAR, bukan menghitung simpangan baku transaksi rugi saja. Perbedaannya besar. Varian “simpangan baku hanya rugi” tidak menghukum frekuensi transaksi rugi: sampel 99 menang dan 1 rugi memberi dispersi rugi nol dan Sortino tak terdefinisi atau amat membesar. Pada dasar 220 transaksi Bagian 3, deviasi sisi bawah benar 0.631 menghasilkan Sortino = 0.21; varian cacat “hanya rugi” memberi 0.205 dan “Sortino” buatan 0.63 — distorsi tiga kali. Sebelum membandingkan Sortino dengan tolok ukur luar, periksa definisi matematisnya.
Sortino hanya menghukum volatilitas sisi bawah. Transaksi untung besar menaikkan pembilang tanpa menaikkan deviasi sisi bawah penyebut. Karena itu, pada sistem tren menceng kanan, Sortino secara konsisten lebih besar daripada Sharpe.
| Sortino (per transaksi, deviasi sisi bawah penuh) | Interpretasi analitis |
|---|---|
| < 0,10 | Varians sisi bawah besar relatif terhadap rata-rata — modal sering tergerus. |
| 0,10 – 0,20 | Kelayakan operasional dapat diterima. |
| 0,20 – 0,35 | Kuat menurut skala ilustratif ini. |
| 0,35 – 0,50 | Sangat baik menurut skala ilustratif ini. |
| > 0,50 | Verifikasi ukuran sampel dan definisi matematis — jika rugi sedikit, penyebut tak stabil, dan rumusan “hanya rugi” memperbesar skor sekitar tiga kali dalam contoh Bagian 3, bukan dengan pengali universal. |
Rentang ilustratif ini dikalibrasi terhadap definisi ini — deviasi sisi bawah seluruh populasi — bukan standar pasar. Tidak dapat dibandingkan dengan tabel ambang berbasis simpangan baku kerugian saja, yang memperbesar hasil sekitar tiga kali dalam Bagian 3. Pengalinya tidak tetap: bergantung distribusi dan frekuensi rugi serta dapat menjadi amat besar ketika penyebut hanya-rugi mendekati nol. Distribusi Bagian 3 memiliki faktor laba 1.31 dan Sortino 0.21, diklasifikasikan “kuat” pada skala ini.
Aturan kerja: pada banyak strategi ritel dengan hasil asimetris, Sortino dapat mengungkap lebih banyak daripada Sharpe, tetapi keduanya tidak pasti jika hanya beberapa puluh transaksi. Simpangan baku sendiri memiliki interval estimasi lebar dan metrik turunannya mewarisi ketidakpastian itu. Sharpe menggambarkan seluruh fluktuasi; Sortino fokus hasil di bawah target. Pilih menurut gaya, frekuensi, dan distribusi hasil sistem Anda.
Kapan Sharpe dan Sortino gagal bagi trader ritel
- Sampel kecil — hanya beberapa puluh transaksi membuat varians hasil tidak stabil; selalu nyatakan ukuran sampel n bersama metrik.
- Strategi berbasis peristiwa yang sangat asimetris misalnya breakout NFP — kemenangan membentuk ekor panjang dan simpangan baku mungkin tidak mewakili volatilitas yang dianggap tipikal oleh trader.
- Frekuensi transaksi sangat rendah misalnya 5 swing per bulan — sumber memperingatkan sulit mengestimasi Sharpe tahunan secara andal dari hanya 60 observasi tahunan; masalahnya ketidakpastian estimator dan ketergantungan, bukan minimum numerik universal.
Bagi trader ritel tipikal dengan 200 hingga 600 transaksi tahunan pada strategi tren dan kembali ke rata-rata, Sortino menjadi kompas navigasi andal, sementara Sharpe per transaksi memberi validasi konteks sekunder.
7. MAE/MFE — yang diungkap tentang kualitas masuk dan keluar
Pergerakan merugikan maksimum, MAE, dan pergerakan menguntungkan maksimum, MFE, adalah dua metrik diagnostik yang mengungkap seberapa jauh harga bergerak melawan posisi dan seberapa jauh bergerak menguntungkan Anda selama masa aktif transaksi. Trader ritel jarang melacaknya, sehingga kehilangan alat empiris paling kuat untuk mengoptimalkan penempatan Stop Loss dan Take Profit.
Definisi MAE dan MFE
- MAE (pergerakan merugikan maksimum) — gerakan harga terjauh melawan posisi saat aktif, dalam R dari masuk. Misalnya beli EUR/USD pada 1.0850 dengan SL rencana 1.0820, risiko awal 30 pip. Sebelum tutup, harga turun ke 1.0825 → MAE = [(1.0850 − 1.0825) / 0.0001] / 30 = 25 / 30 = 0.83R.
- MFE (pergerakan menguntungkan maksimum) — gerakan harga tertinggi yang menguntungkan posisi saat aktif, dalam R sejak masuk. Beli pada 1.0850; harga memuncak 1.0920 sebelum mundur → MFE = [(1.0920 − 1.0850) / 0.0001] / 30 = 70 / 30 = 2.33R.
- Keduanya maksimum berjalan yang dinilai ketat pada interval tertutup masuk → keluar dan tidak dapat menurun. MFE tidak dapat “menyusut” ketika harga mundur — retracement menurunkan PnL terealisasi, bukan pergerakan puncak yang sudah dicapai. Setelah tutup, pengukuran MFE berakhir: harga selanjutnya termasuk dunia alternatif hipotetis, “bagaimana jika menahan lebih lama?”, dan harus dicatat dalam kolom riset terpisah. Mencampurnya dapat salah mengaitkan pergerakan setelah keluar TP penuh pada transaksi tertutup. Perbandingan TP sumber mengasumsikan seluruh posisi benar-benar tutup di target; target rencana saja bukan batas atas universal jika eksekusi berbeda atau sebagian posisi tetap terbuka.
Yang didiagnosis MAE dan MFE
MAE menjawab: Seberapa jauh harga bergerak melawan transaksi sebelum berakhir? Rata-rata MAE transaksi menang 0.40R merupakan hipotesis empiris bahwa stop memiliki buffer berlebih yang jarang diuji pasar, bukan bukti pasti untuk segera memperketat stop. Rata-rata saja tidak memutuskan apa pun karena tiga alasan: pertama, hanya transaksi penyintas yang dinilai, sebab terkena stop dikeluarkan menurut definisi. Kedua, rata-rata menyembunyikan ekor — beberapa transaksi menang dengan MAE 0.90R akan terkena stop lebih sempit, dan transaksi itulah yang sering menghasilkan laba ekor kanan. Ketiga, MAE mencerminkan di mana harga pasar diperdagangkan, bukan apakah eksekusi dapat terjadi tepat di level itu; gunakan batas candle dan sisi harga yang dapat dieksekusi sesuai arah: beli keluar pada Bid, bukan harga tengah tanpa pembedaan. Hanya analisis distribusi lengkap ditambah simulasi out-of-sample, “berapa kemenangan akan terkena stop pada 0.8× SL?”, memberi konfirmasi untuk bertindak. Observasi sebaliknya jauh lebih tegas: rata-rata MAE 0.90R pada kemenangan menunjukkan buffer stop terpakai penuh dan kenaikan slippage broker akan mengubah kemenangan menjadi kerugian.
MFE menjawab: Apakah terlalu banyak laba saya lepaskan? Batasan analitis mendasar: kedua metrik harus berasal dari populasi yang persis sama. Membandingkan MFE rata-rata seluruh transaksi tutup dengan laba rata-rata transaksi menang mendistorsi berat karena mencampur posisi rugi. Jika transaksi menang menghasilkan MFE rata-rata +2.50R tetapi laba terealisasi rata-rata +1.20R, gap +1.30R menunjukkan TP terlalu konservatif atau trailing stop terpicu terlalu dini. Ini petunjuk analitis, bukan kesimpulan: MFE adalah pergerakan puncak historis, bukan harga yang pasti dapat dicapai untuk keluar; order harus sudah terpasang di puncak dan dieksekusi pada sisi spread yang benar.
Empat skenario diagnostik MAE/MFE praktis
| Skenario teramati | Penilaian diagnostik | Tindakan korektif |
|---|---|---|
| Rata-rata MAE kemenangan ≈ 0.70R+ | Masuk terlambat / setup memerlukan buffer struktural lebar / SL terlalu dekat level breakout — bukan otomatis “SL terlalu lebar”. | Jangan memperketat stop membabi buta. Uji out-of-sample 30–50 transaksi: berapa kemenangan terkena stop pada 0.80× SL? Jika > 20%, penempatan stop benar; kelemahan utama waktu eksekusi. |
| Rata-rata MAE kemenangan ≈ 0.20R | Mungkin buffer stop berlebih — harga jarang melawan posisi, sehingga buffer tidak terpakai. | Uji stop lebih sempit, misalnya 0.70× lebar sekarang, atau naikkan R:R sambil menjaga risiko uang tetap, PLN dalam contoh sumber; validasi dengan forward test independen 30–50 transaksi. |
| MFE / laba terealisasi > 2.0 | Terlalu banyak laba dilepas — target tetap atau logika trailing stop terlalu agresif. | Uji pembagian: tutup 50% pada 1.0R dan ikuti sisa 50% di belakang SMA-20 atau struktur swing pasar. |
| MFE / laba terealisasi ≈ 1.1 | Sebagian besar perluasan arah ditangkap; logika keluar terkalibrasi baik. | Pertahankan parameter — arsitektur keluar bekerja optimal. |
MAE/MFE transaksi rugi — menilai integritas stop
Dinilai hanya pada posisi rugi:
- Rata-rata MAE kerugian ≈ 1.00R (SL rencana) — disiplin stop dijaga sempurna; ukuran kerugian dinormalisasi ketat. Jika hasil neto aktual rata-rata −1.10R hingga −1.20R, selisih mengisolasi slippage eksekusi broker dan komisi.
- Rata-rata MAE kerugian > 1.20R — stop diperlebar manual melawan rencana, terjadi slippage parah, atau posisi ditahan melewati gap. Setiap akar penyebab memerlukan intervensi operasional segera.
Mengambil MAE/MFE dari platform trading
Kebanyakan broker ritel tidak mengekspor MAE/MFE rinci pada laporan CSV standar. Laporan bisa memberi masuk, keluar, dan kadang rentang harga selama transaksi, tanpa ukuran MAE/MFE siap pakai. Berikut empat pendekatan: pilih satu dan pertahankan tiga bulan sebelum menilai apakah datanya mengubah keputusan.
- MetaTrader (MT4/MT5) tanpa riwayat tick — setelah tutup, buka grafik M5/M15 yang mencakup durasi aktif. Gunakan rentang candle untuk estimasi gerakan terburuk dan terbaik, lalu ubah ke R (MAE_pips / SL_pips, MFE_pips / SL_pips). Waktu: 30–60 detik per transaksi.
- Skrip otomatis cTrader / TradingView — ekspor data candle pada jendela
open_timehinggaclose_timedan hitung ekstrem secara algoritmis lewat Python. MAE/MFE per transaksi siap pakai mungkin hanya tersedia di tester strategi, bukan transaksi manual. Verifikasi platform, status akun, dan alur pada akun Anda sebelum mengandalkannya; ekstrem berbasis candle dan tick tidak dapat dipertukarkan. - Perangkat lunak jurnal khusus (Edgewonk) — menghitung MAE/MFE otomatis setelah impor laporan; verifikasi mekanisme dan cakupan sebenarnya di dokumentasi penyedia, yaitu tick, candle, atau API broker, sebelum menyusun alur yang bergantung padanya.
- Agregator analitik (FX Blue / Myfxbook) — cakupan analisis MAE/MFE dan ketersediaan paket dapat berubah. Periksa dokumentasi penyedia terkini, jangan menganggap fiturnya tidak ada.
Bagi kebanyakan trader ritel, inspeksi grafik manual setelah tutup paling dapat diandalkan — sumber mengalokasikan sekitar 30 detik untuk catatan manual teliti, tanpa integrasi API atau biaya perangkat lunak.
Plot sebar MAE/MFE Sweeney — membaca empat kelompok
Grafik Sweeney[4] menempatkan MAE horizontal dan MFE vertikal, setiap titik satu transaksi. Kemenangan hijau, kerugian merah. Empat kuadran analitis mendiagnosis kesehatan eksekusi:
- Kuadran kiri bawah (MAE rendah, MFE rendah) — menang cepat dengan gerakan merugikan minimal; pengalaman eksekusi optimal, tetapi sering menunjukkan target terlalu dekat.
- Kuadran kanan atas (MAE tinggi, MFE tinggi) — transaksi mengalami drawdown berat, nyaris stop sebelum berbalik untung besar. Peringatan penting: lonjakan slippage kecil dapat mengubahnya menjadi rugi penuh.
- Kuadran kiri atas (MAE rendah, MFE tinggi) — waktu masuk sempurna diikuti tren arah besar. Profil setup unggul yang hendak direplikasi proses Anda secara sistematis.
- Kuadran kanan bawah (MAE tinggi, MFE rendah) — langsung melawan posisi dengan sedikit kelanjutan menguntungkan. Hindari pola ini dan diagnosis setup kelompoknya; grafik saja bukan keputusan menonaktifkannya.
8. Drawdown — historis, saat ini, dan yang diperkirakan
Drawdown mengukur penurunan persentase modal dari puncak sebelumnya. Analisis sistematisnya memiliki tiga dimensi yang saling melengkapi:
Drawdown maksimum historis
Ambang interpretasi berikut adalah asumsi skenario kerja, bukan kewajiban pasar universal — strategi identik dengan risiko 2% per transaksi menghasilkan kedalaman drawdown sekitar dua kali alokasi risiko 1%. Menyatakan “DD maks 20%” tanpa ukuran posisi tidak memberi informasi struktural apa pun.
Drawdown maksimum mengukur satu penurunan puncak-ke-lembah terdalam dalam riwayat akun — metrik utama menilai toleransi stres psikologis.
Ht = max(Eu : u ≤ t) — puncak ekuitas berjalan, dengan modal awal dimasukkan eksplisit; Dt = (Ht − Et) / Ht; max DD = max(Dt). Nilai ini harus diukur terus sepanjang kurva ekuitas, bukan sekadar maksimum global versus minimum global: pada urutan 100 → 80 → 120 → 110, drawdown maksimum sebenarnya 20.0%, bukan 33.3%.
Sebelum mengutip drawdown, nyatakan dua parameter dasar: apakah lintasan mencerminkan ekuitas mengambang yang memasukkan fluktuasi posisi terbuka, atau saldo akun dari transaksi tutup, serta frekuensi sampel persis, yaitu tick, tiap penutupan transaksi, atau akhir hari. Setoran dan penarikan harus dinetralkan secara matematis — modal baru saat drawdown hanya menyamarkan kedalamannya, bukan mengurangi risiko. Drawdown pada R kumulatif, bukan mata uang ekuitas, harus jelas dilabeli “DD maks dalam R, disampel tiap transaksi”, tidak pernah persentase akun.
| Drawdown maksimum | Interpretasi analitis |
|---|---|
| < 5% | Sangat konservatif — ukuran posisi mungkin terlalu rendah dibanding potensi pertumbuhan. |
| 5% – 10% | Zona kenyamanan psikologis optimal bagi mayoritas trader ritel. |
| 10% – 20% | Dapat diterima dalam skenario ilustratif ini pada CAGR 25–40%; bukan standar institusional. |
| 20% – 30% | Batas luar psikologis — kepanikan emosional dan penyimpangan perilaku melonjak. |
| > 30% | Ukuran agresif dan rapuh — segera kurangi leverage untuk mencegah likuidasi margin. |
Drawdown rata-rata
Rata-rata aritmetis seluruh siklus drawdown puncak-ke-lembah berbeda dalam riwayat akun. Mencerminkan “rasa sakit” operasional rutin sistem, berbeda dari skenario ekor terburuk.
Heuristik diagnostik praktis, asumsi skenario bukan standar pasar: jika drawdown maksimum melebihi 3× rata-rata, distribusi imbal hasil berekor sangat tebal, biasanya menandakan kejutan pasar eksternal ekstrem atau rangkaian posisi lebih besar dari rencana. Kelipatan 3× hanyalah aturan praktis ilustratif; yang harus diselidiki akar struktural data Anda.
Durasi drawdown — cakrawala pemulihan
Sering jauh lebih melemahkan psikologis daripada kedalaman: berapa lama hingga puncak baru?
- Drawdown 10% yang pulih dalam 2 minggu mudah diterima secara psikologis.
- Drawdown 10% yang bertahan 8 bulan menghancurkan keyakinan, membuat mayoritas meninggalkan strategi layak saat drawdown.
Sistem dengan kedalaman moderat tetapi pemulihan lama bisa lebih menyiksa daripada drawdown tajam dengan pemulihan V cepat. Dinamika ini dapat diringkas sebagai perkalian kedalaman rata-rata dan durasi pemulihan rata-rata, di sini disebut produk rasa sakit, metrik diagnostik khusus kerangka ini. Jangan campur dengan Indeks Rasa Sakit yakni drawdown rata-rata sepanjang waktu, atau Indeks Ulcer yakni akar rata-rata kuadrat drawdown — tiga rumusan berbeda dengan nama mirip. Drawdown yang belum pulih pada akhir sampel harus tetap dilabeli belum pulih: jangan masukkan durasi fiktif ke rata-rata; laporkan terpisah bersama rata-rata pemulihan selesai. Produk rasa sakit khusus artikel ini, bukan standar industri.
Drawdown yang diperkirakan — menyiapkan data empiris untuk simulasi
Jurnal memberi satu aset dasar untuk simulasi Monte Carlo: vektor empiris nilai r_net, distandardisasi pada penyebut R0 tetap dengan friksi direkonsiliasi terhadap laporan resmi. Metode simulasi, apa yang disampel ulang (urutan, blok, lintasan), seed acak, horizon, dan model modal, dibahas dalam Artikel 15.4. Dua catatan operasional: pertama, persentase drawdown simulasi bergantung langsung ukuran posisi — “karena persentil ke-95 DD maks 18%, risiko 1% aman” adalah argumen melingkar. Simulasi menunjukkan drawdown distribusi R tertentu pada ukuran tertentu. Kedua, mengacak transaksi historis tidak dapat menghasilkan kerugian tunggal lebih besar dari pencilan historis terburuk sampel. Risiko ekor baru harus ditekan lewat skenario struktural, bukan permutasi acak.
Kartu kendali metrik kinerja — definisi, penyebut, dan keterbatasan
Referensi induk lengkap semua metrik panduan ini. Kolom terakhir terpenting: memisahkan pengukuran kuantitatif ketat dari klaim promosi berlebihan, dan paling sering diabaikan trader ritel.
| Metrik kinerja | Definisi matematis dan unit | Spesifikasi penyebut | Pemeriksaan validasi sebelum dipakai | Yang TIDAK dibuktikan metrik |
|---|---|---|---|---|
R-Multiple neto (r_net) | PnL neto laporan / R0; tanpa dimensi | R0 dari rencana sebelum masuk, tetap | R0 ditetapkan sebelum masuk dan tidak diubah setelah hasil, perubahan stop, atau keluar parsial; spread tidak dikurangkan dua kali | Tidak menentukan ukuran posisi atau imbal hasil persentase modal akun |
| Ekspektansi neto | Rata-rata(r_net); dalam R | Jumlah seluruh transaksi tutup (n) | Harus cocok dengan wr*avgWin - pl*avgLoss; impas dipisahkan | Estimasi titik tanpa interval kepercayaan tidak membuktikan keunggulan |
| Tingkat kemenangan | Proporsi transaksi dengan PnL neto > 0 | Jumlah seluruh transaksi tutup (n) | WR × n harus bilangan bulat; bagian parsial dihitung sekali | Tidak membuktikan profitabilitas — kemenangan 78% dapat menghasilkan akun rugi |
| Faktor laba | Total laba / |total rugi|, dengan konvensi biaya sama | Total rugi; tanpa rugi = tak terdefinisi | Pemeriksaan silang: (p_w × avgWin) / (p_l × avgLoss) | Tidak mengungkap dispersi hasil atau ukuran sampel |
| Faktor pemulihan | Laba neto kumulatif / drawdown maksimum | DD maks dalam unit yang cocok | Kedua parameter dari periode dan kurva ekuitas identik | Tidak menentukan apakah drawdown terulang atau durasinya |
| Sharpe per transaksi | Mean(R) / std(R) | Simpangan baku R | Laporkan ukuran sampel n; ubah tahunan hanya jika benar-benar independen | Tidak dapat disamakan dengan Sharpe dana institusional tahunan |
| Rasio Sortino | (Mean(R) − MAR) / deviasi sisi bawah | √(Σ min(R − MAR, 0)² / n) — seluruh populasi | Pastikan penyebut bukan simpangan baku rugi saja, yang memperbesar sekitar tiga kali pada contoh Bagian 3 | Tidak membedakan kerugian besar langka dan kecil sering jika kuadrat kekurangan, jumlah populasi, serta rata-rata sama |
| SQN Van Tharp | (E / std(R)) × √N, N = min(n, 100) | std(R); N dibatasi tegas 100 | Bandingkan hanya ukuran sampel N identik | Bukan rumus ukuran posisi atau jaminan keunggulan |
| Drawdown maksimum | Max((Ht − Et) / Ht), H = puncak | Puncak ekuitas berjalan, bukan maksimum global | Nyatakan ekuitas versus saldo, frekuensi sampel; netralkan setoran | Drawdown historis tidak pernah menjadi batas atas risiko mendatang |
| Hambatan eksekusi | [PnL rencana (keluar cocok) − PnL neto] / R0; dalam R | R0 dari rencana pratransaksi | Jenis keluar cocok, SL dengan SL, TP dengan TP; arah dan volume dimasukkan; spread tidak dihitung dua kali | Bukan mengukur keunggulan strategi — mengukur friksi eksekusi order |
| MAE / MFE | Gerakan harga terburuk dan terbaik selama transaksi; dalam R | Jarak stop dalam pip atau R0 | Dalam konvensi sederhana stop tidak berubah dan keluar penuh pada target, stop-out mencapai MAE sekitar 1R atau lebih dan keluar target mencapai gerakan target. Periksa eksekusi aktual, sisi kuotasi, bagian parsial, serta perubahan stop sebelum memakai kesetaraan ini. | Tidak menentukan di mana stop semestinya — menunjukkan di mana harga diperdagangkan |
9. Alat: Edgewonk, Myfxbook, FX Blue, Excel/Notion kustom
Perangkat lunak tidak menciptakan jurnal sukses. Workbook Excel yang dipelihara disiplin akan mengungguli platform mahal yang ditinggalkan setelah dua minggu. Meski begitu, pilihan perangkat lunak penting: alat tak tepat menambah friksi yang merusak konsistensi atau gagal menampilkan metrik diagnostik yang dibutuhkan.
Perbandingan alat jurnal utama
| Alat / platform | Kekuatan utama | Keterbatasan operasional utama | Profil pengguna sasaran |
|---|---|---|---|
| Edgewonk | Metrik terdepan siap pakai, R-multiple, ekspektansi neto, MAE/MFE; visualisasi otomatis, taksonomi kesalahan, integrasi MT4/MT5. | Lisensi komersial — sumber Polandia mencatat harga penyedia USD 169 [snapshot sumber: 2026-09-07, edgewonk.com/pricing]; sebagian broker memerlukan ekspor/impor CSV manual. Penawaran tahunan utama yang dibaca pada 9 Oktober 2026 adalah USD 197 untuk 12 bulan sebelum VAT; halaman juga masih memuat blok lama USD 169. Total Polandia yang ditampilkan USD 242.31 ialah USD 197 ditambah VAT 23%. Konfirmasi penawaran dan pajak checkout yang berlaku sebelum membeli. | Trader dengan 200+ transaksi tahunan yang mencari analisis kuantitatif mendalam otomatis. |
| Myfxbook | Sinkronisasi latar belakang otomatis dengan sebagian besar server broker, verifikasi portofolio publik, berbagi bukti sosial. | Metrik dangkal dibanding perangkat lunak analitik khusus; periksa cakupan fitur tiap tingkat akun dalam dokumentasi penyedia terkini; dirancang menampilkan imbal hasil, bukan diagnosis kesalahan eksekusi. | Trader yang perlu verifikasi otomatis dan menerima kemampuan diagnosis kualitatif minimal. |
| FX Blue | Penganalisis gratis yang kuat, rincian kinerja per setup, integrasi MetaTrader bawaan. | Antarmuka lama; verifikasi cakupan kolom kualitatif, keadaan mental, tidur, kesalahan, dan analitik pada dokumentasi terkini karena fitur dapat berubah. | Pemula yang mencari titik awal analitik efektif tanpa biaya. |
| Excel kustom | Kendali arsitektur penuh, kolom bebas, rumus kustom, PLN 0 untuk templat sendiri dalam skenario sumber jika perangkat lunak spreadsheet sudah tersedia. | Memerlukan 4–8 jam pengembangan awal; pengguna harus menulis dan memvalidasi semua rumus metrik. | Trader kuantitatif sistematis yang perlu kendali matematis persis atas setiap parameter. |
| Notion / Obsidian | Integrasi mulus catatan tabel kuantitatif dengan ulasan kualitatif, tangkapan grafik beranotasi, dan tinjauan psikologis. | Agregasi statistik terbatas dan grafik sulit. | Trader yang memprioritaskan konteks naratif dan psikologi — sangat efektif sebagai pelengkap kualitatif Excel. |
Yang tidak dilacak alat jurnal umum
Sebagian besar alat komersial melewatkan parameter penting kualitas keputusan — keadaan psikologis, jam tidur, dan kepatuhan aturan akhir hari. Buat melalui tag kustom atau spreadsheet paralel. Tanpa catatan kualitatif, Anda tidak dapat mengetahui apakah lelah fisik atau gejolak emosi berkorelasi dengan kinerja buruk — pertanyaan empiris yang hanya dapat dijawab dari data Anda; sumber tidak memiliki statistik publik yang membuktikan korelasi pada jurnal ritel. Log pengisian broker saja tidak menangkapnya.
Kapan Excel kustom mengungguli perangkat lunak komersial
- Metrik kustom dari data makro eksternal — misalnya “setup sah jika VIX < 18 dan rasio put/call CBOE > 1.1”. Meskipun penyedia mencantumkan kategori tag kustom dan kustomisasi penuh, informasi diperiksa 2026-09-07, edgewonk.com/pricing, rumus dinamis dengan feed makro pihak ketiga jauh lebih efektif disusun dalam spreadsheet.
- Arsitektur strategi multi-aset — verifikasi dukungan lintas pasar sebelum memilih: halaman harga komersial mencantumkan kompatibilitas multi-pasar, informasi diperiksa 2026-09-07, edgewonk.com/pricing. Alasan utama workbook kustom tetap kendali penuh atas definisi tiap rumus dan penyebut.
- Penyesuaian R-multiple kompleks — misalnya korelasi portofolio atau klasifikasi A+/B/C menurut metode sendiri; rumus spreadsheet memberi fleksibilitas pemodelan penuh.
Urutan penerapan optimal
Jalur penerapan sama untuk semua modal: bangun kebiasaan catat manual dalam spreadsheet dulu; otomatisasikan lapisan eksekusi kedua melalui impor CSV laporan; terakhir investasikan perangkat lunak khusus. Upgrade sebelum kebiasaan tidak menghasilkan apa pun — alat tidak membentuk disiplin, hanya memperbesar kebiasaan yang ada. Penyesuaian alur analitik dengan jadwal pribadi, persiapan pagi, tinjauan pascasesi, audit akhir pekan, dijelaskan dalam Artikel 15.5; aturan jurnal yang tak dapat ditawar ialah mencatat 29 kolom pada hari eksekusi dan merekonsiliasi mingguan dengan laporan resmi broker.

10. Alur analisis jurnal — harian, mingguan, bulanan, kuartalan
Jurnal tanpa ritme tinjauan sistematis hanyalah basis data tidur. Tinjauan terdiri atas empat tingkat, harian, mingguan, bulanan, kuartalan; tiga pertama bagian proses jurnal. Keempat adalah audit strategi formal menurut Artikel 15.10: jurnal memberi data empiris, keputusan penonaktifan setup terjadi di sana. Tiap tingkat menjawab pertanyaan tertentu dalam anggaran waktu yang ditetapkan.
Ritme harian — 5 menit pascasesi
Tujuan: menangkap data mentah apa adanya ketika ingatan operasional masih segar.
- Catat semua transaksi pada seluruh 29 kolom, dari laporan broker ditambah metrik kualitatif.
- Klasifikasikan kesalahan, kategori 0–10.
- Nilai kualitas keputusan 1–5, ketat dan terpisah dari PnL finansial.
- Catat jam tidur jika terlewat pada pagi hari — parameter objektif sebelum sesi yang mudah diingat malam hari. Keadaan psikologis pengecualian penting: catat sebelum eksekusi atau biarkan kosong. Jika nilai mental dimasukkan malam setelah hasil diketahui, jelas tandai retrospektif. Jika tidak, korelasi keadaan/hasil yang diklaim hanya mengukur ingatan hasil, bukan keadaan sebelum masuk.
- Catat satu kalimat konteks ringkas: “London agak lebih tenang; NFP kemarin.”
Pencatatan hari yang sama wajib bagi integritas data. Setelah 72 jam, Anda tak dapat merekonstruksi disiplin emosi saat masuk dengan akurat; seminggu kemudian, ingatan merasionalisasi perjudian improvisasi menjadi “setup teknis baik” untuk membenarkan hasil yang diketahui. Inilah ilusi yang hendak dihapus — catatan terlambat mengubahnya menjadi data rusak.
Ritme mingguan — 30 menit Minggu malam
Tujuan: diagnosis perilaku jangka pendek, memeriksa kepatuhan strategi pekan sebelumnya.
- Hitung transaksi per setup dan tingkat A+, A, B, C.
- Hitung jumlah R-multiple neto mingguan, R kumulatif pekan.
- Jumlahkan kesalahan menurut kategori — adakah kesalahan tertentu mendominasi pekan?
- Hitung kualitas keputusan rata-rata — turun di bawah 3.5? Tanda peringatan segera.
- Nilai korelasi perilaku: pada hari keadaan psikologis < 3, berapa hasil aktual?
- Tulis satu paragraf refleksi terstruktur: yang diungkap pekan ini tentang disiplin eksekusi dan kecocokan rezim pasar.
Tinjauan mingguan menangkap penyimpangan dini: “Rabu saya mengambil empat transaksi, semua di luar playbook A — FOMO murni setelah Senin buruk.” Identifikasi pola mingguan memungkinkan koreksi sebelum kebiasaan buruk menjadi penghancuran modal permanen.
Ritme bulanan — 60 menit akhir pekan pertama
Tujuan: hitung metrik kuantitatif lengkap dan nilai kesesuaian hasil bulanan dengan dasar sistem jangka panjang.
- Hitung seluruh metrik: tingkat kemenangan, ekspektansi neto, faktor laba, Sortino, drawdown maksimum, faktor pemulihan.
- Buat tabel kinerja per setup: jumlah transaksi, R rata-rata, ekspektansi neto.
- Plot kurva ekuitas bulanan, bandingkan dengan lintasan harapan simulasi Monte Carlo.
- Periksa sebaran MAE/MFE — waktu masuk tajam, atau terlalu banyak untung hilang akibat trailing dini?
- Audit taksonomi kesalahan: pilih 3 kategori terbesar bulan itu dan susun pengaman perilaku khusus.
- Analisis korelasi: kurang tidur versus R neto; keadaan mental di bawah 3 versus hasil.
- Buat audit eksekutif bulanan satu halaman untuk diri sendiri.
Tinjauan kuantitatif bulanan, baik untung maupun rugi, memberi satu-satunya verifikasi objektif apakah Anda membaik atau hanya mendapat varians menguntungkan. Tinjauan menghapus alasan: terlihat jelas apakah rugi berasal dari pembatalan setup, waktu sesi, pasangan, ukuran buruk, atau pelanggaran eksekusi disengaja.
Ritme kuartalan — memberi data empiris untuk audit strategi
Kuartal adalah tingkat keputusan operasional, bukan hanya interval pengukuran. Arsitektur audit formal, gerbang keputusan bertahap, kriteria mempertahankan, penurunan tingkat, revisi playbook, diatur dalam Artikel 15.10. Jurnal memasok empat aset: laporan semua transaksi yang direkonsiliasi; tabel per setup dan versi, n, R rata-rata, interval; proporsi kode kesalahan bukan nol; dan total friksi dalam R. Jika satu saja hilang, audit tidak dapat berlanjut — satu-satunya kesimpulan sah dari jurnal tidak lengkap ialah data belum terverifikasi.
Tabel ringkasan — alur tinjauan jurnal empat frekuensi
| Frekuensi tinjauan | Waktu yang dibutuhkan | Tujuan analitis utama | Hasil yang diserahkan |
|---|---|---|---|
| Harian | 5 menit | Menangkap data eksekusi mentah bersih | Catatan transaksi 29 kolom lengkap |
| Mingguan | 30 menit | Diagnosis perilaku dan kesalahan jangka pendek | Refleksi dan penanda pola kesalahan |
| Bulanan | 60 menit | Atribusi metrik kuantitatif lengkap | Laporan bulanan dan 1–3 tindakan |
| Kuartalan | Hari tersendiri | Tata kelola strategi dan tinjauan setup (Artikel 15.10) | Dataset direkonsiliasi diserahkan ke kerangka audit |
Menyesuaikan alur dengan gaya hidup trading
Waktu di atas dinyatakan dalam menit khusus, bukan jam harian kaku. Integrasi rutinitas dengan pekerjaan penuh waktu, trading penuh waktu, atau swing beberapa transaksi bulanan, beserta kalender mingguan dan alat harian, dibahas dalam Artikel 15.5. Aturan tetap: kolom kualitatif dicatat pada hari eksekusi, keadaan mental sebelum masuk, kualitas keputusan dan kesalahan pada waktu tinjauannya. Rekonstruksi beberapa hari kemudian menghasilkan rasionalisasi retrospektif tidak ilmiah, bukan data diagnostik objektif.
Sinyal jurnal versus keputusan menonaktifkan sistem
Kesalahan paling merusak setelah kuartal rugi ialah mengganti strategi alih-alih menghapus kesalahan eksekusi — atau sebaliknya, terus memegang setup rusak setelah rezim berubah struktural. Memutuskan perbaikan sistem atau eksekusi dibahas dalam Artikel 15.10. Peran jurnal mendasar: pisahkan lapisan hasil finansial; kepatuhan, kode kesalahan dan kualitas; friksi, slippage dan hambatan; serta versi playbook. Kuartal rugi dengan 50% transaksi berkode kesalahan bukan nol tidak mengungkap keunggulan, tetapi membuktikan kegagalan eksekusi. Nilai hierarki ini dahulu: itulah kontribusi lengkap yang mutlak dari jurnal pada keputusan yang tidak dibuatnya sendiri.
FAQ — Pertanyaan yang sering diajukan
Apakah mencatat 29 kolom tiap transaksi tidak berlebihan?
Berapa ukuran sampel minimum mutlak untuk memvalidasi strategi?
Apakah ekspektansi neto negatif selalu berarti strategi rusak?
Bagaimana menafsirkan Sharpe per transaksi versus Sharpe tahunan institusional?
Bagaimana menghitung korelasi jam tidur dan hasil trading dalam spreadsheet?
=CORREL(range_sleep, range_r_net) untuk koefisien Pearson. Untuk Spearman berbasis peringkat, beri peringkat di kedua kolom sambil mempertahankan pasangan baris tiap transaksi, lalu hitung Pearson dari pasangan peringkat itu. Dalam Python: df[['sleep_hours', 'r_net']].corr(method='spearman'). Panduan kerja ilustratif, bukan standar pasar karena statistik ritel publik tidak tersedia: jika ρ di bawah 0.15, tidur mungkin bukan variabel dominan dalam sampel Anda; jika melebihi 0.25, layak menguji durasi tidur sebagai syarat masuk terukur dan memakai hari observasi saja setelah tidur singkat. Jika koefisien kecil, kembali diagnosis setup; ambang bukan aturan kausal mapan. Keduanya hipotesis pribadi untuk diuji. Ilustrasi sensitivitas sampel, bukan minimum: pada n = 60 dan ρ = 0.25, pendekatan t = 1.97, dekat ambang signifikansi biasa; di bawah 60 transaksi satu pencilan dapat menggeser ρ lebih dari 0.10.Bagaimana mengambil MAE/MFE bila laporan broker tidak mengekspor data selama transaksi?
Sebaiknya satu jurnal semua strategi atau workbook terpisah?
Apakah sinkronisasi broker otomatis, misalnya impor Myfxbook, cukup menjadi jurnal lengkap?
Metrik mana dibagi dengan mentor atau audit prop dan mana disimpan pribadi?
Seberapa cepat hasil terukur dapat membaik setelah mulai jurnal?
Sumber dan bibliografi
- Tharp V.K., Jalan Trading Menuju Kebebasan Finansial, McGraw-Hill, edisi ke-2, 2007. Pengantar dasar R-multiple sebagai metrik universal normalisasi risiko serta metode matematis lengkap ekspektansi sistem dan SQN.
- Sortino F.A., Price L.N., Pengukuran Kinerja dalam Kerangka Risiko Sisi Bawah, Journal of Investing, 1994. Karya akademis perintis Sortino sebagai alternatif Sharpe, hanya menghukum varians sisi bawah di bawah imbal hasil minimum yang diterima.
- Steenbarger B.N., Pelatih Trading Harian: 101 Pelajaran Menjadi Psikolog Trading Sendiri, Wiley, 2009. Metode jurnal lengkap yang mencakup catatan psikologis kualitatif, keadaan mental dan kualitas keputusan, serta alur tinjauan sistematis.
- Sweeney J., Pergerakan Merugikan Maksimum: Analisis Fluktuasi Harga untuk Pengelolaan Trading, Wiley, 1996. Teks dasar MAE/MFE sebagai alat diagnostik kuantitatif untuk mengoptimalkan stop-loss dan keluar target.
- Global Foreign Exchange Committee, FX Global Code: Prinsip Praktik Baik Global di Pasar Valuta Asing, pembaruan Desember 2024. Panduan institusional sukarela mengenai log transaksi, cap waktu, serta catatan order yang dapat diaudit di pasar valuta wholesale.
Definisi R satu transaksi tidak menjadikannya imbal hasil portofolio periodik. Mean(R)/std(R) dikali akar jumlah transaksi adalah penskalaan mekanis statistik R, bukan otomatis Sharpe akun tahunan. Perbandingan dana perlu periode imbal hasil modal, tolok ukur, risiko, dan asumsi ketergantungan konsisten. panduan FX Blue Publisher EA menjelaskan CalculateMAEandMFE dan keterbatasan riwayat harga; periksa hasil dengan dataset kontrol.