ForexBestRobots.comCompare EAs →

MULTI-TIMEFRAME STRATEGIES · 2

Multi-Timeframe Forex Strategy: D1 Levels, H1 False Breakout and M15 Reversal

A D1–H1–M15 false-breakout framework with fixed daily levels, closed-bar confirmation, a midpoint target, entry expiry and a complete risk example.

16 min readReviewed by ForexBestRobots Editorial Team
Hypothetical EURUSD long setup: previous D1 low 1.0800, H1 low 1.0790, entry 1.0812, stop 1.0788 and previous-day midpoint target 1.0850. The M15 trigger must occur after the H1 close.Previous-day levels, a fresh rejectionD1 range → H1 rejection → M15 trigger

Hypothetical prices; no measured performance.

A move beyond yesterday's high or low can continue, or return inside the old range. This strategy studies the second case: D1 supplies levels known in advance, H1 confirms a rejection, and M15 looks for a later reversal trigger. A return inside the range is evidence of a failed break at that moment, not proof that the midpoint will be reached.

The problem this strategy addresses

The first strategy in this cluster follows an H4 trend after an H1 pullback. This one tests a different hypothesis: after a break of the previous day's boundary fails, price may move back toward that day's midpoint. It does not use an EMA trend filter or assume that every boundary is strong support or resistance.

The rules below are one complete educational baseline, not an optimized system. Prices, fees and possible outcomes are hypothetical. No backtest, win rate or live performance is supplied. A strong trend can repeatedly defeat a rejection trade, even when all three chart periods agree.

Give D1, H1 and M15 different jobs

Use standard candles for the same symbol and broker feed. D1 means a broker's daily bar, H1 an hourly bar and M15 a 15-minute bar. The current daily high and low are not the reference levels. The baseline uses the broker’s Bid-based chart levels for all candle comparisons; Ask/Bid execution is handled separately.

ChartQuestionFrozen rule
D1Which levels were already known?Previous completed daily high, low and midpoint; fixed for the active broker day.
H1Did a boundary break fail?A completed candle breaks a D1 boundary, closes back inside and stays away from the midpoint.
M15Is a later reversal confirmed?One of the next three closes breaks the previous M15 extreme in the reversal direction.
ExecutionIs the remaining trade acceptable?Fixed stop, midpoint target, costs and at most one daily order submission.

Freeze the previous D1 range

When a new broker D1 bar appears, read the immediately preceding completed D1 high and low. Save its identity and calculate midpoint = (highD1 + lowD1) / 2. Keep these three prices unchanged for the active broker day. For the example, highD1 = 1.0900, lowD1 = 1.0800 and midpoint = 1.0850.

The reference must be an ordinary complete broker session with reliable history. Skip a day whose immediately preceding D1 bar is an abbreviated Sunday or holiday session, or cannot be verified. Do not silently merge it with another bar or replace it with a more attractive day. An ordinary session is defined by the broker's calendar; it need not always contain exactly 24 clock hours.

Separate the setup close from the trigger close

Evaluate once when a new M15 bar is first observed. At 10:15, the M15 candle ending at that time and the H1 candle ending at 10:00 are complete. The current D1 candle is still forming; its eventual range must never be imported into this decision.

The H1 setup must start within the active D1 day and finish after that day's opening. Its only eligible trigger closes are the next three scheduled M15 closes. For a setup ending at 10:00, these are 10:15, 10:30, 10:45. The M15 candle ending at 10:00 is not a subsequent confirmation; at 11:00 the old setup has expired.

At decision time 10:15Eligible informationInformation to exclude
D1Immediately preceding completed broker day.The final high or low of today's forming daily bar.
H109:00–10:00 rejection, wholly inside the active D1 day.The final 10:00–11:00 candle.
M1510:00–10:15 trigger candle.A candle ending at 10:00 used as a later trigger.
Hypothetical EURUSD long setup: previous D1 low 1.0800, H1 low 1.0790, entry 1.0812, stop 1.0788 and previous-day midpoint target 1.0850. The M15 trigger must occur after the H1 close.
Read the daily levels first, then the completed H1 rejection and the later M15 confirmation. The entry, stop and midpoint belong to one hypothetical long example. The vertical distances in the price panel follow the printed prices; the separate timing panel is a decision sequence, not a historical price chart. A short reverses the rules.

Step 1: confirm an H1 rejection below the D1 low

