A pivot drawn on an old candle was not necessarily known on that candle. This research model makes the confirmation delay explicit, freezes the first qualifying three-point structure and permits one later breakout opportunity. The worked example follows complete H4 bars through quotation, sizing and a multi-session exit.
1. Define the research question before identifying the shape
A BUY candidate consists of a low P1, a later high P2 and a higher low P3. SELL mirrors these points. Here the label describes a local reversal hypothesis, not proof that a larger trend has reversed. The market-structure guide explains the wider context. Every rule and number below is a fixed teaching assumption, not an optimised live recommendation.
The entry depends on confirmed turning points and a later break, rather than a visual resemblance alone. Compare the double-top and double-bottom strategy for its separate model. This specification does not require similar extremes, RSI divergence or a pre-existing price zone. No historical profitability has been established.
2. Freeze the contract, calendar and opportunity budget
Assume EUR/USD, an EUR 100000 standard contract, a USD account, point and tick size 0.00001, and 1 pip = 0.0001: USD 10 per pip per lot. H4 intervals start at 21:00, 01:00, 05:00, 09:00, 13:00 and 17:00 UTC; D1 ends at 21:00 UTC. These are declared summer-dataset conventions, not universal MT4 settings. Map historical server offsets with the daily-candle protocol.
Reset the unarmed search at the calendar week opening, here 2026-08-09 21:00 UTC, with all pivot centres and their left-hand bars inside that week. One qualifying candidate consumes that week's budget, even if it never enters. Allow at most one model position and one entry request; open or uncertain exposure blocks new entry. Known session/holiday schedules are required in advance, not future prices. Missing required history disables the week.
| Parameter group | Frozen assumption | Interpretation |
|---|---|---|
| Instrument and account | EUR/USD · USD | One configured symbol and account currency |
| Contract and units | 100000 EUR · 0.00001 · 0.0001 · USD 10 | Contract, point/tick, pip, pip value per lot |
| Clock convention | H4: 21/01/05/09/13/17 UTC · D1: 21:00 UTC | Declared calendar, with historical offsets verified |
| Pivot and spacing | 2 + 2 · 3–12 H4 | Strict left/right test and adjacent centre spacing |
| Pattern geometry | 40–200 pip · 25–75% · 10 pip | Leg width, retracement, minimum P1/P3 difference |
| Signal window | 3 H4 · 2.0 pip · 20.0 pip | Later closes, strict buffer, maximum extension |
| Decision timing | 60 s · 0–2 s | Boundary-based expiry and permitted quote age |
| Quote and distance gates | 1.5 pip · 3.0 pip · 20–120 pip | Maximum spread/drift and allowed price risk |
| Protection and reward | 2.0 pip · 2.0R · 1.5 | Stop buffer, price target, minimum planned net ratio |
| Risk and lot step | 0.5% · 0.01 lot | Equity budget; round volume down |
| Planned costs | 0.6 + 1.0 + 3.0 pip | Commission, combined adverse fills, holding reserve |
| Holding limits | 3 D1 · 20:45 UTC | Subsequent boundaries or Friday cutoff, whichever is first |
| Opportunity limits | 1 · 1 · 1 | Candidate per week, model position, entry request |
3. Confirm each pivot with two completed bars on each side
For centre k, a low must be strictly below the lows of k−2, k−1, k+1 and k+2; a high must be strictly above their highs. Equality fails. Exclude a centre that qualifies as both a high and low. A pivot becomes usable only after bar k+2 has closed and its required history is valid. MT4 index 0 is forming; a visually marked centre is not its availability time.
Two right-hand H4 bars mean eight hours after the centre bar closes only when the example's intervals are contiguous. Breaks can make wall-clock delay longer. Process centres in chronological confirmation order. Append an opposite-type pivot. For consecutive pivots of one type, keep the more extreme one; retain the earlier on equal price. Replacement is allowed only before a pattern is armed, never retrospectively after a decision.
4. Select and freeze the first qualifying three-point structure
Use the latest three points in that alternating stream. For BUY they must be low–high–low with P3 at least 10 pips above P1; SELL is high–low–high with P3 at least 10 pips below P1. Require a P1–P2 price leg of 40–200 pips, a P2-to-P3 retracement of 25–75% of that leg and 3–12 H4 centre spacings between each adjacent pair, all bounds included.
For the local lead-in, BUY P1 also needs declining lows over its two left bars into the centre; SELL needs rising highs. When the first geometry-qualified P3 becomes known, mark the week's candidate budget consumed before other rejection checks. Freeze all three point identities and prices. Further pivots cannot improve or replace that candidate. The swing-trading guide supplies the holding-risk context.
5. Walk a complete fictional H4 sequence
The table supplies the invented Bid OHLC inputs, not downloaded historical evidence. Its centres are P1 at b2, P2 at b5 and P3 at b8. The five-bar tests make them available after b4, b7 and b10, respectively. P1 = 1.10000, P2 = 1.10800 and P3 = 1.10400 give an 80-pip leg, a 40-pip pullback and 50% retracement. Each centre spacing is 3 bars.
P1 is known at 2026-08-10 17:00 UTC, P2 at 2026-08-11 05:00, and P3 at 2026-08-11 17:00, subject to actual observation delay. The first two bars warm up the search; they cannot be pivot centres here. Labels b0–b12 run forward in time, not as MT4 shift indexes. Preserve all input bars, including those that never become pivots. A later annotation must not move any confirmation backward.
| Bar | Interval UTC [start, end) | Open | High | Low | Close | Meaning |
|---|---|---|---|---|---|---|
| b0 | 2026-08-09 21:00 → 2026-08-10 01:00 | 1.10500 | 1.10600 | 1.10300 | 1.10400 | Warm-up |
| b1 | 2026-08-10 01:00 → 2026-08-10 05:00 | 1.10400 | 1.10450 | 1.10150 | 1.10200 | Warm-up |
| b2 | 2026-08-10 05:00 → 2026-08-10 09:00 | 1.10200 | 1.10300 | 1.10000 | 1.10150 | P1 centre |
| b3 | 2026-08-10 09:00 → 2026-08-10 13:00 | 1.10150 | 1.10400 | 1.10080 | 1.10300 | Right-hand bar |
| b4 | 2026-08-10 13:00 → 2026-08-10 17:00 | 1.10300 | 1.10600 | 1.10200 | 1.10550 | P1 confirmation ends |
| b5 | 2026-08-10 17:00 → 2026-08-10 21:00 | 1.10550 | 1.10800 | 1.10500 | 1.10700 | P2 centre |
| b6 | 2026-08-10 21:00 → 2026-08-11 01:00 | 1.10700 | 1.10750 | 1.10550 | 1.10600 | Right-hand bar |
| b7 | 2026-08-11 01:00 → 2026-08-11 05:00 | 1.10600 | 1.10650 | 1.10480 | 1.10500 | P2 confirmation ends |
| b8 | 2026-08-11 05:00 → 2026-08-11 09:00 | 1.10500 | 1.10600 | 1.10400 | 1.10450 | P3 centre |
| b9 | 2026-08-11 09:00 → 2026-08-11 13:00 | 1.10450 | 1.10650 | 1.10440 | 1.10600 | Right-hand bar |
| b10 | 2026-08-11 13:00 → 2026-08-11 17:00 | 1.10600 | 1.10780 | 1.10550 | 1.10750 | P3 confirmation ends |
| b11 | 2026-08-11 17:00 → 2026-08-11 21:00 | 1.10750 | 1.10830 | 1.10680 | 1.10820 | Window close: equality, no trigger |
| b12 | 2026-08-11 21:00 → 2026-08-12 01:00 | 1.10820 | 1.10870 | 1.10750 | 1.10840 | Window close: first strict break |
6. Arm only after point 3 is actually available
Suppose b10's completed data become valid at 2026-08-11 17:00:04 UTC. Only then can P3 arm the candidate. Its three future signal closes are 2026-08-11 21:00, 2026-08-12 01:00 and 2026-08-12 05:00 UTC. The scheduled intervals are fixed then; a restart does not extend them. No entry is made merely because the third pivot has appeared.
Check all completed closes after the P2 centre through the P3 confirmation bar. If any already broke the buffered P2 threshold, reject this candidate: that first break occurred before P3 was known. This includes a break on the confirmation bar itself. If the history or ordering cannot be verified, disable the week rather than reconstruct an earlier opportunity from later downloads.
7. Keep the original point 3 as the invalidation reference
Before entry, a completed post-P3 bar with Bid low ≤ P3 invalidates BUY; Bid high ≥ P3 invalidates SELL. Check all such bars through the signal bar, and also reject if the first entry quote has already invalidated that Bid reference. Equality invalidates. If a signal bar both touches P3 and closes beyond P2, invalidation wins and no entry is sent. Do not infer a favourable intrabar ordering from OHLC.
This is cancellation of an unfilled candidate. Once a position is filled, its fixed stop and exit lifecycle apply; the original P3 is not replaced by a later, more convenient pivot. An invalidated, expired or otherwise rejected candidate still consumes the week's budget. Record the reason rather than searching for a replacement pattern that week.
8. Use the first strict break inside the fixed signal window
Let C be a completed Bid H4 close after arming. BUY needs C > P2 + 2.0 pips; SELL needs C < P2 − 2.0 pips. Intrabar wicks alone do not qualify. In the example the threshold is 1.10820. The first window close equals 1.10820, so it does not trigger. The second, at 2026-08-12 01:00 UTC, is 1.10840 and is the first strict break, extending 4 pips beyond P2.
Reject a first strict break more than 20.0 pips beyond P2; do not replace it with a later close. Entry signals are allowed only Monday through Thursday by the UTC close timestamp. A first break outside those days consumes the candidate. If none occurs at the three specified closes, expire it. Each qualifying signal has its own fixed 60-second quote deadline measured from its scheduled close, including a signal at the third close.
9. Evaluate one subsequent quote and verify execution eligibility
Suppose the signal history is valid at 01:00:04 and the first later quote arrives at 01:00:05: Bid 1.10850 / Ask 1.10860. BUY uses Ask, giving spread 1.0 pip and absolute drift from C of 2.0 pips. Require spread ≤ 1.5 pips, drift ≤ 3.0 pips, quote age from 0 to 2 seconds against a verified clock, and quote time strictly before 01:01:00. Equality at the deadline is late.
Apply these gates to that one quote; rejection permits neither quote shopping nor another entry request. Check tick rounding, minimum and step, margin, permissions, server stop distances and available account risk. MODE_STOPLEVEL equal to zero does not guarantee acceptance. Persist the candidate and order state across restarts. An uncertain response requires account reconciliation before further action, never a blind resend.
10. Freeze the original stop and size from all planned costs
For BUY freeze E = 1.10860 and S = P3 − 2.0 pips = 1.10380, giving 48 pips of price risk. Require that distance to fall within 20–120 pips. Add round-trip commission 0.6 pip, a combined adverse entry/exit allowance 1.0 pip (0.5 for entry and 0.5 for exit) and a holding-cost allowance 3.0 pips: 48 + 0.6 + 1.0 + 3.0 = 52.6 pips, or USD 526 per lot. Do not add the already included spread again.
With USD 10000 equity and a 0.5% budget, planned risk is USD 50. Raw volume is 50 / 526 ≈ 0.095057 lot. A 0.01 minimum and step give 0.09 lot after rounding down, planning USD 47.34 loss. Skip if minimum size or margin prevents the plan. The position-sizing guide explains the units. Gaps, changed financing and failed exits can exceed this allowance; it is not a loss cap.
11. Fix the target before the request and verify the actual fill
Set T = E + 2 × 48 pips = 1.11820 before requesting entry. S and T stay fixed: no trailing, break-even move, partial close, averaging or opposite hedge. The gross target distance is 96 pips. After the same 0.6 + 1.0 + 3.0-pip planning deductions, net planned reward is 91.4 pips; 91.4 / 52.6 ≈ 1.738, above the fixed minimum 1.5.
The price target is 2.0R, not a promise of net 2.0R. After a fill, adverse entry slippage beyond 0.5 pip fails the model. Use the actual entry price and only the remaining 0.5-pip exit allowance, with commission and funding, to recheck distance, budget and the net-ratio minimum without moving S or T. A violating fill or unverified protection enters a real emergency-close state; do not erase it from results. No second entry is earned. The weekly-range strategy provides a separate reference model, not an additional entry filter here.
12. Reconcile a fictional closed BUY once
Assume an actual fill at Ask 1.10860 for 0.09 lot and an exit at Bid 1.11820 on 2026-08-13 at 10:00 UTC. The 96-pip price gain is USD 86.40. With actual round-trip commission −USD 0.54 and total booked swap −USD 1.08, net is 86.40 − 0.54 − 1.08 = USD 84.78. These fictional fills and fees do not demonstrate performance.
Spread is already in the Ask-to-Bid fills. Unused adverse-fill and funding allowances are not additional charges. In MT4, OrderProfit excludes swap and commission, so reconcile signed booked components once. The swap and rollover guide explains why actual contract calendars and rates, rather than a universal daily multiplier, determine financing.
| Booked item | USD | Treatment |
|---|---|---|
| Actual fill-to-fill price gain | +86.40 | 96 pips at 0.09 lot |
| Round-trip commission | −0.54 | Actual signed charge |
| Booked swap | −1.08 | Actual cumulative financing, counted once |
| Realised net result | +84.78 | 86.40 − 0.54 − 1.08 |
| Unused planning reserves | 0.00 | No additional booked charge |
13. Use the first applicable price or time exit
If still open, exit on stop, target, the third subsequent D1 boundary after the actual entry, or the Friday cutoff, whichever occurs first. For entry Wednesday 2026-08-12 01:00:05, the D1 boundaries are 2026-08-12 21:00, 2026-08-13 21:00 and 2026-08-14 21:00 UTC. Friday 2026-08-14 20:45 UTC comes before that third boundary. An earlier announced weekly close moves the cutoff to 15 minutes before it.
A time condition requests closure at the first tradable quote at or after its deadline; it does not guarantee a fill at that timestamp. If no quote or confirmed exit is available, retain the close-due state and continue controlled, reconciled exit handling until flat is verified. Block new entry while exposure is unresolved. A restart or new week cannot erase an old position, its holding age or a failed weekend exit.
14. Mirror SELL with the correct price sides
In a separate alternative scenario, P1 = 1.11000, P2 = 1.10200 and P3 = 1.10600 give the same 80-pip leg and 50% retracement. A later Bid close C = 1.10160 is below the strict threshold 1.10180. The first later quote Bid 1.10140 / Ask 1.10150 gives spread 1.0 pip and absolute drift 2.0 pips. SELL enters at Bid 1.10140.
Freeze S = P3 + 2.0 pips = 1.10620 and T = 1.10140 − 2 × 48 pips = 1.09180. Price risk is 48 pips and target distance 96; the same costs, volume and lifecycle gates apply. Pattern pivots and pre-entry invalidation use Bid, but SELL exits and stop/target execution use Ask. Keep their account record separate. This alternative does not permit simultaneous BUY and SELL positions.
15. Test causal availability and rejected paths
Rebuild the fixed H4 calendar, strict five-bar pivots, same-type replacement and first-candidate selection in chronological order. Keep missing bars, rejected shapes, pre-arm breaks, P3 invalidations, equal closes, late quotes, failed requests and close-due exposure in the record. A completed-bar simulator must not fill at the historical close that triggered the decision.
When a held bar touches both stop and target, OHLC cannot establish the sequence. Use sufficient quote data or explicitly label a conservative unresolved-path rule. Include commissions, actual or declared financing, adverse fills, restarts and time-zone changes. Keep development, untouched later testing and forward observation separate. Neither a small sample nor a positive gross result establishes a viable model.
16. Keep a reproducible pattern and lifecycle checklist
Verify the week/calendar, complete pivot windows, confirmation times, alternating stream, geometry, original P3, pre-arm history, three-close window and first strict break. Then verify the first subsequent quote, fixed expiry, cost/account gates, volume, S/T and any actual fill. During the hold, track booked costs and the earliest applicable exit separately from the pattern drawing.
Afterward reconcile every real and rejected event. Changing a pivot rule, threshold or clock creates a new version requiring fresh validation. The objective is a testable lifecycle, not an assertion that a recognisable shape is safe or profitable. No statistics are invented, and these examples do not show that any commercial EA on this site implements the model or would obtain its illustrated result.
Frequently asked questions
When is a point actually confirmed?
Only after the two H4 bars to its right have closed and their required history is valid. In the example, the P3 centre starts at 2026-08-11 05:00, but confirmation ends at 17:00 and becomes observable at 17:00:04. Drawing the point back on its centre does not make it available earlier.
Can a break during point 3 confirmation be traded later?
No. A strict buffered P2 break through the confirmation bar occurred before P3 was known. This candidate is rejected and its weekly budget remains consumed; a later, better-looking break is not a replacement.
Does a close exactly at the entry threshold count?
No. BUY needs C > 1.10820 in the example. The equal first close does not trigger; 1.10840 is the first strict break. A genuine first break beyond the 20.0-pip extension cap consumes the opportunity instead of allowing another close.
Can point 3 be moved after a better pivot appears?
No. The candidate keeps its original point 3. Before entry, a BUY Bid low at or below P3 cancels it; SELL is mirrored. After a fill, use the fixed S/T and actual exit rules, not a redrawn pattern.
Why does the example use 0.09 lot?
USD 50 divided by USD 526 planned loss per lot is about 0.095057 lot. Rounding down to the 0.01 step gives 0.09 lot and USD 47.34 planned loss. This is a budget allowance, not protection against every gap or failed exit.
Does the Friday cutoff guarantee no weekend exposure?
No. It triggers an early close attempt. If quotes or execution fail, preserve the real position and close-due state, reconcile the account and keep new entry blocked until resolved. Do not book a fictional Friday fill.
Sources and educational notes
MetaQuotes documents completed versus forming bars, asynchronous history access and market-order price/stop requirements. FXOpen material was consulted for general three-point pattern background only. The pivot selection, thresholds, weekly opportunity limit and lifecycle below are an original educational research specification. They are not broker execution guarantees or evidence of profitability. All dates, bars, quotes, costs and results are fictional. No backtest or commercial-EA implementation is claimed.
Educational research model. Bars, prices, calendars, settings and results are fictional. Forex trading involves risk. No backtest, guaranteed execution, maximum loss or future performance is established.