> For the complete documentation index, see [llms.txt](https://chartnation.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chartnation.gitbook.io/documentation/indicators/smart-moving-average-dynamics.md).

# Smart Moving Average Dynamics

##

{% embed url="<https://youtu.be/6to3VZOJIN8>" %}

## Smart Moving Average Dynamics — User Guide (Pane + Price Enhancements)

### What it is (one-liner)

A **momentum-around-the-MA** engine that normalizes distance from price to a moving average into a **-100 → +100 oscillator**, colors the MA by trend, drops **level rails** at extremes, and gives you a slim **strength gauge** + **info panel** for fast context.

<figure><img src="/files/mciJOrVyFGAW2IbATOL0" alt=""><figcaption></figcaption></figure>

***

### Quick Start (TL;DR)

1. Add **SMAD** to any symbol/timeframe.
2. Watch the **oscillator** in its pane:
   * Above 0 = bullish pressure; below 0 = bearish pressure.
   * Near **+100 / -100** = stretched extremes.
3. The **MA line on price** auto-colors: **Up (green)** when trend conditions are met, **Down (magenta)** when bearish, **Neutral** otherwise.
4. When the oscillator **leaves an extreme**, the script can **drop a level rail** (horizontal guide) on price. Rails can **fade** and **expire**.
5. Use the **bottom-right gauge** (0–100%) and **middle-right info panel** (Trend / Volume / Volatility) to confirm context.
6. Trade the **snapback from extremes** or **trend continuation** when the MA and oscillator agree. Always manage risk at structure.

***

### How it works (plain English)

* **Moving Average Core**: Choose **SMA, EMA, SMMA (RMA), WMA, VWMA** and a length (default **50**).
* **Distance → Oscillator**: SMAD measures `price − MA`, then normalizes it to a bounded **-100…+100** scale using one of four methods (below).
* **Color Logic**:
  * **Oscillator bias** (beyond your threshold) **and** **MA slope** agreement ⇒ trend label **Bullish/Bearish**, MA line colored accordingly.
  * Otherwise **Neutral**.
* **Extremes & Rails**:
  * When the oscillator hits hard bounds (±100) and then **releases**, that “true extreme” can mark **Upper/Lower rails** on price at the prior bar’s high/low.
  * Rails can **expire** after X bars or once price pushes through; they can **soft-fade** over time.

<figure><img src="/files/eVnK92PCygzi2oyGYtkE" alt=""><figcaption></figcaption></figure>

***

### Reading the visuals

**In the pane (main signal)**

* **Oscillator** line with premium gradient fill:
  * **Above 0** (green gradient) → positive pressure.
  * **Below 0** (magenta gradient) → negative pressure.
* **Zero line** = balance point.
* **Tiny dots** at the oscillator when a filtered **extreme release** prints (optional via filters).

**On the price chart (enhancements)**

* **MA line**: color-coded by trend (Up / Down / Neutral).
* **Rails**: horizontal guides spawned from **true extremes** (upper rail from +100 release; lower rail from -100 release). They **fade** and **can auto-expire**.
* **Candle tint**: bars adopt the same gradient tint as the oscillator for quick read (hideable in Style → uncheck the “Candles Color” plot).

**Info UI**

* **Slim Gauge (bottom-right)**: shows current oscillator strength as a 21-cell gradient with live % readout.
* **Info Panel (middle-right)**: **TF**, **Trend** (Bullish/Bearish/Neutral), **Volume** (Low/Medium/High), **Volatility** (Low/Medium/High).

***

### Inputs (explained)

#### MA Settings

* **Type**: SMA / EMA / SMMA (RMA) / WMA / VWMA.
* **Length**: Default **50**.
* **Up/Down Colors**: Set the MA trend colors (defaults: green up, magenta down).

#### Normalization (how -100…+100 is computed)

* **Highest Abs (N)** (default): Scales by the **max absolute** `|price−MA|` over **N** bars. Simple and adaptive.
* **Z-Score**: Scales by **standard deviation** over **N**, with **σ at ±100** controlled by *Z-Score: σ at ±100*.
* **ATR-Scaled**: Scales by **ATR×k** (length & multiplier configurable)—good for instruments with changing volatility regimes.
* **Percent Rank**: Ranks `|price−MA|` within the last **N** bars (0–100), then restores the **sign**.

**Shared knobs**

* **Lookback (N)**: Window for the chosen method.
* **ATR Length & Multiplier** (ATR-Scaled only).
* **Z-Score Multiplier** (Z-Score only).

#### Signal Filters (for extremes & optional rail logic)

* **Extreme Threshold %**: Where you consider “extreme” (80–100, default **100**).
* **Linger Bars at Extreme**: Require staying extreme for **X** bars before accepting the release.
* **Slope Flip Lookback**: Require oscillator slope to flip vs. X bars ago.
* **Confirm on Close Only**: Only act on **confirmed bar closes**.
* **Apply Filters to Rails/Levels**: If **on**, rails only spawn when **filters pass**; if **off**, they spawn on raw extreme releases.

#### Level Rails

* **Expire Rails After (bars)**: 0 = never.
* **Soften Rails After (bars)**: Start **fading** the rail after X bars.
* **Softening Transparency Step**: How fast it fades each bar (1–50).

#### Info Panel

* **Trend: Osc Threshold**: Minimum oscillator magnitude for Bull/Bear bias.
* **Trend: MA Slope Lookback**: Bars used to judge MA slope direction.

***

### Signals & What they mean

* **True Extreme Release (Up)**\
  Oscillator was **+100** and then leaves +100. If filters pass, marks a **potential exhaustion** up top.
  * **Effect**: May drop an **Upper Rail** at the prior bar’s **high** (if rails enabled for filters).
* **True Extreme Release (Down)**\
  Oscillator was **-100** and then leaves -100. Potential **downside exhaustion**.
  * **Effect**: May drop a **Lower Rail** at the prior bar’s **low**.
* **Trend State (Info Panel)**\
  **Bullish** when oscillator > threshold **and** MA slope up; **Bearish** when oscillator < -threshold **and** MA slope down; else **Neutral**.

> **Note:** SMAD v1 does **not** ship with alertconditions. Use the visuals (rails, dots, gauge, panel) or create a TradingView webhook from plot conditions if you need custom alerts.

***

### Playbook (practical ways to use SMAD)

#### A) Mean-Revert from Extremes

1. Wait for **true extreme** (+100 or -100) and a **release**.
2. If filters pass and a **rail** prints, plan a **snapback** trade **toward 0** (the mean) with the rail or nearby swing as **invalidaton**.
3. Target: zero line → opposite rail/structure. Scale out on the first stall.

#### B) Ride the Trend

1. Bias = **Bullish** or **Bearish** in the Info Panel **and** MA colored accordingly.
2. Enter on shallow pullbacks while oscillator stays on the **biased side** of zero.
3. Invalidation under/over the last swing; trail behind rails/structure.

#### C) Volatility-Aware Filtering

* Use the **Volume/Volatility** readouts to **skip** mean-reversion trades when volatility is **High** and prefer trend plays, and vice versa when **Low**.

***

### Timeframes & presets

| Style         | TF    | MA Length | Norm Lookback (N) | Notes                                                           |
| ------------- | ----- | --------- | ----------------- | --------------------------------------------------------------- |
| **Scalp**     | 1–5m  | 20–50     | 50–100            | Consider **ATR-Scaled** or **Percent Rank** for responsiveness. |
| **Day trade** | 5–15m | 50        | 100–200           | Default works well; Z-Score with σ≈2.0–2.5 maps comfortably.    |
| **Swing**     | 1h–4h | 50–200    | 200–400           | Highest Abs (N) is stable; widen invalidations to structure.    |

**Tip:** If you see **too many** extreme events, raise **Extreme Threshold** or use **linger**/**slope** filters. If **too few**, lower the threshold or filters slightly.

***

### Best Practices

* **Keep the pane visible**; the oscillator is the truth source. The price tints and rails are helpers.
* **Hide what you don’t need** from the Style panel (e.g., candle tint plot, signal dots) to declutter.
* Pair SMAD with **structure** (HTF S/R, session highs/lows) and a **risk plan**.
* On news spikes, let the dust settle; extremes can cluster.

***

### Troubleshooting

* **“No rails print.”**\
  You may have **Apply Filters to Rails** on and filters aren’t passing. Lower thresholds or turn that option off.
* **“Rails stay forever.”**\
  Set a non-zero **Expire Rails After (bars)**, or let price break them to clear.
* **“Colors look too strong.”**\
  Hide the **Candles Color** plot, or change **Up/Down** colors in MA settings.

***

### Changelog info (what you’re using)

* **Version:** Smart Moving Average Dynamics **V1** (pane)
* **Defaults:** MA 50 (type selectable), Osc norm **Highest Abs (N)** with N=50, Extreme **100%**, no alerts, rails with optional **fade/expiry**, slim gauge + premium info panel.
* **Design goal:** Clean normalization, robust extreme detection, trend clarity, and actionable rails—without clutter.

***

#### Final word

SMAD turns **price vs. MA distance** into a disciplined, bounded oscillator and ties it back to **actionable price context** (rails, MA color, gauge, info). Use it to **fade extremes** with structure or **ride trends** when momentum and slope align—always with clear invalidation.

[Join ChartNation](https://chartnation.net/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://chartnation.gitbook.io/documentation/indicators/smart-moving-average-dynamics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
