Jurnal trading — lembar kerja, statistik dan tinjauan kinerja

Panduan lengkap untuk membuat spreadsheet jurnal dalam waktu sekitar 20 menit (waktu indikatif bagi seseorang yang memahami dasar-dasar spreadsheet; impor pertama dan pemeriksaan data mungkin memerlukan waktu lebih lama): 26 kolom dengan nama teknis yang konsisten dengan artikel 15.9, rumus baris dan dasbor sembilan metrik dalam dua varian (Excel Polandia dan Inggris; pengaturan spreadsheet cloud dibahas di bawah), ditambah file CSV awal yang dibuat di browser Anda. Anda dapat mengunduh XLSX yang sudah jadi atau membuat spreadsheet sendiri menggunakan petunjuk lengkap di bawah. Mempelajari rumus membantu Anda memahami perhitungan dan memperbaikinya sendiri; berkat nama kolom yang dibagikan, ekspor CSV dari jurnal ini, dengan pembatas yang benar, pengkodean dan format tanggal yang dipilih, berfungsi dengan skrip S1–S3 siap pakai dari lampiran I dan skrip dari prompt P5; audit P6–P7 memerlukan dua kolom tambahan (di bawah).

Lembar jurnal trading dengan statistik otomatis — kolom rencana dan eksekusi aktual, rumus tingkat kemenangan, profit factor dan ekspektasi serta dasbor metrik pada layar
Hal-hal penting dalam 60 detik
  • 26 kolom dalam lima kelompok: identifikasi, konteks, rencana vs eksekusi, biaya dan hasil, proses — dengan rumus hanya ketika angka diturunkan dari kolom lain (slippage, r_net, execution_drag)
  • Dasbor sembilan formula: jumlah transaksi, tingkat kemenangan, profit factor, ekspektasi, total R, drawdown maksimum dalam R, rata-rata MAE/MFE, tingkat eksekusi tanpa kesalahan — metrik kinerja dihitung dari r_net dan metrik proses dari kolom terpisah; cakupan MAE/MFE dijelaskan di bawah
  • Dua varian formula: Excel PL (ŚREDNIA, LICZ.JEŻELI, titik koma) dan Excel EN (AVERAGE, COUNTIF, koma) — tombol sakelar dan salin untuk setiap blok
  • Metrik menjelaskan sampel dari entri pertama: sekitar 50 transaksi adalah contoh titik tinjauan dalam kursus, bukan minimum universal atau bukti keunggulan. Kesimpulan bergantung pada dispersi, ketergantungan antarhasil dan rencana pengujian. Pelanggaran batas atau kesalahan data memerlukan respons segera; perubahan aturan strategi memerlukan hipotesis dan validasi terpisah

Jurnal XLSX siap pakai

Unduh jurnal trading — XLSX bahasa Indonesia

Berkas memiliki tiga lembar: Statistics (Statistik), Journal (Jurnal) dan Instructions (Petunjuk), 999 baris siap isi serta rumus P&L bersih, R, slippage dan drawdown. Kolom A–Z mempertahankan format di bawah; berkas juga mencakup AA–AC (penilaian diri dari 15.9), AD (catatan), AE–AF (kurva ekuitas dan drawdown) serta AG (eksekusi tanpa kesalahan) — ekspor CSV untuk skrip mencakup A:Z. Sel kuning menerima data; jangan timpa kolom terhitung dengan ekspor broker. Jika swap atau komisi benar-benar nol, masukkan 0 — data yang belum ada tetap belum ada.

Contoh dalam panduan ini tidak dimasukkan ke dalam statistik file. Drawdown mencakup titik awal 0 R: kerugian awal sebesar −1 R menghasilkan drawdown sebesar 1 R. Atur perdagangan secara kronologis berdasarkan waktu penutupan; menjaga urutan yang konsisten ketika waktu penutupan sama. Jangan mengurutkan kolom C sendirian — bidang setiap catatan harus tetap menyatu. Setelah menyusun ulang baris, periksa apakah AE/AF masih terakumulasi dari baris 2. Kolom pembantu tambahan coded_clean tidak memperlakukan kode kesalahan kosong sebagai eksekusi bersih.

Spreadsheet menunjukkan rata-rata MAE dan MFE untuk semua pengukuran yang dimasukkan (termasuk nol), sementara varian tambahan untuk menganalisis transaksi untung dan transaksi rugi tetap berada di bawah. File tersebut menghitung faktor keuntungan dalam R, bukan dalam mata uang akun. Isikan P&L yang direncanakan di kolom T hanya untuk jenis jalan keluar yang sama: bandingkan SL yang direncanakan dengan SL yang dilaksanakan, dan TP dengan TP. Biarkan kosong untuk jalan keluar tanpa padanannya.

Versi PL menggunakan PLN pada kolom *_pln miliknya. Versi bahasa Inggris memiliki urutan kolom yang sama dan nama bidang moneter netral tanpa _pln akhiran; Anda menentukan mata uang akun dalam instruksinya. Saat mentransfer file CSV antar bahasa, petakan header dan periksa mata uangnya. Mengubah label mata uang saja tidak mengkonversi nilai apa pun.

