From $0 to $56 Realized PnL: TradeBot Monthly Review (May 2026)

May was the first month TradeBot actually made money. Not a lot ($56 realized PnL), but after two months of break-even and one month of negative fees, I’ll take it.

The setup, if you’re new here

TradeBot is a Python algo I run on a small AWS EC2 instance. It watches a short watchlist of crypto pairs and trades a simple mean-reversion strategy on the 15-minute timeframe. The whole thing is containerized in Docker, alerts hit my Discord, and I check in maybe twice a week.

May numbers

Started at $0 realized. Closed at $56 after fees. Most of the gains came from ETH trades. The signal fired more reliably there than on BTC, which kept chopping sideways and triggering stop-outs. Win rate was below where I want it, mostly because of the bug below.

What I fixed

Trailing stop bug. Classic off-by-one error in the loop that tracks the high-water mark. Rewrote it, added a unit test, redeployed

The Setup

I kicked this off on April 28 with $93 in USDC. Small bankroll on purpose. If it blew up, I’d be annoyed, not broke. If it worked, I’d have real numbers on fees, slippage, and how the bot handles a losing streak.

Strategy is momentum-based memecoin swing trading. I’m not hunting for launches. I’m looking for coins that already pumped, pulled back, and might run a second leg. The bot covers research, analysis, execution, and reporting end to end.

Timeframe: 30 days, which lands us here at the May review.

One honest note on “full automation.” It isn’t really hands-off. I still set risk limits, review anything the bot flagged as uncertain, and pull the plug when the market turns into a slot machine. What automation actually buys me is not having to watch the candles.

The Numbers

Here’s where things stand after a month of letting the bot run. Not pretty, but real.

Metric Value Context
——– ——- ———
Starting Value $93.00 Initial USDC deposit
Current Value $55.89 After realized + unrealized
Realized PnL +$56.27 Closed trades only
Unrealized PnL -$1.78 Open positions at risk
Total Trades 21 All closed positions
Winning Trades 7 Profitable closures
Losing Trades 14 Unprofitable closures
Win Rate 33% Not great, but profitable
Best Trade ORCA +$46.34 Single trade covered most gains
Worst Trade BONK -$19.03 Largest loss
Current Streak 14 losses Consecutive losing closures
Best Streak 7 wins Consecutive winning closures

33% win rate looks rough on paper. Seven winners against fourteen losers is the kind of ratio that makes you want to pull the plug. But the winners were fat enough to keep us green, and ORCA alone pulled in +$46.34. That one trade did the heavy lifting. BONK was the bleed at -$19.03 on a memecoin that never came back.

The 14-loss streak is what bothers me most. That’s two straight weeks of closing trades in the red. The unrealized -$1.78 on open positions suggests the current ones aren’t doing much better.

Started at $93, sitting at $55.89, so the portfolio itself is down. But this recap tracks realized PnL, and that’s +$56.27. I’ll take it for now, though I’m watching that losing run closely.

What Worked

ORCA carried the whole month. Bought around $0.80, rode it to $1.20+, sold at +46%. That one trade made more money than everything else combined. Felt lucky, honestly, but the entry caught the early momentum.

The honeypot gate saved me six times. Without it I’d probably be looking at $0 right now. Every loss I did take was a real market move, not a rug pull. That’s the difference.

Mechanical exits kept things from going sideways. The -3% stop-loss rule is boring but it works. BONK cost me $19. Without the stop it could’ve easily been double that. I don’t love setting stops, but I like blowing up a lot less.

What Didn’t Work

The 14-loss streak is rough. The signal generator keeps catching falling knives. “Token is down from recent high” isn’t an entry strategy, it’s a hope dressed up as logic.

Position sizing is wrong. Four open positions with only $55 in play means ~$13 each. After 1-2% in fees per trade, there’s barely any room left to actually profit. Fewer, bigger bets is the obvious fix.

