OPEN-SOURCE SCRIPT
Updated

Tri-Align Crypto Trend (EMA + Slope)

301
**Tri-Align Crypto Trend (EMA + Slope)**

Quickly see whether your coin is trending *with* Bitcoin. The indicator evaluates three pairs—**COIN/USDT**, **BTC/USDT**, and **COIN/BTC**—using a fast/slow EMA crossover plus the fast EMA’s slope. Each pair is tagged **Bullish / Bearish / Neutral** in a compact, color-coded table. Alerts fire when **all three** trends align (all bullish or all bearish).

**How to use**

1. Add the indicator to any crypto chart.
2. Set the three symbols (defaults: BNB/USDT, BTC/USDT, BNB/BTC) and optionally choose a signal timeframe.
3. Tune **Fast EMA**, **Slow EMA**, **Slope Lookback**, and **Min |Slope| %** to filter noise and require stronger momentum.
4. Create alerts: *Add alert →* choose the indicator and select **All Three Bullish**, **All Three Bearish**, or **All Three Aligned**.

**Logic**

* Bullish: `EMA_fast > EMA_slow` **and** fast EMA slope ≥ threshold
* Bearish: `EMA_fast < EMA_slow` **and** fast EMA slope ≤ −threshold
* Otherwise: Neutral

Tip: The **COIN/BTC** row reflects relative strength vs BTC—use it to avoid chasing coins that lag the benchmark. (For educational purposes; not financial advice.)
Release Notes
**Tri-Align Crypto Trend (EMA + Slope + Strength)**

**What it does**
Checks whether your coin trends *with* Bitcoin by evaluating three pairs—**COIN/USDT**, **BTC/USDT**, **COIN/BTC**—on a chosen signal timeframe. Each pair is classified by fast/slow EMA structure **and** slope, shown in a compact table with a **Trend** label and a **Strength %** index. Alerts fire when all three pairs align (optionally only when they’re strong).

---

### Trend labels (how the regime is determined)

Let `F` = fast EMA, `S` = slow EMA; `sf`/`ss` = slopes of `F`/`S` over `slopeLen`.
Slopes are **positive / flat / negative** using a threshold `slopeThrPct`.

**Bull stack (F > S)**

* **Bull Acceleration**: `sf ↑` & `ss ↑`
* **Bull Pullback**: `sf ↓` & `ss ↑`
* **Bull Compression / Topping Risk**: `sf ↓` & `ss ↓`
* **Bull Re-ignite (Opposite)**: `sf ↑` & `ss ↓`
* **Bull Range-Above**: both flat

**Bear stack (F < S)**

* **Bear Acceleration**: `sf ↓` & `ss ↓`
* **Bear Rally (Countertrend)**: `sf ↑` & `ss ↓`
* **Bear Compression / Bottoming Risk**: `sf ↑` & `ss ↑`
* **Bear Re-assert (Opposite)**: `sf ↓` & `ss ↑`
* **Bear Range-Below**: both flat

For quick reading, the Trend cell is also color-coded: **green = bullish**, **red = bearish**, **yellow = neutral/transition** (pullbacks, rallies, ranges, compressions).

---

### Strength % (what the number means)

A **signed intensity score** for the current trend:

* **Positive** = bullish intensity, **Negative** = bearish intensity, **0%** = neutral/flat.
* Computed from two intuitive pieces (weights adjustable):

* **EMA gap %**: `100 * (F − S) / S` → structure
* **Fast EMA slope %**: `100 * (F − F[n]) / F` → momentum
* Composite (default): `wGap * |Gap%| + (1 − wGap) * |Slope%|`
Optional: **ATR-normalize** by `%ATR = 100 * ATR / close` to make values comparable across volatile pairs.

The **Strength** column shows this signed composite (rounded, with a heatmap background).

---

### Inputs (key)

Symbols, signal timeframe, `Fast/Slow EMA`, `Slope Lookback`, `Min |Slope| %`, plus strength controls: `Weight Gap`, `ATR-normalize`, `ATR Length`, and `Min |Strength|` for strong-alignment alerts.

---

### Alerts

* **All Three Bullish / Bearish**
* **All Three Aligned (Bull or Bear)**
* **All Aligned + Strong**: alignment **and** each row’s `|Strength| ≥ Min |Strength|`.

**Tip:** Watch **COIN/BTC** to gauge relative strength vs BTC; require **Aligned + Strong** to filter weak, low-quality moves.
Release Notes
**Tri-Align Crypto Trend (EMA + Slope + Strength)**

**What it does**
Checks whether your coin trends *with* Bitcoin by evaluating three pairs—**COIN/USDT**, **BTC/USDT**, **COIN/BTC**—on a chosen signal timeframe. Each pair is classified by fast/slow EMA structure **and** slope, shown in a compact table with a **Trend** label and a **Strength %** index. Alerts fire when all three pairs align (optionally only when they’re strong).

---

### Trend labels (how the regime is determined)

Let `F` = fast EMA, `S` = slow EMA; `sf`/`ss` = slopes of `F`/`S` over `slopeLen`.
Slopes are **positive / flat / negative** using a threshold `slopeThrPct`.

**Bull stack (F > S)**

* **Bull Acceleration**: `sf ↑` & `ss ↑`
* **Bull Pullback**: `sf ↓` & `ss ↑`
* **Bull Compression / Topping Risk**: `sf ↓` & `ss ↓`
* **Bull Re-ignite (Opposite)**: `sf ↑` & `ss ↓`
* **Bull Range-Above**: both flat

**Bear stack (F < S)**

* **Bear Acceleration**: `sf ↓` & `ss ↓`
* **Bear Rally (Countertrend)**: `sf ↑` & `ss ↓`
* **Bear Compression / Bottoming Risk**: `sf ↑` & `ss ↑`
* **Bear Re-assert (Opposite)**: `sf ↓` & `ss ↑`
* **Bear Range-Below**: both flat

For quick reading, the Trend cell is also color-coded: **green = bullish**, **red = bearish**, **yellow = neutral/transition** (pullbacks, rallies, ranges, compressions).

---

### Strength % (what the number means)

A **signed intensity score** for the current trend:

* **Positive** = bullish intensity, **Negative** = bearish intensity, **0%** = neutral/flat.
* Computed from two intuitive pieces (weights adjustable):

* **EMA gap %**: `100 * (F − S) / S` → structure
* **Fast EMA slope %**: `100 * (F − F[n]) / F` → momentum
* Composite (default): `wGap * |Gap%| + (1 − wGap) * |Slope%|`
Optional: **ATR-normalize** by `%ATR = 100 * ATR / close` to make values comparable across volatile pairs.

The **Strength** column shows this signed composite (rounded, with a heatmap background).

---

### Inputs (key)

Symbols, signal timeframe, `Fast/Slow EMA`, `Slope Lookback`, `Min |Slope| %`, plus strength controls: `Weight Gap`, `ATR-normalize`, `ATR Length`, and `Min |Strength|` for strong-alignment alerts.

---

### Alerts

* **All Three Bullish / Bearish**
* **All Three Aligned (Bull or Bear)**
* **All Aligned + Strong**: alignment **and** each row’s `|Strength| ≥ Min |Strength|`.

**Tip:** Watch **COIN/BTC** to gauge relative strength vs BTC; require **Aligned + Strong** to filter weak, low-quality moves.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.