One Year, 118 Trades, a 41 Percent Win Rate, and Two Fixes
I logged 118 crypto trades from April 2024 through April 2025. Only 48 of them won, a 41 percent rate. Average win: $62.92. Average loss: $104. Net for the year: negative $412. Two boring fixes flipped the next six months to positive $310.
One hundred eighteen rows in a Google Sheet named Money Truth. April 30, 2025, 10:15 pm, kitchen table, laptop propped on a folded dish towel, my wife asleep upstairs with the baby monitor humming on the counter beside me. I had just finished transcribing every trade of the prior twelve months by hand from Coinbase Advanced and Kraken statements, all 118 of 'em, cuz the exported files kept mangling the fee columns and I wanted every number typed by my own fingers. Cell K4 held the verdict: negative $412.31.
The $412 hurt less than what the two numbers above it said. Across the full year I won 48 trades out of 118, a 41 percent win rate, and I had walked around all season feeling like a guy who wins a little more than he loses. The sheet disagreed hard. My average win was $62.92. My average loss was $104. Anybody running that math at 41 percent wins those numbers into a slow leak, and the leak had a name by 10:30 pm: me.
Two numbers mattered more than the win rate. A 41 percent hit rate is survivable with those averages reversed, and fatal with them arranged like mine. The sheet pointed at two habits with boring names, a limit order typed before breakfast and a $250 lid on position size, and both of 'em are detailed below with receipts.
41 percent sounded survivable
Everybody on trading forums says a 41 percent win rate is perfectly fine as long as your winners run, and for eleven months I believed 'em without once doing the multiplication. The forums are right, and I was the counterexample. Wins: 41 percent. Average win: $62.92. Average loss: $104. Multiplying it out gave me negative $412 on the year, which is what the forums do not put in the graphic. The survivable part was survivable in theory. My trades had not read the theory.
why I typed them by hand
Koinly exists, costs about $49 a year, and would have eaten this job in an afternoon, and maybe I should have paid. Eleven nights. Typing 118 rows across 'em did somethin' an import never does: it made me feel every position size, every fee, every 11 pm impulse, one keystroke at a time. The manual work also caught twelve fee entries the export had rounded wrong, worth about $31 of truth. By row ninety I could predict the pattern of a loss before the row finished loading. That is a diagnosis no dashboard ever handed me.
thirty-seven trades at zero
Thirty-seven of the 118 rows closed within a dollar of flat, cancelled orders, dust exits, fee-only round trips, and every one of 'em was me hiding from a decision I did not want to make. A flat trade feels like discipline from the inside and looks like avoidance from the spreadsheet. That is the number that embarrassed me most, and it is not a loss. They kept the damage slight than it should have been. They also kept me from ever being right.
where the losses actually lived
Thirty-three real losses carried the whole year's damage, and they clustered hard. Twenty-one of the 33 were altcoin positions, fourteen involved me moving a mental stop wider after entry, and nine were opened after 11 pm, which the sheet now labels the confidence window. My average losing position was three times the size of my average winning position, cuz I sized conviction, not risk. The data did not need interpretation. It needed a rule and an adult in the room.
the $287 altcoin
The single worst row was $287 of a mid-cap altcoin bought at 12:40 am on January 19, 2025, on a Discord tip from a guy whose only credential was posting charts at the same hour I was awake. I moved the stop twice in three days and finally sold at negative $287, which was 42 percent of the position, on a coin that bottomed out of the top 300 by March. That one trade equaled my average loss times 2.8. The $250 lid would have turned it into a $68 lesson. That row is why the lid exists.
fix one, the boring limit order
Fix one began May 1, 2025, and takes ninety seconds per trade: before I enter, I type the exit, both directions, a take-profit limit and a stop, straight into Coinbase Advanced or Kraken while the entry order is still filling. The order sits on the exchange instead of in my mood. In six months I have moved a placed order exactly zero times, because moving it requires logging in with intent, and intent at 11 pm is what cost me the $287. The rule sounds trivial. Trivial is what survived.
fix two, the $250 lid
Fix two is a cap: no single position above $250, no exceptions, not for conviction, not for a sure thing, not once. The lid went up the same day as the limit orders, and it cut both averages at once, which I did not expect, cuz shrinking the size of a position shrinks the size of everything that happens to it. My average win shrank along with my average loss, cuz position size drives both, and the win rate did the actual talking. Slight enough to be wrong frequently. That is the whole design.
six months after the lid
November 2025 thru April 2026: 44 trades, 24 winners, a 55 percent win rate, average win $42.50, average loss $35.50, net positive $310.20. On a $2,000 base that is not a life change, and I wanna be precise about that, cuz it is approximately a savings account with better stories and a lot more screenshots. What changed is the shape of the equity curve, which now goes up in steps instead of down in avalanches. The two fixes produced exactly one tradeable insight: my problem was never picking winners. My problem was sizing losers.
what the sheet says now
K4 still reads negative $412.31, cuz I never delete a receipt, and the year-two tab sits to its right with the green number in the same corner cell position. The month-end ritual continues on the last evening of every month, 10:15 pm, dish towel under the laptop, baby monitor on the counter, now with a toddler instead of a newborn on the other end of it. Last month I closed the tab in eleven minutes instead of eleven nights, because the limit orders write their own rows. The sheet and I agree about everythin' now. That is it. That is the whole system.