OPEN-SOURCE SCRIPT
Diupdate

Adaptive Trend Direction Indicator [ATR Trail + Regime]

1 744
Adaptive Trend Direction [ATR Trail + Regime]

WHAT IT DOES

Adaptive Trend Direction is a trend-following state indicator. It answers three questions on every bar: which way is the trend pointing, is the market currently orderly enough for a trend signal to be worth taking, and where is the level that would invalidate that view.

The core is an ATR trailing stop that flips between a bullish and a bearish state. On its own a trailing stop flips constantly in choppy conditions, which is the well-known failure mode of every trend follower. This script's purpose is to gate those flips behind a two-factor regime test, so that the flips which occur inside directionless price action are marked as such instead of being presented as trend signals.

HOW IT WORKS

  • ATR trailing stop. A stop is placed one ATR-multiple away from the close (default ATR 23, multiplier 3.0). While the state is bullish the stop only ratchets upward; while bearish it only ratchets downward. A close beyond the stop flips the state and the stop jumps to the opposite side of price. The state flip is the raw directional signal.
  • Regime detection — ADX plus Efficiency Ratio. Two independent measures must agree before the market counts as trending. ADX (default period 10) must exceed its threshold (default 21), measuring directional strength. Kaufman's Efficiency Ratio must exceed its threshold (default 0.15), calculated as the absolute net move over N bars divided by the sum of the absolute bar-to-bar moves over the same window — a value near 1 means price travelled in a straight line, a value near 0 means it covered the same ground repeatedly. ADX can rise on volatile chop; the Efficiency Ratio cannot. Requiring both is what filters out that case.
  • Hysteresis. The regime does not flip the moment the two tests agree. It requires N consecutive confirming bars (default 3) before switching, in either direction. This stops the regime label from oscillating bar to bar around the thresholds, which would otherwise reintroduce the exact noise the filter is meant to remove.
  • RSI momentum filter. A directional flip is only accepted if RSI confirms it — above the long threshold for longs, below the short threshold for shorts. The defaults (48 long, 43 short) sit close to the midline, so this rejects flips that occur against prevailing momentum rather than demanding an extreme reading.
  • Signal end conditions. An open directional signal is marked as finished on whichever comes first: an opposing trailing-stop flip, an EMA slope reversal against the signal (optional, off by default), or a maximum bar count (default 140) that retires a signal which has gone nowhere.
  • Optional mean-reversion mode. When the regime is ranging, the default behaviour is to stand aside — no signals are generated. Setting "Ranging Mode" to 1 instead generates counter-trend signals from RSI extremes (default below 30 / above 70) with ATR-based take-profit and stop levels drawn on the chart. This is opt-in because it is a different premise from the rest of the script and should be evaluated separately.


WHAT YOU SEE ON THE CHART

  • Trailing stop line, green in the bullish state and red in the bearish state.
  • Background tint: green while the regime is trending, amber while ranging.
  • Triangles mark trend signals, circles mark mean-reversion signals, crosses mark where a signal ends.
  • Bars are tinted while a signal is active, so the held periods are visible at a glance.
  • A label at the end of each signal shows the percentage move over that leg, with a tooltip giving entry, exit, end reason and bars held. This is a measurement of the price move between two chart events. It is not a return, and it accounts for no costs.
  • A dashboard reports ATR, stop level, direction, RSI, EMA slope, regime with live ADX/ER values, current signal state, and which components are switched on.


SIZING READ-OUT

The dashboard also reports a volatility-normalised exposure figure: leverage that scales inversely with recent ATR so that a fixed percentage of a reference account is at risk regardless of how volatile the market currently is, clamped between a floor and a ceiling. Setting the vol target to 0 switches to a stop-distance-based calculation instead. This is informational only. It gates no signal, and the reference account size affects only the displayed units — the leverage figure itself is independent of it.

WHY THIS IS AN INDICATOR AND NOT A STRATEGY

The script tracks an internal long/short/flat state so the chart can colour bars and measure each leg, but it submits no orders and produces no Strategy Tester report. That is intentional. Fill assumptions, funding and leverage modelling on a leveraged instrument dominate any backtest of a system like this, and a tester report would imply a precision the model does not have. What is shown here is the signal logic and the price move between signals, which is what can be verified directly on the chart.

SETTINGS AND USAGE NOTES

The defaults were fitted by a parameter search on a single market and timeframe (BTC on a 6-hour chart). They are a starting point for that context, not universal values, and there is no reason to expect them to transfer unchanged to other symbols or timeframes — the ATR multiplier and the regime thresholds in particular are the ones to revisit first. The volatility estimate used by the sizing read-out assumes roughly a 6-hour bar; on other timeframes it should be recalibrated.

Every component has an independent toggle, so the contribution of each can be isolated: turn the regime filter off to see the raw trailing-stop flips, then turn it back on to see which ones it removed. Signals are evaluated on bar close.

Alerts are available for signal start and signal end, in plain text or as a JSON body for programmatic consumers.

LIMITATIONS

This is a trend-following model. It will give back open gains at every reversal, because the exit is a trailing stop rather than a target. It will produce clustered false flips at regime boundaries, since the confirmation delay lags a genuine turn by design. The mean-reversion mode takes positions against the prevailing move and behaves very differently from the trend mode. Signal-leg percentages shown on the chart exclude commission, slippage and funding.

Published open-source. Not financial advice, not a recommendation to trade any instrument, and nothing here is a forecast. Test it yourself before relying on it.
Catatan Rilis
Changed the name and the background colour of the chart :)
Catatan Rilis
Added VWAP testing
Catatan Rilis
Changed the name

Pernyataan Penyangkalan

Informasi dan publikasi ini tidak dimaksudkan, dan bukan merupakan, saran atau rekomendasi keuangan, investasi, trading, atau jenis lainnya yang diberikan atau didukung oleh TradingView. Baca selengkapnya di Ketentuan Penggunaan.