Backtest report

Initial Value Area Breakout, on trial

50 Bybit USDT perpetuals, 90 days of 1-minute data (2026-05-25 → 2026-08-23). Session anchor 00:00 UTC. Seven (initial-period × entry-candle) combinations, each tested against five target multiples — 1R through 3R — for 157,115 simulated trade-outcomes in total. Later sections widen this to a stop/fee sensitivity sweep and a 363-symbol universe gated by a daily volume/volatility screener — which is where the story changes.

0 / 35
configurations were net profitable after fees. Every (initial-period length, entry timeframe, target) combination produced a negative average R — even where the raw directional edge was genuinely positive.

What was actually simulated

Rules taken literally from the brief, resolved to precise mechanics where the brief left room.

Value area
POC / VAH / VAL from an equal-width, overlap-weighted volume profile of the initial window — ported bar-for-bar from the indicator's f_computeIVA, 100 bins, 68% value area.
Entry
First entry-candle close outside [VAL, VAH] after the initial window ends. Long above VAH, short below VAL. One entry per symbol per session per combo.
Stop
Exactly at POC (the brief said "past POC"; no buffer distance was specified, so none was added — see caveats).
Target
Entry ± (R multiple) × |entry − POC|, tested at 1, 1.5, 2, 2.5, 3.
Time exit
If neither stop nor target is touched by the next 00:00 UTC session boundary, close at the last available price.
Costs
Bybit taker fee, 0.055% per side, converted to R-space per trade: feeR = 2 × fee × entry ÷ risk.

Where the edge goes

Per-combo average R at the 2R target, before and after the fee model above. The gap between the two bars is the median stop distance's real enemy: fees, not the strategy's directional call.

Gross R (before fees) Net R (after fees)

Full result grid

Average net R (fees included) for every combo × target-R pair. Darker red is worse; all 35 cells are negative.

Initial period / entry candle Win% @1R 1R 1.5R 2R 2.5R 3R

Gross edge vs. fee drag, side by side

Median stop distance (entry to POC) as a share of price, next to what a 0.11% round-trip taker cost does once converted into R units. The tighter the stop, the more of every R the fee eats.

Combo Median stop Fee, in R Gross R @1R Net R @1R Gross R @3R Net R @3R

Does a wider stop or cheaper fills fix it?

