ForexBestRobots.comCompare EAs →
EN

CONFIRMATION FRAMEWORKS · STRATEGY 1

Trend and Momentum Confirmation Forex Strategy: Timed RSI and Price Gates

Test an H1 Forex strategy with SMA trend permission, an RSI event and a later price-close gate. Exact BUY/SELL rules, fixed exits, costs and expiry.

18 min readReviewed by ForexBestRobots Editorial Team
This authored EURUSD H1 strategy separates trend permission, a momentum event and later price confirmation. SMA(50) and RSI(14) use completed closes. Event A is not an entry: price has only 2 later candles to confirm. Fixed levels, the first executable quote and a cost-aware loss budget decide whether an order is allowed. All observations are invented; no backtest or trading edge is claimed.
Trend permits; momentum arms; price confirms; costs can still reject.

A momentum reading can improve while price still fails to follow through. This strategy tests a specific continuation hypothesis: a directional price average permits the trade, RSI leaves a neutral band, and a later close must clear the event candle before the opportunity expires. More checks may also delay entry or discard good trades.

This is a complete authored research baseline, not a proven profitable system. It differs from the MA pullback strategy and ROC reset strategy through its ordered RSI event, later price gate and expiry. SMA and RSI both derive from price; their agreement is not independent evidence or a vote count.

1. Fix the market, timeframe and episode

Use EURUSD H1 Bid candles, a pip of 0.0001 and an illustrative tick of 0.00001. These parameters apply only to this baseline; verify actual contract specifications. No higher timeframe, session filter or news exclusion is included. An addition creates a separate version to test.

While flat, consider only one active episode. Require no EURUSD position or pending EURUSD order anywhere in the account before arming and submission. A cancelled, expired or consumed episode cannot rearm on that same candle. A later episode needs a fresh qualifying event; never keep extending the old deadline. Missing or nonconsecutive required H1 data cancels the candidate.

2. Define the trend and momentum inputs

Use close-based SMA(50), with no line displacement, and Wilder-smoothed RSI(14). SMA is the arithmetic mean of its completed closes. BUY permission requires Close(t) > SMA50(t) and SMA50(t) − SMA50(t−5) ≥ 0.00020; SELL reverses the close comparison and requires a difference no greater than −0.00020. Equality at the slope limit is allowed; equality at the average fails. The trend guide explains lag and range whipsaws.

For RSI, average positive and negative close changes over the first 14 changes, then update each average with avg(t) = (13 × avg(t−1) + change(t)) / 14, using the appropriate nonnegative gain or loss. Use RSI = 100 − 100 / (1 + avgGain / avgLoss); zero loss with positive gain gives 100, zero gain with positive loss gives 0, and both zero give 50 in this baseline. Keep history origin and seeds fixed. Compare full precision; match platform outputs before substituting them. See momentum definitions.

3. Arm a fresh BUY momentum event A

The immediately preceding 3 completed RSI readings must all lie in [45, 55], including endpoints. The current completed candle A must have RSI(A) > 55, a bullish body and a range from 8 to 30 pips inclusive. BUY trend permission must hold at A. A failed event is rejected; RSI staying above the threshold does not create repeated new events.

At A's close freeze Bid stop S = Low(A) − 0.00020 and Bid target Tp = High(A) + 2 × (High(A) − S), rounded down to valid ticks. High(A) is the price gate. Both exits are fixed before later confirmation and quote inspection. Do not move the target or tighten the stop to make a late quote acceptable.

4. Allow only the next two closes to confirm

Inspect the next 2 consecutive completed H1 candles, including the second. On each, first cancel if Bid low reaches S or Bid high reaches Tp. Then require BUY trend permission to remain valid and RSI strictly above 55. A missing interval, a failed condition or expiry cancels permanently. No price break on the second close means expiry.

The first later close strictly above High(A) is the only price candidate. It must also be bullish; otherwise cancel. Call the valid candle T. A wick or equal close is insufficient. T must occur after A; its own forming candle cannot confirm. Submission uses a later quote, never a retrospective fill at T's close. Invalidation takes priority even if that same candle closes above the gate.

Invented completed H1 Bid candles: A closes at 09:00, B at 10:00 and T at 11:00. High(A) is fixed at 1.10200. B's high exceeds it, but B closes below it; only T's later close confirms. RSI values are 59.8273, 61.1069 and 63.6038. The chart ends at confirmation, without a future outcome.
Invented completed H1 Bid candles: A closes at 09:00, B at 10:00 and T at 11:00. High(A) is fixed at 1.10200. B's high exceeds it, but B closes below it; only T's later close confirms. RSI values are 59.8273, 61.1069 and 63.6038. The chart ends at confirmation, without a future outcome.On a narrow screen, scroll the diagram horizontally.

5. Define SELL without mixing Bid and Ask

