OPEN-SOURCE SCRIPT

Trend Continuation Momentum Detector

428
TCMD v3 — Trend Continuation Momentum Detector
Core Concept

TCMD is a weighted multi-factor momentum scoring system built on Heiken Ashi candles. Instead of one signal triggering everything, it blends five independent measurements of "how strong is this move" into a composite Momentum Score (0–100), then layers state logic, filters, and risk levels on top.

The five scoring factors
Body Expansion (30% weight) — Is this candle's body unusually large? Calculated as HA body / 20-bar avg body, scaled to 0–100.
Wick Quality (25% weight) — Is the move "clean" (no rejection)? The wick opposing the candle's direction is measured as a % of body size — a small opposing wick scores high.
Trend Slope (20% weight) — Is the EMA of HA close actually rising/falling with conviction? EMA slope over slopeLookback bars, normalized by ATR, then multiplied by a sensitivity factor.
Volume (15% weight) — Is volume confirming the move? volume / 20-bar avg volume, scaled.
Z-Score / distance from mean (10% weight) — Is price extended from its own EMA in a statistically meaningful (but not extreme) way? (HA close − EMA) / stdev, scored with a bell-shaped curve peaking around 0.5–2.0 SD and decaying past 3 SD (overextended).

These combine into a weighted average (weights auto-normalize even if they don't sum to 100) to produce momentumScore.

Why Heiken Ashi

HA smooths noise so body size/wick logic reflects sustained pressure rather than single-tick noise — important since body expansion and wick quality are core inputs.

Signal Logic — 5-State Machine

Each confirmed bar is classified as:

STRONG BUY — momentumScore > threshold (default 75) AND bullish HA candle AND clean wick AND body > average AND HA close above EMA AND (optional) close above VWAP AND (optional) delta positive
STRONG SELL — mirror conditions to the downside
BUY / SELL (bias) — looser: HA close vs EMA + VWAP direction + momentumScore ≥ 50, no wick/body purity required
NEUTRAL — none of the above

This state drives everything downstream: candle coloring, markers, warnings, and TP/SL.

"One-Shot + EMA Reset" Entry Logic

The key anti-spam mechanism: a Strong Buy/Sell marker fires once per cycle, then locks. It won't fire again until price pulls back and touches the EMA (low touches EMA resets buy-side, high touches EMA resets sell-side). This stops multiple entry signals stacking up during one continuous trending move — you get one entry, then must wait for a retest before the next is valid.

Warning System
Light Warning (diamond) — Strong Buy/Sell degrades to plain Buy/Sell, same direction, losing steam
Heavy Warning (x-cross) — Strong Buy/Sell degrades to Neutral or flips to the opposite bias — reversal risk

These are degradation alerts for managing an existing position, not new directional entries.

VWAP & Delta as Confirmation Filters
VWAP filter — Strong signals optionally require price on the "correct" side of session VWAP. Most meaningful intraday since VWAP resets each session.
Delta filter — pulls real buy/sell volume from a lower timeframe (default 1-min) and requires it to agree with signal direction. Falls back to candle direction (close vs open) when lower-timeframe data isn't available in deep history.
Mean Reversion (MR) Signal — separate counter-trend logic

MR looks for momentum exhaustion at a statistical extreme, the opposite philosophy from the trend signals. It fires when:

Price is ≥ mrSdThreshold VWAP standard deviations away (default 1.8 ≈ near the 2SD band)
Momentum Score is weak (< mrMomentumMax) and optionally fading vs the prior bar
The current HA body is small (neutral) and its real high/low engulfs the previous candle's body — a rejection pattern
Session warm-up (mrMinBars) and minimum VWAP SD width (mrMinSdPct) guards are satisfied so it doesn't fire on noisy early bars

MR has its own optional dotted TP/SL lines and alerts, independent of trend-following TP/SL.

TP / SL Levels

When a fresh Strong Buy/Sell fires, TP1/TP2/SL are calculated from the signal candle's HA range (high−low), drawn from the next bar's real open:

Long: TP1 = entry + 2×range, TP2 = entry + 4×range, SL = entry − 1.5×range
Short: mirrored

An "Active SL" is tracked internally; if close crosses through it, an SL-hit marker/alert fires and clears the level.

How to Use It in Practice
Check the current state first — Strong Buy/Sell, Buy/Sell, or Neutral — as your top-line read.
Strong Buy/Sell circle = entry trigger. TP/SL lines (if enabled) auto-draw on the next bar's open.
Diamond (light warning) = start thinking about trimming/tightening — momentum easing, direction unchanged.
X-cross (heavy warning) = treat as an exit signal for the prior position, not a new entry.
Consecutive strong bars = move is extended, higher risk of a sharp mean-reversion snap — cross-check against MR triangles.
VWAP Z-Score / SD bands — gauge how stretched price is; MR triangles are your explicit counter-trend cue at extremes.
ATR — elevated/high readings mean volatility regime has shifted; sanity-check your TP/SL multiples still fit the current range.
Delta — cross-check real order flow agrees with the HA/EMA-based signal, useful for scalping confirmation beyond price action alone.

One thing worth flagging for your GC/NQ intraday use: the VWAP filter and MR signal are most meaningful on session-based intraday timeframes given the session-reset VWAP — on higher timeframes or across sessions, those two features lose some of their intended meaning.

Aviso legal

As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.