Multi EMA Ribbon (8 Lines) - Style Zone & Labels### Overview
The **Multi EMA Ribbon (8 Lines) with Trend Dashboard** is an all-in-one trend analysis tool designed to give traders both visual chart intuition and real-time quantitative metrics.
By combining an 8-period Exponential Moving Average (EMA) ribbon with a real-time status dashboard, this script helps you quickly identify trend directions, momentum shifts, volatility squeezes, and dynamic support/resistance levels without cluttering your chart.
---
### Key Features
* **8 Fully Customizable EMAs:** Pre-configured with widely used default lengths (10, 20, 50, 100, 200, 400, 600, 800) to cover micro-scalping up to macro-trend levels.
* **Integrated Real-time Dashboard Table:**
* Displays exact price levels for all 8 EMAs.
* Shows real-time status (`BULL 🠅` or `BEAR 🠇`) based on price position relative to each EMA.
* Features an **Overall Trend Score** (e.g., 8/8 Bull = Strong Trend) for instant high-level bias confirmation.
* Fully customizable position (Top Right, Bottom Left, etc.) and text size.
* **Visual Fill Zones (Ribbon Effect):** Smooth background fills between adjacent EMAs allow you to instantly spot trend expansion, compression (squeezes), and reversals.
* **Fully Configurable in Style Tab:** All filled background zones are native plots, meaning you can toggle them individually or adjust their colors and transparency directly in the "Style" settings.
* **Clean & Dynamic Labels:** Clean numerical period tags project to the right of the current bar (with adjustable offset) to keep the chart clutter-free.
---
### How to Use
#### 1. Visual Chart Ribbon Analysis
* **Bullish Alignment:** When shorter EMAs (10, 20) are layered above longer EMAs (200, 800) and expanding outward, the market is in a strong uptrend.
* **Bearish Alignment:** When shorter EMAs are layered below longer EMAs, the market is in an established downtrend.
* **Compression / Squeeze:** When EMA lines converge tightly, volatility is dropping—often signaling an impending breakout.
* **Dynamic Support/Resistance:** During pullbacks in strong trends, price often tests specific EMA zones (e.g., EMA 20–50 or EMA 200) before resuming the primary trend.
#### 2. Dashboard Table
* **Quick Health Check:** Look at the **Overall Score** row at the bottom of the table:
* **6/8 to 8/8 Bullish (`STRONG`):** High probability long conditions / strong uptrend momentum.
* **0/8 to 2/8 Bullish (`WEAK`):** High probability short conditions / strong downtrend momentum.
* **3/8 to 5/8 (`MIXED`):** Consolidation, choppy market, or transition period.
---
### Inputs & Configuration
* **EMA Settings (Length and Color):** Adjust individual lengths, visibility, and line colors.
* **Display Settings:**
* `Show discreet EMA labels on the right`: Toggle right-side period tags.
* `Label offset to the right (bars)`: Adjust spacing of labels from the last bar.
* `Price Source`: Choose price input (Default: `Close`).
* **Dashboard Table Settings:**
* `Show EMA Dashboard Table`: Enable or disable the table.
* `Table Position`: Choose screen alignment (Top Right, Bottom Right, Top Left, Bottom Left).
* `Table Size`: Select display size (Tiny, Small, Normal).
---
### Disclaimer
This script is created for educational and analytical purposes only. Moving averages are lagging indicators and should always be combined with proper risk management, market structure, and volume analysis. Indicator