No trailing stop on winners. ORCA hit the fixed +46% target and sold. Fine. But if it had kept running to +100%? That rigid exit caps upside when momentum is real. Honestly, that’s the loss that bugs me most.

Strategy Changes for June

May ended green. Not by much, but green. Here are the four changes I’m making for June based on the trades log.

1. Tighter Entry Criteria

Need ALL of these now:

  • Volume spike > 50% above 24h average
  • Price confirmation: 15-min green candle after entry signal
  • Token age > 3 days (avoid launch-day dumps)
  • Safety score > 65 (up from 60)

The score bump came from two tokens last month that scored in the low 60s and dumped right after entry. Sixty was too forgiving.

2. Trailing Stops

  • Initial stop: -3% (unchanged)
  • If position reaches +10%: move stop to breakeven
  • If position reaches +20%: move stop to +10%
  • Let winners run. Cut losers fast.

3. Position Limits

  • Max 2 open positions until portfolio > $100
  • Min position size: $20 (avoid fee erosion)
  • No adding to losing positions (no averaging down)

Fee erosion is real. A $10 trade on Solana loses half its edge to priority fees. $20 is where the math starts working.

4. Time-Based Exits

  • Any position held > 7 days gets evaluated for exit
  • Momentum trades are short-term. If it hasn’t moved in a week, it’s not a momentum trade.

The Economics

Item Cost
—— ——
Starting capital $93
Jupiter swap fees ~$3 total (1% per trade, ~25 trades)
Helius RPC $0 (free tier)
AI compute $0 (local Ollama)
Net realized $56
ROI 60%

Month one is in the books. $93 in, $56 out after fees. That’s a 60% return on capital, which sounds fine until you look closer and realize ORCA carried the whole portfolio. Pull that single trade out and the rest is basically break-even.

The cost side is clean. I’m running the inference on local Ollama, so there’s no API bill quietly eating into PnL. Helius free tier handles the RPC calls. Jupiter’s 1% swap fee is the only real drag at ~$3 across roughly 25 trades. Manageable today. If volume grows, that fee line is the one I’ll watch first.

Next month’s goal isn’t a bigger win. It’s getting the smaller trades to actually contribute something.

What I’m Tracking Now

Added new analytics to the TradeBot:

  • Win rate by token type (meme vs utility vs governance)
  • Win rate by entry signal type (momentum vs dip vs breakout)
  • Average hold time for winners vs losers
  • Fee impact on small positions
  • Safety gate false positive rate

This is what’ll drive the next round of strategy changes. No more guessing. If the numbers say something’s working, I’ll lean into it. If it’s bleeding money, I’ll kill it. I’ve burned enough time on hunches that didn’t pan out.

Goals for June

May closed at $56 realized. That’s not retirement money, but the bot did exactly what I built it to do: grind out small wins and stay alive. Here’s where I’m aiming for June.

Goal Target
—— ——–
Realized PnL +$40 (conservative, no ORCA-style home runs expected)
Win rate > 40%
Max consecutive losses < 5
Honeypot losses $0 (maintain perfect record)
Portfolio value > $100

The PnL target is intentionally lower than May. I’m not counting on another ORCA-style runner. The honeypot line stays at zero because one bad honeypot wipes out weeks of small wins. I’d rather pass on a trade than lose that streak.

The Lesson

Month 1 showed the AI can trade. It ended at $56 realized. But if I’m being straight with you, most of that came from one position that happened to run hot. That’s not a system working. That’s a coin flip dressed up as strategy.

Month 2 is the real test. Does it actually work, or did I just get lucky?

Plan for May is boring on purpose. Smaller positions. Tighter stops. Fewer trades. Better entries. I’m not trying to get rich here. I want to see if the logic holds when the market isn’t handing out free wins.

Want the full TradeBot config? Included in the TradeBot automation ($25) – safety gate, execution logic, portfolio tracking, and Discord reporting.

Not investment advice. Real trading experiment, real money, real losses. The $93 is a learning budget. If it goes to $0, the lesson is worth more than the cash.

Similar Posts