A long setup requires a completed H1 low strictly below the saved D1 low and an H1 close strictly above that D1 low. The whole H1 high must remain strictly below the saved midpoint. Thus lowH1 < lowD1 < closeH1 < midpoint and highH1 < midpoint. A mere touch of the D1 low is not enough.

The midpoint restriction rejects an H1 candle that has already reached the intended target area. It also avoids guessing whether a move to the midpoint happened before or after the downward break inside that hour. Save the H1 low, high and close time. The H1 candle itself need not be bullish; M15 provides the separate directional confirmation.

Step 2: require a later M15 long trigger

A candidate must be one of the three permitted closes, with sufficient history and no open position from this strategy on the symbol. The first candle meeting the trigger conditions is the only candidate for that H1 setup. If its execution checks fail, consume the setup rather than wait for a nicer quote.

  • Since the H1 setup close, every completed M15 low must stay strictly above the locked H1 low, including the candidate candle.
  • No completed M15 high since that close may touch or exceed the midpoint. The candidate must also remain below it.
  • The candidate is bullish: its close is above its open. Its close is strictly above the immediately preceding M15 high and strictly above the saved D1 low.
  • At the next available quote, the current Bid must still be above the D1 low and the locked H1 low, and below the midpoint. Reject stale or inconsistent quotes. Also check the current M15 bar’s observed low and high up to that quote: a touch of the H1 low or midpoint within the forming bar cancels the setup, even if the Bid has recovered.
  • Check the spread, fixed stop and target, gross reward/risk, allowed volume and margin. At most one market-order submission is permitted per broker D1 day for this strategy and symbol, across both directions.

Mirror the rules for an upper-boundary rejection

For a short, the completed H1 high is strictly above the previous D1 high, and its close is below that D1 high. Its entire low must stay strictly above the midpoint: highH1 > highD1 > closeH1 > midpoint and lowH1 > midpoint. Save the H1 high as the pre-entry invalidation boundary.

Within the next three M15 closes, require a bearish candle whose close is below the previous M15 low and below the D1 high. Every completed M15 high since the setup must remain strictly below the locked H1 high, and every low strictly above the midpoint. At submission the current Bid must stay below the D1 high and locked H1 high, and above the midpoint. Also inspect the current M15 bar’s extremes observed so far: a touch of the locked H1 high or midpoint cancels before entry, even if price has recovered. Enter at Bid; a short closes through Ask, so a Bid-only chart touching the target does not prove a fill.

Cancel the setup before sending an order

Cancellation applies before entry. After it, wait for a new qualifying H1 candle; never redraw the stored extreme. A rejected candidate consumes its H1 setup. An actual submission, including a failed or uncertain response, consumes the one daily submission slot. Check the broker's order state before any further action; do not resend to guess whether the first request worked.

  • The locked H1 extreme is touched or broken by a completed M15 candle: a low at or below it for a long, or a high at or above it for a short. Apply the same boundary check to the forming M15 bar’s extremes already observed at the submission quote.
  • The midpoint is touched or passed by a completed M15 candle before entry, including the candidate. The forming bar’s already observed midpoint touch also cancels.
  • The third eligible close passes without a trigger, or a new D1 bar appears. The day change has priority over an old signal.
  • A required candle, quote or timestamp is missing or inconsistent. Missing bars cannot extend the three-close window.
  • An existing strategy position, the used daily submission slot, excessive costs or an invalid order constraint blocks the candidate.

Keep the stop and midpoint target fixed

Place a long Stop Loss 2 pips below the locked H1 low, or a short Stop Loss 2 pips above the locked H1 high. Set Take Profit at the saved D1 midpoint. Align prices to the symbol's permitted tick grid and check the broker's minimum stop distance. Skip an invalid order; do not move the target or widen the stop to make it acceptable.

Before submission, calculate gross price reward divided by price risk from the current entry quote: Ask for a long, Bid for a short. Require at least 1.5. This filter is a chosen test parameter, not evidence of an edge, and it is not a net ratio after fees. The example spread cap is 2 pips for EURUSD; it is not a universal symbol limit.

After the broker confirms the fill, check the same fixed prices against the actual fill. If slippage leaves the gross ratio below 1.5, or the accepted position breaches the planned constraints, the baseline exits at the next available quote and records the aborted entry and its costs. Volume cannot be retroactively resized. A planned loss budget cannot guarantee the maximum realized loss.