For SELL, the prior 3 RSI readings are again within [45, 55]. A must be bearish, have the same 8–30-pip range and SELL trend permission, with RSI(A) < 45. Freeze Bid ceiling U = High(A) + 0.00020 and projected Bid target P = Low(A) − 2 × (U − Low(A)). In the next 2 bars, first cancel on Bid high at or above U or Bid low at or below P; maintain SELL permission and RSI strictly below 45.

The first later close strictly below Low(A) must be bearish and timely. SELL enters at Bid but exits on Ask. Set Ask SL to U + 0.00020 and Ask TP to P + 0.00020, rounded up to valid ticks. This 2-pip conversion is an authored allowance, not reconstructed Ask history or a spread forecast. Historical testing needs the actual relevant Bid/Ask stream.

6. Test the first quote and consume the attempt

Inspect and submit on the first own-symbol quote received after T closes, no later than 15 seconds after that close, with receipt age at most 2 seconds at submission on verified clocks. Require tradable Bid below Ask, spread at most 2 pips and abs(Bid − Close(T)) ≤ 0.00020. Any observed post-T touch of the frozen Bid invalidation or projected target before submission cancels. Missing or inconsistent evidence blocks entry; do not wait for a better quote.

Check fixed price ordering, tick size, broker distances, permissions, margin and combined exposure. Establish valid SL/TP with the initial order or do not open. One submission consumes A, including rejection or an uncertain response; reconcile broker state before any further action. After a confirmed fill, recompute costs and the loss estimate with that actual entry. A failed limit or absent protection requests closure, records costs and blocks another attempt for A.

7. Follow a reproducible invented BUY

The table labels broker-clock closing times, not opening times. The three preceding RSI readings are 50.1464, 53.6733 and 49.8736. At A, SMA50 is 1.100518 and its five-bar rise is 4.18 pips. At B and T it is 1.100548 and 1.100578, with rises of 3.38 and 2.70 pips. Displayed RSI values are rounded; all tests use unrounded inputs.

Candle · close timeBid openBid highBid lowBid closeRSI(14)
A · 09:001.100301.102001.100001.1016059.8273
B · 10:001.101601.102101.101201.1018061.1069
T · 11:001.101801.102301.101401.1022063.6038

A's range is 20 pips. B does not confirm despite its wick above High(A); T confirms on the second permitted close. Assume all other checks pass and the first quote at 11:00:01 is Bid 1.10220 / Ask 1.10230, with a BUY fill at that Ask. Fixed S is 1.09980 and Tp is 1.10640: price risk 25 pips, potential reward 41 pips. No later trade outcome is supplied.

8. Include costs before sizing the position

Limit planned entry loss to 0.5% of current equity and total planned open/pending account loss to 1.0%. In USD, use Budget = min(0.005 × equity, max(0, 0.01 × equity − existingPlannedLoss)). Unknown existing risk blocks entry. Invented equity $10,000 with no existing risk gives budget $50. Assume pip value $10 per lot, round-turn commission $7 per lot, adverse exit allowance 1 pip and financing reserve $0. With positive executable distances dSL and dTP in pips, define Loss1 = (dSL + 1) × 10 + 7 and Reward1 = (dTP − 1) × 10 − 7. Require positive estimates and unrounded Reward1 / Loss1 ≥ 1.25. These are planning inputs, not recommended risk or a guaranteed loss cap. Verify actual fees and conversion; see trading costs.

Here Loss1 is $267 and Reward1 is $393, a ratio about 1.47. With minimum and step 0.01 lot, round down to 0.18 lots: estimated loss $48.06 and reward $70.74. The next step, 0.19, estimates $50.73 loss and exceeds budget. If the first quote were Bid 1.10240 / Ask 1.10260, spread and displacement still pass, but Loss1 is $297 and Reward1 $363: ratio about 1.22 fails. Skip it, and skip whenever the minimum lot exceeds the budget. Spread is already inside executable distances; never add it twice. After an actual fill, its price difference is inside the recomputed distances; the 1-pip reserve is for the remaining exit. Follow the account-risk rules.

Assumed BUY fill at Ask 1.10230, fixed Bid stop 1.09980 and Bid target 1.10640. Price risk is 25 pips and potential reward 41 pips. With the stated exit allowance and fees, loss is estimated at $267 per lot and reward at $393. A $50 budget permits 0.18 lots: estimated loss $48.06 and potential reward $70.74. The target is a possibility, not a realized result.
Assumed BUY fill at Ask 1.10230, fixed Bid stop 1.09980 and Bid target 1.10640. Price risk is 25 pips and potential reward 41 pips. With the stated exit allowance and fees, loss is estimated at $267 per lot and reward at $393. A $50 budget permits 0.18 lots: estimated loss $48.06 and potential reward $70.74. The target is a possibility, not a realized result.On a narrow screen, scroll the diagram horizontally.
Optional: reproduce the indicator fixture and cost arithmetic

