Stack them, or don’t bother.
Indicators in isolation are unreliable. Every stack here follows the same architecture: one tool for regime, one for location, one for timing. Work each checklist top to bottom — any hard fail means no trade. Includes two harmonic stacks (C5 Bat + RSI divergence, C6 Gartley + fib cluster).
C1 — 20 EMA + RSI + Price Action: the bread-and-butter trend pullback
The stack & why it fits: 20 EMA gives regime and location (trend direction + the pullback line). RSI(14) gives internal state (is this pullback a healthy reset or a breakdown?). The candle gives timing. Three different questions, three different tools — nothing overlaps.
- First — regime: 15m: price above a visibly rising 20 EMA with higher highs/higher lows. If the EMA is flat or braided with price, stop here.
- Second — location: 5m: pullback touches the 20 EMA zone. Check RSI: it should hold above 40 (healthy uptrend reset). RSI below 35 = the "pullback" has real selling in it — skip.
- Third — timing: reversal candle at the EMA (engulfing/hammer/close back over the 9 EMA). Enter on its close.
- Risk: stop below the pullback low − 1 ATR; T1 = prior high (partial), T2 = 161.8% extension or trail.
US100 5m: uptrend all morning, impulse to 18,340, pullback to the 20 EMA at 18,312. RSI dips exactly to 43 and curls. Bullish engulfing closes 18,320. Entry 18,321, stop 18,300 (low 18,308 − ATR 8), 21 pts risk. T1 18,340 hit (+19, half off, stop to entry). T2: extension 18,368; price reaches 18,371, trail exit 18,362 (+41 on the runner). The RSI > 40 check is what filtered this from the two other EMA touches that day — both of which came with RSI ~30 and broke down.
C2 — VWAP + Bollinger 2σ + RSI: fading the stretch on balanced days
The stack & why it fits: VWAP defines the day type and the magnet (flat VWAP = balanced day, and it's the target). Bollinger's outer band defines statistical stretch (location). RSI extreme + turn provides timing. All three must agree the move is exhausted, not starting.
- First — regime: VWAP flat, price has crossed it ≥ 2 times today, ADX < 20. Any slope in VWAP → this playbook is off.
- Second — location: price tags/exceeds the Bollinger 2σ band and is ≥ ~1.5σ VWAP band away from VWAP. Candle bodies shrinking into the extreme.
- Third — timing: RSI beyond 70/30 turns back through it, plus a rejection candle at the band. Enter the close.
- Risk: stop beyond the extreme wick + 1 ATR. T1 = Bollinger midline (partial), T2 = VWAP. Never hold past VWAP.
US500, 19:10: VWAP dead flat at 5,238, crossed five times. A drift pushes to 5,252, tagging the upper Bollinger (5,251) with three consecutive shrinking green candles. RSI prints 74 then closes back at 68 as a shooting star forms. Short 5,248, stop 5,257 (wick 5,253 + ATR 4), 9 pts. T1 midline 5,243 (+5, half off). T2 VWAP 5,238 (+10). Total ~1.6R in 35 minutes. Note what was absent: no news, no VWAP slope, no volume surge on the push — absence of trend evidence is this combo's real edge.
C3 — Opening Range + Volume/OBV + ATR: the qualified breakout
The stack & why it fits: the opening range gives location (a level everyone watches). Volume + OBV give validation (is real participation behind the break?). ATR gives feasibility (is there enough daily range left to pay for the trade?). This combo exists to solve the ORB's one weakness: false breaks.
- First — location: mark the 15-min opening range. Range height should be < ~25% of daily ATR. Note alignment: breaking toward a gap continuation or out of yesterday's value = A-grade.
- Second — validation: on the breakout candle: volume ≥ 1.5× 20-bar average and OBV printing a new session extreme with price. Volume without OBV agreement = churn — skip.
- Third — feasibility: daily ATR check: if > 60% of the day's typical range is already used, demand the conservative retest entry or pass.
- Entry & risk: 5m close beyond the range (or its retest). Stop = range midpoint (aggressive) / retest low (conservative). T1 = range height projected, T2 = prior day high/low.
GER40: opening range 18,410–18,438 (28 pts; daily ATR 160, ~10% used — pass). 5m closes 18,444 on 1.9× volume, OBV new high — validated. Entry 18,445, stop 18,424 (midpoint), 21 pts. T1 = 18,438 + 28 = 18,466 (partial). T2 = yesterday's high 18,492; trail exits 18,483. Compare the failed break at 09:20 the same day: price poked 18,440 but volume was 0.8× average and OBV flat — checklist step 2 failed, no trade, and that poke reversed 30 points. The volume gate is the whole edge.
C4 — ADX + Supertrend + EMA pullback: the trend-day machine
The stack & why it fits: ADX answers "is there a trend worth trading?" (regime). Supertrend on 15m answers "which side am I allowed on?" (bias, and later the trailing stop). The 5m 20 EMA pullback provides location and timing. Each layer strictly narrows the previous one.
- First — regime: 15m ADX > 25 and rising. Below 20: this entire playbook is closed for the day.
- Second — bias: 15m Supertrend state — green = longs only, red = shorts only. No counter-state trades, ever, while this combo is running.
- Third — location/timing: 5m pullback to the 20 EMA in the bias direction, then a trigger candle. Bonus confluence: pullback holds above the 15m Supertrend line.
- Risk: stop below pullback low − 1 ATR (not the far Supertrend line — too wide). Trail the runner on the 5m Supertrend; hard exit if the 15m state flips.
US100 trend day: by 16:00, 15m ADX 31 and climbing, 15m Supertrend green with the line at 18,196. Price impulses to 18,290, pulls back to the 5m 20 EMA at 18,262. Hammer closes 18,268. Entry 18,269, stop 18,247 (low 18,255 − ATR 8), 22 pts. Partial at prior high 18,290 (+21); runner trails the 5m Supertrend line: 18,258 → 18,274 → 18,301 → out 18,317 when the 5m flips (+48). Second identical setup at 17:30 also worked. The day before, ADX never crossed 20 — zero trades from this playbook, which is precisely the design.
C5 — Bat Pattern + RSI Divergence + Structure Level (harmonic stack #1)
The stack & why it fits: the Bat's 88.6% PRZ gives a precise location in advance — its unique strength. RSI divergence supplies independent evidence that momentum is dying exactly where the geometry says it should. A session structure level (pivot, prior day low, HVN) adds non-fib confluence so the zone isn't purely self-referential. Location from geometry, confirmation from momentum, weight from structure.
- First — pattern validity (draw on 15m): B retraces 38.2–50% of XA (if B is at 61.8%, it's a Gartley — different D). Project D = 88.6% of XA; check the 161.8–261.8% BC extension lands within a few points of it. PRZ = that overlap.
- Second — confluence: does the PRZ sit on independent structure (S1/R1, yesterday's high/low, HVN edge, round number)? No external level = B-grade, halve size or skip.
- Third — regime sanity: not a runaway trend day against the pattern (ADX < ~30 against you; daily ATR mostly spent helps a reversal).
- Fourth — timing: price trades into the PRZ; RSI(14) on 5m makes a higher low (bullish) / lower high (bearish) versus the prior extreme while price presses the zone; then a 5m reversal candle. Enter its close.
- Risk: stop beyond X or PRZ far edge − 1 ATR, whichever is tighter but still structural. T1 = 38.2% of CD back (partial + breakeven), T2 = 61.8% of CD, runner toward C.
GER40 15m bearish Bat into resistance: X = 18,480 high, A = 18,380 low (XA 100 pts down), B = 18,424 (44% — valid), C = 18,398. D projects at the 88.6% retracement of XA back up: D = 18,380 + 0.886 × 100 = 18,468.6; the 224% BC extension lands 18,466. PRZ 18,466–18,470 — and R1 sits at 18,470 with yesterday's high 18,472. Triple confluence, A-grade. Price rallies into 18,469; 5m RSI prints 66 versus 74 at the equivalent push an hour earlier (lower high = divergence); bearish engulfing closes 18,461. Short 18,459, stop 18,477 (above PRZ + yesterday's high + ATR 6), 18 pts. CD leg = 18,398 → 18,469 (71 pts): T1 = 38.2% back = 18,442 (+17, half off). T2 = 61.8% = 18,425 (+34). Runner stopped 18,431. ~1.9R average. Had price closed above 18,472, the pattern was structurally dead — that clarity of invalidation is why harmonics pair so well with hard levels.
C6 — Gartley + Fibonacci Cluster + Candle Trigger (harmonic stack #2)
The stack & why it fits: a Gartley D at 78.6% of XA is one fib; the edge appears when independent fib measurements — the 161.8% BC extension, and a retracement of a larger/higher-timeframe leg — cluster at the same price. Three fibs from three different swings agreeing is no longer self-referential; it's a genuine cluster. The candle trigger then converts the zone into a trade with defined timing.
- First — pattern validity (15m): B at 61.8% of XA (the Gartley signature; B much deeper → think Bat/other). D = 78.6% of XA. CD typically 127.2–161.8% of BC.
- Second — build the cluster: overlay (a) the 78.6% XA, (b) the BC extension, (c) the 38.2–50% retracement of the larger 1h leg that contains the pattern. Grade: 3 fibs within ~0.1× ATR of each other = A; 2 = B; scattered = pass.
- Third — timing: price enters the cluster and prints a 5m pin bar/engulfing, ideally with stochastic or RSI exiting an extreme. No close beyond the cluster's far edge is allowed pre-entry.
- Risk: stop beyond X (or cluster far edge − 1 ATR). T1 = 38.2% of AD (partial), T2 = 61.8% of AD, runner toward C, trailing on 5m swing points.
US500 bullish Gartley: X = 5,196 low, A = 5,260 high (XA 64), B = 5,220.5 (61.7% — textbook), C = 5,247. Cluster construction at D: (a) 78.6% XA → 5,209.7; (b) 141% BC extension (5,247 − 1.41×26.5) → 5,209.6; (c) 50% retracement of the 1h leg 5,160→5,260 → 5,210. Three independent fibs inside half a point: A-grade cluster at 5,209.5–5,210.5. Price sells into 5,209.8; stochastic 8 crossing up; bullish pin bar closes 5,213. Entry 5,214, stop 5,203 (below cluster − ATR 4, and comfortably above X invalidation logic since X is 5,196 — geometric stop chosen for R:R), 11 pts. AD leg 5,260→5,210 = 50 pts: T1 = 38.2% = 5,229 (+15, half). T2 = 61.8% = 5,241 (+27). Runner to C 5,247, exits 5,244. ~2.2R blended. The half-point cluster did the heavy lifting; the pin bar just said "now".
C7 — Ichimoku Cloud + MACD: two-timeframe trend confirmation
The stack & why it fits: Ichimoku is a state machine — cloud side gives unambiguous bias and the Kijun gives the pullback line. MACD adds what Ichimoku lacks: a momentum cycle read, showing when a pullback within the trend has reset and re-fired. Cloud = permission, Kijun = location, MACD re-cross = timing.
- First — bias (15m): price clearly above the cloud (longs) or below (shorts). Inside the cloud = flat, full stop. Prefer a bullish future cloud twist for longs.
- Second — location (15m/5m): pullback to the Kijun (or Tenkan in fast trends) that does not close into the cloud.
- Third — timing (5m): MACD dipped below its signal during the pullback and now re-crosses above it while MACD stays above zero. Below-zero re-crosses are weaker — halve size or wait.
- Risk: stop below the Kijun/cloud top − 1 ATR. T1 = prior swing high (partial), T2 = trail on Tenkan or exit on a 5m close below Kijun.
US100 15m: price broke above a thin cloud at 18,180 mid-morning, ran to 18,262. Pullback to the Kijun at 18,218 — cloud top below at 18,196, so the pullback holds above cloud. On the 5m, MACD had rolled under its signal during the dip but holds above zero; at 17:05 it re-crosses up as a hammer closes on the Kijun. Entry 18,226, stop 18,202 (below Kijun, above cloud top − ATR), 24 pts. T1 18,262 (+36, half off, stop to entry). Trail on Tenkan: 18,241 → 18,256 → 18,278; exit 18,284 on a close under Tenkan (+58). One caveat this combo enforces naturally: at 13:30 the same signals half-formed inside the cloud — step 1 failed, no trade, and that move chopped to nothing.
C8 — Pivot Points + Stochastic + Keltner: the rotation-day fade system
The stack & why it fits: pivots supply pre-known locations (everyone's levels, printed before the open). The Keltner channel confirms the tag is also a volatility stretch (price at/outside the band at the pivot). Stochastic times the turn. Three independent "yes" votes: level, stretch, momentum-turn.
- First — day type: rotation evidence — open inside yesterday's value, ADX < 20, flat Keltner midline. Trend day → switch to pivot break-retests instead (this fade playbook off).
- Second — location: price reaches R1/S1 (or P from the far side) and simultaneously tags/exceeds the outer Keltner band. Pivot without stretch = weak; stretch without pivot = weak. Need both.
- Third — timing: stochastic (14,3,3) crosses out of its extreme zone (>80 down, or <20 up) with a rejection candle at the level. Enter the close.
- Risk: stop beyond the pivot + 1 ATR. T1 = Keltner midline (partial), T2 = the central pivot P (or mid-range). Hard exit on a 5m close beyond the pivot.
UK100: P = 7,948, R1 = 7,976, S1 = 7,920; opens 7,952 inside value, ADX 14. At 11:40 price climbs to 7,977 — tagging R1 and poking the upper Keltner (7,974) together. Stochastic 88 crosses down through %D as a shooting star closes 7,970. Short 7,968, stop 7,984 (R1 + ATR 7), 16 pts. T1 Keltner midline 7,957 (+11, half). T2 pivot 7,948 (+20). Both hit by 13:00. The same tag happened at 15:10 after US data — but ADX had jumped to 27 and the Keltner midline was sloping: step 1 failed, playbook switched to break-retest, and R1 indeed broke and ran to R2. Same level, opposite trade, decided entirely by the regime check.
C9 — Volume Profile + VWAP + Market Structure: the acceptance/rejection framework
The stack & why it fits: yesterday's profile (POC/VAH/VAL, LVNs) maps where business was done; VWAP shows today's live consensus and bias; market structure (higher highs/lower lows on 5m) tells you whether a level test is being accepted or rejected. This is less a single setup than a decision framework — it generates both fade and continuation trades from one map.
- First — build the map pre-open: mark yesterday's VAH/VAL/POC, any naked POCs, and LVN air-pockets. Note where today's open lands: inside value → rotation bias; outside → imbalance bias.
- Second — live bias: which side of VWAP is price holding, and is VWAP sloping? Structure agreeing (e.g. above VWAP + higher lows) = continuation lens; disagreeing = wait.
- Third — the trade decision at a level: price at VAH/VAL/POC — is it rejecting (fast wicks away, structure holds the other way → fade back through value) or accepting (closes stacking beyond it, VWAP following → continuation through the next LVN)?
- Risk: fade: stop beyond the level + ATR, target POC/VWAP. Continuation: stop back inside value, target the far side of the LVN (the next HVN).
US500 map: yesterday VAH 5,244, POC 5,232, VAL 5,222; LVN 5,246–5,256; naked POC above at 5,259. Open 5,238 (inside value). Morning: two rejections at VAH with VWAP flat → both faded back to POC per the rotation lens (+8 and +9). At 16:30 the character changes: a 5m candle closes 5,247, then another 5,249, VWAP starts sloping up, 5m prints a higher low at 5,244 — acceptance above value. Continuation long 5,248 (retest of VAH from above), stop 5,240 (back inside value), 8 pts. Target: across the LVN to the naked POC 5,259 (+11); price knifes through the thin zone in five candles, tags 5,261. One map, three trades, two opposite logics — the acceptance/rejection read at the level is the entire skill.
Final Notes ↑ top
- Regime first, always. Nearly every combination above begins with the same question — trending or rotating? Most losing days come from running the right playbook in the wrong regime.
- One question per tool. RSI + stochastic + %R is one opinion three times. Stack across categories: trend/regime + location + timing + (optionally) volume validation.
- No naked limits at levels. Fibs, pivots, PRZs, bands — all of them are zones to watch for a trigger candle, never blind fill locations.
- Structure sets the stop, ATR pads it, size adapts. If the resulting reward:risk to the nearest real target is under ~1.5R, the setup is fine and the trade is still a pass.
- Journal by combo. Tag every trade with its combo ID (C1–C9). Two weeks of tags tells you which stacks fit your market and session better than any backtest.