ForexBestRobots.comCompare EAs →
EN

Trend continuation · Strategy 3

Parabolic SAR Forex Continuation Strategy: Closed-Bar Reset and Re-entry

Test a bounded SAR counter-phase within an H1 trend. Includes closed-bar return rules, Bid/Ask execution, fixed exits and a cost-aware EURUSD example.

24 min readReviewed by ForexBestRobots Editorial Team
Synthetic EURUSD H1 Bid candles show three U states, two D counter-phase bars and the first completed return C. SAR states and the EMA direction filter have separate roles; no trade outcome is shown.
Established direction → bounded counter-phase → first closed-bar return → quote and risk checks.

A Parabolic SAR dot changing sides is an observation, not a complete trade. This continuation specification waits for a short counter-phase inside an established H1 direction, then tests the first completed return of SAR to the trend side. Entry, cancellation and cash risk are decided separately.

1. Give each indicator one job

EMA(100) supplies directional context; SAR(0.02, 0.2) identifies the counter-phase and return; ATR(14) sets a frozen price buffer. None predicts the next candle. Unlike the Flag strategy or Trendline pullback strategy, this method needs neither a measured flag nor pivot anchors.

Use ordinary H1 Bid candles, a close-based EMA(100) with no chart displacement, SAR step 0.02 and maximum 0.2, and ATR(14). All thresholds below are illustrative research choices, not optimized settings or a measured edge. Keep the same feed, terminal build and indicator initialization when comparing results.

2. Read only completed indicator values

For a completed bar k, define U when SAR(k) is strictly below Low(k), and D when SAR(k) is strictly above High(k). Equality or a dot inside the candle is invalid for this specification. Do not infer a completed state from a dot seen while the candle is forming.

On the first tick of the next H1 bar, the completed signal is shift 1 in MT4; shift 0 is still forming. Read iSAR(symbol, PERIOD_H1, 0.02, 0.2, 1) for that completed bar. Load at least 500 prior H1 bars and check indicator availability. An external calculation must match the terminal's exported values and initialization, not merely resemble its dots.

3. Define direction without predicting a reversal

The bullish filter at k is Close(k) > EMA100(k) and EMA100(k) > EMA100(k−3). The bearish filter reverses both inequalities. A flat average or equality fails. The slope compares two completed values, not the angle of a line on screen.

Keep the relevant filter valid on every bar used by the episode, including the confirmation. EMA and SAR both depend on past prices; agreement is not independent proof. The indicator-combination guide explains why additional filters can reduce signals without establishing profitability.

4. Start one bounded BUY episode

A BUY episode starts at the first D bar a immediately after at least 3 consecutive U bars. All 3 preceding bars and a must pass the bullish filter. Start only when no position or active episode exists on the symbol. A transition missed while busy cannot be adopted later.

At the close of a, freeze A = ATR14(a) and b = 0.10 × A, rounding b upward to a whole tradable price tick. Require positive ATR and valid contract data. Allow 1–4 consecutive D bars, starting with a. A fifth D bar, an invalid SAR state, a failed directional filter or a missing hourly bar cancels the episode.

The synthetic BUY episode starts at D1 after U1–U3. D2 is r; C is the first later U bar and closes above High(r)+b = 1.10670. The fixed stop is S = 1.10430 and target M = 1.11540. No post-entry price path is drawn.
The synthetic BUY episode starts at D1 after U1–U3. D2 is r; C is the first later U bar and closes above High(r)+b = 1.10670. The fixed stop is S = 1.10430 and target M = 1.11540. No post-entry price path is drawn.Scroll this diagram horizontally on a narrow screen.

5. Use the first return, or discard the episode

After those D bars, the first U bar is the only confirmation candidate C. Let r be the immediately preceding D bar. Require Close(C) > Open(C) and Close(C) > High(r)+b, with the bullish filter still valid. The candle must close; a wick over the threshold is insufficient.

If this first U bar fails, discard the episode instead of accepting a later stronger candle. Consume it after the single quote decision too, whether an order is requested or skipped. A new episode requires a fresh qualifying transition after 3 consecutive U bars; a second attempt on the old transition is prohibited.

6. Freeze a price stop and a separate target

For BUY, set S = min(Low(a)…Low(C))−b, including every bar from a through C. Freeze M = Close(C)+2×(Close(C)−S) at confirmation. Round the stop outward and the target toward the entry if tick alignment requires it, then recalculate all distances.

