Semua trader tahu P&L mereka. Tapi hampir tiada siapa yang tahu edge sebenar mereka. Saya kaji rekod trading saya sendiri — lebih kurang seratus posisi yang dah ditutup merentasi empat akaun — dan dapati 93.7% dari keuntungan datang dari tiga trade sahaja. Saya langsung tak sedar.
Ini adalah prompt yang saya guna untuk bongkar realiti sebenar trading saya. Percuma, berfungsi untuk mana-mana broker, dan ia akan beritahu perkara yang mungkin anda tak nak dengar.
Tanpa pendaftaran. Tiada apa nak install. Boleh guna penyata, eksport, atau screenshot.
Bukan kiraannya — tapi cerita yang saya bagitahu diri sendiri guna nombor tu. Saya tahu tahun tu memang bagus. Tapi saya silap pasal kenapa ia bagus, dan itulah satu-satunya bahagian yang boleh diulang dengan sengaja.
Tiga perkara keluar dari kajian tu. Tiada satu pun yang saya jangka.
daripada keuntungan bersih ledger ini datang dari tiga trade. Dari lebih kurang seratus. Yang selebihnya, kalau dicampur semua, cuma bunyi bising sekitar sifar.
win rate untuk trade yang saya pegang bawah seminggu. Tujuh cubaan, tujuh kali kalah. Bukan malang — memang negatif secara struktur, berulang kali, sementara saya terus buat.
purata loss saya, mengecil merentasi empat akaun. Win rate saya dalam tempoh yang sama jatuh dari 46% ke 27%. Saya tak jadi lebih pandai pilih. Saya jadi lebih pandai kalah.
Saya takkan jumpa satu pun benda ni dengan mengingat semula. Ingatan simpan reel highlight, dengan bahagian rugi dipotong. Ledger tak buat macam tu.
Empat langkah, dan satu-satunya yang ambil sedikit usaha ialah kumpul fail anda. Tak payah kemas, tak payah rename, tak payah isi spreadsheet dulu — attach je apa yang anda dah ada.
Semua yang anda ada — penyata, contract note, eksport, screenshot. Jangan susun, jangan kemas.
Masukkan semua fail dalam satu folder, kemudian sambungkan folder tu ke sesi anda.
Upload semua fail dalam satu perbualan sebelum anda hantar apa-apa.
Ada di halaman ini, di bawah sikit. Satu butang je.
Ia akan mula dengan beritahu apa yang diterima dan apa yang kurang. Jawab soalannya — ia akan tanya dulu sebelum ia teka.
Satu fail HTML yang anda boleh simpan, buka offline dan baca semula. Plus satu rumusan bahasa mudah: apa yang rekod anda betul-betul buktikan, apa yang cuma petunjuk, dan tabiat mana yang paling mahal.
Boleh je, dan ia memang akan kira. Tapi bahagian yang penting di sini ialah langkah pengesahan — sebelum ia kira apa-apa, prompt ni periksa sama ada nombor anda betul-betul bermaksud apa yang anda sangka. Empat daripada nombor saya tak lepas. Itu bahagian bawah halaman ni, dan itulah sebab benda ni wujud.