Spreadsheet siap pakai atau buat sendiri

  • Dua rute ke jurnal yang sama: XLSX siap pakai berisi rumus yang terlihat dan panduan lengkap memungkinkan Anda membuat ulang lembar kerja sendiri. Berkas tidak memiliki makro maupun koneksi broker. CSV awal tetap dibuat secara lokal dalam peramban. Versi berkas ada pada lembar Instructions (Petunjuk), saat ini 1.2, bertanggal 21 September 2026; artikel memiliki nomor versi terpisah.
  • Anda tahu spreadsheet yang Anda buat sendiri luar dalam: ketika rumus mengembalikan kesalahan beberapa tahun kemudian (pasangan baru, format ekspor berbeda), akan lebih mudah untuk mengidentifikasi penyebabnya karena Anda tahu apa yang dihitungnya. Templat “ajaib” rusak secara diam-diam — dan jurnal yang berisi kebohongan lebih buruk daripada tidak ada jurnal sama sekali.
  • Nama kolom digunakan bersama di seluruh kursus: headernya berasal dari spesifikasi mini CSV di 15.9 (spreadsheet mencakup sekitar 20 dari 29 kolom logis bernomor di 15.9 — kolom yang hilang tercantum di bawah Sumber), dan nama yang sama diharapkan dari skrip S1–S3 yang sudah jadi dari lampiran I dan skrip prompt P5; audit P6–P7 dalam lokakarya AI juga memerlukan status kepatuhan rencana dan catatan kondisi diri — tambahkan: status = “plan” untuk error_code 0, “breach” untuk kode 1–9, dan hilangkan baris berkode 10 (infrastruktur) dari ekspor P6 atau beri status “infrastructure” serta jelaskan dalam prompt; turunkan catatan kondisi diri dari kolom penilaian diri (AA–AC). Satu format, pemindahan data antarpiranti seminimal mungkin.
  • Cloud memang praktis, tetapi ini data akun: ukuran posisi, hasil, kesalahan proses. Tentukan pilihan antara cloud dan penyimpanan lokal — gunakan kriteria yang sama seperti saat menempelkan data ke model AI (bagian kebersihan data di lampiran H).
Anatomi baris jurnal: identifikasi, konteks, rencana versus pelaksanaan, biaya dan hasil, proses — hasil dalam R dihitung dari laba dan rugi bersih dan risiko yang direncanakan 1. IdentifikasiID · waktu · pasangan arah 2. Kontekssetup · kelas · sesi 3. Rencana vs pelaksanaanentri/SL/TP rencana/aktual slippage 4. Biaya dan hasilswap · komisi PnL · r_net 5. Proseserror_code kondisi diri · kualitas r_net = P&L bersih / risiko terencana satu kolom menyuplai seluruh dasbor — karena itulah menggunakan P&L BERSIH

Struktur: 26 kolom dalam 5 grup

Huruf kolom (A–Z) sesuai tata letak rumus di bawah — jika urutannya diubah, perbarui referensinya. Pertahankan judul teknis dalam bahasa Inggris: ini memungkinkan ekspor CSV bekerja dengan skrip P5 tanpa pemetaan. Anda dapat menambahkan tiga kolom penilaian diri (mental_state, sleep_hours, decision_quality dari 15.9) sebagai kolom opsional AA–AC (sudah ada dalam berkas) — rumus tidak memerlukannya.

Kol.TajukKelompok 1: identifikasiContoh
Atrade_idnomor urut atau ID platform2026-041
Bopen_time_utctanggal dan waktu pembukaan dalam UTC — Ekspor MT4/MT5 menggunakan waktu server broker (misalnya GMT+2/+3 — periksa spesifikasi broker); konversi dari zona waktu server (15.9); format YYYY-MM-DD HH:MM2026-07-08 07:42
Cclose_time_utctanggal dan waktu penutupan dalam UTC (seperti dalam B); nilai tanggal/waktu sebenarnya dalam spreadsheet, bukan teks. Blank = perdagangan terbuka, dikecualikan dari metrik; tanggal yang tidak valid atau penutupan lebih awal dari waktu pembukaan yang dimasukkan tidak menghasilkan R2026-07-08 13:15
Dpairinstrumen — 6 karakter tanpa pemisah atau akhiran broker (EURUSD, bukan EUR/USD atau EURUSD.m); rumus pip hanya berlaku untuk pasangan FX (satu pip adalah 0,0001, atau 0,01 untuk pasangan JPY — diidentifikasi di bagian akhir); untuk instrumen lain, masukkan ukuran pip dari spesifikasi dan ubah pengalinyaEURUSD
Edirectionlong / short (huruf kecil — rumus slippage membandingkan teks)long
Kol.TajukKelompok 2: konteksContoh
Fsetupnama setup dari playbook (lampiran E)asia-london-breakout
Gsetup_classA+ / A / B / C — kelas playbook saat masuk; daftar pada berkas mengikuti 15.9. Jangan menentukan kelas berdasarkan hasil berikutnyaA+
Hsessionsesi masuk (Asia / London / NY / tumpang tindih)London
Kol.TajukGrup 3: rencana vs eksekusiContoh
Iplanned_entryentri terencana (dicatat SEBELUM memasang order)1.0850
Jactual_entryharga eksekusi aktual dari platform1.0852
Kplanned_slstop-loss yang direncanakan1.0820
Lplanned_tptake-profit terencana1.0910
Mactual_exitharga penutupan sebenarnya1.0907
Nspread_pipsspread saat masuk0.7
Oslippage_entry_pipsrumus — slippage entri dalam pip, positif = eksekusi lebih buruk2.0
Kol.TajukKelompok 4: biaya dan hasilContoh
Pswapjumlah swap bertanda dalam mata uang akun (biaya bernilai negatif)−3.20
Qcommissionkomisi sebagai biaya non-negatif; 0 jika tidak ada komisi. Ubah biaya negatif ekspor broker menjadi nilai positif sehingga rumusnya tidak menambah keuntungan7.00
Rbroker_gross_pnlP&L kotor dari platform: setelah spread dan eksekusi harga, sebelum swap dan komisi201.67
Sbroker_net_pnlrumus (atau masukkan secara manual jika broker melaporkan P&L bersih)191.47
Tplanned_gross_pnlP&L yang direncanakan untuk jenis keluar yang sama (jumlah): TP terencana untuk keluar pada TP, SL terencana untuk keluar pada stop; biarkan kosong untuk keluar manual atau berdasarkan waktu — berkas kemudian membiarkan W kosong, sedangkan 15.9 menghitung drag sebagai jumlah slippage entri, komisi dan swap dalam R: (O × nilai pip + Q − P) / U, dengan swap P tetap bertanda (negatif = biaya) — dihitung manual, di luar rumus220.00
Uplanned_riskrisiko terencana dalam mata uang akun (USD dalam contoh; jarak entri terencana → SL terencana dalam pip × nilai pip untuk volume terencana). Ini penyebut R tetap untuk transaksi, tanpa penyesuaian berikutnya agar sesuai kerugian. Ini bukan kerugian maksimum terjamin: gap, slippage dan biaya dapat meningkatkannya110.00
Vr_netrumus — P&L bersih dalam R; kolom yang menyuplai metrik kinerja1.74
Wexecution_drag_Rrumus — selisih P&L kotor terencana dan P&L bersih aktual dalam R; dapat negatif jika hasil lebih baik daripada rencana0.26
Kol.TajukKelompok 5: prosesContoh
Xmae_rpenyimpangan harga maksimum yang merugikan selama umur posisi, di R (definisi: 15.9, bagian 7)0.35
Ymfe_rpergerakan harga menguntungkan maksimum selama posisi berlangsung, dalam R2.10
Zerror_code0 = eksekusi bersih; 1–9 = kode kesalahan keputusan; 10 = kesalahan infrastruktur (katalog: 15.9)0