Otherwise exit at the stop, the midpoint target, the first available quote after the 12th scheduled M15 close strictly after the fill, or the first quote of a new broker D1 day, whichever occurs first. Twelve uninterrupted M15 intervals are about three hours. A gap does not extend a deadline: close at the first available quote after it. There is no averaging, second entry, trailing stop or automatic break-even in this baseline.

Calculate volume from the quote before submission

Choose the money budget first. The example assumes a USD account, equity of 10 000 USD, risk of 0.5%, and EURUSD pip value of 10 USD per standard lot. Use the actual contract, account-currency conversion and volume step for another account. A five-digit EURUSD quote normally represents one pip as ten points; do not confuse a pip buffer with an MT4 point value.

Input or calculationHypothetical valueInterpretation
Equity × risk fraction10 000 USD × 0.5% = 50 USDPlanned loss budget.
Quoted Ask / stop / target1.0812 / 1.0788 / 1.085024 pips of price risk; 38 pips to the midpoint.
Estimated loss per standard lot24 × 10 + 7 + 1 × 10 = 257 USDPrice loss + round-trip commission + stop-slippage allowance.
Volume with a 0.01-lot stepfloor(50 / 257 / 0.01) × 0.01 = 0.19Round down; then check minimum volume and margin.
Estimated risk at 0.19 lots0.19 × 257 = 48.83 USD0.20 lots would risk 51.40 USD and exceed the budget.

The 7 USD round-trip commission and one-pip adverse stop-fill allowance are assumptions. The Ask-to-Bid-stop distance already includes the spread; do not add it again. The actual fill is unknown when volume is chosen. This example assumes it equals the quote; a worse fill or gap may exceed the budget. If the minimum lot is too large, skip the trade instead of rounding upward.

Follow one hypothetical EURUSD long

The saved D1 range is 1.0800–1.0900, with midpoint 1.0850. The H1 candle ending at 10:00 has low 1.0790, high 1.0820 and close 1.0808. It breaks the old low, closes back above it, and stays below the target area. These are invented inputs, not a historical trade.

Time or eventObservationDecision or hypothetical result
10:00H1 low 1.0790; high 1.0820; close 1.0808.Save the completed rejection; start the three-close window.
10:15M15 open 1.0806; close 1.0811; high 1.0812; low 1.0804. Previous M15 high 1.0810.A bullish close breaks the preceding high; neither cancellation boundary was touched.
Next available quoteBid 1.0811; Ask 1.0812; assume the fill equals the Ask quote.0.19 lots; stop 1.0788; target 1.0850. Gross ratio ≈ 1.58.
If stop fills exactly at 1.0788Price loss 45.60 USD; commission 1.33 USD.Loss 46.93 USD before additional slippage or other charges.
If target fills exactly at 1.0850Price profit 72.20 USD; commission 1.33 USD.Profit 70.87 USD before other costs; not an assured outcome.

The stop and target rows are alternative possible outcomes, not two realized trades. A target remains only a possibility. If a completed M15 candle instead touches 1.0790 or 1.0850 before entry, cancel even if it later looks like a strong reversal. The final chart cannot change what was eligible at the decision time.

Reject a late entry even when the direction looks right

At an Ask quote of 1.0812, the fixed stop 1.0788 is 24 pips away and the target 1.0850 is 38 pips away: 38 / 24 ≈ 1.58 gross. If the executable Ask has moved to 1.0816, risk is 28 pips and reward is only 34 pips: 34 / 28 ≈ 1.21. The setup fails the 1.5 threshold. Do not raise the target to yesterday's high or tighten the stop after seeing that failure.

Costs matter even in the accepted example. Hypothetical target profit after commission is 70.87 USD, while the loss estimate including the stop-slippage allowance is 48.83 USD: 70.87 / 48.83 ≈ 1.45. A gross entry filter above 1.5 does not promise a net reward/risk ratio above 1.5, much less a profitable strategy.

Treat the broker day and gaps as part of the rules

Two brokers can produce different D1 boundaries from the same market because their server calendars and sessions differ. Record the server timezone, daylight-saving changes and actual bar opening times. The example's 00:00 daily opening is illustrative, not a universal Forex day or a required UTC schedule.

