ForexBestRobots.comCompare EAs →

PRICE ACTION · STRATEGY 3

Engulfing Forex Strategy: Fixed Range Edges and Closed-Bar Confirmation

A testable EUR/USD H1 engulfing plan: freeze a 20-bar range, define body coverage at its edge, wait for a closed confirmation and size the trade after costs.

24 min readReviewed by ForexBestRobots Editorial Team
Hypothetical EUR/USD H1 engulfing example with a premarked range edge, three completed candles, fixed exits and event times. Local chart zoom; the target lies above the displayed prices.EUR/USD · H1 · Bid chartFixed edge → Engulfing → Confirmation

Freeze the reference range before the first candle. The pattern alone does not authorize an entry.

An engulfing pattern compares the real bodies of two opposite-colour candles. A larger body can show a change in the completed price move, but it does not prove who traded or where price goes next. Here we turn that observation into an explicit research baseline: a range fixed before the pattern, a measured edge rejection, one closed confirmation and a cost-aware entry.

1. What this Engulfing baseline measures

The sequence is P → E → C: the previous candle, the engulfing candle and the immediately following confirmation. P and E describe the pattern. C confirms or cancels that candidate. All three are completed H1 Bid candles; an unfinished E or a wick crossing during C is not an entry signal.

The conventional idea concerns opposite-colour real bodies. This article uses a stated Forex variant that allows the second opening price to equal the first close, while requiring a strict close beyond the other end of the first body. The range, body ratios, buffers, confirmation, costs and time exit below are author-selected research rules, not evidence of a profitable edge.

2. Freeze the reference range before P

Use EUR/USD H1 on a Bid chart and record broker server time and daylight-saving conventions. Here 1 pip = 0.0001; a broker point can be smaller. Buy entries use Ask and buy exits Bid; sell entries use Bid and sell exits Ask.

At P's opening, use only the 20 H1 candles already completed immediately before it: L20 = min(previous 20 lows) and H20 = max(previous 20 highs). Require a reference range of 40–120 pips, including both endpoints. The reference candles and P, E, C must have valid OHLC and exactly 1 hour between starts. Reject missing hours, weekend gaps and session interruptions.

Record that window's candle identities and its two extremes before P exists as a completed candle. Keep L20 and H20 fixed through E, C and the eventual trade. Recalculating the range after E or C silently changes the setup and can move the target with information unavailable at the original decision.

3. Measure the bodies and the edge rejection

For a buy candidate, P is bearish and E bullish, with E_open ≤ P_close and E_close > P_open. For a sell, P is bullish and E bearish, with E_open ≥ P_close and E_close < P_open. Equality is allowed only at the opening boundary. An equal closing boundary or a zero body fails.

Define B_P = abs(P_close − P_open) and B_E = abs(E_close − E_open). P's body must be at least 2 pips. E's full high-to-low range must be 8–40 pips; its body must be at least 1.5 times P's body and at least 60% of E's range. The bodies are the pattern test; the wicks still matter for location, range and stops.

For a buy, require L20 − 5 pips ≤ E_low ≤ L20 + 2 pips and E_close ≥ L20 + 5 pips. For a sell, require H20 − 2 pips ≤ E_high ≤ H20 + 5 pips and E_close ≤ H20 − 5 pips. A deep break outside the allowance fails; the old range is not widened to accommodate it. These tests define a reclaim near a premarked edge, not a claim that every range is stable.

4. Fix the trigger, stop and opposite-edge target

At E's close, record the completed P/E pair. For buys, fix U = E_high + 1 pip, SL_buy_Bid = min(P_low, E_low) − 2 pips and TP_buy_Bid = H20 − 2 pips. The target is inside the opposite edge of the original range; it is not recalculated from the entry or moved farther away to improve the ratio.

For sells, fix the Bid confirmation threshold D = E_low − 1 pip and the reference Bid exits S = max(P_high, E_high) + 2 pips, T = L20 + 2 pips. Translate those into fixed Ask exits using a preset 2-pip spread allowance: SL_sell_Ask = S + 2 pips, TP_sell_Ask = T + 2 pips. This allowance is neither reconstructed historical Ask data nor a spread forecast; actual sell execution must be evaluated on Ask.

5. Give the candidate exactly one confirmation candle

Only the next completed candle C may confirm. A buy requires C bullish and C_close > U; a sell requires C bearish and C_close < D. A touch, equality, intrabar crossing or later candle cannot rescue a failed candidate.

