The 2–30 minute trap: how churn and fees quietly eat a "profitable" system

AlgoProven Research · June 2026 · why backtests lie series · read the last one

A strategy can show a clean edge on paper, get filled at real prices on a real broker, and still bleed — not because the signal stopped working, but because of how long you hold and how often you trade. Here is the autopsy, with real fills.

Every prop trader has seen it: the backtest curve climbs, the win rate looks fine, you go live — and the account drifts down. The usual reflex is "the edge stopped working." Usually it didn't. The edge is still there. It's just buried under two costs a naïve backtest barely models: commissions on every round trip and the trades you take that you shouldn't.

We ran one of our own bots on a real broker account and pulled the actual fills — not a notebook simulation, the broker's own trade report. 68 closed trades. Here's what the paper version never showed us.

1. The system was near-breakeven gross — and fees nearly doubled the loss

MetricReal fills (68 trades)
Gross P&L−$473
Commissions / fees−$339
Net P&L−$813
Win rate50%
Profit factor0.90

Read that again: fees were 72% of the gross loss. On a system that is roughly breakeven before costs, the commission is not a rounding error — it is the result. A backtest that uses zero or token commissions will paint this exact system as a flat-to-slightly-up performer. The broker statement calls it a −$813 month.

2. Where the money actually went: bucket by holding time

Hold timeTradesNetWin%
< 2 min9−$3633%
2–30 min (churn)36−$4,14144%
> 30 min (holds)23+$3,36465%

This is the whole story in one table. The trades held longer than 30 minutes were the entire edge: +$3,364 at a 65% win rate. The 2–30 minute trades — over half the activity — bled −$4,141. Same bot, same signal, same week. The difference between a winning system and a losing one was holding time, and the churn bucket is exactly where the fee drag compounds: more trades, more round-trip commissions, smaller edge per trade to absorb them.

We call this duration = leverage. The longer holds let the move develop; the short churn pays the broker to be wrong faster. A backtest that fills every bar cleanly and counts every signal as a free entry will happily show the churn as "more opportunities." Real fills show it as a fee pump.

3. The proof it's discipline, not the signal

We ran the same bot on a second account where it happened to churn far less. The contrast is brutal:

Disciplined runChurning run
Churn rate (% of trades 2–30 min)12%51%
Fees as % of gross4%72%
Profit factor3.640.90
Net per contract+$21.77−$2.27

Identical logic. The only material difference was how often it traded. One run was a PF 3.64 winner; the other a PF 0.90 loser. The signal didn't change — the discipline did.

4. How to make a backtest stop lying to you

The takeaway: "trade less, hold longer" sounds like timid advice. On real fills it was the difference between +$3,364 and −$4,141 on the same signal. Backtests lie when they hide the cost of churn. Price it in, and the strategy tells you the truth.

Educational case study using our own automated-trading test accounts; figures are historical results of our internal testing, not a performance guarantee or an offer to trade. Trading futures involves substantial risk of loss and is not suitable for everyone. Hypothetical and historical results have inherent limitations.