Do not reuse the H1 candle ending exactly at a new D1 opening: it started in the previous day and cannot create a new-day setup. Reset the fixed D1 reference and submission counter, cancel old setups, and deal with any previous position's time exit first. A connection outage must not revive an expired signal. Verify missing history and reconcile open orders before resuming.

Where a failed-breakout trade can still fail

A close back inside the old range can be a pause before a larger breakout. Yesterday's range need not be today's fair value, and its midpoint is an arithmetic reference, not a price magnet. A rejection trade is exposed to persistent trends, rapid news moves and repeated changes of direction near a boundary.

Before testing, fix any news exclusion, session window and holiday policy with a timezone and exact timing. The baseline here has no extra news or EMA filter. Test additions as separate versions; do not remove losing announcements afterward or change the daily reference until an attractive result appears.

Map MT4 bars to the information then available

MT4 bar timestamps are opening times. iTime can return zero when local history is missing. iBarShift finds a bar covering a requested time, but exact=false can select a nearby bar across a history gap. Check the actual timestamps and the broker calendar; finding a daily bar does not mean that it had closed at the historical decision time.

Live D1 shift 1 usually denotes the last completed D1 bar once the new day is present. A historical audit must first identify the active D1 bar at each saved decision and then its eligible completed predecessor. Today's shift 1 is not a reusable historical index. Save the D1 reference times, H1 setup time, M15 trigger time, quotes, fixed prices, volume and broker response.

OrderSend uses current Ask for a buy and Bid for a sell. Check normalized prices, permitted tick size, stop distance and volume bounds. MODE_STOPLEVEL = 0 does not guarantee that every stop distance is accepted. The article specifies behavior for an implementation to test; it does not supply a ready-to-run or certified EA.

Measure the frozen baseline before modifying it

No statistical advantage has been established for these authored rules. Official documentation confirms platform mechanics, not the profitability of a prior-day reversal. The daily-slot rule and post-fill aborts must be included in results rather than quietly omitted.

  • Freeze the broker calendar, reference-day eligibility, rejection conditions, trigger window, exit deadlines, spread cap and gross-ratio filter before collecting outcomes.
  • Reserve a later chronological period for out-of-sample evaluation. Separate long/short results and trending, ranging, news and high-cost periods.
  • Use an execution model that can resolve intrabar boundary, stop and target events. Standard MT4 Every tick can interpolate ticks from lower-timeframe bars; it is not automatically original tick history.
  • Open prices only does not establish which stop or target touched first within a candle. If the available data cannot resolve an event order, flag the trade as ambiguous instead of assuming the favorable outcome.
  • Record net expectancy, equity drawdown, losing streaks, rejected candidates, daily-slot use and aborted fills. Stress spreads, commission and slippage; inspect neighboring parameters without selecting only the best combination.
  • Check forward demo execution, timestamp logs and recovery behavior. Any change after seeing the holdout needs a new untouched evaluation period.

Eight checks before an order

  1. The correct symbol, broker calendar and reliable D1/H1/M15 history are available.
  2. The previous eligible D1 high, low and midpoint are frozen for this broker day.
  3. A completed H1 rejection starts in the current day and has not reached the midpoint.
  4. A later M15 trigger occurs at one of the three permitted closes.
  5. Neither the locked H1 extreme nor the midpoint has been touched before entry.
  6. The current Bid still satisfies the boundary conditions; spread and gross ratio pass.
  7. The quoted entry, fixed prices, volume, costs and margin fit the planned constraints.
  8. No strategy position or prior daily submission blocks the order; the request and confirmed fill will be logged.

Common questions about the daily-range reversal

Does yesterday's low guarantee a bounce?

No. A completed rejection only describes what price has done so far. A sustained breakout can still follow, and the stop may be hit.

Can I substitute today's growing range?

That is a different strategy. The baseline freezes the preceding completed D1 bar; using today's eventual high or low earlier would introduce future information.

Why target the midpoint instead of a fixed 2R?

The midpoint belongs to the frozen reference range. The strategy skips entries with too little room rather than changing that target to manufacture a ratio.

Can this framework run as an EA without further testing?

No. An implementation needs verified calendar mapping, intrabar data, one-submission state, post-fill checks and order reconciliation before its results can be evaluated.

Official references and the scope of this framework

The references verify MT4 time lookup, trade quotes, symbol constraints and tester modeling. They do not endorse the D1–H1–M15 rejection rules, the midpoint hypothesis or the chosen numerical thresholds.