Cancel a buy if C's low touches or crosses the fixed Bid stop, or its high touches or crosses the fixed Bid target. Cancel a sell if C's Bid high reaches S or its Bid low reaches T. These are conservative candidate vetoes before any entry; the sell checks do not prove the order or availability of historical Ask prices. Record a veto even if C otherwise closes correctly.

After C, either evaluate the first fresh tradable quote or end the candidate. A later P/E pair may qualify independently with its own pre-P window, but the same closed pair is not retraded. Do not carry an old engulfing candle forward until a favourable close appears.

6. Buy execution, step by step

  1. Freeze the 20-bar Bid range before P and validate its data and 40–120-pip width.
  2. Check the bearish P, bullish E, body coverage, ratios and lower-edge reclaim; fix U, stop and opposite-edge target at E's close.
  3. Accept only a bullish next C closing strictly above U, with neither candidate veto triggered.
  4. Evaluate the first tradable quote within 60 seconds of C's close. Bid must still be above U, spread no more than 2 pips, and the fixed exits must be valid around the entry. Buy at Ask; measure stop and target distances from Ask to the fixed Bid exits.
  5. Require positive reward after costs and a net ratio of at least 1.5, a valid downward-rounded volume, sufficient margin, the news filter and no existing position. Permit one immediate market attempt; reconcile an uncertain result before any further action.

7. Sell execution, step by step

  1. Freeze the same pre-P reference range; a sell tests its upper edge.
  2. Check bullish P, bearish E, body coverage, ratios and upper-edge reclaim; fix D and the two Ask exits at E's close.
  3. Accept only a bearish next C closing strictly below D, with no Bid proxy veto at S or T.
  4. Evaluate the first tradable quote within 60 seconds. Bid must remain below D and spread no more than 2 pips. Sell at Bid; the fixed Ask stop must be above current Ask and the fixed Ask target below the sell entry.
  5. Measure stop distance from entry Bid to stop Ask, and reward from entry Bid to target Ask. Apply the same costs, 1.5 threshold, lot rounding, broker checks and single-attempt rule.

A sell is not the buy example with colours swapped. Ask-triggered exits and changing spread need suitable quote data in testing; a Bid wick alone cannot establish a sell stop fill.

8. Quote freshness, broker limits and failed execution

The first tradable quote decides; 60 seconds is a freshness limit, not a period for shopping for a better price. A stale or missing quote, retreated Bid, crossed exit, excessive spread or weak cost ratio ends the candidate. Record signal time, quote time, Bid, Ask and the rejection reason.

Before sending, check the real symbol's minimum, step and maximum lot, pip/tick value in account currency, available margin, stop distance and freeze restrictions. A reported zero stop level can still involve dynamic restrictions. Do not silently move exits or round volume up.

Record requested and actual fill prices. If an order result is uncertain, inspect actual orders before acting again; do not create a duplicate by blind retry. If protective exits cannot be attached or confirmed, apply a predeclared reduction/close procedure and record it. A filled position without confirmed protection is an execution exception, not an ordinary successful setup.

9. Static price exits and the time exit

Keep the initial stop and target fixed. This baseline has no averaging down, discretionary trailing or extra positions. Allow only one position of this strategy at a time; record and skip new signals while it is open.

If still open, request a market close at the opening of the ninth H1 hour, counting the entry hour as hour 1. An entry in the 11:00 hour schedules the time exit for 19:00, 8 hours later. If there is no tradable quote at that boundary, use the first available one and record the delay; do not invent an execution during a gap.

Apply the first valid price or time exit and reconcile an already executed price exit before sending a close request. Record real closing price, commission, slippage and any financing cost. A stop, time rule or cost reserve does not guarantee a maximum loss during gaps or failed execution.

10. A fully worked buy candidate

These are invented, internally consistent Bid candles for one EUR/USD H1 day. The 20 earlier completed candles are summarized by L20 1.0800 and H20 1.0900; their 100-pip range was recorded before P opened at 08:00. No historical performance or subsequent trade outcome is shown.

StepPrices or fixed valuesCheck
Range fixed · 08:00L20 1.0800 / H20 1.0900100 pips from the 20 candles completed before P.
P · 08:00–09:00O 1.0811 / H 1.0825 / L 1.0801 / C 1.0804Bearish; body 7 pips.
E · 09:00–10:00O 1.0804 / H 1.0823 / L 1.0798 / C 1.0820Body 16 pips; range 25 pips; body share 64%.
Freeze after E · 10:00U 1.0824 / SL_Bid 1.0796 / TP_Bid 1.0898Use the original range high; no later target change.
C · 10:00–11:00O 1.0820 / H 1.0830 / L 1.0816 / C 1.0826Bullish close above U; no stop/target veto.
First quote · 11:00Bid 1.0826 / Ask 1.0828Spread 2 pips; buy at Ask, exits Bid.
Hypothetical EUR/USD H1 engulfing example with a premarked range edge, three completed candles, fixed exits and event times. Local chart zoom; the target lies above the displayed prices.
How to read this diagram: P is the first candle, E the engulfing candle and C the only allowed confirmation. The chart zooms around the lower range edge; TP 1.0898 lies above the zoom. Bid candles and the Ask entry marker are different price sides. No future path or trade outcome is drawn.