S and M stay fixed. SAR supplies timing here; its later dots do not trail the stop or trigger an automatic opposite position. If neither price exit occurs, request closure at the first available quote after 8 actual post-fill H1 closes. Count the entry bar's close. No stop widening, averaging down, partial exit or break-even move belongs to this baseline.

7. Specify SELL completely

For SELL, start at the first U bar a after at least 3 D bars, with the bearish filter valid throughout. Allow 1–4 consecutive U bars. The first following D bar is C; require Close(C) < Open(C) and Close(C) < Low(r)−b. The same expiry, first-candidate and data rules apply.

Freeze S = max(High(a)…High(C))+b and M = Close(C)−2×(S−Close(C)). SELL entry uses Bid; its stop and target are Ask trigger levels. The stop is a numerical level derived from the Bid pattern, but a short closes at Ask. A spread expansion can therefore trigger it before Bid reaches that level.

8. Test the first executable quote

After C closes, inspect the first available quote within 15 seconds, with quote age at most 2 seconds. Entry reference E is Ask for BUY and Bid for SELL. Require abs(E−Close(C)) ≤ b and Ask−Bid ≤ 0.15×A. A failing first quote ends the episode; do not wait for a better one.

BUY also needs Bid > High(r)+b and S < Bid ≤ Ask < M. SELL needs Ask < Low(r)−b and M < Bid ≤ Ask < S. Check stop distance, volume step, margin and trading permission before requesting an order. A request is not a fill. Reconcile an uncertain timeout before sending anything else; do not retry a rejected episode.

9. Size from loss after costs

Estimate loss per lot at S and net target amount at M in the account currency. Include round-trip commission, applicable swap and a declared total adverse-execution allowance. The entry/exit price sides already include spread; do not count it twice. Require positive net target amount and net reward / planned loss ≥ 1.5.

Divide a preassigned cash-risk budget by planned loss per lot and round volume down to the broker's step. Skip if minimum volume exceeds the budget. Check correlated exposure and portfolio limits as well. Stops can slip during gaps or outages, so planned loss is not a guaranteed maximum. See the position-sizing guide.

10. Rebuild the synthetic EURUSD decision

This invented Bid dataset teaches the decision rules; it is not a historical trade or backtest. The table supplies saved SAR and rounded EMA inputs. Its short excerpt cannot independently reconstruct their earlier calculation history or ATR. The earlier EMA values for the slope comparisons are assumed valid and rising.

U1–U3 pass the bullish filter. D1, opening at 07:00, starts a; D2 is r. At a's close, assume A = 0.00200, so b = 0.00020 on a five-decimal price grid. C is the first return to U. Its close exceeds High(r)+b = 1.10670 and its open. The lowest Low from a through C is 1.10450.

BarServer intervalOpenHighLowCloseSAREMA(100)
U104:00–05:001.105201.106001.104001.105701.103001.10207
U205:00–06:001.105701.107001.105001.106601.103601.10216
U306:00–07:001.106601.108001.105801.107201.104281.10226
D1 · a07:00–08:001.107201.107301.104801.105401.108001.10232
D2 · r08:00–09:001.105401.106501.104501.105801.108001.10239
C · U09:00–10:001.105801.108401.105601.108001.104501.10250

The frozen stop is S = 1.10430 and target M = 1.11540. At 10:00:01, the first fresh quote is Bid 1.10802 / Ask 1.10814. Spread is 1.2 pips and entry deviation is 1.4 pips; both pass. This remains a planning quote. No actual fill or future price path is asserted.

D1 forms during 07:00–08:00 and starts the episode at 08:00. D2 closes at 09:00; C closes at 10:00. The first quote arrives at 10:00:01. Eight post-fill H1 closes run from 11:00 through 18:00, followed by a time-exit request if needed.
D1 forms during 07:00–08:00 and starts the episode at 08:00. D2 closes at 09:00; C closes at 10:00. The first quote arrives at 10:00:01. Eight post-fill H1 closes run from 11:00 through 18:00, followed by a time-exit request if needed.Scroll this diagram horizontally on a narrow screen.

11. Check the arithmetic before the lot size

Assume a USD account, 1 pip = 0.00010, a 100,000 EUR contract and $10 per pip per lot. Round-trip commission is $7 per lot and the total adverse-execution allowance is 1 pip across entry and exit. Swap is zero only in this example.