Rumus baris — kolom terhitung

Varian rumus:

Pengaturan: varian PL menggunakan nama fungsi Polandia dan titik koma; EN menggunakan nama Inggris dan koma. Pemisah bergantung pada pengaturan regional; dalam Google Sheets, bahasa fungsi diatur terpisah. Saat impor, atur B/C sebagai tanggal dan waktu, lalu periksa =CZY.LICZBA(C2) (EN: =ISNUMBER(C2)): hasil yang benar adalah PRAWDA/TRUE. Mengubah tampilan sel saja tidak cukup.

Masukkan rumus di baris 2 lalu isi ke bawah (atau salin ke suatu rentang). Rentang mencapai baris 1000 — untuk jurnal lebih panjang, perluas rumus baris, validasi dan setiap rentang dasbor, termasuk pemeriksaan kelengkapan.

O2 · slippage_entry_pips positif = harga eksekusi lebih buruk daripada rencana; pasangan JPY memakai pengali 100
=JEŻELI(ORAZ(CZY.LICZBA(I2);CZY.LICZBA(J2);DŁ(D2)=6;LUB(E2="long";E2="short"));JEŻELI(E2="long";J2-I2;I2-J2)*JEŻELI(PRAWY(D2;3)="JPY";100;10000);"")
=IF(AND(ISNUMBER(I2),ISNUMBER(J2),LEN(D2)=6,OR(E2="long",E2="short")),IF(E2="long",J2-I2,I2-J2)*IF(RIGHT(D2,3)="JPY",100,10000),"")
S2 · broker_net_pnl jika broker melaporkan laba dan rugi bersih, masukkan secara manual dan hilangkan rumusnya
=JEŻELI(ORAZ(ILE.LICZB(P2:R2)=3;Q2>=0);R2+P2-Q2;"")
=IF(AND(COUNT(P2:R2)=3,Q2>=0),R2+P2-Q2,"")
V2 · r_net P&L bersih di R — kosong sampai ada tanggal penutupan (C), P&L bersih (S) dan risiko (U); perdagangan terbuka tidak diperhitungkan dalam metrik
=JEŻELI(ORAZ(CZY.LICZBA(C2);CZY.LICZBA(S2);CZY.LICZBA(U2));JEŻELI(ORAZ(C2>=1;C2<2958466;U2>0;LUB(B2="";ORAZ(CZY.LICZBA(B2);B2>=1;B2<=C2)));S2/U2;"");"")
=IF(AND(ISNUMBER(C2),ISNUMBER(S2),ISNUMBER(U2)),IF(AND(C2>=1,C2<2958466,U2>0,OR(B2="",AND(ISNUMBER(B2),B2>=1,B2<=C2))),S2/U2,""),"")
W2 · execution_drag_R perbandingan dengan hasil terencana untuk jenis keluar yang sama (T) — biarkan T dan W kosong untuk keluar manual atau berdasarkan waktu (15.9: dalam kasus itu, drag = (O × nilai pip + Q − P) / U, dihitung manual)
=JEŻELI(ORAZ(CZY.LICZBA(V2);CZY.LICZBA(T2));(T2-S2)/U2;"")
=IF(AND(ISNUMBER(V2),ISNUMBER(T2)),(T2-S2)/U2,"")

Dasbor: 9 metrik dan cara menafsirkannya

Tempelkan metrik pada lembar terpisah (seperti dalam file: awali setiap rentang dengan nama lembar, mis. 'Journal'!V2:V1000) atau di atas tabel — dalam hal ini, header berpindah dari baris 1 dan Anda perlu menyesuaikan referensinya. Menyalin satu blok memberi Anda beberapa rumus pada baris terpisah; tempatkan masing-masing di sel yang sesuai. AE2, AF2 dan AG2 termasuk dalam lembar Jurnal, bukan lembar Statistik.

Jurnal kosong menghasilkan N = 0, total R = 0 dan drawdown maksimum = 0; WR, PF, ekspektasi dan rata-rata tanpa pengukuran tetap kosong. PF juga kosong bila tidak ada kerugian, karena rasionya tidak mempunyai nilai yang terbatas. Hasil dalam R memerlukan P&L bersih dalam S, U positif, dan tanggal/waktu numerik dalam C dalam rentang tanggal Excel. Jika B diisi, maka harus merupakan tanggal yang dikenali paling lambat C. Excel menyimpan tanggal dalam bentuk angka; pemformatan sel tidak mengubah teks menjadi tanggal atau memeriksa apakah waktu benar-benar dimasukkan dalam UTC.