P's body is 7 pips. E opens exactly at P's close and closes strictly above P's open; its body is 16 pips, more than 1.5 times 7. E's full range is 25 pips and its body share is 64%, above 60%. E's low 1.0798 is 2 pips below L20, inside the 5-pip allowance; its close has reclaimed more than 5 pips. P's high 1.0825 remains above E's high 1.0823: body coverage passes even though E does not cover both previous wicks.

At 10:00, freeze U 1.0824, SL_Bid 1.0796 and TP_Bid 1.0898. C closes bullish at 1.0826, strictly above U, and touches neither veto level. At 11:00 the first tradable quote is Bid 1.0826 / Ask 1.0828. Spread is 2 pips; entry Ask gives a 32-pip stop distance and 70-pip target distance before additional modelled costs.

11. What is known at each decision

The range is frozen before P; the exits are frozen after E; C's final prices are available only at its close. Do not use a later quote, high or trade result to choose an earlier range.

Server timeAvailable informationPermitted action
08:0020 earlier candles completed; P is opening.Freeze L20/H20; no pattern or entry yet.
09:00P completed; E is opening.Observe E; keep the reference range fixed.
10:00E completed and passes the pattern/location tests.Freeze exits and U; no entry yet.
11:00Only permitted C completed and passes.Evaluate the first tradable quote.
11:00:00Quote, costs and broker checks pass.One immediate market attempt; entry hour is 1.
19:00The entry hour's opening was 8 hours ago.First available time-exit quote if still open.
After any rejectionThat candidate has ended.Record the reason; do not revive its levels.

12. Recalculate costs and round the lot down

Use illustrative equity USD 10,000, a 0.5% budget of USD 50, a EUR/USD contract of 100,000 EUR, USD 10 per pip per standard lot, and lot minimum/step 0.01. Round-trip commission is USD 7 per lot. Obtain the actual symbol properties and account-currency pip value before using any real position size.

Reserve 1 pip for adverse entry execution and 1 pip for exit execution: 2 pips total. D_stop is the side-correct stop distance and G the target distance in pips. Use risk_per_lot = (D_stop + 2) × 10 + 7 and reward_per_lot = (G − 2) × 10 − 7. Require positive reward and reward_per_lot / risk_per_lot ≥ 1.5. Spread is already included in the Bid/Ask distances; do not add it again.

CalculationExample valueMeaning
Risk budget10,000 × 0.005 = 50 USD0.5% of illustrative equity.
Stop distance(1.0828 − 1.0796) / 0.0001 = 32 pipsBuy Ask to fixed stop Bid.
Target distance(1.0898 − 1.0828) / 0.0001 = 70 pipsBuy Ask to fixed target Bid.
Gross ratio70 / 32 = 2.1875Before reserve and commission.
Risk per lot(32 + 2) × 10 + 7 = 347 USDStop plus reserve and commission.
Reward per lot(70 − 2) × 10 − 7 = 673 USDTarget less reserve and commission.
Cost-adjusted ratio673 / 347 ≈ 1.94Above minimum 1.5.
Raw → valid volume50 / 347 ≈ 0.1441 → 0.14 lotRound down to the 0.01 step.
Modelled position risk347 × 0.14 = 48.58 USDWithin the USD 50 budget.
Modelled position reward673 × 0.14 = 94.22 USDConditional fixed-target projection; not a result.

The raw lot rounds down to 0.14. Modelled risk is USD 48.58; 0.15 lot would risk USD 52.05, above the USD 50 budget. If even the minimum permitted lot exceeds the budget, skip. USD 94.22 is a conditional target projection after the stated costs, not earned profit.

Recalculate exposure after the actual fill without widening the fixed stop or target. Define in advance how to reduce or close an over-budget fill. The reserve is a modelling assumption, not a loss guarantee; include financing when relevant and stress costs rather than treating the example inputs as universal.

13. Rejections that matter