Re-ran every combo × target with three stop placements and two fee models, holding entries fixed (the breakout signal doesn't depend on where the stop sits). A 5bp buffer stands in for tick/slippage room past the level.

poc
Stop exactly at POC — the baseline above.
poc_buffer
Stop 0.05% of price past POC (further from entry).
va_buffer
Stop anchored to the value-area edge — VAL for longs, VAH for shorts — plus the same 0.05% buffer past it. Widest of the three by construction, since VAL/VAH sit outside POC.
taker
0.055% per side (0.11% round trip) — the baseline fee model above.
maker
0.020% per side (0.04% round trip) — Bybit's standard maker rate, if entries/exits are limit orders instead of market.
32 / 210
(stop × fee × combo × target) cells turned net positive — and every one of them needed maker fills. Under realistic taker fees, the single best case across the whole sweep (widest stop, largest target, slowest combo) reached +0.0006R: statistically indistinguishable from zero, not a real edge.

Stop distance widens predictably as the anchor moves from POC outward to the value-area edge (median, as % of price, across all seven combos):

Initial period / entry candle poc poc_buffer va_buffer

The best-performing combo throughout, 60m initial period / 15min entry candle, across all three stops and both fee models:

Taker (0.055%/side)
Stop1R1.5R2R2.5R3R
Maker (0.020%/side)
Stop1R1.5R2R2.5R3R

Pooled across all seven combos and five targets:

Stop variantWin rateAvg net R, takerAvg net R, maker

What if only specific symbols are tradeable?

A separate question from stop placement: what if the strategy only fires on symbols passing a 5-criterion daily filter, checked once at 23:00 UTC (9am Sydney) — one hour before the next 00:00 UTC session it gates? Re-ran the full universe of 363 Bybit USDT perps that ever clear $10M/24h turnover, this time simulating a symbol's IVA breakout only on the days it also passes the filter below.

Vol, 24h
Trailing 24h turnover > $10M USD, as of the check.
Vol chg, 24h
That trailing 24h turnover > 10% higher than the prior 24h period.
ATR(14), 15m
14-period ATR on 15m bars > 2% of price.
Volatility.D
Today's true range so far (00:00–23:00 UTC) > 3% of today's low, matching the attached Pine script's tr(true)*100/abs(low).
Rel vol at time
USD volume of the 5m bar ending at the check > 2× the average USD volume of that same time-of-day 5m bar over the preceding 10 days.
−0.55R → +0.01R
pooled average net R, exact-POC stop, taker fees — identical strategy mechanics, only the symbol universe changes. The 363-symbol universe traded unfiltered performs the same as the earlier top-50 baseline (confirming this isn't a broader-universe effect); gating entries to the ∼4 symbols/day that clear all five criteria is what flips the sign.

The filter is strict: only {{PASS_PCT}}% of (symbol, day) checks passed — {{TOTAL_PASSED}} qualifying events across {{DISTINCT_SYMBOLS}} distinct symbols and {{DAYS_WITH_PASS}} of {{TOTAL_DAYS}} session dates, averaging {{AVG_PER_DAY}} tradeable symbols per day (max {{MAX_PER_DAY}}). This is a genuinely small sample — treat precision accordingly.

Stop variantWin rate, unfilteredAvg net R, unfiltered (taker)Win rate, filteredAvg net R, filtered (taker)Avg net R, filtered (maker)

Full result grid under the screener, exact-POC stop, taker fees — the realistic case. Unlike the unfiltered grids above, this one is mostly green:

Initial period / entry candle 1R1.5R2R2.5R3R

Can entries, stops, or targets be refined further?

Tracked Maximum Adverse Excursion (MAE) and Maximum Favorable Excursion (MFE) for every breakout event — how far price moved against and in favor of the position, in R, before the exact-POC stop was touched or the session ended — independent of any target choice. Then checked whether the screener's own inputs (ATR%, relative volume, Volatility.D, 24h volume change) predict trade quality on a sliding scale, and tested a rule the MFE data seemed to invite.

MFE distribution (all events, n=215,853)
MAE distribution (all events)

Two things jump out. First, MAE clusters right at 1R (median 1.15R) because 89.4% of all breakout events eventually touch the POC stop at some point — the stop isn't a rare tail event, it's the modal outcome. Second, MFE has a long right tail: the median event never even reaches +1R, but the top quartile runs past +3R and the top decile past +8R. The strategy's entire economics live in that tail.

44.6%
of screener-passed trades that eventually stopped out had already touched +1R in their favor first, before reversing all the way back to the POC stop. That looked like an obvious opening for a breakeven-stop rule — it wasn't (see below).

Bucketing the 60m/15min combo's events by each screener input (quintiles) shows why the filter works as a combination rather than any single dial: none of the four inputs shows a real gradient on their own.

MetricQuintileMetric meanAvg MFEAvg MAEStop rateReach 1RReach 2R

Tested the obvious rule the MFE tail invites: move the stop to breakeven once price first touches +1R, keep the same fixed target above that. Result, pooled across all combos and targets on the screener-passed population:

Fee modelFixed stop (baseline)Breakeven-after-1RChange

It makes things worse, not better — taker pooled avg net R drops from +0.0135R to −0.0176R. The reason: crypto breakouts retrace through their own entry price constantly on the way to a bigger move. A stop parked at breakeven gets clipped by that noise before the trade has a chance to reach 2R or 3R, converting what would have been full winners into scratches far more often than it rescues true reversals. A 1.5R trigger is less damaging but still net negative (taker pooled: +0.0135R → +0.0011R) — the fixed POC stop with no dynamic management outperforms every variant of "protect the trade early" tested here.

Net finding: the screener remains the one lever that actually works. Trying to out-engineer the exit — moving the stop, adding a breakeven rule — either does nothing or actively subtracts value. The fixed POC stop combined with a patient target (2R–3R on the 60m-IVA combos) already captures the fat right tail that MFE data shows is where all the edge lives; the more it's fiddled with, the more of that tail gets cut off.

Reading the numbers

  • The direction call has real value. At the widest stop (60m IVA), gross-of-fee expectancy is positive and grows with the target — 0.03R at 1R climbing to 0.19R at 3R for the 60m/1min combo. Wider stops let winners run further before the trade times out at session close.
  • Fees are the actual killer, not the signal. Median stop distance ranges 0.22%–0.55% of price. A 0.11% round-trip taker cost against a 0.22% stop consumes half a full R before the trade does anything — that's the 15m/1min combo's 0.92R average fee drag.
  • Wider initial periods and slower entry candles both help, and stack. 60m IVA with a 15m entry candle is the least-bad combo (−0.18R to −0.28R net) precisely because it has both the widest stop and the fewest, more deliberate entries.
  • Widening the stop past POC helps, but can't fully close the gap alone. Moving the anchor from POC to the value-area edge nearly triples the median stop distance (0.55% → 0.88% for 60m/15min) and roughly halves the fee drag — but under taker fees it only reaches breakeven, not a positive edge.
  • Cheaper fills matter more than a wider stop. Switching taker → maker on the exact same POC stop turns 60m/15min's 2R cell from −0.21R to +0.01R. Fee tier is doing more work here than stop placement.
  • Symbol selection beats every stop or fee tweak tried. Gating entries to the daily volume/volatility screener turns the exact-POC, taker-fee combination — the single most pessimistic setting tested anywhere in this report — from −0.55R to +0.01R pooled. Nothing else tested moved the needle nearly that much on that same setting.
  • It's not just "more symbols." The full 363-symbol universe traded with no filter performs identically to the 50-symbol baseline (−0.55R pooled, exact-POC/taker) — confirming the screener's effect is about which days and symbols get traded, not how many are available.
Bottom line: stop placement and fee tier can each chip away at the deficit, but the screener is the one lever that actually closes it under realistic (taker) costs. The catch is sample size: 331 qualifying trades across 90 days is a thin base for a strategy this binary (win big or lose 1R), so treat the flip to positive as a promising signal to test forward, not a settled result.

What's still untested

Maker fills need a limit-order entry

Real maker fills require the entry to be a resting limit order, not a market order chasing the breakout close — which risks missing fast moves entirely. That execution tradeoff isn't modeled here.

Buffer size was one guess

5bps was used for every "buffer" variant. A larger buffer would widen risk further and dilute fees more, at the cost of giving back some of the gross edge to noise.

Symbol survivorship

The top-50 list was ranked by today's 24h turnover and applied retroactively across the full 3 months. Symbols that fell out of the top 50 over that window (or entered it) aren't represented as they actually traded.

Only 90 sessions

Three months is a thin sample for a daily-reset strategy — 90 UTC sessions per symbol. Directional edge estimates (the gross-R figures above) carry wide uncertainty at this size.

The screener's edge rests on 331 trades

~4 symbols/day passing 5 simultaneous criteria is a small, binary-outcome sample. The pooled +0.01R (taker) result is a promising direction, not a statistically settled edge — it should be validated forward, not sized up on this backtest alone.

Screener parameter choices were fixed, not swept

The 10-day rel-vol-at-time lookback and the 23:00 UTC check hour were taken as given rather than tested for sensitivity. Both could plausibly move the pass rate and the resulting edge in either direction.