File versi 1.2 menggunakan validasi gaya Stop untuk tanggal, arah, kelas, biaya komisi, risiko, MAE/MFE, dan kode. Menempelkan data dapat melewati validasi — inilah sebabnya V menolak tanggal teks dan risiko non-positif, S menolak biaya komisi negatif, dan AG hanya menerima kode bilangan bulat 0–10. Pemeriksaan pada baris 16–19 Statistik menunjukkan penutupan yang dimasukkan tanpa R, perdagangan dengan R tetapi tidak ada kode yang valid, dan pengukuran MAE dan MFE tidak valid. Rumus tanggal yang mengembalikan teks kosong dianggap sebagai penutupan yang hilang, bukan penutupan perdagangan yang tidak valid. Setiap hitungan di atas nol perlu dijelaskan sebelum menilai sampel secara keseluruhan.

Metrik kinerja menggunakan V. Rata-rata MAE/MFE di seluruh pengukuran yang dimasukkan menggunakan sampel terpisah: metrik tersebut menyertakan angka non-negatif, termasuk nol, meskipun V masih kosong. Angka negatif, teks (termasuk “0,5” yang disimpan sebagai teks), spasi, atau nilai Boolean di kolom pengukuran akan memblokir rata-ratanya hingga diselesaikan, alih-alih mendistorsi hasilnya secara diam-diam. Anda akan menemukan jumlah sel yang tidak valid dalam Statistik B18 untuk MAE dan B19 untuk MFE; kesalahan di satu kolom tidak menghalangi rata-rata valid di kolom lainnya. Jangan secara otomatis membandingkan ukuran sampel mereka dengan jumlah perdagangan yang ditutup. Masukkan pengukuran non-negatif untuk jangka waktu tertentu yang sama dalam umur suatu posisi; biarkan pengukuran yang hilang kosong. Varian transaksi untung/transaksi rugi di bawah memilih subkumpulan berdasarkan V.

