Ignoring Fees: The Silent Killer of Bot Profits
Ignoring trading fees is one of the most common automated trading mistakes. See how commissions, spreads, and slippage quietly erase a bot's edge.

The mistake: treating fees as a rounding error
Plenty of bots look profitable in a backtest and bleed money live. The usual culprit isn't a broken strategy — it's unaccounted trading costs. Every order pays something: a commission, the bid-ask spread, and often slippage when the fill isn't exactly where you expected.
On a single trade these costs feel trivial. Across hundreds or thousands of automated trades, they compound into the difference between an edge and a slow drain. The more often your bot trades, the more fees matter.

The three costs that add up
Fees come in three flavors, and a realistic backtest needs all three:
- Commissions/taker fees — a flat or percentage charge per order. On crypto spot this is often around a tenth of a percent per side; you pay it on entry and exit.
- Spread — the gap between the best bid and best ask. You buy at the ask and sell at the bid, so you start every round trip slightly underwater. Spreads widen on illiquid pairs and during volatility.
- Slippage — the difference between the price you wanted and the price you got. Market orders and thin books make this worse.
A "0.2% per round trip" cost sounds tiny — but a strategy that makes 0.3% per trade keeps only a third of its gross edge after fees. High-frequency scalping is where fee neglect does the most damage.
Why high-turnover bots suffer most
Consider two bots targeting the same annual return. One trades a handful of times a week; the other trades dozens of times a day. Same gross edge, wildly different net result.
The scalper's numbers look absurd because they are — a strategy that turns over that often needs a gross edge far larger than its costs just to break even. That's the trap: a backtest with zero fees makes over-trading look free. It never is.
This is closely related to another classic error, — a curve-fit strategy often "works" only because frictionless backtests reward frequent, marginal trades that die on contact with real costs.

How to account for fees before going live
You don't need code — you need a realistic test and a preference for cheaper execution.
- Model fees in the backtest. Include your broker's actual commission and a spread estimate for the pairs you trade. If your assumes free trading, treat its results with heavy skepticism.
- Prefer limit orders where you can. Resting orders often earn maker rebates or at least avoid crossing the spread. See for the trade-off.
- Reduce turnover. Wider filters, higher timeframes, and fewer marginal signals cut the fee bill directly. Fewer, higher-conviction trades usually beat many thin ones.
- Check funding on futures. On perpetuals, are a recurring cost that a spot-style backtest ignores entirely.
A strategy's real edge is what survives after commissions, spread, slippage, and funding — not the gross number on the backtest chart.
On algomax you describe the strategy in plain language and backtest it before deploying, so you can compare net results across timeframes and order types before a single dollar is at risk.
Key takeaways
- Fees are not a rounding error — they scale with how often your bot trades.
- Account for commissions, spread, and slippage together; on futures add funding.
- High-turnover strategies need a much larger gross edge to survive costs.
- Model real fees in the backtest and favor limit orders and lower turnover to protect your edge.