Pivot Scoreboard [AFD]**How many times has price tested R1 this session — and did it hold or break each time?**
If you trade off pivots, you already know where the levels are. What you don't have is their record. Was this the second test of S1, or the fifth? Has the CPR held the last three times price came back to it, or is it starting to give way? Every pivot tool on the shelf draws the same lines and then goes quiet — so you end up trading levels with no memory, where the first test and the fifth look exactly alike.
**Pivot Scoreboard keeps the record** . For the current period's pivot ladder and Central Pivot Range, it counts **how many times price has tested each level**, and whether each test **held** (price closed back on the side it came from) or **broke** (price closed through). The market draws the lines; this one records what happened at them.
### Why it matters###
A level nobody has tested is just a line on a chart. A level price has tested four times and held four times is one the market is actively defending — and the day it finally breaks, that's a change you had no way to see when every touch looked the same. The count is the context: it tells you whether a level is being respected or worn down, this period, on this symbol. It is a plain description of what has already happened — never a prediction, and never a signal to act.
### At a glance###
###Capability - What you get ###
**Touch scoreboard** A per-level count of tests this period — on the level's label (`R1 ·3`) and in the card
**Held / broke split** For each core level, how many of those tests held versus broke |
**Nine pivot formulas** Switch the whole ladder between nine conventions (table below) |
**Central Pivot Range** The TC/BC balance band, kept on the floor-pivot basis whichever formula you pick
**Five anchors** Daily · Weekly · Monthly · Quarterly · Yearly — or Auto, which picks the shortest sensible one
**Five neutral alerts** CPR entry, CPR exit up, CPR exit down, first R1 test, first S1 test — all on confirmed closes
**Location read** demoted line still names where price sits right now (secondary to the score) |
**Appearance** Ten palettes, per-zone custom colours, an optional active-zone glow, configurable labels and card
### Nine pivot formulas, one ladder###
Trade the convention you already use — the scoreboard counts touches on whichever levels it draws. "Tiers" is how many resistance/support steps each formula defines above and below the pivot.
### Formulas ###
**Floor Pivots** *(default)* // PP = (H + L + C) / 3; R/S from 2·PP
**Fibonacci** // R/S at 0.382 / 0.618 / 1.0 × range, off PP
**Woodie** // Weights the period's open: PP = (H + L + 2·Open) / 4
**Classic** // R/S at PP ± 1 / 2 / 3 × range
**DM** // A conditional sum keyed to prior open vs close
**Camarilla** // Close ± 1.1·range ÷ {12, 6, 4, 2}, plus a wide 5th tier
**Frank Dilernia** // R/S at ½ / 0.618 / 1.0 × range, off PP
**Shadow Trader** // The floor-pivot tiers (its own published basis)
**ACD Method** // PP ± the distance from PP to the H/L midpoint
The **Central Pivot Range** stays on the floor-pivot basis whichever formula you choose, so the balance band is a stable reference and does not shift when you switch lenses.
### How a test is scored###
The ladder is built from the *prior* completed period's high, low and close:
```
PP = (prior high + prior low + prior close) / 3
R1 = 2 × PP − prior low S1 = 2 × PP − prior high
CPR: BC = (prior high + prior low) / 2 ; TC = 2 × PP − BC (sorted)
```
Then, for each drawn level, on every **confirmed** bar:
**Touched** — the bar's range includes the level (low ≤ level ≤ high).
**Test** — counted when a bar touches a level the *previous* confirmed bar did not. This "leading edge" rule means a level price hugs for five bars counts **once**, not five times.
**Held / broke** — *held* when the bar closes back on the side it approached from (a rejection); *broke* when it closes through (an acceptance).
**Reset** — counts return to zero at each new period, because the levels are redrawn from the new prior high/low/close.
These are **descriptions of what the chart has already done** — counts of observed touches — not predictions, signals, or trade instructions. A high test count is a record, not a probability.
### How it differs from Pivot Matrix + Zones ###
The account also publishes `Pivot Matrix + Zones `, a pivot **workbench** — compare formulas across packs side by side, score confluence, read the current location. Pivot Scoreboard is a different job: **one ladder, and a running tally of how price has interacted with it.** They are complements, not versions of each other — run whichever fits the question you're asking.
### The visuals###
- **Levels and CPR band.** PP is the strongest line; the CPR is a neutral balance band; further tiers fade with distance. Each level's label carries its test count.
- **Scoreboard card.** The core levels — R1, PP, S1 and the CPR boundaries — with their tests and held/broke split; hover the header for a note on the `3 (1/2)` format. Below them a demoted **Now** line (the current location, its cell tinted the zone's colour with automatically legible text), the furthest tier reached this period, and the anchor in use.
- **Active-zone glow (optional).** The zone price is currently in can be filled with a soft gradient that follows price. It is secondary — the scoreboard is the point — and can be turned off.
### How to use it###
- Leave **Anchor** on Auto and it picks the shortest sensible higher timeframe, or set it directly. The anchor must be **strictly above** your chart timeframe.
- Use **Map depth** — Core shows R1/S1 and the CPR; Extended adds the outer tiers, each with its own count.
- Everything else (formula, palette, custom colours, labels, the card, the glow) is a setting — configure it once to taste.
### What it deliberately does not do###
It does not compare formulas side by side, score confluence, or rank anything. It draws one ladder and keeps score on it. It makes **no** accuracy, reliability, profitability, probability or future-result claim; a test count describes the past, not the future. Educational chart context, not financial advice.
### Data, timeframes and repainting###
- Prior high/low/close is requested from the symbol's exchange-default feed, offset by one completed period **and** with `lookahead_on` — the standard anti-repaint form — so the current, still-forming period never enters the ladder. Every test and event is evaluated on **confirmed bar closes**; nothing is back-placed.
- The above describes the **mechanism**. Confirm the behaviour with the bar-replay tool on your own chart and timeframe before relying on it.
- **Yearly is the highest anchor**, so a chart at or above 12 months has no valid anchor and the script says so.
- **Standard time-based candles only.** Heikin Ashi, Renko, Range and similar are rejected, because the tests read chart OHLC.
- A running alert keeps the inputs, symbol and timeframe it was created with — recreate an alert after changing any of them.
### Originality and credit###
Other pivot tools plot levels; this one turns a single ladder into a **running record of how price has tested it** — test counts with held/broke per level, reset each period — deliberately restricted to descriptive context. Open source under the **Mozilla Public License 2.0**. © Auction Foundry LLC. Indicator

Multi-Timeframe Trend & Consolidation Table### Overview
The **Multi-Timeframe Trend & Consolidation Table** is a lightweight dashboard indicator designed to give traders a quick, multi-timeframe overview of the market trend and consolidation status directly on their chart.
Instead of switching between multiple timeframes or cluttering your chart with dozens of moving averages, this tool consolidates trend data across 10 different timeframes into a clean, customizable table.
---
### Key Features
* **Multi-Timeframe Analysis:** Monitors **1m, 3m, 5m, 10m, 15m, 1h, 4h, 1D, 1W, and 1M** timeframes simultaneously.
* **Customizable EMA Periods:** Set unique Exponential Moving Average (EMA) lengths for every individual timeframe (e.g., EMA 10 for 1m, EMA 50 for 1h, EMA 200 for 1D).
* **Consolidation Detection:** Built-in threshold logic identifies when price is hovering extremely close to the EMA line, signaling potential range-bound/chop market conditions.
* **Dynamic Table UI:** Displays the specific EMA length assigned to each timeframe directly inside the table for clear tracking. Fully customizable position (Top Right, Bottom Left, etc.) and text sizes.
---
### How It Works
The indicator compares the price of each timeframe against its assigned EMA line:
1. **BULLISH 🟢:** Current close price is above the timeframe's EMA (outside the consolidation zone).
2. **BEARISH 🔴:** Current close price is below the timeframe's EMA (outside the consolidation zone).
3. **RANGE 🟡:** Price percentage difference from the EMA is smaller than the set threshold (e.g., within 0.15%), indicating market consolidation or flat movement.
---
### How to Use
1. **Trend Alignment:** Look for timeframes aligning in the same direction (e.g., 1h, 4h, and 1D all green) to trade with the macro trend.
2. **Avoiding Chop:** When lower timeframes show `RANGE 🟡`, it indicates low volatility or moving average compression, warning you to avoid breakout trades or wait for confirmation.
3. **Execution Timeframes:** Tune lower timeframes (1m, 3m, 5m) to fast EMAs for scalp setups, while keeping higher timeframes (1D, 1W) on key levels like the 200 EMA.
---
### Settings & Inputs
* **EMA Lengths per Timeframe:** Set custom EMA periods for all 10 available timeframes.
* **Enable Consolidation Detection:** Toggle range detection on or off based on your strategy preference.
* **Consolidation Threshold (%):** Adjust the distance percentage between close price and EMA to define a range zone (default is 0.15%).
* **Table Display:** Adjust table placement on your screen and text font size. Indicator

Indicator

Exhaustion Candles MTF DashboardExhaustion Candles (MTF) + Table
OVERVIEW
This indicator detects "exhaustion candles" — climactic bars that frequently appear where a move runs out of momentum and price reverses or stalls. It detects them on the chart timeframe and also reports the same logic across three higher timeframes (5m, 15m, 1h) in an on-chart table, so you get multi-timeframe context from a single pane.
WHAT IS AN EXHAUSTION CANDLE
An exhaustion candle represents a climactic push followed by rejection: an outsized bar on heavy participation that gets faded by the close, leaving a long wick. This script defines one precisely so the signal is objective rather than discretionary.
HOW IT WORKS (CALCULATIONS)
A bar is flagged as exhaustion only when ALL three conditions are true on that bar:
1. Range spike — the bar's range (high minus low) is greater than its average range over the lookback period multiplied by the Range Spike Multiplier. Average range = SMA(high - low, Lookback).
2. Volume spike — volume is greater than its average over the lookback period multiplied by the Volume Spike Multiplier. Average volume = SMA(volume, Lookback). This check can be disabled for symbols without reliable volume.
3. Rejection wick — the rejection wick is larger than the candle body times the Wick > Body Ratio, AND it is the dominant wick of the bar.
Direction is then assigned:
• Bullish exhaustion (potential top) = the UPPER wick is the dominant rejection wick.
• Bearish exhaustion (potential bottom) = the LOWER wick is the dominant rejection wick.
MULTI-TIMEFRAME TABLE
The same calculation is requested for the 5m, 15m and 1h timeframes and shown in a table:
• "Now" = whether that timeframe's latest bar is currently an exhaustion candle.
• "Last Signal" = the direction of the most recent exhaustion and how many bars ago it occurred (counted in that timeframe's own bars).
The table header shows a CONFIRMED / LIVE banner indicating the current data mode (see below).
CONFIRMED vs LIVE (REPAINTING) MODE
• CONFIRMED (default, non-repainting): each timeframe's value is taken from its last closed bar, so values do not change on the currently forming bar. Recommended for decisions and for honest historical behavior.
• LIVE: values reflect the still-forming higher-timeframe bar. They update in real time but can change before that bar closes. Use only as an early, tentative read.
HOW TO USE
Treat exhaustion as a context and confluence tool rather than a standalone entry. Signals are strongest when they occur into support/resistance or when multiple timeframes show exhaustion in the same direction (for example 5m aligning with 15m). Use the table for higher-timeframe context while trading a lower timeframe. Increase the range and volume multipliers and the wick-to-body ratio for fewer but stronger signals, and tune them to the symbol and timeframe you trade.
SETTINGS
• Detection: Average Lookback, Range Spike Multiplier, Volume Spike Multiplier, Wick > Body Ratio, Require Volume Spike, Non-repainting (confirmed bars only).
• Colors: separate bullish and bearish exhaustion colors for the 5m and 15m charts, plus an "Other" color set for any other timeframe.
• Table: show/hide, placement, and text size.
• Alerts: bullish exhaustion and bearish exhaustion conditions are included.
LIMITATIONS
Bar coloring can only be applied to the chart's own timeframe (a Pine Script limitation), which is why the cross-timeframe view is provided through the table. Exhaustion is a context signal and does not guarantee a reversal.
This script is published for educational purposes only and is not financial advice. Always test and manage risk before trading. Indicator

Fibonacci Retracement Statistics by VolProfexFIBONACCI RETRACEMENT STATISTICS BY VOLPROFEX
=============================================
DESCRIPTION
-----------
Fibonacci Retracement Statistics is an analysis tool that
automatically detects price swings, tracks retracements within each trend,
and calculates how often price retraces to various Fibonacci levels. The
indicator labels every completed swing with its swing number and deepest
fib level reached (e.g. "▲ #12 78.6%"), and displays a statistics table
showing the count and percentage of swings reaching each level.
All visual elements (trend boxes, fib lines, retracement boxes, labels, and
the statistics table) are drawn only on the last chart bar, keeping the
indicator performant during real-time scrolling. Retracement labels update
in real time so you always see the current value for the active swing.
HOW IT WORKS
------------
1. SWING DETECTION (ATR-Deviation ZigZag)
A volatility-adaptive ZigZag engine finds pivot highs and lows. A pivot
is confirmed when price moves against the current leg by at least
ATR(period) × deviation multiplier. A minimum swing size filter discards
insignificant wiggles. A spike filter rejects reversals triggered by
bars with extreme wick-to-body ratios.
2. HIGHER-TIMEFRAME (HTF) CONTEXT (optional)
When enabled, the indicator loads data from a higher timeframe (default: 1h)
and runs the same ZigZag engine on it. Completed HTF swings are drawn as
translucent boxes on the chart. Local swings are filtered to only count
when their direction matches the HTF swing they fall inside. This removes
counter-trend noise within the larger structure.
A separate gate ("Exclude Retracements outside HTF swing") further filters
retracement contributions: only retracements where both the trend leg and
the counter-trend leg fall inside the same completed HTF box are counted
in statistics and drawn on the chart.
3. TREND & RETRACEMENT TRACKING
Alternating pivot types (high → low → high → ...) create directional
trends. For each unfinalised trend, the indicator tracks the extreme
retracement price bar by bar. When the trend completes, the retracement
percentage is calculated using the actual counter-trend leg. This value is
then compared against each enabled Fibonacci level.
4. FIBONACCI LEVEL COUNTING
A cumulative counting system tallies how many trends have retraced to
each enabled level. Levels available include: 23.6%, 38.2%, 50.0%, 61.8%,
78.6%, 88.6%, 100.0%, 127.2%, 138.2%, 150.0%, 161.8%, plus up to 5
custom levels (0–500%). The statistics table is split into UP and DOWN
sections, each with its own Level / Count / Percent columns.
5. INTRADAY TIME WINDOW (optional)
On intraday charts, you can set a session window (e.g. 09:30–16:00) to
restrict which swings are analysed. Choose between "Pivot Confirmed Inside"
(the confirming bar's timestamp must fall in the window) or "Full Cycle
Inside" (both the pivot start and confirmation must fall in the window).
A visual box overlay can be enabled to highlight the active window.
6. SPIKE FILTER
Optionally discard ZigZag reversals triggered by bars where the upper or
lower wick exceeds the body by a user-defined ratio. This helps avoid
false pivot signals from sudden, low-liquidity spikes.
SETTINGS REFERENCE (defaults optimised for BTCUSDT, 5m chart, 1h HTF)
---------------------------------------------------------------------
── SWING ENGINE ──
- ATR Period: 14
Period for ATR calculations. Shared by local ZigZag and HTF swing detection.
- ZigZag Deviation Multiplier (ATR ×): 3.0
Pivot confirmed when price reverses by ATR × this value.
- Min Swing Size (ATR multiple): 0.8
Legs smaller than ATR × this are discarded. Set 0 to disable.
── HTF CONTEXT ──
- Use Higher Timeframe Swing Context: ON
When enabled, local swings are counted only when their direction matches the
current HTF swing bias.
- HTF Timeframe: 60
Higher timeframe for context. Must be higher than the chart timeframe.
- HTF Swing Deviation (ATR ×): 3.5
ATR multiplier for HTF pivot reversals.
- HTF Min Swing Size (ATR ×): 1.5
Minimum leg size for HTF swings. Set 0 to disable.
- Exclude Retracements outside HTF swing: ON
When enabled, only retracements fully contained within a completed HTF swing
box contribute to statistics and visual output.
- Show HTF Swings: ON
Draws HTF major swing boxes on the chart (Blue = upswing, Red = downswing).
- HTF Bull Color / HTF Bear Color: Blue (50% transp) / Red (50% transp)
── FIBONACCI LEVELS ──
- Levels enabled by default: 23.6%, 38.2%, 50.0%, 61.8%, 78.6%, 100.0%,
138.2%, 161.8%
- 5 custom level slots, each 0.0–500.0%. Set to 0.0 to disable. Default: all 0.0
── FILTERS ──
- Trend Direction: Both
Options: Both / Uptrends Only / Downtrends Only
- Use Intraday Time Window: OFF
When ON, applies a daily clock window on intraday charts.
- Window Session: 0930-1600
- Window Mode: Pivot Confirmed Inside
Options: Pivot Confirmed Inside / Full Cycle Inside
- Window Timezone: Exchange (uses the symbol's exchange timezone)
- Show Time Window Box: OFF
Visual box highlighting the active intraday window.
- Enable Spike Filter: ON
Discard reversals triggered by spike bars.
- Max Wick-to-Body Ratio: 4.0
Threshold for spike detection (wick ≥ this × body).
── DISPLAY ──
- Show Trend Boxes: ON (Border Width: 1)
Bullish: Teal / Bearish: Maroon
- Show Fib Lines: ON (Width: 1, Style: Dashed, Color: Gray at 60% transp)
- Show Fib Labels: ON (Position: Right, Vertical: Center, Size: Small, Color: White)
- Show Retracement Boxes: ON (Color: Orange at 40% transp)
- Show Retracement Labels: ON (Position: Center, Vertical: Below, Size: Small, Color: Yellow)
- Max Trends Drawn: 50 (1–500)
── TABLE ──
- Table Position: Top Right
- Font Size: Small
VISUAL OUTPUT
-------------
1. Trend Boxes: Translucent coloured boxes spanning each completed swing leg.
2. Fib Lines & Labels: Dashed (or solid/dotted) lines at each Fibonacci level
with optional percentage labels on every completed swing.
3. Retracement Boxes: Overlay boxes on the counter-trend leg with a connecting
diagonal line, colour-coded by trend direction.
4. Retracement Labels: Labels on each retracement showing:
- Arrow direction (▲ = uptrend, ▼ = downtrend)
- Filtered swing number
- Deepest Fibonacci level reached
5. HTF Swing Boxes: Larger translucent boxes showing higher-timeframe swing
structure (blue = up, red = down).
6. Statistics Table: A table in one of four corners displaying:
- Level | Count | Percent for uptrends (teal header)
- Level | Count | Percent for downtrends (maroon header) Indicator

RSI MTF Dashboard + RSI/ATR-Based Volatility ZonesRSI MTF (multi-timeframe) Dashboard + RSI/ATR-Based Volatility Zones is a multi-timeframe RSI alignment dashboard built to connect RSI structure, timeframe agreement, and chart-side price context into one organized workflow. Instead of treating RSI as a single value on one timeframe, this script reads RSI across a full stack of timeframes and organizes that information into a compact table, a chart-side Stack Trend, an ATR-based envelope, a bottom-pinned bias strip, optional RSI-colored candles, and localized Bull/Bear pressure markers. The goal is to make it easier to see whether the broader RSI timeframe stack is supporting price, resisting price, mixed, or transitioning.
At the center of the script is the MTF RSI table. The table can display timeframe rows from 1 minute through monthly, with each row showing:
➡️ Current RSI
➡️ Current RSI vs Previous RSI
➡️ RSI SMA 20
➡️ RSI SMA 50
➡️ SMA slope arrows
➡️ Live bar timer information
➡️Lower-timeframe and higher-timeframe RSI averages
RSI is often more useful when read as a set of relationships instead of one isolated number. A single RSI value can show strength or weakness, but RSI in relation to its prior value, RSI SMA 20, RSI SMA 50, and higher timeframe context gives a cleaner view of whether momentum is building, fading, rotating, or staying aligned.
The chart-side MTF RSI Stack Trend is where the table becomes more than just a dashboard.
Each enabled timeframe row contributes to a full-stack RSI bias score using four relationships:
➡️ Current RSI regime
➡️ Current RSI vs Previous RSI
➡️ Current RSI vs RSI SMA 20
➡️ Current RSI vs RSI SMA 50
Those scores are combined into one MTF Stack Bias reading. When the stack leans bullish, the Stack Trend can project below price like a support-style trail. When the stack leans bearish, it can project above price like a resistance-style trail. When the stack is mixed or transitioning, the trail can fall back into a neutral state. That gives the chart one clean read of the broader RSI stack instead of forcing the user to mentally combine every row in the table.
The MTF Stack ATR Envelope expands that idea into a broader volatility zone. The envelope is built around the Stack Trend system and can reference the chart Stack Trend, a higher-timeframe Stack Trend, or the midpoint between both. This creates a volatility-adjusted zone around the broader RSI stack context.
The practical use is to help answer questions like:
➡️ Is price stretched away from the active RSI stack trail?
➡️ Is price trading inside the broader stack envelope?
➡️ Is the chart trail aligned with the higher-timeframe trail?
➡️ Is the stack acting more like support, resistance, or transition?
The MTF Stack Bias Trend Strip gives another view of the same engine. Instead of projecting the stack onto price, the strip shows the raw MTF Stack Bias as a compact gradient along the bottom of the chart.
This makes it easier to see when the broader stack is:
➡️ strengthening bullish
➡️ strengthening bearish
➡️ fading back toward neutral
➡️ chopping through mixed conditions
➡️ transitioning from one regime to another
The color behavior is intentionally visual. Stronger bullish readings can push toward yellow/orange, stronger bearish readings can push toward purple/extreme purple, and mixed readings stay closer to neutral.
The optional RSI Trend Candle Overlay brings the RSI color engine directly onto the main chart. Price candles still keep normal OHLC structure, but their body, wick, and border colors can reflect the current chart-timeframe RSI state. This makes it easier to see RSI strength, weakness, stretch, or neutrality without constantly checking a separate pane.
The Bull/Bear markers add a more localized pressure layer. These markers use a Price Action-style adaptive overbought/oversold engine built from a short Wilder-style high/low channel and adaptive trigger levels. They can be shown as raw pressure markers or filtered so bullish markers only appear during bullish stack regimes and bearish markers only appear during bearish stack regimes.
A practical way to read the script:
➡️ If the table rows are broadly bullish, RSI is above its moving-average references, and the Stack Trend is holding below price, the RSI timeframe stack is generally supporting the move.
➡️ If the table rows are broadly bearish, RSI is below its moving-average references, and the Stack Trend is pressing above price, the RSI timeframe stack is generally acting more like resistance.
➡️ If the table rows disagree, the trend strip fades toward neutral, or price is moving back through the envelope, the market may be transitioning or losing clean RSI alignment.
➡️ If the Bull/Bear markers agree with the active Stack Trend regime, they may help highlight localized pressure in the same direction as the broader RSI stack.
➡️ If the markers, candles, table, trail, and trend strip disagree, that disagreement can be useful information by itself because it often points to chop, cooling momentum, or a less directional environment.
The value of RSI MTF Table + ATR Envelope Trend is organization. It takes RSI behavior across multiple timeframes and turns it into a connected chart-side framework: table detail, stack bias, trail behavior, volatility zones, candle context, trend strip pressure, and localized markers. While this script is not meant to be a standalone buy/sell signal machine, it certainly has the necessary components and features to be just that once you learn its behavior over multiple timeframes. Used alongside oscillator, pressure, pivot-structure, and divergence tools, this script can also serve as a higher-level RSI alignment dashboard. The table and trend strip help answer whether the broader RSI stack is supporting, resisting, mixed, or transitioning, while companion tools can provide more detailed oscillator-side structure, pressure, pivots, and divergence context.
Attribution: this script uses SimpleCryptoLife library helpers for timeframe formatting and higher-timeframe stabilization. Some color-engine concepts, compact transparency-helper style, tiered RSI-style trend-color mapping, and PA-style overbought/oversold triangle concepts were inspired by ideas from SimpleCryptoLife’s open-source Price Action Trend work.
💥Chart examples💥
➖Bullish structure expectation➖
For this setup to continue developing, I want to see price reclaim the purple chart Stack Trend first, then begin working back toward the blue HTF Stack Trend.
The key idea is progression:
Price is still trading below both Stack Trend references, so the broader RSI stack is not fully supportive yet. A stronger bullish shift would start with price reclaiming the faster chart-side Stack Trend, then holding above it while the HTF Stack Trend begins to flatten or move underneath price.
What I’m watching:
• Price reclaiming the purple Stack Trend
• Purple Stack Trend turning back into support
• Yellow Stack Trend / envelope behavior improving underneath price
• Blue HTF Stack Trend flattening or moving below price
• Price holding above the prior local structure zone
Until that happens, rallies into the purple/blue Stack Trend area are still tests of resistance, not confirmed bullish structure.
➖Follow up to the above chart (Bullish structure follow-through)➖
This is the progression we wanted to see from the prior setup. Earlier, price was still below both the chart Stack Trend and the HTF Stack Trend, so the bullish structure was only an expectation — not confirmation yet. Now price has started to work back into the Stack Trend zone. The short-term RSI rows are strengthening, the bottom Stack Bias strip is shifting back into warmer pressure, and price is pushing into the same area that previously needed to be reclaimed.
The key improvement:
Price is no longer simply fading below the Stack Trend structure. It is actively testing the trail/envelope area from underneath and beginning to show the early signs of a bullish reclaim attempt.
What still matters next:
Price needs to hold above the faster chart-side Stack Trend and continue working toward the blue HTF Stack Trend. If that area flips from resistance into support, the bullish structure becomes much cleaner.
Until then, this is a bullish attempt in progress — stronger than the prior chart, but still needing confirmation above the broader HTF Stack Trend zone.
➖Repeated Stack Trend failure pattern➖
Price repeatedly loses the faster yellow/chart Stack Trend, then attempts to recover back into the purple/blue Stack Trend zone.
When price cannot reclaim that upper Stack Trend structure, the purple trail begins acting like resistance and price fades back underneath it.
The key read is progression: yellow weakness first, then failed reclaim into purple/blue resistance, followed by bearish continuation if price cannot push back above the broader Stack Trend stack.
➖Bullish Stack Trend support structure➖
This is the stronger version of the bullish reclaim pattern. Price first works above the faster chart Stack Trend, then the trail begins holding underneath price instead of acting as resistance. As the move expands, the broader blue HTF Stack Trend also lifts below price, giving the rally higher-timeframe support.
The key read:
Yellow/chart Stack Trend supports first, then the HTF Stack Trend confirms underneath. When price holds above both, the RSI stack structure shifts from recovery attempt into stronger bullish continuation.
➖Bearish Stack Trend rejection➖
Price attempted to recover back into the chart Stack Trend, but the broader blue HTF Stack Trend stayed overhead the entire time.
That kept the move capped. Once price failed to reclaim and hold above the purple trail, the Stack Trend structure shifted back into resistance and price faded lower.
The key read:
A bounce into the chart trail is not enough by itself. If the HTF Stack Trend remains above price, the broader RSI stack can still act like overhead resistance.
➖MTF Stack Bias Trend Strip➖
Yellow/orange shows stronger bullish stack pressure, purple shows stronger bearish stack pressure, and muted/gray transition areas show the stack moving through mixed conditions.
The key read:
The strip gives a quick visual summary of the broader RSI environment underneath price — making it easier to see when the market is trading with bullish pressure, bearish pressure, or shifting between regimes.
Indicator

MTF Pure Delta Light [Zofesu]01 — Overview
What is MTF Pure Delta Light?
MTF Pure Delta Light is a minimalist overlay indicator that displays the volume delta of any chosen timeframe directly on your chart — as a compact, always-visible table widget. No separate pane, no clutter. Just the number and the trend direction.
Delta is the difference between buying and selling volume pressure for a bar. A positive delta means buyers dominated. A negative delta means sellers dominated. Combined with the HMA trend direction, you get an instant read on who is in control — on any timeframe — without leaving your chart.
BULLISH EXAMPLE
TF: D Delta Trend
+24.7K ▲
BEARISH EXAMPLE
TF: D Delta Trend
-19.4K ▼
Why "Light"?
This is the lightweight companion to the full Flow Oscillator. No separate pane, no cumulative history — just the current bar's delta value and trend direction from your chosen timeframe, always visible on the chart. Designed for traders who want context without complexity.
02 — Delta Calculation
How Delta Is Measured
The indicator uses the same dual-source delta standard as the full Flow Oscillator:
Footprint - Real bid/ask volume delta via fp.delta(). Used when your broker or data feed provides footprint data. Exact buying vs. selling volume per bar. High ✅
Elder CTI - Approximation using volume × (2×close − high − low) / range. Automatic fallback when footprint is unavailable. Works on all instruments and brokers. Good ⚡
The delta is then smoothed using an HMA (Hull Moving Average) to determine trend direction. HMA is used specifically because it minimises lag — the trend signal responds quickly to delta shifts without excessive whipsawing.
03 — Table Widget
Reading the Display
The table widget shows two values at all times:
Delta Value (left)
The raw delta of the selected timeframe bar. Green = positive (buyers dominated). Red = negative (sellers dominated). Formatted as volume shorthand (K, M).
Trend Arrow (right)
▲ Green — HMA delta trend rising. Buying pressure increasing.
▼ Red — HMA delta trend falling. Selling pressure increasing.
▬ Gray — No change. Neutral.
✅ Strong Bullish
Delta positive AND trend arrow ▲. Buyers in control and accelerating. Highest confidence bullish read.
⚠️ Divergence Warning
- Delta positive BUT trend arrow ▼ — buying is slowing.
- Delta negative BUT trend arrow ▲ — selling is slowing.
Potential shift incoming.
✅ Strong Bearish
Delta negative AND trend arrow ▼. Sellers in control and accelerating. Highest confidence bearish read.
➡️ Neutral
Delta near zero or trend arrow ▬. No dominant force. Avoid directional bias until one side takes control.
04 — Settings
Configuration Parameters
Group - Parameter - Default - Description
Core - Target Timeframe - D - Timeframe for delta calculation. Use standard TV notation: 1, 5, 15, 60, 240, D, W. Leave D for daily delta on any intraday chart.
Core - Trend Smoothing (HMA) - 5 - HMA length for delta trend direction. Lower = faster reaction, more signals. Higher = smoother, fewer but stronger signals.
UI - Table Position - Top Right - Position of the widget on the chart. Options: Top Right, Top Left, Bottom Right, Bottom Left, Middle Right, Middle Left.
UI - Text Size - Large - Widget text size. Small for compact charts, Large for readability at a glance.
UI - Background Opacity - 80 - Transparency of the widget background. 0 = fully transparent, 100 = fully opaque black.
Timeframe examples:
60 = 1 hour · 240 = 4 hours · D = Daily · W = Weekly
Recommended setup: If you trade H1 charts, set Target Timeframe to D. You get the daily delta context without switching charts.
05 — Use Cases
When and How to Use It
Higher timeframe context on intraday charts
Set Target Timeframe to D while trading on H1 or H4. The widget shows you whether the daily bar is currently dominated by buyers or sellers — without leaving your intraday view. Align your intraday trades with the daily delta direction for higher probability setups.
Quick confluence check
Before entering a trade, check the widget. If your price action setup is bullish but the delta is strongly negative with a ▼ trend — reconsider. If everything aligns — price structure, S/R, and positive delta ▲ — confidence increases.
Multi-indicator stack
MTF Pure Delta Light is designed to run alongside other indicators without occupying a separate pane. Pair it with Best MA for trend context and Flow Oscillator for cumulative delta history — all three together give a complete volume-delta picture.
Important: Delta is a confirmation tool, not a prediction tool. A positive delta tells you buyers dominated the last completed bar on your chosen timeframe — it does not guarantee the next bar will be bullish. Always use price structure and S/R as your primary decision framework. Indicator

Order Blocks Rejection Stats [RT]This indicator identifies Order Blocks based on price action. It draws rectangular zones on the chart for visual identification and highlights bounces (rejections) within these zones. Additionally, it provides optional trade visualization with entry, stop-loss (SL), and take-profit (TP) lines based on user-defined filters, along with a performance summary table for backtesting purposes.
The logic is inspired by smart money concepts (SMC), focusing on pivot zones where price may reverse or continue.
Note that this is a technical tool for analysis only; it does not provide trading signals or guarantees any outcomes.
Key Features
Order Block Detection: Automatically detects and draws bullish (demand) and bearish (supply) order blocks using predefined price action setups.
Bounce Identification: Marks rejections (bounces) at order blocks with triangles for quick visual cues.
Trade Visualization: On bounces meeting filter conditions, plots entry (at close), SL (at block extremity or candle open), and TP (based on adjustable risk-reward ratio) lines. Lines extend until SL or TP is hit, with arrows indicating hits (green for TP, red for SL).
Filters: Includes a customizable moving average (MA) for trend confirmation (e.g., long above MA), time window for session-based trading, and optional SL adjustment to the bounce candle's open.
Performance Table: Displays wins, losses, and win rate in a table (for educational backtesting; not real-time trading results).
Customizable Colors and Sizes: User inputs for line colors and table text size.
Inputs and Settings
Delete Order Blocks After Fill: Removes blocks after price breaks through them.
Order Block Extension Length: Sets how far blocks extend (0 for infinite).
Moving Average Settings: Length, type (SMA/EMA/etc.), and source for trend filter.
Time Filter: Start/end hours/minutes to restrict entries to specific sessions.
Use Bounce Candle Open for SL: Moves SL to the open of the confirming candle.
Risk Reward Ratio: Adjusts TP distance relative to risk (default 1:1).
Line Colors: Separate colors for long/short entry, SL, and TP lines.
Table Text Size: Options from "tiny" to "huge" for the stats table.
How It Works
Block Formation: Scans for pivot setups (e.g., engulfing or break patterns) to create new blocks, queuing them for future retests.
Bounce Detection: When price overlaps a block and forms a reversal pattern, it's marked as a bounce.
Entry Conditions: Entries trigger on bounces above/below the MA and within the time window. Lines are drawn and extended dynamically.
Exit Tracking: Monitors if price hits TP (win) or SL (loss), updates the table, and stops line extension.
Table Update: Shows cumulative stats on the last bar for review.
This indicator can be used on any timeframe or asset for zone-based analysis. Experiment with settings to suit your chart.
Important Disclaimer
This is an educational tool and does not constitute financial advice. Trading involves risk, and past performance is not indicative of future results. Always conduct your own analysis and use proper risk management. The developer makes no representations about profitability or suitability for any trading strategy. Indicator

Higher High / Lower Low Probability IndicatorOverview
The "Higher High / Lower Low Probability Indicator" is an original statistical tool designed to help traders assess the likelihood of trend continuation in price action. By analyzing historical candles, it calculates the probability that the next candle will form a higher high (HH) or lower low (LL) based whether the previous candle expanded higher or lower.
This indicator uniquely incorporates handling for inside candles, where it falls back to the bias of the prior candle to maintain continuity in probability assessments. It's particularly useful for momentum traders, swing traders, or those incorporating probabilistic edges into their strategies, providing data-driven insights into potential bullish or bearish continuations without relying on complex oscillators or moving averages.
Features
Probability Calculations: Tracks occurrences and successes of higher highs and lower lows across the chart's history. For HH: If the previous candle had a higher high than the one before it, it computes the percentage chance the current candle will continue that pattern. The same logic applies to LL for downward trends.
Inside Candle Handling: Detects inside bars (where the high is lower and low is higher than the previous candle) and intelligently uses the bias from the candle before the inside bar, ensuring the indicator doesn't skip potential signals.
Visual Plotting: Displays the relevant probability (HH in green, LL in red) as a line plot only when the condition is met, helping users quickly identify active probabilities without clutter.
Informative Table: A customizable table in the chart shows HH and LL occurrences alongside their respective probabilities, formatted for easy reading.
User Inputs:
Table Position: Choose from options like "Top Right" (default), "Bottom Left", etc., to place the table where it suits your chart layout.
Text Size: Select from "Auto", "Tiny", "Small", "Normal" (default), or "Large" for optimal visibility.
All calculations are performed in real-time using Pine Script's historical data access, ensuring efficiency without repainting.
How to Use
Add the indicator to your chart via PulseWire's indicator search.
Adjust the "Table Position" and "Text Size" inputs to fit your preferences.
Monitor the plotted probability line: Green indicates a potential HH continuation with the displayed percentage; red signals LL probability.
Refer to the table for cumulative stats—higher occurrences provide more reliable probabilities over time.
Combine with other tools like support/resistance levels or volume for confirmation. For example, a high HH probability (>70%) in an uptrend might signal a buy opportunity.
This indicator works on any timeframe and symbol but performs best on charts with sufficient historical data (e.g., daily or higher) to build meaningful statistics. Note that probabilities are historical and not predictive guarantees—always use risk management.
Limitations
Relies on available historical bars; on very short histories (e.g., new symbols), probabilities may start at 0% until patterns accumulate.
Does not account for external factors like news events or volatility spikes.
The table updates only on the last bar for performance reasons.
This script is open-source for community review and customization. Indicator

Indicator

Indicator

Open Price Table [BeNice]Open Price Table – Critical Levels Dashboard
The Open Price Table is a comprehensive monitoring tool that displays where your favorite assets (crypto, forex, indices) are trading relative to their Weekly Open, Monthly Open, and Monday's High/Low levels.
💎 Key Features
Monday Range Tracking: Instantly compares current price action against Monday’s Open, High, and Low—critical levels that often define the week's range.
Dynamic Threshold Highlighting: Set a specific percentage (e.g., 1.3%). When the price is within this range of a key level, the table highlights the value, alerting you to potential trade setups.
Multi-Ticker Support: Monitor up to 12 symbols (BTC, ETH, Gold, NASDAQ, etc.) simultaneously without switching charts.
Fully Customizable: Adjust table placement, text sizes, decimal precision, and professional color themes to suit your trading environment.
💡 Trading Insights
Weekly Bias: Use the "Weekly Open" (Monday Open) to determine the current bias. Trading above it suggests bullish momentum; below it suggests bearish.
Mean Reversion: Monthly and Weekly opens often act as "gravity" points. Tracking the % distance helps identify when a price is overextended or returning to its base. Indicator

SimpleTableA library for when you just want to get a table up with the least hassle.
The function `f_drawTableFromColumns()`, is intended to be the simplest possible way to draw a table with the least code in the calling script. Just pass in between one and ten arrays that contain the strings you want to show. Each string array represents one column. That's it. You get a table back.
If you want to style the table you can optionally pass colours, size, and whether the table has a header row that should be displayed differently.
An example usage section demonstrates creating a three-column table.
The function automatically sizes the table based on the number of non-na arrays and the maximum column length.
Optional styling parameters cover table position, text size, text alignment, text colour, cell background, header background, header text, and border width. If you don't supply any of these arguments, the table uses some sensible default values.
The table is created and updated on the last bar only, with caching to avoid unnecessary redraws.
Column shrink detection clears the table only when required, preventing stale cell content.
This is not a full-fledged table management library; there are already lots of those published. It is (I believe and hope) the easiest library to use. For example, you don't need to supply a matrix, or a user-defined type full of settings. The library wraps the input arrays into a map, and uses a user-defined type, but internally, so you don't need to worry about it. Just supply one or more arrays with some text.
f_drawTableFromColumnArrays(_a_col1, _a_col2, _a_col3, _a_col4, _a_col5, _a_col6, _a_col7, _a_col8, _a_col9, _a_col10, _position, _textSize, _textAlign, _textColor, _cellBgColor, _headerBgColor, _headerTextColor, _hasHeaderRow, _borderWidth)
Renders a table using up to ten string arrays. The table size is derived from the number of non-na arrays and the maximum length across the supplied arrays.
Parameters:
_a_col1 (array) : (array) Column 1 values. Supply na to omit.
_a_col2 (array) : (array) Column 2 values. Supply na to omit.
_a_col3 (array) : (array) Column 3 values. Supply na to omit.
_a_col4 (array) : (array) Column 4 values. Supply na to omit.
_a_col5 (array) : (array) Column 5 values. Supply na to omit.
_a_col6 (array) : (array) Column 6 values. Supply na to omit.
_a_col7 (array) : (array) Column 7 values. Supply na to omit.
_a_col8 (array) : (array) Column 8 values. Supply na to omit.
_a_col9 (array) : (array) Column 9 values. Supply na to omit.
_a_col10 (array) : (array) Column 10 values. Supply na to omit.
_position (string) : (TablePosition) Table position on the chart. Default is top right.
_textSize (string) : (TableTextSize) Text size for all cells. Default is normal.
_textAlign (string) : (TableTextAlign) Horizontal alignment for all cells. Default is left.
_textColor (color) : (color) Text colour for all cells. Default is chart foreground color.
_cellBgColor (color) : (color) Background colour for all cells. Uses a default if na. Default is gray 90%.
_headerBgColor (color) : (color) Background colour for the header row. Uses a default if na. Default is gray 75%.
_headerTextColor (color) : (color) Text colour for the header row. Uses a default if na.
_hasHeaderRow (bool) : (bool) If true, row 0 is treated as a header. Default is true.
_borderWidth (int) : (int) Table border width. Must be non-negative. Default is 1.
Returns: The table object, so the caller can store the table ID if required. Library

Indicator

MA Strength Indicator EnhancedThe "MA Strength" is an indicator that measures market trend strength or (in the case of forex pairs) the relative strength of individual currencies based on up to five different moving averages (MA). It offers multiple calculation methods, such as simple summation, normalized value, or measuring ATR/percentage distance from the price. The results are summarized in a clear table, and it provides customizable alerts for trend changes or shifts in currency strength. The high level of configurability (e.g., MA weighting, "all MA alignment" requirement) allows for fine-tuning the strategy.
💬 Interpreting the Table (Top Rows)
The top row of the table shows the final output of the indicator. This changes according to the set "Table Mode".
Trend Mode: The top row shows the final, aggregated trend status (e.g., "BULLISH", "NEUTRAL") and the corresponding "Trend Value". This is the value the indicator compares to its thresholds.
Forex Mode: (Only on 6-character pairs): The top two rows show the strength of the Base currency and the Quote currency separately.
Calculation of the top rows:
The indicator calculates the individual score of all active MAs (according to the chosen method).
Trend Value: This is the final value calculated from the scores.
If "Enable Averaging" is ON, this will be the average of the scores (e.g., MA1 score is 5.0, MA2 score is 7.0 -> Trend Value is 6.0).
If averaging is OFF, this will be the sum of the scores (e.g., 5.0 + 7.0 = 12.0).
Forex Calculation: "Forex Mode" uses this "Trend Value". If the Trend Value is +6.0 (on an EURUSD pair):
The Base currency (EUR) value will be +6.0.
The Quote currency (USD) value will be -6.0.
The indicator compares these values to the thresholds to determine the "STRONG" status for EUR and "WEAK" status for USD.
📊 Calculation Methods
The indicator can calculate trend strength using 5 methods. The final "Trend Value" is derived from the results of these calculations.
Sum:
Description: Simply adds up the individual scores of all enabled moving averages (MA).
Formula: If the price is above an MA, it gets the "Score Above" value (e.g., +2.0); if below, it gets the "Score Below" value (e.g., -2.0).
Example: Result = (MA1 score) + (MA2 score) + ...
Normalized:
Description: Takes the sum obtained by the "Sum" method and converts it to a scale between -100% (maximally bearish) and +100% (maximally bullish). It takes into account the maximum possible positive and negative scores.
Formula: Result = (Total Score / Max Possible Score) * 100
Percentage Distance:
Description: This method also considers distance. The further the price is from the MA in percentage terms, the higher the score.
Formula: MA Score = (|Close Price - MA| / MA * 100) * Weight (The "Weight" is the "Score Above/Below" value set in settings).
ATR Distance:
Description: Similar to percentage distance, but normalizes the distance using volatility via ATR (Average True Range).
Formula: MA Score = (|Close Price - MA| / ATR) * Weight
Candle Count:
Description: Counts how many consecutive candles have been above or below the MA. It multiplies this number by the set weight.
Formula: MA Score = (Number of consecutive candles) * Weight
⚙️ Settings Options
Moving Averages (MA 1-5)
For each moving average, you can set:
Enable MA: Turn the specific MA on or off.
Type: The type of moving average (SMA, EMA, WMA, etc.).
Period: The period of the MA (e.g., 50, 200).
Score Above / Below: The most important setting. This defines the "weight" of the MA in the calculation. In "Sum" mode, this is a fixed score; in distance-based modes, this is a multiplier (weight). It is advisable to write a positive number for "Score Above" and a negative number for "Score Below".
Calculation Settings
Enable Averaging: If this is on, the indicator shows the average of the active MA scores, not the total score.
Exception: This function is not available in "Normalized" mode.
Require All MA Alignment: This is a strict filter. If enabled, the indicator only gives a "BULLISH" (or "STRONG") signal if the price is above all enabled moving averages. Similarly, a "BEARISH" signal only occurs if the price is below all moving averages. If the price is on the opposite side of even just one MA (e.g., above 4, below 1), the status becomes "NEUTRAL", regardless of the scores.
Strength / Trend Thresholds
Enable Extra Levels: If active, statuses are expanded: "EXT. BULLISH" / "EXT. BEARISH" (Trend mode) or "EXT. STRONG" / "EXT. WEAK" (Forex mode). This indicates stronger, overbought/oversold conditions.
Threshold setting: The thresholds (e.g., "Strong Above - ATR") determine when the calculated value counts as a "STRONG" or "WEAK" status.
🔢 Setting Thresholds via Calculation
If "Enable Averaging" is OFF, the "Trend Value" shown in the table will be the sum of the individual MA scores. Therefore, we must define the threshold by adding up the minimum expected performance from each moving average. This allows us to set different expectations for short, medium, and long-term averages.
Step 1: Determine MA weights
In our example, we use 3 active MAs with the following weights (Score Above values):
MA1 (Short): Weight = +2
MA2 (Medium): Weight = +3
MA3 (Long): Weight = +4
Step 2: Determine the minimum expected distance
Define a minimum distance expected from each MA to trigger a "Strong" signal.
Step 3: Calculate target scores and the final threshold
Note: If "Enable Averaging" is ON, the resulting value (sum of target scores) must be
averaged to get the final threshold.
Example 1: ATR Distance
-Goal: I want a "Strong" signal if the price is...
...at least 1.0 ATR above MA1 (Short),
...at least 1.5 ATR above MA2 (Medium),
...and at least 2.0 ATR above MA3 (Long).
-Calculation (Expected Distance * Weight):
MA1 Target Score: 1.0 * 2 = 2.0
MA2 Target Score: 1.5 * 3 = 4.5
MA3 Target Score: 2.0 * 4 = 8.0
-Final Threshold (Sum of Target Scores): 2.0 + 4.5 + 8.0 = 14.5
-Setting: Set "Strong Above - ATR" threshold to 14.5.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold: 4.8 (14.5 / 3 = 4.83).
Example 2: Percentage Distance
-Goal: I want a "Strong" signal if the price is...
...at least 0.5% above MA1,
...at least 1.0% above MA2,
...and at least 1.5% above MA3.
-Calculation (Expected Distance * Weight):
MA1 Target Score: 0.5 * 2.0 = 1.0
MA2 Target Score: 1.0 * 3.0 = 3.0
MA3 Target Score: 1.5 * 4.0 = 6.0
-Final Threshold (Sum): 1.0 + 3.0 + 6.0 = 10.0
-Setting: Set "Strong Above - Percentage" threshold to 10.0.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold.
Example 3: Candle Count
-Goal: I want a "Strong" signal if...
...at least 3 consecutive candles are above MA1,
...at least 5 consecutive candles are above MA2,
...and at least 10 consecutive candles are above MA3.
-Calculation (Expected Candle Count * Weight):
MA1 Target Score: 3 * 2.0 = 6.0
MA2 Target Score: 5 * 3.0 = 15.0
MA3 Target Score: 10 * 4.0 = 40.0
-Final Threshold (Sum): 6.0 + 15.0 + 40.0 = 61.0
-Setting: Set "Strong Above - Candle" threshold to 61.0.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold.
Example 4: Sum
In this mode, distance does not matter, only whether the price is above or below the MA.
-Goal: "Strong" signal if the price is above the long-term averages, but can be below the short-term (MA1).
MA1 (Short): Can be below (Weight: -2.0)
MA2 (Medium): Must be above (Weight: +3.0)
MA3 (Long): Must be above (Weight: +4.0)
-Calculation: -2.0 + 3.0 + 4.0 = 5.0
-Setting: Set "Strong Above - Sum" threshold to 5.0.
If it must be above all three moving averages, the threshold would be 2.0 + 3.0 + 4.0 = 9.0.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold.
Example 5: Normalized
The basic logic is similar to the "Sum" method.
-Goal: "Strong" signal if price is above MA2 and MA3, but potentially below MA1.
-Calculation: Target Sum: 5.0. Max Possible Score (above all): 9.0.
-Threshold: (5.0 / 9.0) * 100 = 55.5
In this calculation method, averaging cannot be set.
The Usage of the "ATR %" Row
The "ATR %" row shows the percentage movement of an average candle.
How to use this with "Percentage Distance" mode:
This number gives a baseline. It helps decide if the "Percentage Distance" threshold is realistic.
Example: You see the "ATR %" value is hovering around 1.2%. This means a "normal" candle moves about 1.2%.
If you set the Percentage threshold to 0.5%, it is too low. The indicator will constantly give a "Strong" signal because even average movement (noise) exceeds the threshold.
Correct Usage: If "normal" movement is 1.2%, then a "strong" movement (trend) needs to be significantly larger. For example, set the threshold to double the ATR %: 2.4 (2 * 1.2). Thus, you only get a "Strong" signal if the movement is twice the average volatility.
Supplementary Information
Rounding Differences:
The numbers displayed in the table and the precision of calculations in the background differ.
Table Display: The indicator rounds numbers to two decimal places in the table. So, if the value is 0.996, the table shows 1.00 (rounded up).
Internal Calculation: The background calculation uses much higher precision. When determining status (STRONG vs NEUTRAL), the program compares the precise, unrounded value to the threshold.
Result: Due to rounding, it may happen that if the threshold is 1.00 and the table shows 1.00, the status flickers between Strong and Neutral. If this is bothersome, it is advisable to set a slightly lower threshold (e.g., 0.98).
🔔 Alert Settings
The indicator can send alerts when the status changes.
Alert Method:
Trend: Alerts when the main trend status changes (e.g., from "NEUTRAL" to "BULLISH"). You can specify which direction to alert for (e.g., only "BULLISH").
Forex: Works only on 6-character forex pairs. You can set separate alerts for the Base or Quote currency.
Forex Strength Level: You can specify at which status level to alert (e.g., "WEAK" or "EXT. STRONG").
📈 Trading Tips
Trend Confirmation: Use the "BULLISH" / "BEARISH" status to confirm your existing strategy (e.g., breakouts, bounces off support).
Forex Pairing: In Forex mode, look for pairs where the Base currency is "STRONG" and the Quote currency is "WEAK" (or "EXT. STRONG" / "EXT. WEAK") for a long position.
Short Position: Reverse the above (Base: WEAK, Quote: STRONG). Indicator

Today Range Calculator1. Indicator Name
Today (Today’s Volatility)
2. One-line Introduction
Displays real-time 30-day historical volatility (HV30) as a compact table on the chart, helping traders instantly assess market risk levels.
3. General Overview
Today ↑↓ is a lightweight informational widget that calculates and displays the 30-day Historical Volatility (HV30) of the asset in real time.
Using logarithmic returns over the past 30 periods, the script computes variance and then annualizes it to express volatility as a percentage (%) per year.
The result is shown in a clean 1x1 table cell, which can be positioned anywhere on the chart—top/bottom, left/right—depending on your preference.
This makes it easy to quickly evaluate whether the current market is high-risk (volatile) or stable, without cluttering the chart.
It’s especially useful for position sizing, risk management, volatility-based entry/exit decisions, and as a filter for breakout strategies.
Built with performance in mind, the script uses minimal system resources and can be used alongside any indicator or strategy without interference.
4. Key Advantages
📈 Real-time HV30 Display
Calculates and displays 30-day historical volatility using annualized log return variance.
📍 Custom Table Positioning
Place the volatility display in any corner of the chart for optimal visibility.
🧮 Accurate Log Return Calculation
Uses logarithmic returns to ensure precise volatility representation over time.
🎯 Quick Market Sentiment Read
Helps you determine at a glance whether the asset is in a calm or volatile environment.
🧼 Minimalist Design
Clean 1-cell table format keeps your chart readable and organized.
🚀 Ultra-Lightweight Script
Runs efficiently with negligible impact on chart performance.
📘 Indicator User Guide
📌 Basic Concept
Today ↑↓ calculates 30-day Historical Volatility (HV30) by analyzing the asset’s log returns over the past 30 bars.
The result is annualized and shown as a percentage to reflect volatility in standardized terms.
Useful for gauging risk levels and strategy suitability in current market conditions.
⚙️ Settings Explained
Table Position: Choose where the volatility table appears:
Top Left / Top Right / Bottom Left / Bottom Right
📈 High Volatility Example
HV30 > 50% indicates a volatile environment
Suggests wider stop-losses, cautious position sizing, or favoring breakout strategies
📉 Low Volatility Example
HV30 < 15% suggests a calm market or range-bound behavior
Useful as a signal for upcoming volatility expansions or breakout preparations
🧪 Recommended Use Cases
Position Sizing: Scale position size based on HV30 readings
Strategy Filter: Activate certain systems only when volatility meets predefined conditions
Breakout Timing: Identify low-volatility zones as potential breakout opportunities
🔒 Precautions
This indicator does not generate buy/sell signals; it is a volatility reference tool
HV thresholds vary across asset classes—adjust interpretation accordingly
Since HV30 is historical, it may lag during rapid market changes Indicator

Indicator

Period Range AnalyzerThis indicator analyzes a specific periodic range, which can start from a fixed date or a defined lookback period. It draws percentage levels and colored zones between the highest and lowest price. It also displays a detailed information table, which shows the price's position within the range in "Trend" mode, and the relative strength of currency pairs in "Forex" mode. The current price position is also indicated by a label with a percentage value and the name of the corresponding zone.
User Guide
Calculation Method
This setting determines how the indicator defines the range used for the calculation.
Lookback Period: In this mode, the indicator uses the last N candles (the number can be specified in the "Lookback Period (bars)" field). The range (the highest and lowest price) is "floating," meaning it is recalculated with each new candle based on the last N candles.
Date Based: In this mode, the calculation starts from a fixed date and time you select. The indicator finds the opening price of the start date and continuously tracks the highest and lowest price from that point on. This mode is ideal for measuring performance from a specific event (e.g., start of a week/month/year, news).
Data Handling Note: If you select a date in "Date Based" mode for which no data is available on the current timeframe (e.g., switching to a very low timeframe), the indicator will automatically use the earliest available candle as the starting point. All calculations (Open, Max, Min, Range, Percentage, Change, Trend) are based on this actual start date.
Start Date & Time
This setting is only active in "Date Based" mode.
Here you can specify the fixed starting point for the calculation.
The specified time is in the Exchange timezone.
Important limitation: Due to PulseWire platform limits, visual elements (levels, zones) are only drawn for a maximum of 250 candles back. If the set date is older than this, the calculation still applies to the entire period (from the set date), but the drawing only covers the last 250 candles. The table always displays accurate data for the entire period.
When switching to a higher timeframe, the range may restart from a slightly later bar due to PulseWire's bar alignment. For best accuracy, set your timeframe first, then select the start date.
Table Mode
This setting controls what data the information table displays.
Trend: This is the default mode, which works on any symbol (stock, index, crypto, etc.). It displays information related to the trend and the range.
Forex: This is a special mode used to measure the strength of currency and crypto pairs. It only works on symbols with exactly 6 characters (e.g., "EURUSD", "BTCUSD"). It treats the first 3 characters as the base currency (e.g., EUR) and the last 3 as the quote currency (e.g., USD). If the symbol does not have 6 characters, the table will automatically display in "Trend" mode.
Trend
This trend determination operates based on the formation order of the high and low within the analyzed range:
Its switch is located in the “Table Additional Rows” menu.
Bullish: Indicated if the low was formed before the high (on different candles). Or if they formed on the same candle, it was a bullish candle.
Bearish: Indicated if the high was formed before the low (on different candles). Or if they formed on the same candle, it was a bearish candle.
Neutral: Indicated if the high and low formed on the same candle, and it was a "doji" candle (close = open).
Upper & Lower Threshold
These settings (Upper Threshold (%) and Lower Threshold (%) in the "Label Coloring" section) primarily determine the state (Bullish/Bearish/Neutral) of the top row of the table.
The logic is not based on the percentage change of the price movement, but on the current price's position within the range, where the bottom of the range is 0% and the top is 100%.
Upper Threshold (%): The percentage level (e.g., 60.0) above which the indicator considers the price position "Bullish" (or "Strong").
Lower Threshold (%): The percentage level (e.g., 40.0) below which the indicator considers the price position "Bearish" (or "Weak").
If the price is between the two (e.g., between 40% and 60%), the signal is Neutral.
Secondary function: These thresholds also control the color of the label next to the price, provided the "Dynamic Label Coloring" option is enabled.
Indicator

Range Percentage Analyzer This indicator is a tool for analyzing the market range and trend. It calculates the extent of price movement between a specified starting point and the current price, displaying it as a percentage.
The calculation can be based on a fixed lookback period (e.g., the last 30 candles) or from a fixed start date. It also provides a clear table that shows the general trend in "Trend" mode, and the relative strength of the base and quote currencies of forex pairs (e.g., EURUSD) in "Forex" mode.
User Guide
Calculation Method
This setting determines how the indicator defines the starting point for the calculation.
Lookback Period: In this mode, the indicator uses the last N candles (the number can be specified in the "Lookback Period (bars)" field, maximum 250).
The starting point is "floating," meaning it shifts with each new candle. For example, with a setting of 30, the 30th candle from the current one will always be the starting point.
Date Based: In this mode, the calculation starts from a fixed date and time you select.
This mode is ideal for measuring performance from a specific event (e.g., news, start of a week/month).
Note: If you select a date in "Date Based" mode for which no data is available on the current timeframe (e.g., switching to a very low timeframe), the indicator will automatically use the earliest available candle as the starting point.
Start Date & Time
This setting is only active in "Date Based" mode.
Here you can specify the fixed starting point for the calculation.
The specified time is in the Exchange timezone.
Important limitation: Due to PulseWire platform limits, visual elements (box, line) are only drawn for a maximum of 250 candles back.
If the set date is older than this, the calculation still applies to the entire period (from the set date), but the drawing only covers the last 250 candles.
When switching to a higher timeframe, the range may restart from a slightly later bar due to PulseWire's bar alignment. For best accuracy, set your timeframe first, then select the start date.
Table Mode
This setting controls what data the information table displays.
Trend: This is the default mode, which works on any symbol (stock, index, crypto, etc.). It displays information related to the trend.
Forex: This is a special mode used to measure the strength of currency pairs.
It only works on symbols with exactly 6 characters (e.g., "EURUSD", "BTCUSD"). It treats the first 3 characters as the base currency (e.g., EUR) and the last 3 as the quote currency (e.g., USD).
If the symbol does not have 6 characters, the table will automatically display in "Trend" mode.
Extremes Trend Row
If this is enabled, the table displays an additional row that determines the trend based on the formation order of the high and low within the analyzed range.
The logic is as follows:
Bullish: Indicated if the low was formed before the high.
(Or if they formed on the same candle, which was a bullish candle).
Bearish: Indicated if the high was formed before the low.
(Or if they formed on the same candle, which was a bearish candle).
Neutral: Indicated if the high and low formed on the same candle, and it was a "doji" candle (close = open).
Upper & Lower Threshold
These settings control the logic for the "Change Trend" and "Forex Display" rows at the top of the table.
They determine when the total percentage change for the entire period is considered "Bullish/Strong", "Bearish/Weak", or "Neutral".
Upper Threshold (%): The percentage value (default 0.1%) above which the indicator considers the change "Bullish/Strong".
Lower Threshold (%): The percentage value (default -0.1%) below which the indicator considers the change "Bearish/Weak".
If the change is between the two, the signal is Neutral.
Indicator

Indicator

MA Dist% Screener [Pineify]MA Distance Screener: Multi-Asset Market Scanner for PulseWire
Screen multiple symbols and multiple timeframes on PulseWire with the MA Distance Screener. Compare asset prices to flexible moving average types. Visual table view, custom assets, timeframes, and MA types. Supercharge your PulseWire screener, optimize your workflow, and catch opportunities across assets in real time.
Key Features
Screen up to 10 custom symbols simultaneously across four configurable timeframes.
Choose from multiple Moving Average types: EMA, SMA, WMA, HMA, RMA, VWMA for flexible market context.
Visualize real-time % distance between price and moving average per asset/timeframe in a clean, color-coded table.
Highly customizable: Set your own symbol list, timeframes, MA length and type.
Alerts for symbol/MA deviations—instantly see overbought/oversold status with intuitive background coloring.
Optimized for crypto, FX, and traditional assets – all asset types supported.
How It Works
The MA Distance Screener acts as a dynamic multi-symbol, multi-timeframe scanner. For each selected symbol and timeframe, it calculates the percentage distance between the latest close price and the selected type of moving average (EMA/SMA/etc.). This is achieved by making secure `request.security` calls per asset/timeframe combination, retrieving updated values for each matrix cell. The computed distance (%) is displayed in a color-coded table: a positive value signals price above the MA (potential trend strength), while negatives indicate price below the MA (potential weakness or retracement). Custom colors highlight extreme overbought/oversold readings for quick visual cues.
Trading Ideas and Insights
Quickly spot assets showing the largest deviation from their moving averages – ideal for mean reversion or trend-following entries.
Identify clusters of assets and timeframes lining up in overbought or oversold states; optimize entries with multi-timeframe confirmation.
Scan the market in one glance—reduce chart-hopping and never miss an opportunity when multiple assets align for signals.
The ability to scan distance-to-MA across assets and periods gives traders a statistical edge, surfacing hidden pivots, breakouts, and mean-reversion trades that single-chart analysis may miss.
How Multiple Indicators Work Together
At its core, this screener allows the trader to configure what gets scanned—pick your top 10 assets and favorite 4 timeframes. With each matrix cell, the selected MA (e.g., 14-period EMA) is recalculated, and the current price's distance (%) from that value is computed. By offering six distinct moving average algorithms (EMA, SMA, RMA, HMA, WMA, VWMA), traders can choose their preferred method, adapting the screener for trend, swing, or mean-reversion style. All values are visualized in a single table, creating a true "market dashboard" effect for real-time cross-asset assessment.
Unique Aspects
True cross-asset, cross-timeframe screening in a unified table—rare for Pine Script indicators.
Full flexibility—customizable list of assets, timeframes, and MA parameters to suit any market/trading plan.
Intuitive color-coding and table display eliminates guesswork, enabling “at-a-glance” screening and rapid decision-making.
Efficient, optimized Pine v6 codebase—minimal lag even with 40+ concurrent streams.
How to Use
Add the indicator to your PulseWire chart (overlay: off, use a clean chart).
In the settings panel, enter up to 10 symbols (tickers) you want to screen—crypto, stocks, FX, or indices.
Set the 4 timeframes to scan (e.g., 1m, 5m, 15m, 1h), plus your preferred moving average length and type.
Review the results in the pop-up table, where each cell shows "% Distance" from MA for each symbol/timeframe.
Monitor table background/text color for overbought vs. oversold cues.
Customization
Symbol List: Track any asset by typing its PulseWire ticker.
Timeframes: Full freedom to select 4 timeframes per scan, from 1min to monthly.
MA Config: Choose period length and MA algorithm (classic or exotic types).
Color Themes: Easily spot signals with dynamic color backgrounds and customizable thresholds.
Conclusion
The MA Distance Screener is a must-have tool for systematic traders, portfolio managers, and retail chartists seeking a true multi-asset edge. With real-time cross-checking against multiple moving averages and timeframes, it empowers faster, more confident decision-making, while reducing chart fatigue and missed setups.
Unlock new insights, catch broad and hidden opportunities, and optimize your market workflow—all in a single PulseWire panel.
Indicator

Chartlense Dashboard (Data, Trend & Levels)Chartlense Dashboard (Data, Trend & Levels)
Overview
This dashboard is designed to solve two common problems for traders: chart clutter and the manual drawing of support and resistance levels . It consolidates critical data from multiple indicators into a clean table overlay and automatically plots the most relevant S&R levels based on recent price action. The primary goal is to provide a clear, at-a-glance overview of the market's structure and data.
It offers both a vertical and horizontal layout to fit any trader's workspace.
Key Concepts & Calculations Explained
This indicator is more than a simple collection of values; it synthesizes data to provide unique insights. Here’s a conceptual look at how its core components work:
Automatic Support & Resistance (Pivot-Based):
The dashed support (green) and resistance (red) lines are not manually drawn. They are dynamically calculated based on the most recent confirmed pivot highs and pivot lows . A pivot is a foundational concept in technical analysis that identifies potential turning points in price action.
How it works: A pivot high is a candle whose `high` is higher than a specific number of candles to its left and right (the "Pivot Lookback" is set to 5 by default in the settings). A pivot low is the inverse. By automatically identifying these confirmed structural points, the script visualizes the most relevant levels of potential supply and demand on the chart.
Relative Volume (RVOL):
This value in the table is not the standard volume. It measures the current bar's volume against its recent average (specifically, `current volume / 10-period simple moving average of volume`).
Interpretation: A reading above 2.0 (indicated by green text) suggests that the current volume is more than double the recent average. This technique is used to identify significant volume spikes, which can add conviction to breakouts or signal potential market climaxes.
Consolidated Data for Context:
Other values displayed in the table, such as the EMAs (9, 20, 200) , Bollinger Bands (20, 2) , RSI (14) , MACD (12, 26, 9) , and VWAP (on intraday charts), use their standard industry calculations. They are included to provide a complete contextual picture without needing to load each indicator separately, saving valuable chart space.
How to Use This in Your Trading
This dashboard is designed as a tool for confluence and context , not as a standalone signal generator. Here are some ways to integrate it into your analysis workflow:
As a Trend Filter: Before considering a trade, quickly glance at the EMAs and the MACD values in the table. A price above the key EMAs and a positive MACD can serve as a quick confirmation that you are aligned with the dominant trend.
To Validate Breakouts: When the price is approaching a key Resistance level (red pivot line), watch the RVOL value . A reading above 2.0 on the breakout candle adds significant confirmation that the move is backed by strong interest. The same logic applies to breakdowns below a support level.
To Spot Potential Reversals: Confluence is key. For example, if the price is testing a Support level (green pivot line) AND the RSI in the table is approaching oversold levels (e.g., near 30), it can signal a higher probability reversal setup.
About This Indicator
This indicator was developed by the team at ChartLense to help traders declutter their charts and focus on the data that matters. We believe in making complex analysis more accessible and organized. We hope this free tool is a valuable addition to your trading process. Indicator