Metrik 1–5 jumlah transaksi · tingkat kemenangan · profit factor · ekspektasi · total R
Jumlah transaksi:  =ILE.LICZB(V2:V1000)
Tingkat kemenangan:           =JEŻELI(ILE.LICZB(V2:V1000)=0;"";LICZ.JEŻELI(V2:V1000;">0")/ILE.LICZB(V2:V1000))
Profit factor:      =JEŻELI(LICZ.JEŻELI(V2:V1000;"<0")=0;"";SUMA.JEŻELI(V2:V1000;">0")/-SUMA.JEŻELI(V2:V1000;"<0"))
Ekspektasi (R):     =JEŻELI(ILE.LICZB(V2:V1000)=0;"";ŚREDNIA(V2:V1000))
Total R:             =SUMA(V2:V1000)
Jumlah transaksi:  =COUNT(V2:V1000)
Tingkat kemenangan:           =IF(COUNT(V2:V1000)=0,"",COUNTIF(V2:V1000,">0")/COUNT(V2:V1000))
Profit factor:      =IF(COUNTIF(V2:V1000,"<0")=0,"",SUMIF(V2:V1000,">0")/-SUMIF(V2:V1000,"<0"))
Ekspektasi (R):     =IF(COUNT(V2:V1000)=0,"",AVERAGE(V2:V1000))
Total R:             =SUM(V2:V1000)
Metrik 6 · drawdown maksimum di R kolom bantu AE (kurva ekuitas) dan AF (drawdown saat ini) — isi keduanya ke bawah
AE2 (kurva):       =JEŻELI(CZY.LICZBA(V2);SUMA($V$2:V2);"")
AF2 (drawdown):   =JEŻELI(CZY.LICZBA(AE2);MAX(0;$AE$2:AE2)-AE2;"")
Drawdown maksimum (R): =MAX(AF2:AF1000)
AE2 (kurva):       =IF(ISNUMBER(V2),SUM($V$2:V2),"")
AF2 (drawdown):   =IF(ISNUMBER(AE2),MAX(0,$AE$2:AE2)-AE2,"")
Drawdown maksimum (R): =MAX(AF2:AF1000)
Metrik 7–9 · MAE/MFE dan eksekusi tanpa kesalahan (+ drag rata-rata) audit stop, keluar dan proses
Rata-rata MAE (semua):  =JEŻELI(WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")>0;"";JEŻELI(ILE.LICZB(X2:X1000)=0;"";ŚREDNIA(X2:X1000)))   (seperti dalam berkas, B11)
Rata-rata MFE (semua):  =JEŻELI(WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")>0;"";JEŻELI(ILE.LICZB(Y2:Y1000)=0;"";ŚREDNIA(Y2:Y1000)))   (seperti dalam berkas, B12)
Rata-rata MAE transaksi untung:    =JEŻELI(WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")>0;"";JEŻELI.BŁĄD(ŚREDNIA.JEŻELI(V2:V1000;">0";X2:X1000);""))
Rata-rata MFE transaksi rugi:  =JEŻELI(WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")>0;"";JEŻELI.BŁĄD(ŚREDNIA.JEŻELI(V2:V1000;"<0";Y2:Y1000);""))
AG2 (coded_clean):    =JEŻELI(ORAZ(CZY.LICZBA(V2);CZY.LICZBA(Z2));JEŻELI(ORAZ(Z2>=0;Z2<=10;Z2=LICZBA.CAŁK(Z2));JEŻELI(Z2=0;1;0);"");"")
Eksekusi tanpa kesalahan:     =JEŻELI(ILE.LICZB(AG2:AG1000)=0;"";ŚREDNIA(AG2:AG1000))
Rata-rata drag eksekusi:   =JEŻELI(ILE.LICZB(W2:W1000)=0;"";ŚREDNIA(W2:W1000))   (opsional, tidak dalam berkas)
Rata-rata MAE (semua):  =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IF(COUNT(X2:X1000)=0,"",AVERAGE(X2:X1000)))   (seperti dalam berkas, B11)
Rata-rata MFE (semua):  =IF(ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")>0,"",IF(COUNT(Y2:Y1000)=0,"",AVERAGE(Y2:Y1000)))   (seperti dalam berkas, B12)
Rata-rata MAE transaksi untung:    =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,">0",X2:X1000),""))
Rata-rata MFE transaksi rugi:  =IF(ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,"<0",Y2:Y1000),""))
AG2 (coded_clean):    =IF(AND(ISNUMBER(V2),ISNUMBER(Z2)),IF(AND(Z2>=0,Z2<=10,Z2=INT(Z2)),IF(Z2=0,1,0),""),"")
Eksekusi tanpa kesalahan:     =IF(COUNT(AG2:AG1000)=0,"",AVERAGE(AG2:AG1000))
Rata-rata drag eksekusi:   =IF(COUNT(W2:W1000)=0,"",AVERAGE(W2:W1000))   (opsional, tidak dalam berkas)
Pemeriksaan kelengkapan — seperti pada Statistik B16:B19 hitungan di atas nol berarti entri perlu diperiksa
Penutupan tanpa R: =WIERSZE(C2:C1000)-LICZ.PUSTE(C2:C1000)-ILE.LICZB(V2:V1000)
R tanpa kode:       =ILE.LICZB(V2:V1000)-ILE.LICZB(AG2:AG1000)
MAE tidak valid:       =WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")
MFE tidak valid:       =WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")
Penutupan tanpa R: =ROWS(C2:C1000)-COUNTBLANK(C2:C1000)-COUNT(V2:V1000)
R tanpa kode:       =COUNT(V2:V1000)-COUNT(AG2:AG1000)
MAE tidak valid:       =ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")
MFE tidak valid:       =ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")
Dua unit R — contoh cek. Transaksi dengan risiko U = USD 50 dan P&L bersih −USD 50 menghasilkan −1R; transaksi lain dengan U = USD 200 dan P&L bersih +USD 200 menghasilkan +1R. Total r_net adalah 0R, tetapi akun bertambah USD 150. Jika 1R dasar rencana adalah USD 100 selama periode itu, hasil terhadap batasnya adalah +1.5 R dasar. PF juga berbeda: 1 dalam R transaksi, 4 dalam USD. Ini ukuran berbeda, bukan kontradiksi. Pilih periode dengan zona waktu dan batas minggu dalam rencana; waktu sumber jurnal tetap UTC. Jumlah hasil posisi ditutup tidak menggantikan pemantauan ekuitas terkini atau kerugian posisi terbuka. Jika R dasar berubah, ikuti aturan rencana yang terdokumentasi, bukan membagi seluruh periode dengan jumlah sewenang-wenang dari akhir periode.
MetrikCara membaca hasil dan keterbatasannya
Tingkat kemenanganDengan sendirinya, hal ini tidak menjelaskan apa pun tentang keunggulan — lihat grafik di bawah. Ini kosong jika tidak ada perdagangan yang ditutup; 0% berarti sampel tanpa transaksi untung. Gunakan hal ini untuk membandingkan hasil dengan asumsi pedoman, bukan untuk menilai “apakah saya pandai dalam hal ini?”
Faktor keuntunganDi bawah 1.0 = hasil negatif dalam R untuk sampel yang ditinjau; hanya bermakna bersama jumlah transaksi dan drawdown. Tanpa kerugian dalam sampel berarti pembagian dengan nol, bukan “keunggulan tak hingga”
Ekspektasi (R)Angka terpenting dalam jurnal: rata-rata hasil bersih per perdagangan. Nilai positif setelah biaya menggambarkan sampel ini tetapi tidak dengan sendirinya membuktikan keunggulan. Menilai sebaran, ketergantungan antar hasil, kestabilan kondisi dan hasil validasi menurut protokol pengujian (N). Angka 50 merupakan contoh poin tinjauan, dan keputusan untuk melakukan peningkatan juga memerlukan kepatuhan terhadap rencana risiko
Drawdown maksimum (R)Ukuran sejarah penuh: AF menghitung drawdown dari puncak tertinggi kurva, sehingga bukan kerugian minggu ini. Batas mingguan rencana (tambahan E) dinyatakan dalam basis R rencana atau sebagai persentase modal. Jangan bandingkan secara langsung dengan total r_net jika perdagangan memiliki nilai U yang berbeda. Dengan basis R yang konstan dalam mata uang akun, hasil periode dalam satuan rencana adalah jumlah P&L bersih dalam S untuk periode tersebut dibagi dengan jumlah R dasar. Untuk batasan persentase, gunakan basis modal yang ditentukan dalam rencana. AF menggambarkan jalur perdagangan kumulatif R, bukan drawdown saldo akun atau ekuitas. Drawdown yang tidak biasa memerlukan pemeriksaan data, kondisi, dan asumsi pengujian
Rata-rata MAE transaksi untungRendah (mis. < 0.4R) = hipotesis bahwa stop lebih lebar daripada perlu — diuji pada sampel baru, bukan langsung diperketat (15.9); mendekati 1R = transaksi untung mengalami pergerakan merugikan mendekati seluruh jumlah risiko — periksa entri dan penempatan stop sebelum menyimpulkan ini masalah eksekusi
Rata-rata MFE transaksi rugiTinggi = perdagangan bergerak sesuai keinginan Anda dan kemudian berbalik — audit aturan keluar dan ambil untung sebagian
Drag eksekusi (rata-rata)Rumus opsional (di atas), dihitung hanya dari perdagangan dengan T terisi. Nilai yang terus-menerus tinggi menunjukkan kesenjangan antara P&L kotor yang direncanakan dan P&L bersih aktual untuk exit yang sebanding: nilai ini mencakup biaya dan perbedaan dalam harga eksekusi. Keluar secara manual/awal tanpa padanannya tidak masuk dalam rata-rata ini. Jangan menggabungkannya dengan perkiraan biaya yang disederhanakan untuk jalan keluar tersebut
Eksekusi yang bersihPersentase perdagangan yang ditutup dengan error_code = 0 (kolom AG hanya menghitung perdagangan dengan R yang valid dan kode bilangan bulat dari 0 hingga 10; kode yang hilang tidak dihitung sebagai eksekusi bersih). Sekitar 90% mungkin merupakan ambang batas kerja dalam rencana tertentu, bukan standar kualitas. Periksa jumlah perdagangan yang dinilai dan kode yang hilang: 100% dari satu kode 0 dan banyak kode kosong tidak menggambarkan keseluruhan jurnal. Pelanggaran kritis memerlukan tindakan terlepas dari persentasenya. Metrik dari perdagangan yang melanggar aturan bukanlah ujian yang bersih terhadap aturan tersebut
Perbandingan dua sistem: tingkat kemenangan yang lebih tinggi sebesar 60 persen menghasilkan ekspektasi negatif dengan rasio untung-rugi yang buruk, sedangkan tingkat kemenangan 40 persen dengan transaksi untung 2R menghasilkan ekspektasi positif Tingkat kemenangan A: 60% B: 40% rata-rata untung 0.5R · rata-rata rugi 1R rata-rata untung 2R · rata-rata rugi 1R Ekspektasi per perdagangan A: −0.10R B: +0.20R karena itulah dasbor diawali ekspektasi dan tingkat kemenangan dibaca bersama distribusi R