Use chronological closes, not MT4 shifts: C(i) = 1.09000 + 0.00020 × i; i = 0..29; then repeat 1.10070, 1.10030 exactly 25 times for indices 30..79. Append C(80) = 1.10160; C(81) = 1.10180; C(82) = 1.10220. These are A, B and T. Initialize RSI from the first 14 close changes and apply the recurrence above. The close recipe reproduces the indicator values; the table supplies only the final OHLC. It is synthetic data, not a historical execution record. English decimal notation is retained.

BUY arithmetic: (1.10230 − 1.09980) / 0.0001 = 25; (1.10640 − 1.10230) / 0.0001 = 41; (25 + 1) × 10 + 7 = 267; (41 − 1) × 10 − 7 = 393; floor((50 / 267) / 0.01) × 0.01 = 0.18; 0.18 × 267 = 48.06; 0.18 × 393 = 70.74. These are alternative estimated outcomes, not realized results.

9. Define exits when confirmation is lost

Keep fixed SL and TP; no trailing, break-even move, partial exit, averaging or automatic reversal. After each later H1 close, request a full market exit for BUY if Close is at or below SMA50 or RSI is at or below 50; SELL reverses those inequalities. The exit midpoint 50 is deliberately different from the entry thresholds. Earlier actual SL/TP fills take priority.

Otherwise request closure 8 elapsed hours after T's closing timestamp, at the first available tradable quote: Bid for BUY, Ask for SELL. In the example this deadline is 19:00 under the unchanged illustrative clock. Outages do not extend it, though execution may be delayed. If required data or clock mapping becomes unreliable, retain accepted protection and request closure when possible. A close request is not a fill; gaps and worse costs can exceed the estimate.

10. Test the ordered baseline before changing it

Replay completed data, indicator initialization, A, the next eligible closes, quotes, order responses and exits in timestamp order. MT4 timeseries shift 0 is forming; use completed observations and verify actual timestamps. Preserve cancelled events, expired setups, cost rejections and uncertain requests. If OHLC cannot resolve a same-bar stop/target sequence, use finer data or mark the outcome unresolved under a declared convention. See responsible backtesting.

Compare this system with the same price and risk rules without RSI, and with different deadlines, as separately recorded variants on the same dates and costs. Reserve later chronological evaluation and forward demo checks; report every tested choice. Trend transitions, slow averages, flat markets and later entry can defeat the hypothesis. No backtest, win rate or expectancy is supplied. The indicator-combination guide explains redundant information.

Trend permission and a fresh RSI departure arm A. Invalidation is checked before confirmation on each of the next 2 closes. A timely price break may reach the first-quote and cost checks; an expired or invalidated episode cannot revive. An order rejection or uncertain response consumes that episode and requires reconciliation. The decision drawing does not operate an EA.
Trend permission and a fresh RSI departure arm A. Invalidation is checked before confirmation on each of the next 2 closes. A timely price break may reach the first-quote and cost checks; an expired or invalidated episode cannot revive. An order rejection or uncertain response consumes that episode and requires reconciliation. The decision drawing does not operate an EA.On a narrow screen, scroll the diagram horizontally.
  1. The symbol, H1 history, SMA and RSI definitions and seeds are fixed.
  2. A is a fresh neutral-band departure with valid direction, body and range.
  3. Frozen levels remain intact; confirmation occurs before expiry.
  4. The first quote, fixed protection and unrounded cost ratio pass.
  5. Volume, margin and combined exposure fit the predeclared budget.
  6. Actual orders, signal exits, time exits and rejected events are logged.

11. Questions about timed confirmation

Does SMA plus RSI provide independent confirmation?

No. Both use price. They describe different horizons and conditions, but agreement does not prove independent information or profitability. Test the added filter against a comparable baseline.

Can a third later candle rescue an expired setup?

No. This baseline allows only the next two closes after A. A later attractive break belongs to no active episode. A new episode needs its own fresh qualifying event.

Why can the candle pattern pass while the order is rejected?

The observed pattern and executable trade are separate. A worse first quote, higher costs, invalid protection or excessive account risk can reject an otherwise valid signal.

Does the target mean the example earned a profit?

No. It is a fixed potential exit. The chart ends at confirmation; no later execution or result is supplied. Losses, missed fills and time exits remain possible.

12. References and scope

Primary platform references: MQL4 moving-average settings, MQL4 RSI settings and OrderSend price sides and order constraints. Sources checked on 2026-10-19. They support platform mechanics, not these authored entry thresholds, deadlines or profitability. This article supplies a strategy specification, not a certified EA.

Forex and leveraged trading involve substantial risk. This material is educational, not investment advice. All example prices and money figures are invented. Past or simulated results do not guarantee future performance.