Planning measureCalculation
Entry to stop(1.10814−1.10430)/0.00010 = 38.4 pips
Entry to target(1.11540−1.10814)/0.00010 = 72.6 pips
Planned loss per lot38.4×$10 + $7 + $10 = $401
Net target amount per lot72.6×$10 − $7 − $10 = $709
Net reward/risk$709/$401 ≈ 1.7681
Illustrative cash budget$10,000×0.5% = $50
Volume, step 0.01floor(($50/$401)/0.01)×0.01 = 0.12 lots
Planned risk / net target amount$48.12 / $85.08

The target is 2 times the close-to-stop distance before entry costs; the executable net ratio is lower. The target amount is conditional, not expected profit. With a fill near 10:00:01, 8 post-fill closes run from 11:00 through 18:00; a time-exit request follows the last close if neither fixed level has triggered.

12. Keep the failed examples

A first return that closes at 1.10670 merely equals the BUY threshold and fails. A fifth counter-phase bar expires the episode. A good-looking dot at shift 0 is unavailable evidence. None can be repaired by choosing a later candle after seeing its result.

A first Ask of 1.10825 is 2.5 pips above C's close and exceeds the 2-pip limit. Separately, if round-trip commission were $100 per lot, the original quote would produce $616/$494 ≈ 1.2470, failing the net gate. Do not extend M or reduce the cost assumption to rescue the setup.

13. Persist the episode and execution state

Store the direction, transition timestamp, counter-phase count, frozen ATR and buffer, last processed bar, confirmation, levels and consumed status. On restart, reconcile positions and requests before resuming. Persist timestamps rather than treating MT4 series shifts as permanent bar identities. Never reconstruct an entry retrospectively from a transition missed during an outage.

Predeclare a calendar exclusion, such as no new entry within 30 minutes before or after scheduled high-impact news for either currency, and within 15 minutes of daily rollover. Missing calendar or quote-age data means skip. Log every failed condition, skipped quote, request, fill, fee and exit; do not keep only the neat SAR sequences.

14. Test the hypothesis and the implementation separately

First compare saved indicator outputs, timestamps and closed-bar decisions with the terminal. Then assess neighboring SAR settings, the EMA filter and counter-phase length on development data. Freeze the complete rule set before out-of-sample testing and demo forward validation. Use the MT4 backtesting guide for data and fill checks.

Include congestion, trend transitions, gaps, spreads, swap, rejected orders and all failed episodes. BUY exits need Bid; SELL exits need Ask. If one OHLC candle touches both stop and target, event order is unknown: use a predeclared conservative convention or disclose excluded ambiguous cases. This article presents no measured return, win rate or validation result.

15. Review the entry in chronological order

Three prior trend-side states; directional filter valid throughout; fresh opposite transition; frozen ATR; bounded counter-phase; first completed return confirmed; stop and target frozen; first quote fresh and acceptable; executable levels; costs and net ratio checked; volume rounded down; margin, calendar and portfolio limits passed. Any mandatory failure ends the episode.

16. Parabolic SAR continuation questions

Does every SAR flip call for a reversal trade?

No. This model only considers a return in the established EMA direction after a bounded counter-phase. It ignores the initial opposite-side flip as an entry and never automatically reverses an open position.

Does re-entry require an earlier trade?

No. Here the term means realignment of the indicator with the established direction. The rules require the symbol to have no open position; no earlier winning or losing trade is assumed.

Why not enter while the new dot is forming?

The current candle and its indicator value can change. An intrabar entry uses different information and timing. It needs a separately specified test; it cannot be mixed with this completed-bar model.

Why is the stop not moved to each new SAR dot?

This baseline uses SAR for signal timing and fixed price exits for a reproducible comparison. Trailing behind dots changes execution, risk and outcomes. Test it as a separate exit policy rather than switching after seeing price move.

Are the illustrated settings and risk fraction recommendations?

No. They make the example checkable. Suitable limits depend on data quality, contract conditions, costs and the account's aggregate exposure. The arithmetic does not validate the strategy or guarantee the planned loss.

Is this the logic of a Forex robot listed on the site?

No. This is an independent educational specification. Review any product's official information, raw reports and public monitoring separately; none is claimed to implement these rules.

17. Technical reference and scope

The official MQL4 iSAR reference defines the indicator parameters and historical shift. The episode, confirmation, costs and exit policy here are author-defined research rules. The drawings are synthetic decision examples, not evidence that this method earns money.