CSV awal dan impor

Tombol ini membuat file CSV seluruhnya di browser Anda, tanpa mengirim data atau membuat permintaan jaringan terpisah: 26 header ditambah dua baris contoh — baris transaksi untung dan baris transaksi rugi — sehingga rumus memiliki data untuk menunjukkan cara kerjanya. Varian PL menggunakan titik koma dan koma desimal (pilih pembatas secara eksplisit saat mengimpor; perilaku klik dua kali bergantung pada pengaturan sistem), sedangkan EN menggunakan koma dan titik desimal. Setelah mengimpor, ganti kolom terhitung (O, S, V, W) di baris contoh dengan rumus dari bagian di atas, dan hapus contoh sebelum membuat entri pertama Anda (atau simpan di file terpisah). Ekspor CSV dapat menyimpan presisi yang ditampilkan oleh program; di XLSX 1.2, kolom V dan W menggunakan enam tempat desimal. CSV awal juga menggunakan enam tempat desimal, dihitung dari jumlah di setiap baris. Dengan pembulatan ini, kesalahan nilai R individu tidak melebihi 0,0000005 R; PF bisa menjadi lebih sensitif bila jumlah kerugiannya sangat kecil. Hasil dengan nilai absolut di bawah 0,0000005 R dapat dibulatkan menjadi nol, sehingga mengubah klasifikasi menang/kalah dan tingkat kemenangannya; untuk data seperti itu, tingkatkan presisi sebelum mengekspor. Untuk analisis yang memerlukan ketelitian lebih tinggi, tingkatkan sebelum mengekspor, bukan hanya di bagian akhir skrip.

File jurnal pemula dihasilkan secara lokal, menggunakan varian yang dipilih oleh saklar rumus
Ekspor ke lampiran H dan I, langkah demi langkah: salin header dan baris yang digunakan di A:Z dari lembar Jurnal ke file baru menggunakan “Tempel nilai”. Atur B/C ke yyyy-mm-dd hh:mm (antarmuka Polandia mungkin ditampilkan rrrr-mm-dd gg:mm), dan V/W hingga setidaknya enam tempat desimal, tanpa pemisah ribuan. Simpan sebagai CSV UTF-8. Sebelum menggabungkan file, periksa apakah nilai trade_id unik: skrip S1 tidak menghapus duplikat. Gabungan pengisian sebagian dari satu posisi sesuai dengan unit perdagangan yang Anda pilih (termasuk biaya), dengan mempertahankan U aslinya; jangan menghitung perdagangan yang sama baik sebagai beberapa pengisian maupun sebagai ringkasan tunggal. Buka salinan di editor teks: periksa 26 bidang per catatan, pembatas, tanggal dan nomor UTC. CSV berisi nilai, bukan rumus atau lembar lainnya — pertahankan XLSX asli. Untuk S1, atur PL: CSV_SEP=";", DECIMAL=","; EN: CSV_SEP=",", DECIMAL=".". UTF-8 dengan BOM dapat dibaca sebagai utf-8-sig.

Memeriksa dua contoh: P&L bersih USD 191,47 dengan risiko USD 110 menghasilkan 1,740636 R; P&L bersih sebesar −USD 113,10 dengan risiko USD 105 menghasilkan −1,077143 R. Dari nilai enam desimal ini, skrip akan menghasilkan N = 2, WR = 50%, total 0,663493 R, ekspektasi 0,3317465 R, PF sekitar 1,615974852 dan DD maksimal 1,077143 R. S2 mencetak angka bulat: WR 0,5; PF 1,62; harapan 0,332 R; jumlah 0,66 R; maks DD 1,08 R. Rumus XLSX lengkap dihitung dari rasio yang tidak dibulatkan, sehingga digit terakhir mungkin berbeda. S1 menghentikan analisis pada perdagangan tertutup yang tidak valid; P5 menginstruksikan skrip untuk mengecualikan dan melaporkan catatan itu. Bandingkan metrik hanya setelah merekonsiliasi sampel. P5 adalah instruksi untuk menghasilkan skrip, bukan file siap pakai dengan hasil yang terjamin.

Buat langkah demi langkah

  1. Buat spreadsheet kosong di Excel atau LibreOffice Calc; spreadsheet cloud juga dapat digunakan — namun ini adalah data akun, jadi berhati-hatilah dalam memilih.
  2. Impor CSV awal (atau salin header dari tabel struktur). Periksa apakah angka telah diimpor sebagai angka — jika “1.0850” muncul sebagai teks, varian pembatas tidak cocok dengan pengaturan sistem Anda.
  3. Tempel rumus baris ke O2, S2, V2 dan W2, lalu isi ke bawah sepanjang baris cadangan.
  4. Tempel dasbor (metrik 1–9) di atas tabel atau pada lembar terpisah; isi kolom pembantu AE, AF dan AG ke bawah dengan cara yang sama seperti rumus baris, hingga baris terakhir yang telah disiapkan.
  5. Tetapkan rutinitas: buat entri setelah setiap perdagangan ditutup (daftar periksa EOD di tambahan J mencakup ini), baca metrik pada tinjauan mingguan dan ambil keputusan playbook setiap triwulan (lampiran E).
