Published

Our pipeline logs every backtest broken down by the UTC hour each trade opened in, not just the aggregate. I pulled TAUSDT's pullback_reclaim record: 2,000 trades, 24 hourly buckets, 59 to 107 trades per hour. Run the whole thing together and the pair nets +$161.31 with a profit factor of 1.15 -- decent, unremarkable, the kind of number that looks fine on a dashboard. Split it by hour and it's not one strategy running all day. It's a strategy that works 20 hours and quietly bleeds for 4.

The four hours that lose money

Our pipeline auto-tags each hourly bucket with a verdict. Four of TAUSDT's 24 hours get flagged BAD_FOR_THIS_FAMILY -- every other hour either passes or lands in a neutral watch state. All four are net negative:

Hour (UTC)TradesWin rateProfit factorNet
13:005961.0%0.71-$11.88
19:007369.9%0.80-$8.68
21:008461.9%0.71-$18.21
23:009962.6%0.59-$27.60

All four flagged BAD_FOR_THIS_FAMILY by our pipeline's own per-hour verdict logic. Every other one of TAUSDT's 24 hours is net positive.

Where the money actually comes from

Add up every losing hour across the full day and TAUSDT's backtest drops -$75.03 total. The four flagged hours above account for -$66.37 of that -- 88% of all losses in exactly 17% of the trading day. The other 20 hours lose a combined $8.66, spread thin enough that none of them individually trip the bad-hour flag. Meanwhile the best hour, 17:00 UTC, runs an 86.9% win rate and a 2.41 profit factor on its own 84 trades, netting +$42.41 -- more than half of what the four bad hours lose, by itself, in one hour slot. That's a 4x swing in profit factor and a 36-point swing in win rate (51.3% at the worst hour for win rate, 20:00, to 86.9% at 17:00) depending purely on what time the trade opened, with the entry/exit logic held completely fixed.

This isn't a seasonality story, it's a liquidity-regime story

I'm not claiming TAUSDT "doesn't work after 9pm UTC" as some universal truth -- this is one pair, one strategy family, one 2,000-trade window. What it does show is that an aggregate profit factor of 1.15 can hide a strategy that's genuinely strong most of the day and genuinely broken in specific stretches, and the aggregate number alone never tells you which. 13:00, 19:00, 21:00 and 23:00 UTC are exactly the kind of low-liquidity or session-transition windows where a pullback-reclaim setup -- which depends on a clean bounce off a level -- is more likely to get chopped up by thin order books instead. The pipeline doesn't know why; it just logs that those four hours, every time, come back negative.

What I actually do with this

I don't run TAUSDT (or anything in this family) blind across all 24 hours anymore once a pair shows this pattern -- I check the hourly breakdown before trusting the aggregate. A profit factor of 1.15 sounds marginal; it's actually a strategy running near 1.3-1.4 for 20 hours a day dragged down by four hours that should probably be excluded or sized down entirely. Before leaning on any aggregate PF number, I run the actual bet size through risk of ruin for both the "all hours" number and the "20 good hours" number -- the bust probability is not the same position, even though the headline backtest summary would have you treat it as one.

Method: numbers pulled directly from our backtest pipeline's hour_performance table (TAUSDT, pullback_reclaim family, 2,000 trades split across 24 UTC hourly buckets, 59-107 trades per bucket). Verdict tags (BAD_FOR_THIS_FAMILY, GOOD_FOR_DEEP_TEST, WATCH, WEAK) are the pipeline's own per-hour classification, not recomputed by hand. Past backtest performance is not a guarantee of future results. Not financial advice.

Check your own numbers
Trade where the calculators point
Share: 𝕏 Post Reddit