EURUSD Session Review — August 21, 2026
A Second Straight Trap Above 1.16824-1.17102, Flat Close on a Fresh High
EURUSD pushed to a fresh session high of 1.17111 -- above even Thursday's already-rejected 1.17102 extreme -- through the London morning and the Flash PMI window, then fully reversed into the New York overlap to close at 1.16786, essentially flat versus the 1.16759 open. The prep's leading range/digestion branch (40%) underestimated how far and how long price would trade above the 1.16824-1.17102 zone before reverting; its second-ranked failed-retest/trap branch (30%) is the one that actually fired, mirroring Thursday's session almost exactly. Two consecutive sessions have now rejected this zone -- the next preparation should weight a third test as a stronger trap signal, not a fresh coin flip.
Every prep call is graded like this. See the full track record →
Graded against live session data from Cortiq
Every call in this review is checked against the session data captured in Cortiq — the AI trading workspace that powers our daily preparation, review, and calibration loop.
- Session
- EURUSD Flash PMI Friday Session Review
- Symbol
- EURUSD
- Window
- 00:00 - 23:00 UTC
- Day type called
- Range/digestion
- Day type actual
- Breakout-and-fail (trap)
- Lean outcome
- Correct (neutral-correct: net close resolved flat)
- Regime
- Displaced push through the trap zone, full intraday reversal
- Preparation
- Partially accurate
- Surprises
- Moderate
Grade card
8 of 11 correct- Day-type callIncorrect
- Called
- Range/digestion
- Actual
- A displaced push through 1.16824 and briefly above 1.17102, sustained for roughly five hours, before fully reverting inside 1.16353-1.16824 by the close
- Lean (unconditional)Correct · neutral-correct
- Called
- Neutral/Wait
- Actual
- Close 1.16786 vs open 1.16759 -- a 2.7-pip net change, no durable directional resolution despite a 42.8-pip intraday range
- Conditional lean -- long triggerCorrect · no trigger
- Called
- Long on a held, displaced H1 close above 1.17102 surviving through 16:00 UTC
- Actual
- Never fired -- the day's best H1 closes (1.17048 at 11:00, 1.17015 at 13:00, 1.17004 at 14:00) all stayed below 1.17102
- Conditional lean -- short triggerCorrect · no trigger
- Called
- Short on a held, displaced H1 close below 1.1600 surviving through 16:00 UTC
- Actual
- Never triggered -- the session low (1.16683) never approached 1.1600
- Lead scenario -- range/digestion (40%)Incorrect
- Called
- Neither directional trigger fires; price continues rotating inside 1.16353-1.16824
- Actual
- Broke decisively above 1.16824, reached a fresh high above 1.17102, for roughly five hours before reverting
- Failed-retest/trap branch (30%) -- the branch that firedNote · Fired (target undershot -- see below)
- Called
- Re-tests or briefly exceeds 1.16824, potentially up to 1.17102, but the close does not survive through 16:00 UTC and reverses back below it within the session
- Actual
- Matched almost exactly -- exceeded 1.17102 intrasession, held above 1.16824 for hours, then closed the 16:00 UTC hour essentially at the pivot and broke cleanly below it by 17:00 UTC
- Key level 1.17102 (trap-retest trigger zone)Correct
- Called
- A held, displaced close above here confirms the breakout branch; otherwise a trap-retest zone
- Actual
- Breached intrasession (high 1.17111) but never held a close above it
- Key level 1.1700 (round-number sweep target)Correct
- Called
- Sweep target, not defended resistance
- Actual
- Swept repeatedly through the 12:00-14:00 UTC hours, never acted as hard resistance
- Key level 1.16824 (resistance/pivot, first test of trap branch)Correct · but the "touch" undersold the duration -- see What We Learned
- Called
- A touch that fails to hold confirms the failed-retest read
- Actual
- Held as support for roughly five hours (not a brief touch) before failing and confirming the trap read by 17:00 UTC
- Key level 1.16353 (structural support)Correct
- Called
- First real support; a held loss here negates the range read
- Actual
- Never tested -- session low (1.16683) stayed well above it
- Key level 1.1600 (line in the sand)Correct
- Called
- Divides digestion from a genuine breakdown
- Actual
- Never tested
The tape
- Open and Asian drift (00:00-06:00 UTC)
EURUSD opened at 1.16759 and pushed steadily higher through the Asian session -- not the "thin overnight poke" the priors treat as uninformative, but a sustained climb that carried price to a 1.17005 high by 05:00 UTC, already testing the top of the digestion band well before London opened. By 06:00-07:00 the move eased back to 1.16906-1.16949.
- Eurozone Flash PMI cluster (07:00-08:30 UTC)
France's Composite PMI missed at 48.8 versus a 49.6 forecast (down from 49.4 -- deeper contraction), and Germany's Composite PMI missed narrowly at 51.0 versus 51.2 forecast (down from 51.3). Both prints were EUR-negative growth surprises. Price barely reacted -- the 07:00 hour closed flat at 1.16928, and the 08:00 hour actually pushed higher to close 1.16975 -- the EZ-specific miss did not produce the expected downside pressure; the pair kept drifting with whatever was moving the dollar instead.
- London push to a fresh high (09:00-12:00 UTC)
After a dip to 1.16863 at 10:00, EURUSD pushed from 1.16905 to a 1.17060 high within the 11:00 hour, then spiked further to a session high of 1.17111 during the 12:00 hour -- a new print above Thursday's already-rejected 1.17102 -- before easing to close the hour at 1.16997.
- US Flash PMI window and churn at the highs (13:00-14:00 UTC)
Price probed the extreme again, printing 1.17104 within the 13:00 hour -- just shy of the day's high -- around the time the prep's second decision point (the US Flash PMI, roughly 13:45 UTC) was due. That print does not appear in this review's available calendar feed, so its outcome cannot be confirmed here; price itself continued churning at the top through 14:00 (high 1.17094, close 1.17004) without ever posting a held H1 close above 1.17102.
- NY overlap reversal (15:00-17:00 UTC)
The break failed here, exactly where the priors flag this pair's documented fade zone. The 15:00 hour opened at 1.17003 and reversed to a 1.16845 low, closing 1.16902. The 16:00 hour extended the reversal (low 1.16782, closing essentially at the 1.16824 pivot, 1.16828), and the 17:00 hour confirmed the break decisively -- session low 1.16683, close 1.16725, roughly 40 pips off the day's high.
- Late session and close (18:00-23:00 UTC)
Price bounced back to 1.16829 by 18:00, then chopped in a tight 1.16702-1.16871 band into the close, settling at 1.16786 -- 2.7 pips above the 1.16759 open and almost identical to Thursday's 1.16785 close.
What we learned
**Moderate surprise.** The prep's lead scenario and day-type call both described a session confined to 1.16353-1.16824; instead the pair spent roughly five hours above that ceiling, including a fresh high beyond Thursday's already-rejected extreme, before fully reverting. None of the mechanism was unforeseeable -- the trap branch named the trigger, the target, and the fade window individually -- but the lead still called the wrong shape for the session.
- A second consecutive trap day at the same zone argues for re-weighting the precondition, not just carrying the branch
Last session's review already flagged that a fresh, thinly-confirmed extreme should carry the trap read at real weight rather than as a footnote, and tonight's prep did exactly that (30%, explicitly cited "per the standing routing lesson"). It still wasn't enough -- the lead stayed on range/digestion at 40% and the trap branch fired again. Routes to: day-type call -- when a level has already failed once in the immediately preceding session under comparable conditions, the precondition check should weigh promoting the trap read closer to or above the range/digestion lead, not just giving it real (but still secondary) weight.
- The EZ Flash PMI miss didn't move price the direction the driver stack implied
Both France and Germany missed forecast -- a EUR-negative growth surprise -- yet EURUSD kept drifting higher into and through the print. The session's push to a fresh high tracked something other than the EUR-specific data. Routes to: driver-stack read -- when a scheduled EUR-specific print disagrees with the direction price actually takes, don't assume the print was "shrugged off"; check whether a broader dollar flow was the actual driver before leaning on the EZ-PMI-moves-EUR rule again next time this pair faces a similar cluster.
- The fired scenario's own target overshot the actual reversal
The trap branch called a round trip back to 1.16353, potentially 1.1600; the session only gave back to 1.16683 before stabilizing well above both levels. The mechanism was right, the depth of the round-trip target was not. Routes to: tradability standard -- scale a trap branch's give-back target to the magnitude of the failed displacement (here, a ~40-pip round-trip from the 1.17111 high) rather than defaulting to the nearest major structural level.
- The US Flash PMI decision point could not be verified
The prep named a ~13:45 UTC US Flash PMI as its second decision point, but no matching event appears in this review's calendar feed -- consistent with the prep's own note that the usual live feed was unreachable at file-preparation time. The session's price action around that window is documented in The Tape from candles alone; no catalyst is claimed that could not be confirmed. --- Reviewed prep: 2026-08-21-eurusd-session-preparation