Dasbor jurnal trading dalam lembar kerja — sel tingkat kemenangan, profit factor, ekspektasi dan drawdown maksimum dalam R di atas tabel entri, dengan kurva ekuitas dari kolom bantu di sampingnya
Dasbor jurnal trading dalam lembar kerja — sel tingkat kemenangan, profit factor, ekspektasi dan drawdown maksimum dalam R di atas tabel entri, dengan kurva ekuitas dari kolom bantu di sampingnya

Pertanyaan Umum

Excel, LibreOffice atau spreadsheet cloud?

Rumusnya menggunakan fungsi dasar yang tersedia di Excel, LibreOffice Calc, dan Google Sheets. Namun, pilihan nama fungsi dan pembatas bergantung pada program dan pengaturan file: varian PL menampilkan nama Polandia dan titik koma, sedangkan EN menampilkan nama dan koma dalam bahasa Inggris. Spreadsheet cloud mungkin memerlukan nama bahasa Inggris dengan titik koma. Kami tidak mengklaim telah menguji setiap versi program ini. Perbedaan sebenarnya ada di tempat lain: jurnal berisi ukuran posisi, hasil, dan katalog kesalahan Anda — di cloud, data ini tunduk pada kebijakan penyedia dan disimpan di luar drive Anda sendiri. Aturan bagian ini adalah menjaga data akun tetap lokal secara default; gunakan cloud dengan sengaja dan ekspor cadangan. Ini adalah keputusan yang sama yang diminta oleh bagian kebersihan data pada lampiran H sebelum menempelkan jurnal ke dalam obrolan.

Berapa banyak perdagangan yang Anda butuhkan sebelum metriknya berarti?

Metrik menggambarkan sampel sejak transaksi pertama; sekitar lima puluh adalah contoh titik kerja untuk tinjauan sistem pertama, bukan ambang signifikansi — pada awalnya, ekspektasi dan tingkat kemenangan berubah nyata setelah setiap rangkaian hasil dan lebih menggambarkan rangkaian terakhir daripada sistem; dispersi dan ketergantungan antarhasil juga penting (karena itu angka sama muncul dalam playbook lampiran E sebagai ambang kelas A+). Ini tidak berarti jurnal sebelumnya tidak berguna: metrik proses bekerja sejak entri pertama — tingkat eksekusi tanpa kesalahan dan kelengkapan isian — serta menentukan apakah angka sistem kelak dapat diandalkan. Urutannya selalu sama: proses, lalu sampel, terakhir penilaian sistem. Pembaruan untuk versi E saat ini: sekitar lima puluh transaksi yang disebutkan adalah contoh waktu untuk meninjau, bukan ambang kelas A+ dalam playbook saat ini. Kelas mengikuti kondisi wajib dan kriteria kualitas yang ditetapkan sebelumnya; ukuran sampel saja tidak menentukan kelas.

Mengapa ada kolom error_code padahal hasilnya sudah terlihat?

Karena hasil dan kualitas keputusan adalah dimensi yang terpisah: ada perdagangan menguntungkan yang melanggar rencana (kasus paling berbahaya - pelanggaran yang mendapat imbalan akan diperkuat) dan eksekusi yang patut dicontoh yang berakhir dengan kerugian. Error_code 0–10 memungkinkan Anda menghitung ekspektasi SECARA TERPISAH untuk eksekusi yang bersih: jika sistem menghasilkan uang setelah pelanggaran disaring, hal ini menunjukkan bahwa masalahnya terletak pada eksekusi, bukan pada aturan — perbedaan antar subgrup belum membuktikan penyebabnya; itu hanya menunjukkan di mana mencarinya. Pisahkan kode 10 (kesalahan infrastruktur) dari kesalahan keputusan; prosedur untuk kasus-kasus ini sudah masuk tambahan K, sedangkan katalog kode 1–9 ada di 15.9.

Excel saya tidak menerima rumus — apa yang harus saya periksa?

Hampir selalu satu dari tiga hal. Pertama, varian: bahasa fungsi dan pemisah argumen adalah pengaturan terpisah. Sakelar menyediakan dua kombinasi umum (PL: nama Polandia + titik koma; EN: nama Inggris + koma), tetapi periksa pengaturan regional. Dalam Google Sheets, periksa juga opsi nama fungsi Inggris. Kedua, pemisah desimal: sistem berkoma desimal membaca “1.0850” sebagai teks — karena itu ada dua varian CSV. Ketiga, tanda kutip: penyalinan melalui aplikasi pesan dapat mengganti kutip lurus dengan kutip tipografis — salin memakai tombol halaman ini, tanpa perantara. Jika masih ada yang tidak terhitung, prompt P3 lampiran H dapat meninjau rumus seperti kode.