Salin ini, paste dalam Claude, attach penyata anda. Itu je semuanya.
You are going to build me an honest Trade Ledger from my own trading records.
I care more about being told the truth than about looking good. If my sample
is too small to prove something, say so. If a number I believe is wrong,
correct it. Do not soften findings to be encouraging.
===========================================================
PHASE 1 — EXTRACT
===========================================================
Read every file I attach. They may be monthly statements, contract notes,
realized-P&L exports, CSV files, or screenshots of a trade history screen.
They may come from different brokers, in different formats, in different
currencies, and they may overlap or conflict.
Build one normalised table of CLOSED positions with these columns:
account | symbol | market | instrument | side | open_date | close_date
qty | multiplier | entry_price | exit_price | fees | currency
return_pct | hold_days | confidence
Rules for extraction:
- Only CLOSED round-trips. Open positions are not results yet — list them
separately as "still open" and exclude them from every statistic.
- Match buy quantity against sell quantity. If they do not reconcile, say so
rather than guessing.
- If a position was scaled in or out over several fills, aggregate it into one
position using weighted-average entry and exit prices, and note how many
tranches it took.
- Tag every row with its INSTRUMENT: cash equity, warrant, or futures.
Tag SIDE as long or short.
- For a SHORT, return is (entry - exit) / entry. Getting this backwards silently
inverts every short in the record.
- For a futures contract, record the CONTRACT MULTIPLIER / point value - e.g. a palm-oil contract of 25 tonnes, a crude
contract of 1,000 barrels. If a multiplier is not stated in my documents,
ASK ME. Do not guess it, and do not assume 1.
- Set confidence for every row:
HIGH = dates and prices both read directly from a document
MEDIUM = one field inferred (e.g. date inferred from price against a chart)
LOW = mostly reconstructed
Show the confidence mix in your summary. Never present a LOW-confidence row
with the same authority as a HIGH one.
- NEVER invent a trade, a date, a price or a fee. If something is unreadable,
list it under "could not read" and move on.
===========================================================
PHASE 2 — VALIDATE (do not skip this — it is the whole point)
===========================================================
Before computing anything, run these five checks and report the result of each
in plain language. Most people's numbers are wrong for one of these reasons.
1. THE DENOMINATOR CHECK
If any document shows a headline "return %" or "yield", work out what it is
divided by. Brokers variously divide P&L by turnover, by average balance, by
deployed capital, or by starting equity — these give wildly different answers
from the same money. Never repeat a broker's headline % without stating its
denominator. If you cannot determine the denominator, say the figure is
unusable and compute your own.
2. THE TRUNCATION CHECK
Many broker "realized P&L" screens show only the most recent N rows, not
your lifetime history. Test for it: realized profit can never decrease over
time, so if I give you two snapshots of the same screen from different dates
and the total FELL, the screen is a rolling window and my true lifetime P&L
is unknown and larger. Also flag it if the row count is suspiciously round
(exactly 50, exactly 100).
3. THE CASH-FLOW CHECK
A return derived from account VALUE must exclude deposits and withdrawals,
or a withdrawal reads as a loss and a top-up reads as a gain. Use:
monthly return = (end value - start value - net deposits) / start value
then chain the months geometrically. Realized P&L on closed trades needs no
such adjustment. If I have not given you dated cash flows, say that any
account-level % is unreliable and tell me exactly what to dig up.
4. THE BASE CHECK
A percentage return means nothing without knowing the capital it ran on.
+300% on a small account and +30% on a large one are not comparable, and the
small one usually made less money. Always report percentage return and
money contribution side by side, and say plainly which account actually
moved the pile.
5. THE SAMPLE CHECK
Count my closed trades. Then tell me honestly what that count can support:
under 20 - anecdotes; describe direction only, no statistics
20 to 50 - suggestive; every figure needs a caveat
50 to 100 - meaningful, still sensitive to outliers
over 100 - reasonably solid
Also check whether any single trade dominates. If removing my best trade
flips me from profitable to unprofitable, that is the single most important
fact about my record and it must appear at the top of the dashboard.
6. THE LEVERAGE CHECK (skip if I traded nothing but fully-paid shares)
Leveraged and unleveraged instruments cannot share a statistic. A 2% move on
a futures contract at 10x is +20% on the margin you posted and +2% on the
notional you controlled — and neither is comparable to +2% on a share you
paid for in full. Blending them produces a number that describes nothing.
So:
- Report futures as a SEPARATE BOOK from cash equities. Never merge them
into one win rate, one profit factor, or one average return.
- A MARGIN account has the same problem in a quieter form: "capital" is
ambiguous there, because the money I committed and the buying power I used
are different numbers. If any account is margin, say which denominator
you used for its return and why.
- For leveraged positions, state return TWO ways and label both: return on
margin posted, and return on notional controlled. If margin isn't in my
documents, say so and give notional only.
- Money IS additive across instruments. Percentages are not. Combine the
books in currency terms only, never as a blended percentage.
- ROLLOVERS: consecutive positions in the same underlying across contract
months are usually ONE economic trade, not two. Flag any pair that looks
like a roll, ask me, and if confirmed merge them — otherwise my trade
count inflates and my true holding period collapses.
- Some futures statements report daily mark-to-market / variation margin
rather than per-trade P&L. If mine do, say so plainly: per-trade
statistics may not be recoverable from that format, and a daily equity
curve is the honest thing to build instead.
===========================================================
PHASE 3 — COMPUTE
===========================================================
State every formula you use. Show all of these:
Core
- Number of closed positions; date range covered
- Win rate (wins / total)
- Average win %, average loss %
- Payoff ratio (avg win / avg loss)
- Profit factor (gross profit / gross loss) - the single best summary
- Expectancy per trade, in money and in R
- Largest win, largest loss, median trade
The uncomfortable ones - these are the point of the exercise
- CONCENTRATION: what share of net profit came from my top 3 trades?
- What happens to every metric if my single best trade is removed?
- Maximum drawdown, and the longest losing streak
- My losing months, shown as prominently as my winning ones
The cut that usually explains everything
- Performance grouped by HOLDING PERIOD:
same day / 1-7d / 8-30d / 31-90d / 91-180d / 180d+
For each bucket: count, win rate, average return, share of net P&L.
In most retail records this single cut separates winners from losers more
cleanly than symbol, sector or position size. Check whether it does for me.
- Performance by position size, and whether my biggest positions were also
my best ideas or just my most confident ones
- Performance by market or instrument type, if I traded more than one -
reported as separate books per the leverage check, never blended
- If I traded both an underlying and a leveraged instrument on it (a warrant
or a future), compare them directly - same view, same period, different
vehicle. That comparison is usually the most instructive single thing in a
mixed record.
===========================================================
PHASE 4 — BUILD
===========================================================
Produce a single self-contained HTML file. No external files, no CDN links,
no libraries — inline all CSS and JS, draw charts as inline SVG. It must open
correctly from a local file and be readable in both light and dark themes.
MOBILE IS NOT OPTIONAL — I will read this on my phone. Specifically:
- Start the file with <!DOCTYPE html> and a real <head>, and put
<meta name="viewport" content="width=device-width, initial-scale=1">
in it. Without that tag a phone renders the page at ~980px wide and every
responsive rule you write is dead. This is the single most common way a
generated dashboard ends up unreadable on a phone.
- Nothing may scroll the page sideways at 390px wide. Wide tables and wide
charts scroll inside their own container, never the body.
- Any KPI grid reflows to two columns on a phone, and any fixed sidebar
either collapses behind a menu button or becomes a top bar. If a sidebar
slides off-screen, give it a real width first — translating an element of
zero width moves it nowhere and its contents spill over the page.
- Tap targets at least 44px. Charts sized in relative units, never fixed px.
- Tell me you have checked these before you hand the file over.
Structure:
- A KPI row: profit factor, win rate, payoff ratio, expectancy, trade count
- Filters for period and account that recompute every metric live
- An equity curve and a monthly-return bar chart WITH the red months visible
- The holding-period breakdown
- A full sortable table of every position, with its confidence flag
- A METHOD section stating every formula, every assumption, every gap in
the data, and the results of the five Phase-2 checks
- A ZEN MODE toggle that hides all money amounts behind dots, leaving only
percentages. Default it to ON, so I can screenshot the dashboard and share
it without publishing my account size.
Design rules:
- Put drawdown, the losing streak and the concentration finding ABOVE the
fold, not buried. Publishing the unflattering numbers is the entire point.
- Never use colour alone to carry meaning - label things.
- No hype language anywhere. No "crushing it", no rocket emojis.
===========================================================
PHASE 5 — TELL ME THE TRUTH
===========================================================
Finish with a plain-language readout, written for me, not for an audience:
1. What my record actually proves, and what it only hints at.
2. The one habit costing me the most money, with the evidence for it.
3. The one thing I am doing right that I should do more of.
4. What I would need to log from now on to answer the questions this data
cannot answer. Be specific about the fields.
Rules for this section:
- No encouragement that the data does not support.
- If my record is not yet profitable, say so directly, and say what the data
suggests is causing it.
- If my sample is too thin for conclusions, lead with that rather than
burying it.
- Do not tell me what to buy or sell, and do not forecast my future returns.
This is an analysis of what already happened.
Begin with Phase 1. Before you start, list what you received and tell me what
is missing that would materially improve the analysis.
Prompt ini dalam bahasa Inggeris — biarkan macam tu, sebab AI paling tepat bila arahan teknikal ditulis dalam bahasa asalnya. Anda boleh berbual dengannya dalam Bahasa Melayu selepas tu; cuma tambah "jawab dalam Bahasa Melayu" selepas anda paste.
Ia berjalan dalam lima fasa: keluarkan trade anda, sahkan, kira metrik, bina dashboard, kemudian beritahu anda perkara sebenar dalam bahasa mudah. Ia diarahkan supaya tidak mengampu anda, tidak reka data yang ia tak boleh baca, dan tidak beritahu anda apa nak beli.
Dua fail CSV, percuma, tak perlu email: templat trade dan templat aliran tunai. Isi sendiri kalau broker anda eksport teruk, atau langsung tak boleh eksport.
Tiada integrasi, tiada akaun nak disambung. Anda attach fail. Ia baca.
Bagi je apa yang ada. Ia akan senaraikan apa yang diterima, beritahu apa yang kurang dan yang boleh perbaiki analisis, dan tandakan setiap baris yang terpaksa dibina semula — supaya anda tahu nombor mana yang boleh dipercayai.
Ia boleh handle — dengan satu syarat. Posisi berleverage ada dua pulangan berbeza: atas margin yang anda letak, dan atas notional yang anda kawal. Bezanya boleh sampai sepuluh kali ganda, dan tiada satu pun yang setara dengan saham yang anda bayar penuh. Prompt ni asingkan buku leverage anda dari buku tunai anda dan laporkan kedua-dua pulangan, bukan campurkan jadi satu nombor yang tak bermakna. Ia juga tanda rollover kontrak, yang kalau tak dikesan akan gandakan bilangan trade anda dan potong separuh tempoh pegangan. Kalau penyata anda tak nyatakan contract multiplier, ia akan tanya, bukan teka.
Screenshot skrin realized P&L broker anda. Lepas tu buat sekali lagi beberapa minggu kemudian dan banding jumlahnya. Kalau angka tu turun, broker anda selama ni cuma tunjuk tetingkap bergolek, bukan sejarah penuh anda. Broker saya macam tu — lihat jerat 2.
Setiap satu ni datang dari rekod saya sendiri. Empat-empat saya dah petik bertahun-tahun.
Rasmi, dalam app, atas skrin — duduk betul-betul bawah angka keuntungan yang memang tepat.
Bahagikan keuntungan dengan peratusan tu, dan anda boleh songsangkan balik apa yang ia sebenarnya ukur: jumlah kos setiap posisi yang pernah saya beli dalam akaun tu. Bukan duit yang saya masukkan — tapi duit yang saya masukkan, dikira semula setiap kali saya pusing balik ke trade seterusnya. Lepas dua tahun pusing modal yang sama, penyebut tu membesar jadi berkali ganda saiz akaun sebenar.
Ia boleh jadi sebaliknya juga. Ada platform yang mengampu anda dengan bahagikan untung dengan baki purata, atau dengan apa yang kebetulan sedang digunakan waktu tu. Dan dalam akaun margin, perkataan "modal" tu sendiri dah kabur sebelum anda mula — duit yang anda letak dan buying power yang anda guna adalah dua nombor berbeza, dan broker boleh petik peratusan atas mana-mana satu.
Tabiat: mana-mana peratusan yang bukan anda kira sendiri, cari apa yang ada bawah garisan tu. Selalunya boleh songsangkan dengan satu bahagi je, macam atas. Kalau tak boleh, angka tu cuma hiasan.
Untung realized tak boleh turun. Trade yang dah tutup kekal tutup. Rupanya skrin tu memang cuma tunjuk 50 baris terakhir — bila trade baru masuk, yang lama jatuh dari bawah, dan salah satu yang jatuh tu memang pemenang yang elok. Ia bukan jumlah seumur hidup. Saya dah petik angka tu selama ni macam ia sejarah penuh saya.
Tabiat: screenshot dua kali, jarak beberapa minggu, kemudian banding. Dan curiga dengan mana-mana senarai yang berhenti tepat di 50 atau tepat di 100 baris.
Banding baki awal dan akhir bulan, maka setiap pengeluaran duit nampak macam loss, dan setiap tambahan modal nampak macam untung. Cara betulkannya kira-kira, bukan agakan:
pulangan bulanan = (akhir − awal − deposit bersih) ÷ awal, dirantai merentasi bulan.
Bulan mendatar tu nampak macam rosak. Sebenarnya tidak — satu pengeluaran duit bulan tu memang betul dikecualikan, dan di bawahnya hampir tiada apa yang bergerak.
Tabiat: simpan aliran tunai anda berserta tarikh. Itu input yang paling kerap hilang dalam seluruh latihan ni.
Satu akaun dalam ledger ni pulangkan lebih 300% dalam setahun. Ia hasilkan kurang daripada suku keuntungan sebenar tahun tu, sebab asasnya kecil. Satu akaun lain yang lebih tenang pulangkan jauh lebih rendah tapi sumbang lebih separuh.
Dua-dua peratusan tu betul. Tapi cuma satu je yang betul-betul bayar apa-apa.
Tabiat: sentiasa baca pulangan peratusan dan sumbangan duit sebelah-menyebelah. Peratusan ukur kemahiran atas modal yang anda ada. Duit ukur apa yang ia buat pada timbunan tu.
Saya susun semula rekod saya ikut berapa lama saya pegang, tak jangka apa-apa. Ia asingkan pemenang dari yang kalah lebih bersih daripada sahamnya, sektornya, pasarannya, tahunnya, atau berapa besar risiko yang saya ambil.
| Tempoh pegang | Win rate | Bahagian keuntungan bersih | |
|---|---|---|---|
| 14 hari atau kurang | 36% | -4.6% | |
| 15 - 60 hari | 36% | -6.4% | |
| 61 - 180 hari | 83% | +14.7% | |
| Lebih 180 hari | 100% | +93.7% | |
Bar ke kiri tengah bermakna sumbangan negatif, ke kanan positif. Tanda dan kedudukan yang bawa maksud, bukan warna.
Dalam baris pertama tu ada butiran yang saya masih susah nak pandang: dalam dua akaun, tujuh trade yang saya pegang bawah seminggu jadi 0 dari 7.
Dan satu lagi. Saya trade syarikat yang sama dengan dua cara dalam tempoh yang sama — saham biasa, pegang 224 hari, pulangkan +35%. Waran syarikat tu, pegang 7 hari, rugi 12%. Syarikat sama. Bacaan bisnes sama. Orang sama. Instrumen dan tempoh pegangan yang musnahkan trade tu.
Enam trade dipegang lebih enam bulan, enam-enam menang. Itu corak yang nyata dan sampel yang tipis, dalam nafas yang sama. Seratus trade bunyi macam rekod prestasi; tiga trade yang bawa keseluruhan hasil tu ekor gemuk, dan ekor gemuk bukan edge yang terbukti. Saya pegang dua-dua fakta ni serentak, dan dashboard anda akan buat anda pegang dua-dua juga.
Jadual anda akan nampak lain dari saya. Itulah maksudnya — pergi cari tahu baldi mana yang betul-betul bayar anda, kemudian tanya berapa banyak aktiviti anda duduk dalam baldi yang tidak.
Penyata anda boleh beritahu apa yang berlaku. Ia tak boleh beritahu apa yang anda niatkan — dan jurang tu tempat kebanyakan analisis berguna mati. Semua di atas tadi dibina semula selepas kejadian, sebab tu banyak sangat kaveatnya.
Templat tu ada ruangan untuk keempat-empatnya. Isi masa masuk, bukan selepas. Log yang sengaja kalahkan log yang dibina semula, dan saya sedang tanggung bezanya.
Keempat-empat medan ni ada ruangan menunggu dalam templat trade.
Dashboard anda huraikan apa yang dah berlaku. Ia tak ramal apa yang akan berlaku, dan rekod yang nampak cantik bukan satu janji.
Ia takkan beritahu anda apa nak beli atau jual. Ia takkan ramal pulangan anda. Ia takkan cakap anda buat bagus kalau data tak sokong — saya tulis ia supaya terus terang, sebab alat yang mengampu anda lebih teruk dari tiada alat langsung.
Dan nombor saya sendiri, secara jujur: tiga trade bawa hampir keseluruhan keuntungan, beberapa akaun ni bersandar pada sampel yang terlalu tipis untuk buktikan apa-apa, dan peratusan yang paling gempak tu berjalan atas asas yang kecil sampai ia hampir tak bermakna. Saya agak yakin saya dah jumpa sesuatu yang nyata tentang macam mana saya patut trade. Saya tak yakin ia edge yang akan bertahan bila berdepan dengan duit yang lebih besar, dan saya cuba untuk tidak berpura-pura sebaliknya.
Itu lebih kurang tahap keyakinan yang saya cadangkan anda pegang tentang dashboard anda juga, dua-dua arah. Kalau ia nampak teruk, kemungkinan besar sampel kecil dan tabiat yang boleh dibaiki. Kalau ia nampak hebat, buang trade terbaik anda dan pandang sekali lagi.
Saya menulis tentang membina proses berasaskan peraturan — apa yang saya cuba, apa yang jadi, apa yang meletup, apa yang saya belajar. Rangka kerja dan post-mortem, bukan signal. Tiada tip, tiada call, tiada pulangan nak dibanggakan.
huzai4.substack.com — berhenti langgan bila-bila.
Satu kalkulator expected value — kira sama ada win rate dan risk-reward anda betul-betul bercantum jadi satu edge, dan macam mana rupa risiko kebankrapan anda pada saiz posisi anda sekarang.