Supertrend Signals: Require Direction and a Pullback Before Acting

Video: Supertrend Indicator Strategy That Actually Works (Triple Confluence Setup)
Creator: TradeGenius
Original Video: Watch the original video
Difficulty: Intermediate

The Big Idea

A signal identifies an event. A trading plan decides whether that event deserves attention. This lesson separates three jobs: a broader directional filter, a return to a relevant band, and a local trigger after that return.

Why Three Checks Are Different From Three Votes

The source uses a fifteen-minute execution chart with an hourly Swing Arm band and labels from a Triple Supertrend Confluence tool. A bullish label is ignored when the broader band is bearish. Even when the directions agree, the creator wants price to have pulled back to the band first.

Those checks answer different questions. Direction describes the permitted side, location describes where the opportunity develops, and the label describes when the local event occurs. Adding three indicators that all describe the same price crossover would not necessarily provide three independent pieces of evidence.

The source illustrates winning long and short examples. It does not supply a complete trade ledger or a controlled comparison of the filters. The lesson is a decision framework whose usefulness still needs evaluation, rather than proof that the displayed combination reliably produces a particular return.

CheckQuestion to answerReason to pass
DirectionWhich side does the higher-timeframe band permit?The signal points the other way.
PullbackDid price actually return to the selected band?The signal appeared after an extended move with no qualifying return.
Trigger and riskHas the local signal completed, with a usable invalidation?The label is still changing or the stop reference is on the wrong side.

Keep the Two Tools and Their Settings Separate

The signal tool uses a 14-period ATR, a 2.5 factor, an enabled adaptive factor with bounds of 1.5 and 4.5, and a 100-period rank length. The described ADX filter is enabled with a threshold of 20 and length of 14. Its adaptive filter is set to none with a displayed length of 20, and its own higher-timeframe confluence option is off.

The separate Swing Arm tool supplies the broader band. The source sets its timeframe to one hour, uses the modified trade type, a five-period ATR and factor of five, and enables Fibonacci entries. These are settings for the named tools, not a complete disclosure of their calculation formulas.

A standard Supertrend function does not reproduce every adaptive rule or the modified Swing Arm construction. The companion code therefore uses two standard Supertrends as an explicitly different, original proxy. It preserves the question about filtering signals without claiming to clone either named indicator.

A Pullback Must Exist Before It Can Qualify a Signal

A historical chart makes the best return to the band look obvious. In a repeatable definition, specify what counts as contact, how long that contact remains relevant, and what cancels it. Otherwise any old pullback can be used to justify a much later label.

For the original proxy, contact means that the completed candle intersects a configurable zone around the confirmed hourly line. The default half-width is 0.5 chart ATR. The setup remains armed for five chart bars, unless direction or a close through the broader reference invalidates it. A completed local Supertrend flip with ADX at least 20 then consumes the setup.

These numbers are teaching definitions. A wider contact zone admits more events; a longer validity window allows signals farther removed from the actual return. More markers are not automatically evidence of a better model. Record what changes in the population of eligible observations.

Calculate the Ratio From an Executable Price

A long signal followed by a worse fill

The prices below are fictional. Costs and slippage beyond the stated entry are omitted.

ObservationCalculation or ruleMeaning
Plan at closeSignal 100; initial stop reference 98; proposed objective 104Quoted risk 2 and reward 4: 2R.
Later fillActual hypothetical fill 101, with stop 98 and objective 104 unchangedRisk 3; reward 3: only 1R.
Preserve a true 2R objective101 + 2 × (101 − 98) = 107The target changes if the method truly requires 2R from entry.
Reject nonsenseA long fill at or below the intended stop referenceThe original bracket no longer expresses the planned risk.

The source’s illustrated stop reference need not imply continuous trailing. If you choose to trail the line, that creates a different management rule. Record that rule separately instead of allowing a moving indicator to silently rewrite the original trade.

The Hourly Filter Has an Availability Time

During an unfinished hour, the line and its direction can change. A backfilled hourly value can make earlier fifteen-minute signals look cleaner than they were in real time. The proxy requests only the previous completed hourly calculation, accepting the resulting delay.

TradingView documents the combination of a one-bar expression offset and lookahead_on for confirmed higher-timeframe requests. The offset is essential. This script uses that pattern inside its hourly helper; it does not use the final current-hour value early. See TradingView’s higher-timeframe data guidance (paid link).

The hourly line will therefore sometimes disagree with what a developing version of the creator’s indicator shows. That is a deliberate availability choice. A study must compare like with like rather than crediting the stable version with a developing signal’s earlier price.

Pine Script Indicator

View Pine Script Indicator Code
//@version=6
// Guide: https://candlechasers.com/supertrend-pullback-direction-filter/
// Original educational approximation; no orders, fills or performance claims.
indicator("CC Trend Pullback Confluence Proxy", overlay=true)
fastATR = input.int(14, "Chart Supertrend ATR", minval=1)
factor = input.float(2.5, "Chart Supertrend factor", minval=0.1)
htf = input.timeframe("60", "Higher timeframe")
near = input.float(0.5, "HTF line proximity / chart ATR", minval=0.01)
life = input.int(5, "Pullback valid for chart bars", minval=1)
confirmedTrend() =>
    [s, d] = ta.supertrend(5.0, 5)
    [s[1], d[1]]