Skenario ilustratif: sistem “menguntungkan”, hingga jurnal memperhitungkan biaya. Jurnal diisi teliti, tetapi kolom P&L disalin KOTOR dari platform — tanpa komisi atau swap. Setelah satu triwulan, ekspektasi +0.12R mendorong keputusan menambah frekuensi: lebih banyak transaksi = lebih banyak keuntungan. Setelah menambahkan kolom biaya dan menghitung ulang r_net dari P&L bersih, hasil menjadi −0.04R — sistem tidak menghasilkan uang, hanya memutarnya, dan peningkatan frekuensi memperdalam kerugian tepat sebesar biaya tiap transaksi tambahan. Karena itu urutan tegas kolom kelompok 4: biaya terpisah, P&L bersih terpisah, dan r_net dihitung hanya dari P&L bersih.
Skenario model: MAE mengungkap stop terlalu ketat untuk pasar. Trader dengan tingkat kemenangan jauh di bawah perkiraan backtest mencurigai broker melakukan stop hunting. Jurnal berkolom mae_r dan mfe_r mengungkap kenyataan lebih sederhana: pada transaksi rugi, MAE rutin berakhir sedikit di luar 1.0R, sementara MFE entri sama sebelumnya mencapai 1.5R+ — posisi bergerak ke arah benar, berbalik, baru menyentuh stop. MAE/MFE hanya mengukur selama posisi berlangsung, sehingga harga setelah stop memerlukan pengukuran terpisah pada jendela yang ditentukan — pengukuran itu memperlihatkan harga kembali ke arah yang dimaksud. Ini melahirkan hipotesis bahwa SL berada dalam fluktuasi harga normal dan aturan keluar gagal menangkap sebagian pergerakan. ATR menggambarkan skala volatilitas, tetapi sendiri tidak menetapkan stop optimal. Dalam skenario model ini, pemindahan stop melampaui struktur pasar dan pengurangan volume agar jumlah risiko tetap diuji pada sampel terpisah; hanya hasil sampel itu yang mendasari penilaian perubahan lebih lanjut. Tanpa kolom MAE/MFE, hipotesis ini tidak muncul — tersisa teori konspirasi tentang broker.
  • 15.9 Jurnal dan metrik — katalog kolom lengkap (termasuk kode kesalahan 0–10), definisi MAE/MFE dan metrik lanjutan (SQN, Sortino)
  • 15.10 Audit strategi — apa yang dapat disimpulkan dari metrik dan dari sampel seperti apa
  • Lampiran I — paket kode — skrip S1–S3 siap pakai yang diuji: membaca ekspor CSV lembar ini (A–Z), menghitung metrik dan menggambar kurva ekuitas
  • Lampiran H, prompt P5–P7 — skrip penghitung metrik dari ekspor CSV lembar ini serta audit pola (P6–P7: tambahkan status kepatuhan rencana dan catatan kondisi diri; P7 memerlukan metrik mingguan — salin baris yang ditutup pada minggu itu ke lembar terpisah lalu hitung rumus yang sama di sana; filter otomatis saja tidak mengubah hasil COUNT/SUM/AVERAGE)
  • Lampiran E — templat rencana — playbook yang dikalibrasi setiap triwulan menggunakan angka jurnal ini
  • Lampiran J — daftar periksa — rutinitas EOD/EOW yang menjaga jurnal terus digunakan
Penafian: halaman ini bersifat mendidik dan bukan merupakan nasihat investasi. Rumus dan strukturnya adalah untuk mengukur hasil Anda sendiri, bukan memprediksinya; contoh baris dan nilai menggambarkan format data, bukan hasil yang diharapkan. Metrik yang dihitung dari sampel kecil atau hasil kotor menyebabkan keputusan yang buruk — inilah sebabnya r_net dihitung dari P&L bersih, dan penilaian sistem memerlukan rencana pengujian dan perhatian terhadap ketidakpastian dan ketergantungan antara hasil — melebihi 50 perdagangan tidak berarti apa-apa.

Sumber

  1. Van K. Tharp, Trade Your Way to Financial Freedom, edisi ke-2, McGraw-Hill 2007 — konsep kelipatan R dan ekspektasi sebagai metrik inti sistem, yang mendasari kolom r_net serta dasbor.
  2. Internal: 15.9 Jurnal dan metrik (struktur bidang, kode kesalahan, MAE/MFE) dan 15.10 Audit strategi (penarikan kesimpulan disiplin dari sampel) — 26 kolom A–Z ditambah 3 kolom penilaian diri menghasilkan 29 kolom dalam berkas, tetapi lembar ini mencakup sekitar 20 dari 29 kolom logis bernomor dalam 15.9; kolom yang belum ada adalah regime, actual_tp, slippage_exit_pips dan empat yang 15.9 sendiri meminta Anda untuk menambahkan (“spreadsheet sudah ada sebelum bagian ini”): lots, pip_value_at_open, strategy_version, evidence_link — jika memakai skrip dari 15.9, tambahkan sebagai kolom opsional mulai AH agar tidak menimpa kolom AA–AG; untuk skrip yang memerlukan A:Z, tetap ekspor hanya rentang itu.
  3. Dokumentasi: Microsoft — pembatas argumen dan CSV, Microsoft — mengimpor dan mengekspor CSV, Google Spreadsheet — bahasa lokal dan fungsi. Diperiksa pada 21 September 2026; ini adalah aturan konfigurasi, bukan klaim bahwa setiap aplikasi telah diuji.
  4. NIST - ketidakpastian mean: ketergantungan pada ukuran sampel dan penyebaran; ini tidak membenarkan ambang batas universal sebesar 50 perdagangan. Diperiksa pada 21 September 2026.

Jarosław Wasiński

Pemimpin redaksi, ForexMechanics.com • Analis makro dan FX

Analis independen dan profesional dengan lebih dari 20 tahun pengalaman di pasar keuangan. Aktif di Forex sejak 2004, berfokus pada analisis fundamental, struktur pasar OTC, dan manajemen risiko modal yang disiplin.

  • Pendiri dan pemimpin redaksi MyBank.pl, menyediakan edukasi keuangan tepercaya sejak 2004.
  • Penulis ratusan komentar pasar mendalam, analisis struktural, dan materi edukasi untuk trader dan investor.
  • Pendukung transparansi pasar, mempromosikan edukasi berbasis data konkret dan laporan institusional (BIS, ESMA, CFTC).

Seluruh konten bersifat edukasi dan informasi semata – bukan merupakan saran investasi atau rekomendasi apa pun. Ingat: trading dengan leverage (Forex/CFD) memiliki risiko tinggi kehilangan modal dengan cepat.