1. FVG Reversion
After a strong move leaves a fair value gap, trade the return into the gap with the trend.
2.What it is
A fair value gap (FVG) is a three-candle imbalance where the wicks of the first and third candles do not overlap. After displacement, price often returns to fill part of that gap. This strategy plans an entry inside the gap in the direction of the original move, with the stop beyond the gap.
In simple words
A very fast move can leave a gap in the price action, like a hole. Price often comes back to visit that hole before continuing. We plan to enter when it does, in the direction of the original move, with the stop on the far side of the gap.
3.Why it may work
A fast move means one side was much more aggressive, leaving prices that traded only briefly. Returning to these prices lets participants who missed the move enter and lets remaining orders fill. Many gaps are never revisited, so the gap alone is not a signal; the context decides.
4.Best market conditions
- The gap was created by a strong displacement that broke structure
- The higher-timeframe trend agrees with the direction
- The gap is large enough compared with the average range
- Price pulls back into it in an orderly way
5.When NOT to trade it
- The gap is tiny compared with normal candles
- Price closes completely through the gap against you
- The move that made the gap was weak or against the higher-timeframe trend
- News is about to hit
6.Timeframes
Entry: 15M, 5M · Context: 1H
Find the displacement on the 15M chart and refine the entry on the 5M chart.
7.Entry rules and step-by-step setup
Entry rules
- Price enters a fresh gap that agrees with the trend
- A reaction candle closes in the trend direction
- Optionally enter at the gap's midpoint with a limit order
Step by step
- 1.Find a strong displacement that breaks a swing
- 2.Mark the gap between candle 1's wick and candle 3's wick
- 3.Wait for price to pull back into the gap
- 4.Look for a reaction candle inside the gap
- 5.Enter with the stop beyond the far edge of the gap
- 6.Target the high (or low) of the move, or a 1:2 multiple
8.Stop loss
Beyond the far edge of the gap. A close completely through the gap against you invalidates the idea.
9.Take profit
The extreme of the displacement leg or a fixed 2R.
10.Risk / reward
At least 1:2. Entering deeper in the gap tightens the stop but fills less often.
11.Confirmation
- A rejection candle inside the gap
- A lower-timeframe structure shift
- The gap sits inside a zone you marked beforehand
12.Invalidation
- A close fully through the gap
- The gap is filled and price continues against the idea
13.Common mistakes
- Trading every gap
- Ignoring the trend
- Placing the stop inside the gap
- Treating gaps as magnets that always fill
14.Example chart
How it performed in our own backtests
TESTINGBacktested on 1297 trades but not verified: 6 of 9 checks not met (win rate above 50%; profit factor at least).
- Win rate
- 31.7%
- Sample size
- 1297 trades
- Average planned RR
- 1:2
- Profit factor
- 0.84
- Worst max drawdown
- 34.8%
- Average per trade
- -0.118R
- Tested timeframes
- 15m, 30m, 5m
- Tested markets
- BTCUSDT, ETHUSDT, SOLUSDT
Period 2026-03-09 to 2026-10-03 · OKX spot candles (real exchange history, closed candles only) · engine bahari-bt-1.0.0 · run on 2026-10-03 · 1% risk per trade, 0.05R extra cost per trade plus spread · one position at a time, ambiguous candles resolved stop-first · parameters fixed before running.
Retest of a fair value gap in the direction of the structure trend, stop beyond the gap, 1:2 target.
VERIFIED checklist
- ✔Sample size of at least 300 trades(1297 trades)
- ✘Win rate above 50%(31.7%)
- ✘Profit factor at least 1.2(0.84)
- ✘Average result per trade above 0.05R after costs(-0.118R)
- ✘Worst max drawdown at most 25%(34.8%)
- ✔Average planned reward:risk at least 1:1(1:2)
- ✔Tested in at least 4 market/timeframe conditions (2+ markets, 2+ timeframes)(9 conditions, 3 markets, 3 timeframes)
- ✘Profitable in at least 67% of the conditions(1 of 9)
- ✘Profitable in BOTH halves of the history (profit factor at least 1 in each)(first 0.88, second 0.79)
Results per market and timeframe (9 runs)
| Market | TF | Trades | Win rate | Total R | Max DD |
|---|---|---|---|---|---|
| BTCUSDT | 15m | 148 | 27% | -37.6 | 34.81% |
| BTCUSDT | 5m | 138 | 31.9% | -19.6 | 22.31% |
| BTCUSDT | 30m | 142 | 37.3% | 7.9 | 17.51% |
| ETHUSDT | 15m | 158 | 34.2% | -6.1 | 20.67% |
| ETHUSDT | 5m | 116 | 28.4% | -26.1 | 25.22% |
| ETHUSDT | 30m | 148 | 31.8% | -15.9 | 27.23% |
| SOLUSDT | 15m | 150 | 28.7% | -30.1 | 27.04% |
| SOLUSDT | 5m | 136 | 33.8% | -6.8 | 15.79% |
| SOLUSDT | 30m | 161 | 31.7% | -19.2 | 23.56% |
Reading this honestly: VERIFIED needs 300+ trades, a win rate above 50%, profit factor 1.2+, drawdown under 25%, profit in at least two thirds of the conditions and in both halves of the history. A strategy that fails here can still be worth learning, but do not risk money on it before testing it yourself in the Strategy Lab.
Past and backtested results never guarantee future results. Nothing on this page is financial advice.
15.Quiz
16.Practical challenge
Plan a limit order inside a fair value gap in a pending-order challenge.