SituationRule checkDecision
First quote Bid 1.0826, Ask 1.0828673 / 347 ≈ 1.94; spread 2 pips.Eligible only if every other check passes.
First quote Bid 1.0833, Ask 1.0835603 / 417 ≈ 1.45; spread still 2 pips.Skip: costs leave too little reward for risk.
C closes at 1.0824Close equals U.Skip: strict confirmation fails.
E's low is 1.07946 pips below L20 1.0800.Skip: exceeds the 5-pip edge allowance.
First quote spread 3 pipsAbove the 2-pip maximum.Skip; do not wait for a cheaper quote.
First tradable quote arrives 61 seconds after closeBeyond the 60-second limit.Skip: expired candidate.

Also skip entry if the chosen calendar records a high-impact EUR or USD release within 15 minutes before or after C's close. Select provider, importance classification and time zone before testing; preserve the schedule and define missing-calendar handling. A later calendar edit cannot rewrite the original entry decision; the filter does not move an existing position's fixed exits.

14. Test the whole decision process

Log every eligible pre-P window, valid and rejected P/E pair, C veto, quote rejection and execution exception. Keep the initial thresholds fixed and separate development data from later untouched evaluation data. Changing a threshold after seeing results creates a new variant needing fresh evaluation.

Closed H1 bars can test candle rules, but they do not reproduce the first tradable quote, variable spread or the sequence of stop and target fills inside an entry/holding hour. Use suitable Bid/Ask or tick/spread records. Mark unresolved cases or apply a disclosed conservative rule; do not silently choose the profitable exit first.

MT4 Every tick may interpolate prices from lower-timeframe OHLC control points, and the tester can model Ask from a configured spread rather than variable historical spreads. Document modelling, data gaps, costs, calendar history, stop restrictions and delayed or rejected orders. Report trade count, net results, drawdown and cost sensitivity. This article verifies rules and arithmetic; it has not run a profitability backtest and supplies no measured win rate.

15. Common implementation mistakes

  • Calling any large opposite-colour candle engulfing, or requiring wick coverage while claiming to test body coverage.
  • Treating an equal opening boundary as a strict gap, or accepting an equal closing boundary in this stated variant.
  • Including P, E or C in the pre-P reference range, or widening the range after a deep break.
  • Entering before C closes, reusing a failed candidate, or selecting a later cheaper quote.
  • Buying at Bid, treating a Bid high as proof of an Ask sell exit, charging spread twice or rounding the lot up.
  • Moving the fixed target to pass the cost ratio, retrying an uncertain order or hiding an unprotected fill.

16. Checklist before one entry attempt

  1. Complete, valid and hourly-contiguous data for the pre-P window and P, E, C; broker clock recorded.
  2. Exactly 20 earlier completed candles; fixed range 40–120 pips; P/E never included in that window.
  3. Opposite-colour bodies with the stated opening equality and strict closing rule; all body/range thresholds passed.
  4. Correct edge reclaim, fixed stop/target and buffered confirmation threshold recorded at E's close.
  5. Only the next closed C confirms with direction; no stop/target candidate veto.
  6. First tradable quote within 60 seconds, Bid still beyond the trigger, spread at most 2 pips and valid exits.
  7. Positive net reward, ratio at least 1.5, valid downward-rounded lot, sufficient margin, calendar pass and no open position.
  8. One immediate attempt, reconciliation of uncertainty, confirmed protection, 8-hour time exit and a complete execution log.

17. Engulfing questions

Must E engulf the previous wicks?

No. This baseline tests body coverage; the wicks serve separate location, range and stop tests. A full-range outside bar is a different condition and should not be mixed into these results.

Why allow E's open to equal P's close?

This stated Forex variant permits continuity at that boundary. E must still close strictly beyond P's other body end and satisfy its body-size filters. A strict opening-gap variant is a different test.

Why not update the range after confirmation?

The pre-P range defines location and the opposite-edge target with information known beforehand. Updating it changes the trade plan using newer data. Test that as a separate variant rather than silently merging the rules.

Does the example prove that Engulfing is profitable?

No. It proves that one invented candidate passes the stated checks and arithmetic. Profitability requires suitable execution data, costs and untouched evaluation; even past measured results do not guarantee future performance.

18. Primary sources and their scope

The sources support the general body-based pattern concept and platform mechanics. They do not validate this article's opening-equality variant, fixed range, thresholds, filters, target choice or expected performance.

19. Separate the pattern from the executable trade

The fixed range supplies location and a target; P/E supplies the body pattern; the next completed C supplies confirmation. Only then does the first quote decide whether costs and exposure permit one attempt. A failed check ends the candidate and stays in the log. The purpose is a reproducible test, not a promise that price will return to the opposite edge.