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.
