A divergence can remain visible while price continues against it. This educational reversal model therefore separates a price–RSI comparison, the moment its pivots become confirmed, and a later price break. Each stage has a fixed definition; none supplies a profitable edge by itself.
Unlike the RSI failure swing strategy, this model compares RSI sampled at price pivots, not a sequence of RSI swings. It also tests a different hypothesis from ROC momentum continuation. Here “reversal” names the directional hypothesis, not an established change in the wider trend.
1. Fix the baseline before selecting examples
Use EURUSD H1 Bid candles and RSI(5) on Close with Wilder smoothing. The short period, strict 2-bar pivot wings, 3–12-bar pivot spacing and 4-bar trigger window are explicit teaching choices. They are not optimized or recommended live settings.
Run at most one active episode per symbol, only while flat. Keep a chronological record of all confirmed high and low pivots, including those observed during an active episode or position. Those observations cannot replace frozen levels or start another episode then.
After cancellation, expiry, a consumed trigger or a position exit, do not arm again on that same completed bar. A later newly confirmed pivot may form a new pair with the immediately preceding pivot of its type. If both directions qualify together while idle, skip both and retain their pivot records.
2. Confirm price pivots before sampling RSI
A low pivot P has a Bid low strictly below the lows of the preceding 2 and following 2 bars. All five bars must be complete. A high pivot is strictly above those four highs. Any equal comparison extreme disqualifies that pivot; this is our strict convention, not a claim about every Fractals implementation.
Sample RSI on the price-pivot bar itself. Do not search for a nearby RSI low or high. The samples need not be independent RSI pivots. Pair consecutive confirmed lows for BUY and consecutive confirmed highs for SELL; never skip an intervening pivot to improve the picture.
P becomes knowable only after bar P+2 closes. At the next bar's start, with ready data, P is MT4 shift 3, the latest completed bar is shift 1, and shift 0 is forming. MT4 timestamps identify bar openings; the example below labels closes.
Missing required OHLC or RSI cancels an active episode and disqualifies an affected comparison. Do not replace missing values with zero or bridge absent bars. Use positive prices and compare unrounded values. The momentum-divergence guide explains why pivot time and confirmation time differ.
3. Form the BUY pair and freeze its price levels
Let P1 and P2 be consecutive confirmed price lows, P2 later, with index distance 3–12 bars inclusive. Require Low(P2) < Low(P1) and RSI(P2) > RSI(P1). Price or RSI equality fails. There is no oversold threshold, RSI recross or higher-timeframe filter in this baseline.
At C, the close that confirms P2, freeze B = max High(j), P1 < j < P2: the highest Bid high strictly between the pivot bars, excluding both pivots. Also freeze F = Low(P2) − 1 pip. Neither level can move during the episode.
Before arming, check every completed bar after P2 through C. If any Bid close was already > B, reject the pair as too late under this specification. A wick above B or a close exactly at B does not reject it. No trigger is permitted on C itself.
4. Wait for the first later price break
Inspect only the next 4 completed H1 bars after C, including the fourth. On each, a Bid low ≤ F cancels before any trigger check, even if that candle closes above B. The first close > B is T; equality waits. With no trigger by the fourth close, expire.
A fresh pivot or a stronger divergence does not reset the clock or change B or F. There is no pending order at B and no intrabar entry. The model requires a later closed-price break, not a second RSI signal. RSI may rise or fall after the pair forms without independently cancelling it.
Consume T once, whether the quote is accepted or rejected. Later price breaks cannot revive the episode. Confirmation and entry are separate events: T is shift 1 when its following H1 bar begins; the executable quote arrives afterward.
5. Fix BUY exits before looking at the quote
BUY SL is the fixed Bid floor F. At T's close set TP = Close(T) + 2 × (Close(T) − F). Freeze both prices before quote assessment. Moving the target farther away to justify a worse entry changes the model.
Exit the whole position at the first SL or TP execution. Otherwise request a market exit at the first available quote after 8 H1 bars following T have completed. There is no trailing stop, partial exit, averaging or later RSI-based exit.
The target is geometry, not an expected destination. Gaps, slippage and unavailable quotes can produce a worse loss than planned. If another barrier leaves insufficient room, skip or specify a separate filter to validate; do not silently change these exits.
6. Mirror SELL without confusing Bid and Ask
Use consecutive confirmed high pivots P1 and P2 with the same 3–12-bar spacing. Require High(P2) > High(P1) and RSI(P2) < RSI(P1). Freeze B = min Low(j), P1 < j < P2 and Bid ceiling U = High(P2) + 1 pip.
Reject if any completed Bid close after P2 through C is already < B. During the next 4 bars, a Bid high ≥ U cancels first. The first close < B is T; equality waits. Keep the same expiry, one-use and no-bar-reuse rules.
SELL exits execute on Ask. Set SL = High(P2) + 3 pips, combining the 1-pip structural buffer and a 2-pip spread allowance. At T's close freeze TP = Close(T) − 2 × (SL − Close(T)). Use the same whole-position and time exits.
The Bid ceiling cancels a waiting pattern; the Ask SL protects an open SELL. They serve different stages. The allowance does not reconstruct historical Ask highs, and wider future spreads can trigger an earlier stop. Test the price sides separately.
7. Gate the first quote and the risk budget
Assess the first fresh quote with ready data within 60 seconds after T's close. BUY uses Ask; SELL uses Bid. Require positive prices, Ask ≥ Bid and spread ≤ 2 pips. BUY requires SL < Bid and Ask < TP; SELL requires TP < Bid and Ask < SL. No timely quote means no trade.
Require estimated net reward / planned stop loss ≥ 1.5. Include round-turn commission and adverse allowances of 1 pip at entry and 1 pip at exit in both estimates. Actual Bid/Ask sides already account for spread; do not charge it twice. A failed first quote consumes the pair.
Limit new planned risk to 0.5% of current equity and aggregate planned stop risk to 1%. Convert loss per lot into account currency, round volume down to the broker's step, and check minimum volume, margin, permissions and stop distances. Correlated positions share the aggregate budget.
These limits do not cap every realized loss. Verify contract size, tick value and tick size rather than assuming a universal pip value. On a 5-decimal EURUSD quote, 1 pip is 10 broker points. The risk-management guide explains the wider sizing process.
8. Reproduce the synthetic confirmation sequence
The table uses the first 17 invented bars from the divergence guide and an explicitly alternative eighteenth bar. That guide's falling eighteenth bar is a separate failure scenario. Here a rising alternative illustrates the trigger rules; neither branch is market evidence. Times show H1 closes on one assumed server clock.
| H1 close time | Bid open | Bid high | Bid low | Bid close | RSI(5) |
|---|---|---|---|---|---|
01:00 | 1.10500 | 1.10530 | 1.10470 | 1.10500 | — |
02:00 | 1.10500 | 1.10630 | 1.10470 | 1.10600 | — |
03:00 | 1.10600 | 1.10630 | 1.10520 | 1.10550 | — |
04:00 | 1.10550 | 1.10630 | 1.10520 | 1.10600 | — |
05:00 | 1.10600 | 1.10630 | 1.10420 | 1.10450 | — |
06:00 | 1.10450 | 1.10480 | 1.10370 | 1.10400 | 37.500000 |
07:00 | 1.10400 | 1.10430 | 1.10270 | 1.10300 | 28.571429 |
08:00 | 1.10300 | 1.10330 | 1.10150 | 1.10200 | 22.018349 |
09:00 | 1.10200 | 1.10330 | 1.10180 | 1.10300 | 39.393939 |
10:00 | 1.10300 | 1.10430 | 1.10270 | 1.10400 | 52.596724 |
11:00 | 1.10400 | 1.10480 | 1.10370 | 1.10450 | 58.277409 |
12:00 | 1.10450 | 1.10480 | 1.10370 | 1.10400 | 50.684966 |
13:00 | 1.10400 | 1.10430 | 1.10320 | 1.10350 | 43.586797 |
14:00 | 1.10350 | 1.10380 | 1.10220 | 1.10250 | 32.283835 |
15:00 | 1.10250 | 1.10280 | 1.10130 | 1.10180 | 26.313217 |
16:00 | 1.10180 | 1.10310 | 1.10160 | 1.10280 | 44.606922 |
17:00 | 1.10280 | 1.10380 | 1.10250 | 1.10350 | 54.492519 |
18:00 | 1.10350 | 1.10520 | 1.10320 | 1.10490 | 68.532123 |
Seed average gain G and loss magnitude L with the first 5 close changes: at 06:00, G = 0.0003 and L = 0.0005, giving RSI 37.5. Thereafter apply A(t) = (4 × A(t−1) + x(t)) / 5 to each average, with x(t) the current gain or loss magnitude; RSI = 100 × G / (G + L). If G + L is zero, mark RSI unavailable in this model; G zero alone gives 0, L zero alone gives 100.
P1 closes at 08:00: low 1.10150, RSI 22.018349, confirmed after 10:00. P2 closes at 15:00: lower low 1.10130, higher sampled RSI 26.313217, confirmed at C, 17:00. The spacing is 7 bars; no intervening low pivot qualifies.
At C freeze B = 1.10480 and F = 1.10120. Neither right-side confirmation bar closed above B. At T, 18:00, the low 1.10320 stays above F and the close 1.10490 exceeds B. T is the first eligible bar. Displayed RSI uses 6 decimals; decisions use full precision.
BUY SL is 1.10120 and TP is 1.11230. If filled and neither price exit occurs, the time exit becomes due at 02:00 the next day. The supplied path stops at T; it supplies no confirmed fill, subsequent price path or realized return. A terminal using a different warm-up history may produce different RSI samples; match initialization before comparison.
9. Calculate the quote's cost-adjusted eligibility
Assume a USD account with $10,000 equity, 100,000 EUR per lot, 1 pip equal to 0.0001, $10 pip value per lot and 0.01 volume step. The first ready quote at 18:00:10 is Bid 1.10490 / Ask 1.10502: 1.2 pips. Assume $7 round-turn commission per lot, no financing charge here, and the stated adverse allowances.
| Check | Calculation | Result |
|---|---|---|
| Risk budget | 10000 × 0.005 | $50 |
| Estimated loss per lot including costs | ((1.10502 − 1.10120) / 0.0001 + 2) × 10 + 7 | $409 |
| Potential reward per lot after costs | ((1.11230 − 1.10502) / 0.0001 − 2) × 10 − 7 | $701 |
| Net reward / planned loss | 701 / 409 | 1.713936 |
| Volume rounded down to the step | floor((50 / 409) / 0.01) × 0.01 | 0.12 |
| Planned stop loss at that volume | 0.12 × 409 | $49.08 |
This quote passes the ratio gate. An alternative first quote of Bid 1.10550 / Ask 1.10562 still has 1.2-pip spread, but loss becomes $469 and potential reward $641 per lot: 641 / 469 = 1.366738, below 1.5. Reject that episode rather than moving its target.
The 0.12-lot example assumes enough remaining portfolio budget and valid broker conditions. Planned loss is $49.08; this is an estimate, not a guaranteed maximum. Another contract, account currency or financing schedule needs a fresh calculation.
10. Retain failures rather than redrawing the pair
- An equal pivot extreme, missing sample or nonconsecutive selected pair: no valid comparison.
- A price break before or on confirmation C: reject the pair, without a retrospective entry.
- A touched invalidation floor or ceiling, missing observation or expired window: no entry.
- A late quote, excessive costs or failed exposure gate: consume the trigger and log the skip.
A trend can extend through several divergences; a price break can then fail as well. Waiting for confirmation removes an unavailable early entry, but it can worsen the later reward-to-risk ratio. The extra price condition does not demonstrate independent evidence or better expectancy.
This baseline adds no news or session exclusion. News, rollover, gaps and spread expansion remain risks to record. Test any added exclusion as a separately specified version, including missed trades. The momentum-combination guide explains why related price transformations can repeat the same information.
11. Preserve chronology and order state in validation
Log both pivot opening timestamps, their confirmation closes, RSI samples, B, F or U, deadline and consumed state. Process each completed bar once and update pivot records even when no new episode is allowed. A restart must restore the same state, not select a better pair from the finished chart.
Keep analytical triggers, order requests and confirmed positions distinct. A known rejection receives no retry for that episode. An uncertain response requires reconciliation of open orders and history before another request. Record actual fills and exposure; do not widen SL or increase size to conceal a breach. This is a specification, not tested EA source code.
Replay strict ties, pivot spacing, right-side confirmation, early breaks, boundary-touch priority and expiry. Verify mirrored SELL with Ask exits. If both exits occur inside one OHLC bar, use tick order or flag the ambiguity and report a conservative SL-first assumption.
Evaluate the full model after spread, commission, financing and adverse fills. Separate development from later evaluation, retain every tried variant, then forward-test incoming data. Report trade counts, drawdown, exposure and uncertainty. The MT4 backtesting guide covers the broader process; no success rate or return is established here.
12. RSI divergence strategy questions
Does the second price pivot authorize an entry?
No. P2 first needs two completed bars to its right. The pair is assessed at C; the model then waits for a strict price break during the next 4 bars. The actual quote is assessed only after that trigger closes.
Must RSI itself form two pivots?
No. This convention samples RSI on the two selected price-pivot bars. Independently matching RSI pivots would be a different model with different alignment and confirmation rules.
Can I use a clearer, older price pivot instead?
No. Use consecutive confirmed pivots of the same type and the stated 3–12-bar spacing. An intervening pivot cannot be discarded because a more distant comparison looks stronger.
What if price breaks the level while P2 is still confirming?
A strict close beyond B after P2 through C rejects the pair. Do not place an earlier entry on P2 or reuse C as T. A wick beyond B alone is not the completed-close event required by this rule.
Does divergence plus a price break prove a reversal?
No. Both derive from market prices, and both can fail during a continuing trend. They define an observable hypothesis whose trading value must be evaluated after costs on separate data.
Has the synthetic example demonstrated a profitable trade?
No. It stops at the trigger and an illustrative quote calculation. No confirmed fill or exit outcome is supplied. The alternative eighteenth bar is explicitly invented, not selected market-performance evidence.
13. Technical reference and scope
The official MetaTrader 4 RSI reference explains RSI and divergence. The strict pivots, price-aligned samples, seed, trigger sequence and risk limits here are our educational conventions. They are not vendor-endorsed trading parameters.
Forex and leveraged trading involve substantial risk. This strategy is educational, not investment advice. Past or simulated results do not guarantee future performance.