[slow, bias] = request.security(syminfo.tickerid, htf, confirmedTrend(), lookahead=barmerge.lookahead_on)
[line, direction] = ta.supertrend(factor, fastATR)
[plusDI, minusDI, adx] = ta.dmi(14, 14)
atr = ta.atr(14)
valid = chart.is_standard and timeframe.in_seconds() < timeframe.in_seconds(htf)
var int armed = 0
var int born = na
bool bull = false
bool bear = false
if valid and barstate.isconfirmed
    if armed != 0 and (bar_index - born > life or (armed == 1 and (bias >= 0 or close < slow)) or (armed == -1 and (bias <= 0 or close > slow)))
        armed := 0
    bool touch = low <= slow + atr * near and high >= slow - atr * near
    if touch and bias < 0 and close > slow
        armed := 1
        born := bar_index
    if touch and bias > 0 and close < slow
        armed := -1
        born := bar_index
    bull := armed == 1 and direction < 0 and direction[1] > 0 and adx >= 20
    bear := armed == -1 and direction > 0 and direction[1] < 0 and adx >= 20
    if bull or bear
        armed := 0
plot(line, "Standard chart Supertrend (proxy)", color=direction < 0 ? color.lime : color.red, linewidth=2)
plot(valid ? slow : na, "Confirmed HTF standard Supertrend (not Swing Arm)", color=color.orange, linewidth=2, style=plot.style_stepline)
plotshape(bull, "Long-context proxy", shape.triangleup, location.belowbar, color.aqua, size=size.small)
plotshape(bear, "Short-context proxy", shape.triangledown, location.abovebar, color.orange, size=size.small)
alertcondition(bull or bear, "Confluence proxy", "CC: completed trend/pullback/flip proxy. Not the proprietary tools or a trade order.")
var table status = table.new(position.top_right, 1, 2, bgcolor=color.new(color.black, 10))
if barstate.islast
    table.cell(status, 0, 0, valid ? "ORIGINAL PROXY | ADX " + str.tostring(adx, "#.0") : "Use standard chart below selected HTF", text_color=color.white)
    table.cell(status, 0, 1, armed == 0 ? "Waiting for pullback + later qualifying flip" : "Pullback armed; waiting for qualifying flip", text_color=color.white)

What This Indicator Shows

The orange line is a confirmed higher-timeframe standard Supertrend, and the other colored line is the chart’s standard Supertrend. Both are reference plots, so a lack of triangles does not mean the indicator is blank. Use a standard chart below the selected higher timeframe, such as fifteen minutes with a sixty-minute filter. The panel shows ADX and whether a pullback is armed. A qualifying flip consumes the armed state; later contacts can rearm it. New contacts reset the five-bar timer.

What This Indicator Does Not Show

This is not the adaptive Triple Supertrend tool or the modified Swing Arm band. It does not reproduce Fibonacci bands, broker stops, entries, targets, or returns. The contact tolerance, expiry, and standard Supertrend substitutions are ours. ADX measures directional-movement strength under its formula; its threshold is not a success probability. Markers finalize at chart-bar close.

Setup and Validation

Paste the complete script into TradingView’s Pine Editor, save it, and add it to a standard candlestick chart with enough history. Read the status panel and reference plots before expecting a marker. Check the specified chart interval and session inputs. For scripts with alert conditions, use Once Per Bar Close and recreate alerts after changing the code or its settings.

Validation status: Reviewed statically for source-versus-proxy distinctions, completed-bar timing, future-data use, persistent state, reference replacement, expiry, and visible output. This script has not been compiled or chart-tested in TradingView here. No performance or live-execution results are claimed. Use replay to inspect the described behavior; static review does not replace compilation and chart validation.

Research and Replay Lab

These are proposed learning experiments, not results established by the source. Change one main feature at a time, retain failures and missing opportunities, and reserve a later period for evaluation rather than repeatedly selecting settings from the same examples.

Does direction add information?

Compare local flip events with and without the confirmed hourly-direction filter. Keep the contact rule, dates, symbol, and manual exit definition fixed. Record eligible events, triggered decisions, adverse excursion, and cost-adjusted outcomes if execution is independently modeled. Fewer signals alone does not establish improvement.

How recent must the pullback be?

Compare validity windows of three, five, and eight bars on the same untouched evaluation period. Keep the 0.5-ATR tolerance fixed. Measure the distance from contact to trigger and the missed-event count; a result sensitive to a single exact window needs further scrutiny.

What does the contact width change?

Compare 0.25, 0.5, and 0.75 ATR while holding the five-bar window constant. Save screenshots before the trigger. Measure how often two reviewers agree on the reference and how frequently a wider zone merely accepts an extended entry.

Check Your Understanding

Why can a trend-aligned label still be skipped? It may lack the required recent pullback or usable risk structure.

Is the supplied code a clone of the named tools? No. It uses disclosed standard-function proxies.

When is the hourly reference known? After that hourly candle has completed.

Does ADX 20 mean a twenty-percent chance of winning? No. It is an indicator threshold, not a probability.

What happens if the fill is worse? The risk and reward distances change; recompute them from the fill.

Final Takeaway

Treat direction, location, and trigger as separate decisions. The source’s examples motivate a filtered process, while the original proxy makes its assumptions observable. The next useful comparison is whether each filter adds value after realistic entry timing and costs.

Risk Disclosure

This material is educational and is not personalized financial, investment, or trading advice. Trading can cause substantial losses. Examples, source-reported results, and chart observations do not establish future performance. Hypothetical calculations depend on their assumptions and omit costs unless stated. Spread, fees, slippage, gaps, leverage, liquidity, financing, and contract terms can materially change outcomes. Indicators do not simulate broker execution or establish profitability. Options involve additional contract, expiry, exercise, and valuation risks. Evaluate any approach with appropriate data and realistic risk limits before considering live use.

This is an independent educational companion and is not affiliated with, sponsored by, endorsed by, or authorized by the source creator, channel, or TradingView.

As an Amazon Associate I earn from qualifying purchases.