Native Timeframe Moving Average📈 Native Timeframe Moving Average
Overview
Native Timeframe Moving Average allows you to plot a moving average that is always calculated from its own selected timeframe, regardless of the chart timeframe you're viewing.
Instead of recalculating the MA using the current chart bars, this indicator performs the entire moving-average calculation inside the selected source timeframe before mapping the result back onto your chart. This ensures the moving average always remains true to its native timeframe.
For example, selecting a 200 SMA on the Daily timeframe will always display the genuine 200-day SMA whether you're viewing a 15-minute, 1-hour, 4-hour, Daily, Weekly, or any other timeframe.
✨ Features
✔ Native timeframe moving averages
✔ SMA, EMA, WMA, RMA & VWMA
✔ Any PulseWire timeframe
✔ Developing and Confirmed calculation modes
✔ Connected and Native display modes
✔ Standard MA Offset
✔ Uses PulseWire Style settings for colour and line width
✔ No repainting or future leakage
✔ Lightweight and fast
⚙️ Value Modes
📡 Developing (Default)
Includes the active source-timeframe candle in the calculation.
This behaves like traders generally expect when viewing a higher-timeframe moving average on a lower-timeframe chart, allowing the MA to update as the source candle develops.
Perfect for discretionary chart analysis.
🔒 Confirmed
Uses only completed source-timeframe candles.
The plotted value remains unchanged until the next source-timeframe candle closes.
Ideal for:
• Strategies
• Alerts
• Stable signal generation
• Any workflow requiring confirmed higher-timeframe values
📉 Line Modes
🔗 Connected (Default)
Connects each source-timeframe moving-average value using straight lines.
This provides a cleaner, smoother appearance that most traders prefer when analysing trends across multiple timeframes.
Note: The connecting segments are visual interpolation between confirmed source-timeframe values. They improve readability but should not be interpreted as the exact value that existed on every individual chart bar.
🪜 Native
Displays the actual sampled moving-average value available on every chart bar.
When the selected timeframe is higher than the chart timeframe, the line naturally appears as a staircase because the source-timeframe value only updates when that timeframe produces a new value.
This mode is recommended whenever the output is being used for:
• Strategy logic
• Alerts
• Numerical comparisons
• Other indicators
💡 Typical Uses
• Overlay a Daily 200 SMA while trading the 15-minute chart
• View Weekly trend direction without changing chart timeframe
• Display Monthly moving averages on swing-trading charts
• Compare multiple native timeframe moving averages by adding multiple indicator instances
• Keep important higher-timeframe trend references visible while executing on lower timeframes
🎯 Why use this instead of a standard Moving Average?
A standard Moving Average is always calculated from the timeframe of the chart you're viewing.
This indicator keeps the calculation anchored to the timeframe you choose.
That means a 200 Daily SMA always remains a 200 Daily SMA, regardless of whether you're looking at a 5-minute chart or a Weekly chart. It never silently becomes a 200-bar moving average of the current chart timeframe.
🚀 Final Notes
This indicator was designed to provide a clean, reliable and flexible way to work with native timeframe moving averages across any chart.
Whether you're monitoring long-term trend structure while trading intraday or building multi-timeframe confluence into your analysis, Native Timeframe Moving Average keeps your moving averages true to their original timeframe while giving you the flexibility to choose between the smooth appearance of Connected mode and the mathematically exact representation of Native mode. Indicator

Higher Timeframe Levels ToolkitCombines HTF EMA context, key daily/weekly levels, ADR, FVG/BPR (IFVG) zones, and structural swing/fib tracking in one indicator — terminology drawn from ICT/Smart Money Concepts, built for traders who read multiple timeframes without switching charts or stacking scripts. Every module below can be shown, hidden, and styled independently.
📈 Higher-Timeframe EMAs (5m / 10m / 15m / 1h)
Up to three EMAs per timeframe, each with its own length, color, and toggle.
Historical Path plots the true HTF-calculated EMA through every bar of history — the real value, not a lower-timeframe approximation — so it steps at each HTF close exactly as it would look on that timeframe.
Smooth HTF EMAs replaces the stepped line with a provisional EMA that glides continuously between HTF closes while still landing on the exact true value at every close — no approximation error, just a cleaner line to read.
Independent line width, style, and right-extension per timeframe group.
🗓️ Previous Day & Weekly OHLC
Previous day Open/High/Low/Close and Weekly Open/High/Low/(previous) Close, each individually toggleable with its own color. Line width, style, and extension (Right / Left / Both / None) are configurable per group.
📏 Average Daily Range (ADR)
Plots an ADR band centered on the New York session open (9:30 AM ET, configurable timezone), built from a configurable lookback of prior daily ranges — a quick reference for how much of the day's typical range is left to play with.
🔲 FVG & BPR / IFVG Engine (5m / 15m / 1h)
Independent Fair Value Gap detection on each timeframe, with:
Compact mode — boxes float at a fixed width on the chart's right edge instead of stretching back to their formation point, keeping price action clean
High-Probability filter — gates detection to FVGs above a minimum tick size where the middle candle's volume exceeds the first candle's, for a stricter signal
Balanced quotas — bullish and bearish zones each get their own max-count limit per timeframe, so a one-sided trend can't crowd out the opposite side's zones
BPR (IFVG) detection — automatically merges a new FVG into a Balanced Price Range when it overlaps an opposing FVG within a configurable candle window
Mitigation tracking — zones are removed once price fills a configurable percentage of them, on either a wick or close basis
Full color, transparency, and border control, split by timeframe and direction
🎯 Swing Structure, Equilibrium & Fib Levels (5m / 15m / 1h)
Structural swing highs and lows — not a rolling highest/lowest window — confirmed only on closed candles and held until genuinely superseded, so unswept structure doesn't quietly age out from underneath you.
50% (EQ) and 0.786 Fib levels span the current swing range, with the anchor direction flipping automatically to track the more recent extreme
Incoming HH & LL shows the next unswept liquidity level beyond the current swing on both sides at once, with a minimum-gap filter so it always points at a meaningfully distinct level rather than a near-duplicate adjacent pivot
From Candle line mode anchors each level's line at the exact chart-timeframe candle that created it and stretches it precisely to its label — full visual provenance for every level on screen
🏷️ Label System
Show Price on Labels appends the exact price to every level label
De-stacking automatically shifts overlapping labels sideways so nothing gets hidden behind another
On-Line Labels is an alternate style per group: larger text, no background, sitting directly on its line instead of floating beside it
All higher-timeframe data is pulled through non-repainting request.security calls with no lookahead, and every level updates only once its underlying candle is confirmed. This is a visual context and structure tool, not a signal generator — it doesn't predict direction or issue trade alerts. Use it alongside your own analysis and risk management. Indicator

RSI Multi Levels Pro (JPT)🔹 OVERVIEW
RSI Multi Levels Pro (JPT) is an enhanced Relative Strength Index (RSI) indicator that expands the traditional 70/30 approach by introducing multiple configurable RSI levels to help traders observe momentum shifts and potential reversal areas.
Instead of relying on a single overbought or oversold threshold, the indicator displays several RSI zones, allowing users to monitor how momentum develops as price moves through different strength levels.
The indicator also highlights potential exhaustion areas using optional visual markers when RSI reaches user-defined extreme level
🔹 HOW IT WORKS
The indicator calculates the standard RSI using a configurable period and plots it against multiple horizontal reference levels.
As RSI moves through these levels, traders can observe changes in market momentum and identify areas where price may begin slowing, reversing, or continuing its current move.
Optional markers are displayed when RSI reaches predefined upper or lower threshold values, helping users quickly identify extreme momentum conditions.
🔹 MULTI-LEVEL RSI STRUCTURE
Unlike a traditional RSI with only two reference levels, RSI ML Pro provides multiple zones including:
// RSI Levels
lvl90 = input.int(90, "Level 90")
lvl80 = input.int(80, "Level 80")
lvl70 = input.int(70, "Level 70")
lvl60 = input.int(60, "Level 60")
lvl50 = input.int(50, "Level 50")
lvl40 = input.int(40, "Level 40")
lvl30 = input.int(30, "Level 30")
lvl20 = input.int(20, "Level 20")
lvl10 = input.int(10, "Level 10")
These levels can help distinguish between moderate momentum and more extreme market conditions.
🔹 VISUAL FEATURES
• Standard RSI Line
• Configurable Multi-Level Reference Lines
• Upper Momentum Markers
• Lower Momentum Markers
• Customizable Colors
• Adjustable RSI Length
• Clean and Lightweight Display
• Compatible with Dark and Light Chart Themes
🔹 INDICATOR INPUTS
The indicator includes several customization options:
RSI Length
Adjust the RSI calculation period.
Reference Levels
Configure upper and lower RSI levels to match your trading style.
Signal Markers
Enable or disable momentum markers.
Colors
Customize the appearance of the RSI line, levels, and markers.
🔹 HOW TO USE
A common workflow is:
Observe the overall RSI trend.
Monitor how RSI reacts around the configured reference levels.
Watch for momentum markers when RSI reaches extreme values.
Combine RSI observations with your own price action or market structure analysis before making trading decisions.
🔹 SUITABLE MARKETS
RSI ML Pro can be used on:
• Forex
• Cryptocurrency
• Stocks
• Indices
• Commodities
• Gold
The indicator is designed to work across multiple timeframes depending on the user's trading approach.
🔹 COMBINING WITH OTHER TOOLS
Many traders choose to combine RSI ML Pro with other forms of technical analysis such as:
• Trend Analysis
• Support and Resistance
• Moving Averages
• Market Structure
• Volume Analysis
• Supply and Demand Zones
Using multiple forms of analysis may provide additional market context.
🔹 NOTES
RSI measures momentum and should not be interpreted as a standalone buy or sell signal. Strong trends can remain in higher or lower RSI regions for extended periods.
This indicator is intended as a technical analysis tool and should be used alongside appropriate risk management and independent market analysis. Indicator

NY 4H Range - HayderNY First 4H Candle Range
Overview
This indicator marks the high and low of the first 4-hour candle of the New York trading day and projects that range across the remainder of the session as a reference zone.
What makes it different
Most session-range scripts read the 4H candle directly with `request.security()`, which breaks or misaligns when the chart timeframe is 4H or higher, and which depends on the data feed's own session alignment. This script instead reconstructs the range from lower-timeframe data, so the same values are produced regardless of the chart's timeframe.
Method
1. Trading day anchor at 17:00 New York . The script defines the trading day as starting at 17:00 America/New_York, not at midnight. This follows the standard forex/futures rollover rather than the calendar day. The first 4-hour candle therefore spans 17:00 to 21:00 New York time.
2. DST handling without fixed offsets . The `f_tradeDayStart()` function derives the day boundary by decomposing the current bar's timestamp into New York year/month/day/hour components, deciding whether the bar belongs to the current or previous trading day based on whether the New York hour is at or past 17:00, and rebuilding the anchor with `timestamp()` in the New York timezone. Because the timestamp is rebuilt from calendar components rather than by subtracting a constant offset, daylight saving transitions are handled automatically.
3. Lower-timeframe reconstruction. Rather than requesting the 4H candle, the script pulls arrays of time, time_close, high, and low from a configurable internal timeframe (default 15m) using `request.security_lower_tf()`. It then iterates those intrabar values and accumulates the running high and low of every bar whose open time is at or after the trading day anchor and whose close time falls at or before the anchor plus four hours. This means the range is computed from actual price data inside the window rather than from a pre-aggregated candle, and it remains correct on 4H and higher charts where a standard security call would fail.
4. Single confirmed draw, no repaint . The box and boundary lines are created only once the chart's own bar close has passed the end of the 4H window, and a state flag prevents any redraw for that trading day. Nothing is plotted while the window is still forming, and the levels never shift after they appear.
5. Projection . The range is drawn from the trading day anchor forward to anchor plus 24 hours, covering the full trading day. Each new trading day resets the accumulators and draws a fresh range.
Inputs
- Internal Calculation Timeframe (default 15m): the resolution used to reconstruct the 4H window. Lower values give a more precise range at the cost of more data; must be lower than the chart timeframe.
How to use it
The 17:00–21:00 New York window covers the futures reopen and the early Asian handoff, a period that frequently establishes the initial liquidity boundaries traders reference through the rest of the day. Watch for acceptance outside the boundary, rejection back inside, or consolidation within it. The script does not interpret this behavior for you.
Limitations
- Does not generate buy or sell signals, entries, exits, or alerts.
- The internal calculation timeframe must be lower than the chart timeframe; `request.security_lower_tf()` returns no data otherwise.
- Nothing is drawn until the chart's bar close passes 21:00 New York for that trading day.
- Intrabar data availability is limited by your PulseWire plan's historical intrabar depth, which caps how far back ranges are drawn.
- Symbols with gaps or missing data inside the 17:00–21:00 window will produce a range built from whatever bars exist.
- A visual reference only, to be used as one component of a complete trading plan.
Indicator

Market Session Matrix ProForex Session Matrix Pro with Volume
Overview
Forex Session Matrix Pro with Volume is an original Pine Script® v6 indicator designed to provide a structured view of the four major Forex trading sessions directly on the chart. Instead of displaying only session timings, this indicator combines session visualization, dynamic session range tracking, session high/low identification, and directional volume analysis into a single workspace.
The primary objective of this indicator is to help traders understand when institutional liquidity enters the market, how price behaves during each session, where important highs and lows are created, and which side (buyers or sellers) dominated the session.
This implementation was independently designed and developed by Forex_Market_Insights and is intended to improve market structure analysis without relying on external libraries or copied logic.
Why This Indicator Was Created
Most session indicators simply draw colored rectangles on the chart. While they identify session timing, they provide very little information about what actually happened during that trading session.
This indicator extends traditional session visualization by combining several analytical components:
Individual session boxes
Automatic session labels
Session High and Low tracking
Independent color customization
Fully editable session timings
Buyer vs Seller Volume histogram beneath every session
Overlap support
Clean visualization suitable for all markets and all timeframes
The goal is not only to show when a session occurred, but also how that session behaved.
Major Forex Sessions
The indicator supports the four primary Forex trading sessions:
• Sydney Session
• Tokyo Session
• London Session
• New York Session
Each session is displayed using its own independent colored box, making it easy to distinguish institutional trading periods throughout the trading day.
Every session's start time and end time are fully customizable from the indicator settings.
Session Boxes
As each trading session begins, the indicator automatically creates a colored session box.
The box expands dynamically while the session is active.
During the session it continuously updates:
Highest price reached
Lowest price reached
Session boundaries
Once the session ends, the completed box remains visible for historical reference.
This allows traders to quickly compare volatility between different sessions.
Automatic Session Labels
Every session box automatically displays its name at the top.
Examples include:
Sydney
Tokyo
London
New York
These labels remain attached to the corresponding session, making historical analysis much easier without needing to remember trading hours.
Session High and Low Tracking
Every session continuously records:
Session High
Session Low
These price levels are marked directly on the session box.
Many institutional traders monitor previous session highs and lows because they often become:
Liquidity pools
Breakout levels
Reversal zones
Stop hunt locations
Trend continuation points
Having these levels displayed automatically eliminates the need for manual marking.
Buyer vs Seller Volume Analysis
One of the unique features of this indicator is the session volume visualization shown beneath the price chart.
Instead of displaying standard exchange volume, the indicator separates session activity into bullish and bearish participation.
Green bars represent buying pressure.
Red bars represent selling pressure.
This allows traders to quickly evaluate which side controlled the session.
For example:
A session with mostly green volume bars suggests buyers dominated trading activity.
A session with mostly red volume bars indicates sellers controlled the market.
Although Forex is a decentralized market and PulseWire volume represents broker feed activity rather than centralized exchange volume, relative volume still provides valuable information regarding market participation and directional strength.
Why Volume Is Displayed Below Each Session
Volume alone does not indicate direction.
Price alone does not indicate participation.
By combining both, traders can better understand the quality of a market move.
Examples:
Strong bullish movement with strong buying volume often indicates healthy participation.
Strong bullish movement with weak volume may indicate reduced conviction.
Strong bearish movement supported by increasing seller volume often suggests stronger downside momentum.
This additional layer of confirmation helps traders judge whether a move is supported by market activity.
Customizable Session Times
Different brokers use different server times.
To solve this issue, every session timing can be modified from the settings.
Users may customize:
Sydney Start
Sydney End
Tokyo Start
Tokyo End
London Start
London End
New York Start
New York End
This makes the indicator compatible with virtually any PulseWire chart regardless of broker timezone.
Customizable Colors
Every session uses its own independent color.
Users can customize:
Session box color
Border color
Transparency
Text color
This makes the indicator suitable for both light and dark PulseWire themes.
Session Overlap Analysis
The indicator naturally displays overlapping trading sessions when customized timings intersect.
This is particularly useful because market volatility frequently increases during major session overlaps.
Examples include:
London–New York Overlap
Sydney–Tokyo Overlap
These periods often experience increased liquidity and stronger market movements.
Works on Any Market
Although designed primarily for Forex, the indicator also works effectively on:
Gold
Silver
Indices
CFDs
Cryptocurrency
Commodities
Futures
Any PulseWire symbol
Since sessions are time-based rather than symbol-specific, the logic remains applicable across multiple markets.
Works on Any Timeframe
The indicator automatically adapts to every PulseWire timeframe.
Examples include:
1 Minute
3 Minutes
5 Minutes
15 Minutes
30 Minutes
1 Hour
4 Hour
Daily
Lower timeframes provide more detailed session development, while higher timeframes offer a broader institutional perspective.
Typical Trading Workflow
A common way to use this indicator is:
Observe which session is currently active.
Monitor how price behaves inside that session.
Watch where the session creates its High and Low.
Compare buyer and seller volume beneath the session.
Evaluate whether price is accepting or rejecting important session levels.
Use this information alongside your existing trading strategy for additional market context.
Key Features
✔ Automatic Forex session detection
✔ Independent session boxes
✔ Automatic session labels
✔ Session High tracking
✔ Session Low tracking
✔ Buyer vs Seller volume visualization
✔ Fully customizable session timings
✔ Custom colors
✔ Historical session visualization
✔ Supports all PulseWire markets
✔ Compatible with all timeframes
✔ Clean and lightweight chart display
Important Note
This indicator is intended as a market structure and session analysis tool. It does not generate buy or sell signals, predict future price direction, or provide financial advice. Instead, it organizes session-based price action and relative buying/selling activity into a clear visual framework that traders can combine with their own analysis, risk management, and trading methodology. This description accurately reflects the indicator's functionality and aligns with PulseWire's expectation that script descriptions explain what the script does, how it works, and how it should be used.
Originality & Authorship
This indicator was independently designed and developed by Forex_Market_Insights.
The overall concept, implementation, visualization, session management logic, volume presentation, configurable settings, user interface, and workflow were created specifically for this project. The script represents an original implementation written in Pine Script® v6 and was developed to provide traders with a practical session-based market analysis tool.
This publication is not a copy, clone, or re-upload of another PulseWire script. It was created from the ground up using the author's own design approach and programming implementation. Any standard market concepts referenced in this indicator—such as Forex trading sessions, session highs/lows, and volume analysis—are widely recognized trading concepts, while the software implementation, visualization, and integration presented here are original to this script.
Author: Forex_Market_Insights
Thank you for using this indicator. I hope it helps make session analysis clearer, more organized, and easier to interpret within your own trading workflow. Indicator

Indicator

1st Presented Fvg's [M1D]OVERVIEW
1st Presented Fvg's (M1D) isolates the very first Fair Value Gap each hourly window prints —
the one everything else in that hour reacts to — and tracks its full lifecycle: does it
hold, does it fail, does it invert, and does the inversion validate on a retest. Instead of
marking every FVG on the chart, it keeps only the one gap the model cares about per hour and
reports what happened to it.
It is a single-timeframe, event-tracking tool rather than a signal generator. It tags one
gap per hourly window, runs a strict hold / fail / invert / validate state machine on it, and
rolls a running Hold %, Inverted count and Valid IFVG count into a small dashboard so you can
see how the current session is actually behaving.
Detection and every state transition evaluate on confirmed bars only — nothing is decided
intrabar, and the chart requires an intraday timeframe of 60 minutes or less.
WHAT IT PLOTS
- 1st Presented FVG zone — a coloured box drawn from the exact three-candle gap, labelled
with its hourly window (e.g. "1st - 2pm") and an optional macro-window time suffix (e.g.
"1st - 2pm 1:50-2:10"). Zone colour cycles through your chosen palette by hour.
- NY Open tag — inside the 9:30-10:00 NY session specifically, the gap is labelled "1st -
NY Open" instead of the generic hour label, and only appears once price has swept a recent
pivot high or low first (see Key Definitions below).
- Inversion (IFVG) tag — a gap that held, then closed through, turns orange and is
relabelled IFVG.
- Valid IFVG tag (✔) — once an inverted gap is retested (price trades back into it), it
gains a check mark and a brighter fill, so a live, usable IFVG stands out from one still
forming.
- Failed gap (optional) — a gap that closed through without ever holding can be kept on
chart dimmed for context, or deleted outright; either way it is counted in the stats.
- Dashboard (M1D) — a small monospace table showing the current session, current time, and
a Today vs. Total read of gaps tagged, gaps held, Hold %, gaps inverted, and validated
IFVGs.
KEY DEFINITIONS
- Held — the point at which a 1st Presented FVG is considered to have defended its zone,
rather than just being tagged. Governed by the Hold Definition setting below.
- Reject & Close Away (default Hold Definition) — price must trade into the gap and then
close back outside its proximal edge before it counts as held. A tap that closes through
without that rejection is scored as a fail, not a hold — so Hold % reflects confirmed
rejections, not every incidental touch.
- Touch & Hold (alternate Hold Definition) — any trade into the gap that doesn't close
through it counts as held immediately, no rejection required.
- Inversion (IFVG) — a gap that held first, then later closed through it. This sequence is
mandatory: a gap that runs straight through without ever holding is a fail, never an
inversion.
- Valid IFVG — an inverted gap that price has subsequently traded back into.
- Hold % — held gaps ÷ gaps tagged, shown separately for Today and All-Time.
- NY Open liquidity sweep — inside the 9:30-10:00 New York session, the 1st Presented tag
runs on its own daily slot, separate from the normal hourly one, so an earlier random gap
in the same clock hour can't use up the slot before the open range even happens. That slot
only fills once price has swept a recent confirmed swing pivot — a low for a bullish gap,
a high for a bearish gap — immediately before the gap forms, so the tag reflects a genuine
liquidity grab rather than the first random three-candle gap after 9:30.
HOW TO USE IT
Reading the state of the current gap
- A live-coloured zone with no orange means the 1st Presented FVG is still fresh or holding
— treat it as an active zone.
- Orange means it has inverted — price closed through it after holding, so it now has the
opposite role.
- Orange with a ✔ means the inversion has been retested and validated — the strongest read
of the three, since price has both flipped the gap and come back to confirm it.
- A dimmed zone (if you keep failed gaps) means it closed through without ever holding —
context only, not a level to lean on.
Reading the dashboard
- Hold % (Today vs. All-Time) tells you how respected first-hour gaps have been — a low
reading suggests today's imbalances are being run through rather than defended.
- Inverted vs. Valid IFVG counts show how often a failed gap actually resolves into a
confirmed continuation level (✔) rather than just failing outright.
- Session tells you which killzone you're in without leaving the chart.
Choosing your settings
- Use Reject & Close Away when you only want gaps that show a confirmed rejection —
Touch & Hold is looser and counts the first touch, useful for comparing how often price
even reaches the gap versus how often it truly holds.
- Switch Mode to First Of Each Direction if you want to track a bullish and a bearish 1st
gap side-by-side within the same hour, instead of only the first of either.
- Turn on the Displacement Filter if you want the tag to skip small, low-conviction gaps in
favour of the next one that clears your ATR multiple.
- Leave NY Open: Require Liquidity Sweep on if you specifically want the opening-range gap
isolated from the generic hourly noise; adjust Pivot Lookback to make the swing-pivot
reference tighter (fewer bars, more sensitive) or wider (more bars, more established swings).
SETTINGS
- Detection — 1st FVG Mode (First Of Either / First Of Each Direction), Hourly Window
Timezone, Displacement Filter (ATR × multiple), Restrict To Time Window, NY Open (9:30-
10:00): Require Liquidity Sweep, Pivot Lookback.
- Inversion (IFVG) — Track Inversions toggle, Hold Definition (Touch & Hold / Reject &
Close Away).
- Labels — Show Labels, Label Text prefix, Show Macro Window Time, Label Size, Label
Colour.
- Colours — Colours In Cycle (2 or 3), the cycle colours, Inversion Colour, Zone
Transparency.
- Display — Gap Lifetime (Until Invalidated / End Of Hour / End Of Day), Keep Failed Gaps
(Dimmed), Max Gaps On Chart.
- Stats Table — Show Stats Table, Position, Text Size.
This is a decision-support and context tool for discretionary ICT trading. It does not
generate buy or sell signals and does not place trades. This is not financial advice, and no
market's past behaviour is indicative of future results.
Indicator

XI0033 WatermarkA watermark earns nothing. It labels a chart: whose it is, what instrument, what timeframe, and what price was doing when the snapshot was taken. If you publish charts, record trades or stream, that label is the difference between a screenshot and a document.
This script prints up to four lines of text over the chart: three free lines and one symbol line. Any line can carry live tokens that resolve to the current symbol, timeframe, date, weekday, clock, price, change against the previous daily, weekly or monthly close, and volume. It draws text and nothing else: no levels, no signals, no analysis.
One template language for every line
Each line is a template. Plain text stays as typed; tokens are replaced with live values:
{ticker} {exchange} {tf} {date} {time} {dow} {price} {chgabs} {chg} {chg:D} {chg:W} {chg:M} {vol}
{chg} is the percent change against the previous daily close — the same number the quote header shows. {chg:W} and {chg:M} measure against the previous weekly and monthly closes. {chgabs} is the daily change in price units, {dow} is the weekday name, {vol} is the current bar's volume compacted to K/M/B and printed as n/a where the instrument has no volume feed. Separators are typed straight into the template, so reordering a line is just reordering its text. An empty template hides the line.
The two free lines under the brand text are plain templates: one prints the daily, weekly and monthly change side by side, the other stamps the date and the exchange clock. What is typed is what resolves; the line at the bottom of the chart is the symbol line running its own template.
The symbol line
The fourth line ships with a default template that mirrors the quote header:
{exchange}:{ticker} · {tf} · {date} · {dow} · {price} · {chgabs} · {chg} · {vol}
It is an ordinary template line: delete a token you do not want, move the ones you keep, retype the separators. Nothing in its order is hardcoded.
Sign colouring, token by token
A Pine table cell holds exactly one text colour. To paint the price green and the weekly change red inside one line, the script slices the symbol line into segments: every {price}, {chgabs} and change token becomes its own cell, coloured by the sign of its own change — {price}, {chgabs} and {chg} follow the daily change, {chg:W} the weekly, {chg:M} the monthly. The text between tokens keeps the line colour. Turn the option off and the line renders as a single cell in a single colour. The one visible cost of the segmented mode is worth naming: cell padding makes the gaps around coloured tokens slightly wider than a plain space.
Sign colouring on: the daily percent carries the daily sign; the weekly percent, marked W and appended at the end of the template, carries its own — one line, two directions, base colour in between.
Nine anchors and offsets that tables do not have
Every line is anchored independently to one of nine chart positions. Lines that land on the same anchor do not overlap: they are collected into one table and stacked in declaration order — Line 1 above Line 2 above Line 3 above the symbol line.
Pine tables expose no pixel offset, so Offset X and Y are built from geometry instead: an empty spacer column sized in percent of chart width pushes a group inward from a left or right edge, and an empty spacer row sized in percent of chart height pushes it away from the top or bottom. X is ignored on a centered anchor and Y on a middle one, because there is no edge to push from. When several lines share an anchor, the group takes the offsets of its first line.
Four lines on four different anchors, each block its own table; the corner blocks are pushed inward from their edges by the spacer offsets.
Every line is yours
Per line: colour, size from 8 to 80, Default or Monospace font, bold, italic. A free line can additionally colour itself as a whole by the sign of the change token it contains. Global: the Positive/Negative pair used by all sign colouring, an extra transparency slider that fades every line on top of its own colour, and a background fill behind the text blocks.
What repaints, and what does not
Nothing is drawn on historical bars, so there is nothing to repaint in the signal sense. The tables are rebuilt on the last bar and every token updates with the live tape — price, changes and volume move tick by tick, which is what a live watermark is for. The previous daily, weekly and monthly closes are requested from the higher timeframes with a one-bar offset, so only completed bars are read and those references stay fixed until their period rolls over. {date}, {time} and {dow} follow the exchange clock, not bar time.
What is actually original here
A chart watermark is public domain — the platform has plenty, and another script that prints a static string would have no reason to exist. Three parts of this one are engineering rather than styling, and the source is open, so they can be read:
A single token engine for all four lines. One substitution pass resolves thirteen tokens, including three change bases — daily, weekly, monthly — measured the way the quote header measures them, so the symbol line and the free lines speak the same language.
Per-token colouring inside one table row. The symbol line is split into cells at token boundaries so each value carries the sign colour of its own change, while single-colour lines sharing the anchor are merged across the full row width and stay centered above the segmented one.
Offsets that Pine tables do not offer. Anchoring, stacking and two-axis fine-tuning are assembled from table geometry — spacer cells sized in percent of the pane — because the platform provides no pixel offset for tables.
What it does not do
It computes nothing tradeable. No levels, no signals, no alerts, no statistics — it reads the same values the quote header already shows and prints them where and how you want them. It is a labelling tool; the trading remains your job.
The Inputs allow you to set:
- Line 1–3: template text, colour, size, font (Default/Monospace), bold, italic, colour by change sign, anchor (vertical and horizontal), Offset X and Y
- Symbol line: show/hide, template text, colour price/change by sign, colour, size, font, bold, italic, anchor, Offset X and Y
- Appearance: Positive and Negative colours, extra transparency, background colour
About the chart
BYBIT:BTCUSDT.P, 5-minute chart. The only script on it is this one, and the three free lines stack at the top center on their default texts — XI0033 with a panda emoji, then the Example and Your text here placeholders. The symbol line sits at the bottom center; its template is trimmed to the exchange, ticker, timeframe, date, weekday and the daily percent change, and sign colouring paints that percent by the sign of the day. No other indicators, no drawings. Indicator

Liquidity Sweep + FVG [Leon/RussellTech] v2Liquidity Sweep + FVG Indicator
A multi-confluence day-trading indicator that identifies institutional stop-hunts (liquidity sweeps) followed by displacement Fair Value Gaps, then plans precise entries with automatic stop-loss and take-profit placement.
How It Works
The indicator uses a state machine that progresses through a strict sequence. Every signal must pass through all 7 confluence layers — if any single layer fails, no signal fires. This is what prevents false signals and maintains quality.
State Machine Lifecycle
Idle — The indicator monitors swing pivot highs and lows using the configured lookback period. Up to 4 recent levels are tracked.
Sweep Detected — Price wicks beyond a tracked swing level and (if required) closes back inside. A sweep marker (▲ or ▼) appears on the chart.
Armed — Within the Sweep→FVG Window (10 bars), a valid FVG forms in the sweep direction. The status panel shows "armed (long)" or "armed (short)".
Entry — Within the FVG→Entry Window (24 bars), price retraces into the FVG zone, the entry candle shows momentum, and all filters pass. Signal fires with Entry, SL, and TP drawn.
Tracking — The indicator tracks whether price hits the TP, SL, or times out, then returns to Idle.
The 7 Confluence Layers
Every signal must pass through all seven layers. This multi-confluence approach is what separates this indicator from simple FVG detectors or sweep scanners. Indicator

Indicator

Fractal Timeframe Collision Node [MarkitTick]💡 The financial markets operate across multiple interacting timeframes, creating complex structural geometries that cannot be accurately analyzed through a single, isolated lens. The tool presented here acts as a comprehensive multi-timeframe aggregation engine, designed to isolate highly significant structural support and resistance clusters. By evaluating pivot points across four distinct time spans and merging them based on volatility-adjusted proximity, this system identifies high-probability reaction zones where structural exhaustion is most likely to occur. It is built strictly for the modern Pine Script environment, utilizing an entirely non-repainting architecture that respects the highest standards of data integrity and execution logic.
● ✨ Originality and Utility
Standard pivot or support/resistance scripts typically plot historical swing highs and lows independently. This creates chart clutter and often leaves the analyst guessing which level holds the most technical weight. This tool introduces the concept of "Collision Nodes." Instead of simply drawing every pivot, the algorithm scans higher timeframe data, identifies structural extremes, and clusters them together using a dynamic, adaptive mechanism.
When multiple higher timeframes project a pivot at the exact same price zone, a structural "Collision Node" is formed.
The utility lies in its objective strength grading: a node formed by the confluence of the 1-hour, 4-hour, and Daily charts mathematically demands more respect than a single localized swing point on a lower timeframe.
By filtering out the noise and only projecting nodes that meet a user-defined minimum strength threshold, the analyst is presented with a remarkably clean chart displaying only the most critical, high-liquidity zones.
Furthermore, the script automatically generates full trade execution parameters (Entry, Stop Loss, and multiple Take Profits) directly on the chart when a valid structural rejection occurs.
● 🔬 Methodology and Concepts
• Multi-Timeframe Pivot Extraction
The core engine relies on detecting localized extrema (Pivot Highs and Pivot Lows) over a user-defined lookback window. The script fetches these pivot values simultaneously from three higher timeframes plus the current chart's timeframe. To ensure absolute data integrity and prevent any future data leakage (repainting), the algorithm strictly requests historical, confirmed data using offset historical referencing.
• Volatility-Normalized Spatial Clustering
Once the pivots are extracted, the algorithm must determine if they "collide" or overlap. Because absolute price distance is irrelevant across different assets, the script uses a dynamic clustering mechanism normalized by the Average True Range (ATR).
A tolerance band is calculated by multiplying the current ATR by a user-defined coefficient.
If a newly discovered higher timeframe pivot falls within this exact tolerance band of an existing pivot cluster, it is merged into that cluster, and the cluster's "strength" rating is incremented.
If it falls outside the tolerance band, a new independent node is registered.
• Memory Management and Age Pruning
Financial markets possess a memory, but structural relevance decays over time. The script incorporates a memory management protocol that continually monitors the age of all registered nodes. If a node has not been tested or updated within a specific bar count limit, it is automatically pruned from the active array, ensuring that only highly relevant, modern liquidity pools are analyzed.
• Automated Signal Validation
A visual node is not a signal; it is an area of interest. The script validates trade signals by combining spatial location with price action. A valid signal requires the price to close inside the tolerance zone of a high-strength node, accompanied by a rejection candle (where the wick constitutes a significant percentage of the total candle range), and a structural close confirming the directional bias.
● 🎨 Visual Guide
• Collision Nodes
Teal Horizontal Lines: Represent bullish support nodes. The opacity of the line dynamically shifts based on the strength of the node (darker/more solid lines indicate higher timeframe confluence).
Red Horizontal Lines: Represent bearish resistance nodes. Like the bullish nodes, their visibility scales with structural strength.
Diamond Labels (◆×2, ◆×3): Attached to the end of the node lines, these labels explicitly display the node's strength rating. A "◆×3" label means three separate timeframes have confirmed a pivot at this exact mathematical level.
• Trade Execution Box
Dashed Blue Line: Indicates the exact Entry price upon signal confirmation.
Solid Red Line: Represents the dynamic Stop Loss, which is placed behind the collision node with an added ATR-based buffer to avoid premature liquidation.
Dashed Teal Lines (TP1, TP2, TP3): Represent calculated Take Profit levels projected automatically based on the user's defined Risk-to-Reward (RR) multipliers.
Red Background Fill: Visually maps the total risk zone between the Entry and the Stop Loss.
Teal Background Fill: Visually maps the total reward zone extending from the Entry up to the final Take Profit target.
• Real-time Dashboard
Located by default in the top right corner, this data table provides an instant summary of the market structure.
Bias: Displays the current active signal direction (LONG, SHORT, or NONE).
Active Nodes & Strengths: Lists the exact price levels of the nearest active bull and bear nodes, accompanied by visual progress bars displaying their respective strengths (Green for high strength, Yellow for medium, Red for low).
Trade Tracking: Displays the currently active Stop Loss and primary Take Profit levels if a trade configuration is locked on the chart.
● 📖 How to Use
Apply the indicator to your chart and set your three preferred higher timeframes in the settings (e.g., if trading on the 15-minute chart, you might select 1-Hour, 4-Hour, and Daily).
Observe the chart for the formation of high-strength Collision Nodes (look for ◆×3 or ◆×4 labels). These are your primary zones of interest.
Wait for price action to approach these nodes. Do not place blind limit orders.
Allow the script's internal logic to identify a structural rejection. When a valid rejection candle forms and closes at a node, a trade execution box will automatically populate on the chart.
Use the provided Entry, Stop Loss, and Take Profit lines to format your position sizing and manage the trade according to the mapped risk-to-reward parameters.
Optionally, link the script's advanced JSON webhook alerts to an external execution platform for automated trade routing.
● ⚙️ Inputs and Settings
• Core Settings
Pivot Lookback: The structural length required to confirm a swing high or low.
TF 1, TF 2, TF 3: The three higher timeframes used to scan for structural confluence.
Include Chart TF: Determines if the current chart's timeframe should also contribute to node strength.
Node Tolerance (×ATR): The spatial bandwidth used to cluster pivots together, measured as a multiplier of current volatility.
Min Node Strength: The minimum number of overlapping timeframes required for a node to be rendered on the chart.
• Filters
Require Rejection Candle: Enforces strict price action criteria, demanding that signals only fire if the candle displays a prominent rejection wick.
Min Wick % of Range: The exact percentage of the candle that must be composed of the wick to validate a rejection.
Max Node Age (bars): The duration a node remains active without being re-tested before being permanently purged from memory.
• Trade Tools
SL Buffer (×ATR): Adds a dynamic volatility buffer beyond the structural node to determine the absolute invalidation point.
TP1, TP2, TP3 (×SL Risk): The respective risk-to-reward multipliers used to dynamically project profit targets.
Lock Current Trade Levels: Freezes the visual risk/reward box on the chart until the trade hits either the final target or the stop loss, ignoring subsequent signals.
• Dashboard & Alerts
Show Dashboard: Toggles the visibility of the real-time data table.
Alert Actions: Customizable text fields allowing users to define specific JSON payload strings for long, short, and exit triggers.
● 🔍 Deconstruction of the Underlying Scientific and Academic Framework
The architectural foundation of this algorithm is heavily rooted in the Fractal Market Hypothesis (FMH), which posits that financial markets exhibit self-similar statistical structures across varying scales of time. In practical terms, a distribution pattern on a 5-minute chart mathematically resembles a distribution pattern on a Weekly chart. By aggregating pivot extrema from multiple independent time scales, this script exploits these fractal geometries to identify areas of harmonic resonance—price zones where liquidity pools overlap across different cohorts of market participants.
To resolve the spatial clustering problem, the system utilizes a volatility-normalized one-dimensional grouping algorithm conceptually akin to Density-Based Spatial Clustering of Applications with Noise (DBSCAN). Instead of utilizing fixed scalar distances (which fail as asset prices scale), the algorithm calculates an epsilon distance bounded by the Average True Range (ATR). This ensures that the clustering logic expands and contracts organically with market entropy. The ultimate output is a mathematically objective reduction of structural noise, isolating only the highest-density liquidity nodes that possess the greatest statistical probability of halting directional momentum.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Indicator

CandelaCharts - MTF FVG Alignment📝 Overview
The CandelaCharts - MTF FVG Alignment indicator detects Fair Value Gaps (FVGs) across up to four customizable timeframes and visualises them directly on the chart. A Fair Value Gap is a three-candle pattern where price moved so rapidly that an unfilled area remains between the high of the first candle and the low of the third candle, representing a price imbalance the market often returns to fill.
The core strength of this indicator is Confluence . An alignment signal is generated only when every enabled timeframe shows FVGs in the same direction (all Bullish or all Bearish), giving traders a powerful multi-timeframe confirmation before taking a position.
📦 Features
Four-Timeframe Analysis : Track up to four independent timeframes simultaneously with per-TF toggle and FVG count.
Confluence Alignment : Automatic detection of Bullish or Bearish alignment across all enabled timeframes.
Bias Filter : Filter displayed FVGs to show only Bullish, only Bearish, or both (Neutral).
FVG Mitigation : FVGs are automatically invalidated and removed from the chart once they are fully filled by price action.
Hide Overlapped : Clean up chart clutter by automatically hiding lower-timeframe or older FVGs that overlap with others.
Fibonacci Levels : Optional Fibonacci retracement levels (0.236, 0.382, 0.5, 0.618, 0.65, 0.705, 0.786) drawn inside each FVG with a highlighted Golden Pocket zone (0.705–0.786).
FVG Visuals : Semi-transparent boxes showing active FVGs for each timeframe, with configurable borders and midlines.
Status Dashboard : A clean table showing the current directional status (Bullish / Bearish / None) for each enabled timeframe.
⚙️ Settings
Timeframes
TF 1–4: Each timeframe row has a toggle (show/hide), a timeframe selector, and an FVG count (1–10) controlling how many recent FVGs are displayed for that timeframe. Defaults are 1D, 4H, 1H, and 15m.
Settings
Bias Filter: Filter displayed FVGs by direction — Neutral (show all), Bullish (show only bullish FVGs), or Bearish (show only bearish FVGs).
Bull / Bear Colors: Customise the colours used for bullish and bearish FVG zones.
Border: Toggle the FVG box border and configure its style (Solid, Dotted, Dashed) and width (1–5).
Midline: Toggle the Consequent Encroachment midline inside each FVG and configure its style and width. When enabled, the timeframe label moves outside the box.
Fibonacci: Toggle the drawing of Fibonacci retracement levels inside each FVG, including the highlighted Golden Pocket (0.705–0.786).
Hide Overlapped: Toggle whether to hide overlapping FVGs across different timeframes to keep the chart clean (prioritising higher timeframes).
Dashboard
Show: Toggle the multi-timeframe status dashboard.
Position: Choose the dashboard corner — Top Right, Top Left, Bottom Right, or Bottom Left.
⚡️ Showcase
Multi-Timeframe FVG Boxes
Fibonacci Levels & Golden Pocket
Status Dashboard
🔎 Usage
Trend Identification : Glance at the dashboard to see the current bias of each higher timeframe at a glance.
Confluence : When all enabled timeframes align in the same direction, it provides strong multi-timeframe confluence for a directional trade.
Fibonacci Entries : Use the Fibonacci levels inside each FVG — particularly the Golden Pocket (0.705–0.786) — for precise entries when price retraces into the gap.
Bias Filtering : Set the Bias Filter to Bullish or Bearish to remove counter-trend FVGs and keep the chart focused on your directional thesis.
Execution : Use the alignment as confirmation for your existing strategy. Bullish alignment suggests upward momentum; Bearish alignment suggests downward momentum.
⚠️ Disclaimer
Trading involves significant risk, and many participants may incur losses. The content on this site is not intended as financial advice and should not be interpreted as such. Decisions to buy, sell, hold, or trade securities, commodities, or other financial instruments carry inherent risks and are best made with guidance from qualified financial professionals. Past performance is not indicative of future results.
Indicator

RSI Divergence + EMA Trend FilterDescription:
Divergence is one of the most discussed concepts in technical analysis and one of the most misapplied. The core idea is simple: when price makes a new high but the RSI makes a lower high, momentum is weakening even as price advances. That disconnect between price action and momentum is what divergence measures — and it often precedes reversals before price itself confirms the change in direction.
This strategy formalizes that concept into a rule-based, backtestable system with two components: RSI divergence detection and an EMA trend filter that determines which divergences to act on.
What divergence actually measures
RSI measures the speed and magnitude of price changes. When price reaches a new swing high but RSI fails to reach a correspondingly higher reading, it means the buying pressure behind the new high was weaker than the buying pressure behind the previous high. The market got to a higher price but required less momentum to do it — which suggests the move is losing conviction. Bearish divergence (price higher, RSI lower) signals potential exhaustion in an uptrend. Bullish divergence (price lower, RSI higher) signals potential exhaustion in a downtrend.
Important: divergence is a momentum signal, not a reversal guarantee. Price can continue making new highs with weakening RSI for a significant period before actually reversing. This is why divergence signals work best when combined with a trend filter that identifies the broader market context.
The EMA filter
The 200 EMA defines the dominant trend regime. Bearish divergence signals — where momentum is weakening on the upside — are only acted on when price is below the 200 EMA, meaning the broader trend is already bearish and divergence represents a potential resumption of that trend after a counter-trend bounce. Bullish divergence signals are only acted on when price is above the 200 EMA, where they represent potential continuations of the dominant uptrend after a pullback with improving momentum.
This filter deliberately reduces the total number of signals. Many valid divergences occur against the dominant trend and produce short-lived reversals that reverse again quickly. By requiring trend alignment, the strategy trades fewer setups but acts on the ones with a higher probability of following through.
How divergence is detected
The strategy identifies swing highs and swing lows using a lookback period — the number of bars on each side of a pivot that must be lower (for a high) or higher (for a low) to qualify as a genuine swing point. When two consecutive swing highs show price making a higher high but RSI making a lower high, bearish divergence is flagged. When two consecutive swing lows show price making a lower low but RSI making a higher low, bullish divergence is flagged.
The lookback length is the most important input to tune. A shorter lookback detects more swing points and generates more signals, but many will be minor pivots in the context of noise. A longer lookback requires more significant swing points and generates fewer, higher-quality signals. On daily charts, a lookback of 5 works well. On lower timeframes, 3 to 4 is more appropriate.
Exits
Positions exit at an ATR-based stop-loss and a fixed ATR-based take-profit. The stop is placed beyond the swing point that generated the divergence signal — for a bearish divergence, the stop sits above the swing high; for a bullish divergence, below the swing low. This is intentional: if price breaks through the very level that defined the divergence, the signal is invalidated regardless of what RSI was doing. The take-profit is set at 2x ATR to maintain a positive reward-to-risk ratio across the system.
What to evaluate in backtesting
Look at the signal distribution across different market environments. Divergence strategies tend to perform differently in trending versus ranging markets — in strong trending environments, bearish divergences against the dominant trend will produce many false signals even with the EMA filter. Look at whether the EMA filter is doing real work by temporarily disabling it and comparing signal quality. Check average trade duration — divergence signals that take too long to play out often give back open profit before the take-profit level is reached.
This is not a high-frequency strategy. On daily charts with a 5-bar lookback, signals may appear only a few times per month on a given instrument. That frequency is appropriate — divergence setups require specific conditions to form and should not be forced.
Shared for educational purposes and discussion. This is not investment advice. Backtest on your own instruments and timeframes before drawing conclusions about expected performance. Strategy

MFx Structural Terrain Engine V1Description
Mfx Structural Terrain Engine is a market structure indicator designed to place price into a long-term structural context rather than relying on traditional overbought/oversold oscillators.
Instead of asking: "Is price high or low?"
the engine asks: "Where is price relative to its long-term structural growth path?"
The indicator combines:
Structural Power Law modeling
Long-term moving average context
Adaptive terrain zones
Multi-timeframe structural analysis to classify where price currently resides within the broader market cycle.
The engine is designed to work across multiple asset classes including cryptocurrencies, equities, ETFs, indices, commodities, and forex using asset-specific structural profiles and automatic higher-timeframe routing.
Rather than producing buy or sell signals, it provides a structural framework for evaluating opportunity, fair value, accumulation, and potential exhaustion.
Features
Multi-asset structural profiles
Automatic higher-timeframe routing (TradFi & Crypto)
Structural Power Law spine
Long-term structural moving average
Adaptive terrain bands
Market cycle positioning
Structural zone classification
Structural confidence scoring
Clean structural dashboard
Supported Markets
The Structural Terrain Engine is designed to analyze a wide range of markets, including:
Bitcoin
Cryptocurrencies
Stocks
ETFs
Market Indices
Commodities
Forex
Each asset class can use its own structural profile while the indicator automatically adapts its higher-timeframe context for continuous (crypto) and session-based (traditional) markets.
Terrain Zones...The terrain is divided into six structural regions.
Generational Opportunity...Historically represents periods of extreme structural undervaluation.
Deep Opportunity...Price remains significantly below structural value while long-term risk has historically been reduced.
Accumulation...Price begins transitioning back toward structural equilibrium.
Fair Value...Price is trading near its expected long-term structural path.
Extended...Price is becoming increasingly stretched above structural value.
Campaign Exhaustion...Historically associated with elevated structural risk and mature market cycles.
Dashboard Metrics
Market State...Summarizes the current structural zone together with the model's confidence.
Example: Deep Opportunity - Moderate Confidence
Price vs Spine: Shows where price is relative to the selected structural spine.
1.00× = Price is exactly on the structural model.
Above 1.00× = Price is trading above structure.
Below 1.00× = Price is trading below structure.
Distance to Spine: Displays the absolute price difference between the current market price and the structural spine.
Cycle Position: Normalizes price into a 0–100 structural cycle score.
Lower values generally represent deeper structural opportunity.
Higher values indicate progressively later-cycle conditions.
Current Zone: Displays the terrain region price currently occupies.
Model Alignment: Measures how closely the structural models agree with one another.
Higher values indicate stronger agreement between the independent structural models.
Signal Confidence: Represents the overall confidence of the structural assessment.
Higher confidence suggests stronger structural evidence supporting the current terrain classification.
Structural Growth: Shows how quickly the structural spine is advancing over time.
Positive values indicate structural expansion.
Timeframe Routing: The indicator automatically selects a higher-timeframe context based on the current chart.
Chart Context
15m 1H
30m 2H
1H 4H
3H 6H
6H 1D (TradFi) / 12H (Crypto)
12H 2D
1D 3D
3D 1W
1W 2W
2W 1M
Manual timeframe selection is also available.
Inputs
Structural Model
Asset Profile
Select the structural profile best suited for the instrument.
Examples include:
Bitcoin
Crypto
Equities
Commodities
Custom
Structural Spine
Choose which structural model is used as the primary reference.
Available options include:
Structural
Power Law
Context
Timeframe Routing
Choose how the higher-timeframe context is selected.
Options: Profile Default, Auto TradFi, Auto Crypto, Manual, Manual Higher Timeframe...Overrides automatic timeframe routing.
Terrain: Show Terrain Bands...Displays the structural valuation bands.
Show Structural Moving Average: Displays the higher-timeframe structural moving average.
Show Power Law: Displays the structural Power Law spine.
Show Zone Labels: Displays terrain zone labels beside the chart.
Zone Label Offset: Moves zone labels closer to or farther from price.
Zone Label Size: Adjusts the size of terrain labels.
Blending: Adjust how different structural models contribute to the final structural spine.
A reserved external-model weighting is included for future integration of additional verified structural models.
Who Is This For?
The Structural Terrain Engine is intended for investors and traders who want to understand where price sits within a larger structural cycle, rather than relying solely on short-term indicators. It can be used as a standalone market framework or alongside existing technical analysis for timing, confirmation, and risk management.
How to Use: The indicator is designed for structural analysis—not short-term trading signals.
Many traders use it to:
Identify long-term accumulation areas.
Gauge whether price is historically extended.
Monitor structural trend health.
Add higher-timeframe context to lower-timeframe decisions.
Evaluate market cycle progression.
Compare multiple asset classes using a consistent structural framework.
The terrain should be interpreted as a probabilistic framework rather than a prediction engine.
Notes
Confirmed higher-timeframe calculations do not repaint.
Structural models are intended for long-term market analysis.
Automatic timeframe routing adapts differently for traditional markets and 24/7 crypto markets.
The indicator is designed to provide structural context and should be used alongside sound risk management and additional market analysis. Indicator

Adaptive Reaction Zones Adaptive Reaction Zones is an adaptive price-reaction level indicator designed to automatically identify areas where the market has repeatedly reversed, slowed down, or changed direction.
Rather than plotting every local high and low, the indicator:
detects confirmed price reactions;
evaluates the quality of each reaction;
groups nearby reactions into price clusters;
ranks the resulting areas;
displays only the most relevant support and resistance levels.
The chart shows the calculated center of each identified reaction area:
🔴 Red lines represent levels above the current price.
🟢 Green lines represent levels below the current price.
Each label displays the exact level price and its percentage distance from the current market price.
🎯 Purpose of the Indicator
Adaptive Reaction Zones provides a structured map of nearby price areas that have previously generated meaningful market reactions.
The indicator can be used to:
identify nearby support and resistance areas;
measure the distance to potentially significant price levels;
plan possible profit-taking areas;
locate zones where future price behavior may require closer observation;
analyze level breakouts and potential role reversals;
create alerts for crossings of relevant price areas.
The indicator is not a standalone trading strategy and does not generate mandatory buy or sell signals.
Its purpose is to provide an objective map of historical price reactions that traders can combine with trend analysis, market structure, volume, volatility, and other forms of analysis.
⚙️ How the Algorithm Works
1. Detecting Confirmed Price Reactions
The calculation begins with confirmed local highs and lows.
Users can select one of two reaction sources:
High / Low
The algorithm analyzes the full high and low values of each candle, including its wicks.
Candle body
The algorithm uses the boundaries of the candle body and excludes the extreme wick values.
The Pivot confirmation setting determines how many bars are required on each side of a local high or low before the reaction is confirmed.
As a result, a reaction is not included in the calculations at the exact moment the extreme occurs. It is added only after subsequent bars confirm that the point was a local high or low.
A lower setting:
increases the sensitivity of the algorithm;
produces more confirmed reactions;
allows the indicator to respond to smaller local movements.
A higher setting:
selects more pronounced market extremes;
reduces the number of secondary reactions;
increases the confirmation delay.
2. Evaluating Reaction Quality
The algorithm does not treat every confirmed local high or low as equally important.
Each reaction receives an individual quality score based on two components.
Reaction Candle Structure
For a reaction from a local high, the algorithm evaluates the upper wick relative to the candle’s total range.
For a reaction from a local low, it evaluates the lower wick.
A pronounced wick may indicate that price was rejected from that area by market participants.
Subsequent Price Movement
The algorithm also measures how far price moved away from the detected extreme during the period required to confirm the reaction.
This movement is normalized using ATR, allowing reactions formed under different volatility conditions to be compared on a consistent basis.
In the final calculation, the subsequent price movement receives slightly more weight than the candle structure.
This means that an isolated or insignificant extreme receives a lower score than a reaction followed by a meaningful price move in the opposite direction.
3. Adaptive Reaction Clustering
The market rarely reacts several times at exactly the same price.
More commonly, reactions occur within the same broader price area but at slightly different values. For this reason, Adaptive Reaction Zones groups nearby reactions into adaptive price clusters.
The cluster width is not fixed. It is calculated using:
the current ATR value;
the market range over the selected lookback period;
the instrument’s minimum tick size.
The algorithm compares the width calculated from ATR with a percentage of the broader market range and uses the larger value.
This allows the clustering distance to adapt automatically to:
current volatility;
the scale of movement in the selected instrument;
the characteristics of the market and timeframe.
ATR is not used as a separate trading signal in this indicator. It is used to normalize volatility, determine the adaptive cluster width, and calculate the minimum spacing between displayed levels.
4. Calculating the Center of a Price Area
When a new reaction is confirmed, the algorithm searches for the nearest suitable cluster.
If the distance to an existing cluster is within the calculated tolerance, the reaction is added to that cluster.
If no suitable cluster exists, a new price area is created.
The center of each cluster is calculated as a weighted average of all reactions included in it.
More recent reactions receive greater weight. The influence of older reactions gradually decreases according to the Historical reaction weight setting.
For each cluster, the algorithm stores:
the number of reactions;
the combined reaction-quality value;
the upper and lower boundaries of the area;
the bar of the most recent reaction;
the number of reactions from local highs;
the number of reactions from local lows.
🧠 How Level Significance Is Evaluated
After the clusters have been created, each cluster receives a composite score.
The score is based on five main characteristics.
Number of Reactions
The more confirmed reactions that have occurred within the same price area, the higher its base significance.
Reaction Quality
Clusters containing pronounced candle rejections and stronger subsequent price movements receive a higher score.
Recency
Recent reactions receive more weight than areas that have not interacted with price for a long time.
Cluster Tightness
Reactions concentrated within a relatively narrow price range receive a higher score than reactions spread across a wider area.
Role Reversal
A cluster receives additional weight when the same price area has generated reactions from both local highs and local lows.
This allows the algorithm to recognize areas that have acted as resistance during one period and as support during another.
The significance of a level is therefore not determined by a single condition. It is based on a combination of:
repetition;
reaction quality;
recency;
cluster tightness;
historical role reversal.
📊 How Displayed Levels Are Selected
Support and resistance levels are selected independently.
Resistance levels are selected from clusters located above the current price.
Support levels are selected from clusters located below the current price.
The selection process considers:
the minimum required number of reactions;
the maximum permitted distance from the current price;
the composite cluster-quality score;
proximity to the current price;
the minimum spacing between neighboring levels.
The Proximity priority setting increases the preference given to clusters located closer to the current price.
Proximity does not replace the underlying quality score. It is added to the cluster’s base score as an additional selection factor.
The Minimum spacing setting prevents several nearly identical levels from being displayed close together.
Users can separately define the maximum number of resistance and support levels.
When fewer qualifying clusters are available, the indicator displays only the levels that meet the selected requirements rather than forcing a fixed number of lines onto the chart.
🖥 Chart Display
For every active level, the indicator displays:
the calculated center of the reaction area;
the percentage distance from the current price;
a color based on the level’s current position relative to price.
A positive percentage means that the level is above the current price.
A negative percentage means that the level is below the current price.
The percentage distance is updated dynamically as the current price changes.
Level Origin Options
From last reaction
The line begins at the most recent confirmed reaction included in the cluster.
Across chart
The line extends across the entire chart.
Users can also customize:
support and resistance colors;
line style;
line thickness;
transparency;
label position;
horizontal spacing between labels.
🔄 Why Levels May Change
Adaptive Reaction Zones is a dynamic indicator.
Whenever a new reaction is confirmed, the price clusters are recalculated.
A new reaction may:
strengthen an existing cluster;
change the calculated center of a cluster;
create a new price area;
change the ranking of previously identified areas;
cause one displayed level to be replaced by another.
The number of stored reactions is limited by the Reaction memory setting.
When older reactions move outside the selected memory limit, they are removed from the calculation.
Displayed lines should therefore not be interpreted as permanent levels that must remain unchanged on the chart.
They represent the current result of the algorithm’s analysis of the available history of confirmed price reactions.
🛠 Main Settings
Reaction Detection
Pivot confirmation
Defines the number of bars required on each side of a local reaction before it is confirmed.
Lower values increase sensitivity. Higher values select more pronounced market extremes.
Reaction memory
Defines the maximum number of recent confirmed reactions included in the calculation.
Minimum reactions
Defines the minimum number of reactions required for a price cluster to qualify as a level.
Reaction source
Selects the source used to identify reactions:
High / Low;
Candle body.
Show confirmed reactions
Displays markers for confirmed local reactions directly on the chart.
Adaptive Clustering
ATR period
Defines the ATR period used to adapt the algorithm to changing volatility.
ATR cluster width
Defines the ATR multiplier used to determine how close reactions must be to belong to the same cluster.
Market range lookback
Defines the number of bars used to calculate the broader market range.
Range cluster width
Defines the percentage of the market range used as an additional measure of cluster width.
Historical reaction weight
Controls how quickly the influence of older reactions decreases.
Lower values cause historical reactions to lose influence more rapidly.
Level Selection
Resistance levels
Defines the maximum number of displayed resistance levels.
Support levels
Defines the maximum number of displayed support levels.
Maximum distance from price
Excludes clusters located too far from the current price.
Minimum spacing
Prevents several closely positioned levels from being displayed together.
Proximity priority
Controls how strongly proximity to the current price influences the final level selection.
Premium Appearance
This section allows users to customize:
support and resistance colors;
line style;
line thickness;
line transparency;
label transparency;
label position;
spacing between labels;
the starting point of each level line.
📌 Practical Use
A conservative approach is to treat each line as the calculated center of a broader area of interest rather than as an exact price for an automatic trade entry.
When price approaches a level, traders may additionally evaluate:
candle behavior;
trend direction;
market structure;
volume;
current volatility;
the nature of the initial interaction;
a breakout and subsequent retest of the area.
To Display Fewer but More Selective Levels
Consider increasing:
Pivot confirmation;
Minimum reactions;
Minimum spacing.
To Create a More Sensitive Market Map
Consider decreasing:
Pivot confirmation;
Minimum reactions.
Higher sensitivity may also increase the number of less significant reaction areas.
For highly volatile instruments, the ATR cluster width setting may require adjustment.
For markets with broad long-term price ranges, the Range cluster width setting may have a greater influence on the calculations.
🔔 Alerts
The indicator includes two alert conditions:
price crossing above an active reaction level;
price crossing below an active reaction level.
A crossing is determined by comparing the previous bar’s closing price with the current bar’s closing price.
To receive alerts only after a candle has been confirmed, select Once Per Bar Close when creating the PulseWire alert.
✨ Originality of the Method
Adaptive Reaction Zones is not a simple combination of several standard indicators.
Confirmed pivots and ATR are used only as individual components within a unified calculation process.
Pivots provide confirmed price-reaction points, while ATR allows the calculations to adapt to changing market volatility.
The core methodology follows a structured sequence:
detecting confirmed price reactions;
evaluating the quality of each reaction;
adaptively grouping nearby reactions into clusters;
weighting reactions according to their recency;
evaluating cluster tightness and historical role reversal;
calculating a composite cluster score;
selecting support and resistance levels independently;
filtering out overlapping and excessively distant levels.
The purpose of this approach is not to display every possible market extreme.
Instead, the algorithm identifies a limited number of price areas that have the highest relevance according to the combined history, quality, density, and recency of previous market reactions.
⚠️ Limitations
The indicator uses price data only and does not account for:
fundamental events;
market news;
corporate reports;
macroeconomic factors.
Confirmed pivots always appear with a delay equal to the selected Pivot confirmation value.
This delay is a necessary part of confirming a local extreme and is not a calculation error.
New reactions may change:
the composition of a cluster;
the calculated center of an area;
the ranking of a level;
the set of lines displayed on the chart.
Results may be less stable on instruments with low liquidity, large price gaps, or insufficient historical data.
A historical reaction does not mean that price will necessarily reverse from the same area in the future.
The indicator highlights algorithmically identified areas of previous price interaction, but it does not guarantee the outcome of the next interaction with a level. Indicator

FVG Support & ResistanceAuto FVG Target (1:2 RR)
This indicator automatically detects bullish and bearish Fair Value Gaps (FVGs) and helps traders visualize potential trade setups using a fixed Risk-to-Reward framework.
Features
Automatic detection of Bullish and Bearish Fair Value Gaps.
Clear FVG box visualization on the chart.
Entry signals based on price rejecting the Fair Value Gap and closing outside the zone.
Fixed Stop Loss calculated using the gap size (1× gap).
Automatic Take Profit based on a fixed 1:2 Risk-to-Reward ratio.
Buy and Sell labels for easy signal identification.
Configurable display settings for FVG visualization.
Designed to work across multiple markets and timeframes.
How It Works
A bullish Fair Value Gap is identified when the current candle's low is above the high of two candles earlier. A bearish Fair Value Gap is identified when the current candle's high is below the low of two candles earlier.
The indicator monitors these imbalance zones and waits for price to interact with them. When price rejects an FVG and closes outside the zone, a potential trade setup is generated. The stop loss is based on the size of the Fair Value Gap, while the take-profit target is automatically set to a fixed 1:2 Risk-to-Reward ratio.
Intended Use
This indicator is designed as a chart analysis tool to assist with identifying Fair Value Gap opportunities. It does not predict future price movement or guarantee profitable trades. Users should always combine its signals with their own analysis, risk management, and trading plan.
Notes
Works on all timeframes.
Suitable for Forex, Crypto, Indices, Commodities, and Stocks.
Best used alongside market structure, liquidity concepts, or other confirmation tools.
Historical results and plotted signals should not be considered a guarantee of future performance. Indicator

Trend Context Trend Context is a market-regime indicator designed to help traders identify whether the current market environment is predominantly bullish, bearish, or neutral.
Rather than relying on a single moving-average crossover or momentum oscillator, the indicator combines several normalized market characteristics into one composite regime model:
• Price location relative to an adaptive baseline
• Direction and strength of the baseline slope
• Recent price momentum
• Position within the recent trading range
• Directional efficiency
• Current volatility relative to its historical average
The objective is not to predict the next candle. Trend Context is designed to provide structured directional context that can be used as a market filter, confirmation layer, or visual framework for an existing trading strategy.
✦ Core Concept
Not every movement above or below a moving average represents a meaningful trend.
Markets frequently move in an irregular, inefficient manner, producing price fluctuations without sustained directional progress. Trend Context evaluates both the direction of price movement and the quality of that movement before confirming a new market regime.
A directional state is activated only when several independent components support the same conclusion.
This helps reduce unnecessary regime changes caused by isolated candles or short-term market noise.
⚙️ How the Indicator Works
1. Directional Efficiency
The indicator first measures how efficiently price has moved over the selected lookback period.
Directional efficiency compares:
• The absolute distance between the current price and the price at the beginning of the measurement period
• The sum of all individual price changes during that same period
A value closer to 1 indicates a relatively direct movement.
A value closer to 0 indicates that price has moved back and forth without making meaningful directional progress.
Directional efficiency influences both the adaptive baseline and the confidence applied to the final regime score.
2. Adaptive Baseline
Trend Context calculates a fast exponential moving average and a slow exponential moving average.
The directional-efficiency value determines how these two averages are blended:
• During efficient directional movement, the baseline shifts closer to the faster average
• During noisy or inefficient movement, the baseline remains closer to the slower average
The blended value is then smoothed again to reduce unnecessary fluctuations.
This creates a baseline that can respond more quickly during directional conditions while remaining more stable during irregular or sideways markets.
3. Volatility-Adjusted Context Zone
The indicator creates an upper and lower context boundary around the adaptive baseline.
The width of this zone is based on Average True Range, or ATR. It is also adjusted by comparing current ATR with its average value over the selected volatility lookback period.
This adjustment is bounded to prevent unusually quiet or volatile conditions from producing excessively narrow or wide zones.
As a result:
• The context zone expands as volatility increases
• The context zone contracts as volatility decreases
The active boundary provides a visual representation of the current directional context. It should not be interpreted as guaranteed support or resistance.
📊 Composite Regime Score
The market regime is calculated using four normalized components.
Price Location
Measures how far price is positioned above or below the adaptive baseline.
The distance is normalized by ATR so that the calculation remains comparable across instruments with different prices and volatility levels.
Baseline Slope
Measures whether the adaptive baseline is rising or falling.
The slope is normalized using ATR and the selected slope period.
Momentum
Measures the change in price over the selected momentum period.
This component is also normalized by ATR.
Range Position
Measures where the current price is located within its recent high-to-low range.
A position near the upper part of the range supports a bullish regime, while a position near the lower part supports a bearish regime.
The four components are combined using configurable weights. The resulting value is then adjusted by directional efficiency.
The final regime score is constrained between -1 and +1:
• Positive values support a bullish regime
• Negative values support a bearish regime
• Values close to zero indicate an uncertain or neutral environment
◇ Confirmed Three-State Regime Model
Trend Context uses three market states:
UP
NEUTRAL
DOWN
UP Regime
An UP regime requires:
• The composite score to exceed the activation threshold
• Price to remain above the adaptive baseline
• Directional efficiency to meet the minimum requirement
• The conditions to remain valid for the selected number of confirmation bars
DOWN Regime
A DOWN regime requires:
• The composite score to move below the negative activation threshold
• Price to remain below the adaptive baseline
• Directional efficiency to meet the minimum requirement
• The conditions to remain valid for the selected number of confirmation bars
Neutral Regime
The indicator returns to a neutral state when the absolute regime score remains inside the defined neutral zone for the required number of bars.
Regime transitions and UP/DOWN labels are confirmed only after the candle closes.
This confirmation process is intended to reduce rapid state changes caused by individual candles.
🎯 Visual Interpretation
UP Context
During an UP regime:
• The lower context boundary is displayed
• The area between price and the lower boundary is highlighted with the selected UP color
• An optional UP label appears when the regime changes into the bullish state
The active lower boundary represents bullish market context. It is not an automatic entry level or guaranteed support zone.
DOWN Context
During a DOWN regime:
• The upper context boundary is displayed
• The area between price and the upper boundary is highlighted with the selected DOWN color
• An optional DOWN label appears when the regime changes into the bearish state
The active upper boundary represents bearish market context. It is not an automatic entry level or guaranteed resistance zone.
Neutral Context
During a neutral regime, neither directional ribbon is active.
This means that the combined calculations do not currently provide sufficient evidence for a confirmed bullish or bearish market state.
How to Use Trend Context
Directional Filter
The indicator can be used to filter trades according to the active market regime.
For example:
• Consider bullish setups while the indicator is in the UP state
• Consider bearish setups while the indicator is in the DOWN state
• Reduce directional exposure or wait for additional confirmation during neutral conditions
Trend Context is not a complete entry system. Entry timing, stop-loss placement, position sizing, and profit targets must be defined separately.
Pullback Context
The active boundary and ribbon can help traders assess pullbacks within the current directional regime.
A return toward the active context zone is not an automatic trade signal.
It may be combined with:
• Market structure
• Support and resistance
• Candlestick confirmation
• Volume analysis
• A separate execution model
Higher-Timeframe Context
Trend Context can also be applied to a higher timeframe to identify the broader market regime while entries are managed on a lower timeframe.
Because market behaviour differs between instruments and timeframes, settings should be tested on the specific market being traded.
⚙️ Main Settings
Adaptive Baseline
Price Source
Selects the price series used in the calculations.
Fast Smoothing Length
Controls the faster exponential moving average.
Slow Smoothing Length
Controls the slower exponential moving average.
Efficiency Measurement Length
Defines the period used to measure directional efficiency.
Final Baseline Smoothing
Controls the final smoothing applied to the adaptive baseline.
Regime Model
Volatility Length
Sets the ATR calculation period.
Volatility Context Length
Defines the period used to compare current ATR with its historical average.
Baseline Slope Length
Controls the period used to calculate the baseline slope.
Momentum Length
Defines the period used for the momentum component.
Range Position Length
Sets the recent high-to-low range used in the range-position calculation.
Context Zone Multiplier
Controls the width of the volatility-adjusted context zone.
Regime Activation Threshold
Determines how strong the composite score must be before a directional regime can be activated.
A higher value produces fewer and more selective regime changes. A lower value increases sensitivity.
Neutral Zone Threshold
Defines how close the composite score must be to zero before the market can return to a neutral state.
Minimum Directional Efficiency
Prevents directional states from being activated when price movement is considered too inefficient.
Direction Confirmation Bars
Defines how many consecutive confirmed bars are required before an UP or DOWN state is activated.
Neutral Confirmation Bars
Defines how many consecutive bars inside the neutral zone are required before the indicator returns to a neutral state.
Component Weights
The indicator allows users to adjust the relative contribution of:
• Price location
• Baseline slope
• Momentum
• Range position
The total weight is normalized automatically, so the settings represent the relative importance of each component.
Visual Settings
Users can independently control:
• UP, DOWN, and neutral colors
• Trend ribbon visibility
• Active boundary visibility
• Adaptive baseline visibility
• Baseline visibility during neutral conditions
• Price-bar coloring
• UP and DOWN transition labels
🔔 Alerts
Alert conditions are available for:
• A confirmed transition into the UP regime
• A confirmed transition into the DOWN regime
These alerts indicate a change in market context. They should not be interpreted as automatic buy or sell orders.
Important Limitations
Trend Context is a reactive indicator based on historical price and volatility data. It does not predict future prices.
Like all trend and market-regime tools, it may react with a delay after sudden reversals and may produce repeated state changes during sideways or unstable conditions.
Increasing the activation threshold, minimum directional efficiency, or confirmation-bar settings may reduce sensitivity, but it will also delay regime transitions.
Decreasing these values will make the indicator respond faster, but may increase the number of short-lived or false regime changes.
Trend Context should be used together with independent risk management, position sizing, and trade validation.
This indicator is provided for analytical and educational purposes and does not constitute financial advice. Indicator

Liquidity Sweep + TargetLiquidity Sweep + Target
This indicator detects liquidity sweeps — moments where price wicks beyond a recent swing high or low to trigger stops/liquidity, then closes back inside the range (a classic stop-hunt / SFP pattern). Once a sweep is confirmed, the indicator automatically plots a target level for the expected reversal move.
How it works:
Identifies swing highs and lows using an adjustable pivot lookback.
Bearish Sweep: price wicks above the last swing high but closes back below it → signals potential downside reversal, target plotted below.
Bullish Sweep: price wicks below the last swing low but closes back above it → signals potential upside reversal, target plotted above.
Target calculation: choose between (1) the next opposite-side liquidity level (previous swing point) or (2) a fixed risk:reward multiple of the sweep range — fully configurable in settings.
Features:
Clean sweep labels (bullish/bearish) plotted directly on the chart
Dashed target lines with price labels
Adjustable pivot sensitivity, wick threshold, and RR multiple
Built-in alert conditions for both bullish and bearish sweeps
How to use it:
Wait for a sweep label to print, then look for confirmation (structure shift, momentum candle, or your own entry trigger) before acting on the plotted target. This tool identifies liquidity grabs — it does not predict direction with certainty, so always combine with proper risk management. Indicator

Seasonality [theUltimator5]Seasonality is a unique multi-timeframe price-pattern indicator that projects the typical historical path of an asset through the current year, month, week, or trading day.
Rather than averaging raw prices, this indicator normalizes each historical period to its opening value. This allows periods with very different price levels to be compared on an equal basis. The normalized historical paths are then combined using either the median or arithmetic mean to create a 'seasonal' curve. The term 'seasonal' is used loosely since that generally applies to the yearly trends, but this indicator can break down the chart into shorter timeframes to show periodic trends rather than just yearly ones.
The current-period curve is projected forward across the chart, providing a visual estimate of where price has historically tended to strengthen, weaken, consolidate, or reverse during comparable portions of previous periods.
The indicator supports four profiling modes:
1) Yearly : Uses daily bars to compare the current year with previous years.
2) Monthly : Uses hourly bars to compare the current month with previous months.
3) Weekly : Uses 30-minute bars to compare the current week with previous weeks.
4) Daily : Uses 5-minute bars to compare the current trading day with previous trading days.
Each mode should be used on a chart timeframe at or below its native calculation timeframe:
Yearly: 4-hour through daily charts
Monthly: 15-minute through hourly charts
Weekly: 5-minute through 30-minute charts
Daily: 1-minute through 5-minute charts
A warning is displayed when the selected chart timeframe is outside the recommended range.
The seasonal pattern is calculated from a rolling historical window.
For example, a lookback of 20 in Yearly mode uses up to the previous 20 years. A lookback of 20 in Daily mode uses the previous 20 observed trading days.
The calculation only includes periods that actually traded during each seasonal slot. Holidays, missing sessions, shortened sessions, and unavailable bars are excluded rather than treated as zero values.
Two averaging methods are available:
1) Median is the default method. The median reduces the influence of unusually strong or weak historical periods and often produces a more representative seasonal path.
2) Mean calculates the standard arithmetic average of all available historical observations. This method is more responsive to extreme historical moves and is not recommended on symbols that have experienced volatility on a lookback time period orders of magnitude higher than the other periods. It will completely blow out the chart and skew it towards that single outlier period.
The indicator includes three methods for positioning the normalized seasonal curve on the current price chart.
1) Scale Only (Default)
The seasonal curve is vertically rescaled so its projected high-to-low range matches the actual high-to-low range of either the current or previous period.
The curve remains anchored to the current period’s first close.
This retains the historical seasonal shape while adapting its magnitude to the asset’s recent volatility.
2) Chained — No Fit
The original normalized seasonal path is anchored to the first close of the current period.
Historical curves are chained together so the end of one period connects continuously with the beginning of the next. No additional adjustment is made to match the asset’s current trading range.
3) Rotate & Scale
This mode applies the same range adjustment as Scale Only, then gradually rotates the current-period curve so it passes through the live price at the current bar.
The adjustment begins at zero near the start of the period and increases progressively toward the current bar. This allows the future seasonal path to remain connected to current price without abruptly shifting the entire curve.
Because this mode incorporates the live price, the projected curve can change as the current period develops.
When using Scale Only or Rotate & Scale, the user can choose which actual price range controls the vertical scaling.
1) Current Period uses the developing high and low of the current year, month, week, or day.
The curve may rescale as new highs or lows occur.
2) Previous Period uses the completed high and low of the prior period.
This creates a more stable projection that does not continually rescale during the current period.
The Draw Curve Back setting controls how many completed periods are displayed behind the current seasonal projection.
Historical seasonal curves are shown in gray and are chained together into a continuous path. The current period is displayed separately using the selected seasonality color.
Displaying previous curves can help identify how the rolling seasonal model evolved over time and whether the current projection is consistent with earlier versions of the model.
Higher draw-back settings may require more processing, particularly on intraday charts.
Smoothing
A trailing simple moving average can be applied along the seasonal curve.
A smoothing value of 1 disables smoothing. Higher values reduce short-term noise but may also soften or delay smaller seasonal turning points.
Min/Max Envelope
The minimum and maximum lines show the strongest and weakest normalized historical paths observed at each seasonal point within the selected lookback.
These lines use the same normalization, chaining, smoothing, scaling, and rotation calculations as the primary seasonal curve.
Because different slots may contain different sample sizes, the minimum and maximum lines should be interpreted as a historical range rather than a guaranteed boundary.
Current-Period Projection
For completed portions of the current period, the curve is aligned with actual timestamps.
For seasonal slots that have not yet occurred, the indicator projects timestamps forward so the curve extends into the future.
Seasonality describes recurring historical tendencies. It does not predict that price must follow the displayed curve.
Indicator

PTHLC Previous Timeframe High, Low, and ClosePTHLC — Previous Timeframe High, Low, and Close
PTHLC is a multi-timeframe market-structure indicator that displays the previous completed candle’s high, low, and close from a user-selected timeframe.
Unlike standard previous-day indicators, PTHLC can be applied to intraday or higher timeframes, making it useful for tracking levels from the previous 15-minute, 1-hour, 4-hour, daily, or other selected candle.
Major Features
Previous Timeframe Levels
The indicator plots:
PTH — Previous Timeframe High
PTL — Previous Timeframe Low
PTC — Previous Timeframe Close
The levels are based on the previous fully completed candle to provide stable, non-repainting reference points.
Automatic Timeframe Adjustment
When the selected reference timeframe is lower than the chart timeframe, the indicator automatically uses the chart timeframe instead of producing an error.
This allows the script to remain active as traders move between chart timeframes.
Confirmed Breach Detection
PTH and PTL are considered breached only after price closes beyond the level.
A close above PTH confirms a high breach.
A close below PTL confirms a low breach.
Breached levels are visually distinguished from active levels.
Bullish and Bearish Retest Logic
After a confirmed breach, PTHLC tracks the first return to the level.
A retest that closes above the level is classified as Retest Bullish.
A retest that closes below the level is classified as Retest Bearish.
The line, label, and table status update to reflect the retest direction.
Directional Previous Close
PTC provides immediate directional context:
Bullish when price is above PTC
Bearish when price is below PTC
Neutral when price is at PTC
PTC logic remains separate from the breach and retest logic used for PTH and PTL.
What Makes PTHLC Unique
Most previous-level indicators only plot static support and resistance lines.
PTHLC adds a complete level-state framework:
Active → Breached → Bullish or Bearish Retest
This helps traders quickly identify whether a previous timeframe level is untouched, broken, successfully held, or rejected after a retest.
PTHLC is designed for traders who use multi-timeframe structure, liquidity levels, breakout confirmation, support-and-resistance flips, and retest-based directional bias.
This indicator is intended as a market-analysis tool and does not provide guaranteed trade signals. Indicator

Indicator

Williams VIX Fix Elite [MarkitTick]💡 The Williams VIX Fix Elite is a comprehensive, overlay-based technical analysis system designed to bring the powerful volatility-tracking properties of the traditional Williams VIX Fix directly onto the main price chart. By synthesizing statistical volatility extremes with an array of multi-timeframe trend filters, volume confirmation parameters, and dynamic risk management plotting, this tool transcends basic observation. It provides traders with a complete, structured methodology for identifying high-probability exhaustion zones and potential market reversals while strictly managing risk.
✨ Originality and Utility
Standard volatility indicators are almost exclusively relegated to separate oscillator panes at the bottom of the chart. This traditional placement forces the user to constantly shift their visual focus, often leading to a disconnect between volatility metrics and actual price action. This indicator resolves that friction by mapping volatility exhaustion directly onto the candlesticks themselves through an intuitive color-coded heatmap.
Furthermore, the utility of this script lies in its holistic approach to signal generation. Rather than providing isolated volatility alerts, it acts as a confluence engine. It mandates that a volatility spike must be corroborated by higher timeframe trend alignment, adequate localized volume, directional momentum, and specific standard deviation thresholds before generating an actionable signal. This transforms a simple oscillator concept into a robust, chart-integrated trading framework complete with dynamically calculated risk-to-reward parameters, rendering it highly useful for both discretionary analysis and automated alert integrations.
🔬 Methodology and Concepts
● The Volatility Engine
• Williams VIX Fix (WVF)
At its core, the script calculates the Williams VIX Fix. It does this by measuring the percentage drawdown of the current bar's low from the highest closing price over a user-defined lookback period. This mathematical approach creates a synthetic volatility index that mirrors the behavioral characteristics of the CBOE VIX, where high values indicate market fear and potential bottoms.
• Statistical Bounds
To determine when the WVF has reached a statistically significant extreme, the script applies Bollinger Bands to the WVF data. It calculates a Simple Moving Average (SMA) of the WVF and plots standard deviation bands around it. A "Spike" is registered when the WVF value breaches the upper Bollinger Band or a percentile-based historical high threshold.
● Confluence Filtering
• Higher Timeframe (HTF) Alignment
The script extracts moving average data from a user-selected higher timeframe. It assesses whether the higher timeframe's closing price and dual-period EMAs exhibit a bullish or bearish hierarchy, ensuring signals are not taken against the macro-directional flow.
• Volatility and Volume Validation
A signal is only considered valid if the localized volatility, measured by the Average True Range (ATR), exceeds its historical average multiplied by a strict threshold. Additionally, the localized volume must exceed its moving average, confirming that the reversal is backed by market participation.
• Signal Execution and Risk Logic
When all conditions align (a volatility spike followed by a directional reversal candle, validated by all filters), the script locks in the signal upon the bar's close. It immediately calculates a Stop Loss utilizing an ATR multiplier and projects three Take Profit levels mathematically derived from user-defined Risk-to-Reward (R:R) ratios.
🎨 Visual Guide
● Chart Overlay Elements
• Candlestick Heatmap
The indicator repaints the standard chart candles to reflect the immediate signal bias. A confirmed Long signal colors the candlestick body, borders, and wicks in a distinct bullish hue (default teal). Conversely, a confirmed Short signal paints the candle in a bearish hue (default red). Neutral periods retain a standard gray tone.
• Dynamic Trade Levels
Upon signal confirmation, the script automatically plots horizontal lines detailing the trade parameters:
Stop Loss Line: A solid, thick line plotted below (for longs) or above (for shorts) the entry price, acting as the primary risk invalidation level.
Entry Line: A dashed line marking the exact closing price of the signal candle.
Take Profit Lines: Three sequential dashed lines representing TP1, TP2, and TP3, mapping out the reward targets.
The space between the Stop Loss and Entry is highlighted with a semi-transparent risk linefill, while the space extending toward the Take Profit targets is highlighted with a reward linefill, visually contrasting the risk against the potential payout.
● The Interactive Dashboard
A dedicated data panel is rendered on the chart (default top-right) providing real-time telemetry of the script's internal calculations.
WVF Value & Spike Level: Displays the raw volatility index number alongside a visual progress bar indicating how close the current value is to the historical threshold.
HTF & Trend Bias: Textually confirms the current macro and localized trend alignment (Bullish/Bearish).
Volume & ATR: Confirms whether current volume is above or below average and displays the exact ATR value.
R:R Ratio: A visual gauge of the current signal's risk-to-reward structure.
Cooldown Status: Displays the remaining bars before a new signal can be generated, preventing over-signaling during congested price action.
📖 How to Use
● Execution Protocol
• Step 1: Signal Identification
Wait for a colored signal candle to print on the chart. A teal candle signifies a Long opportunity, while a red candle signifies a Short opportunity. Always wait for the candle to fully close, as signals are only validated upon bar confirmation to ensure accuracy.
• Step 2: Dashboard Verification
Consult the on-chart dashboard. Ensure that the "Spike Level" gauge was heavily filled prior to the signal, and visually confirm that the "HTF Bias" and "Trend Bias" align with your intended trade direction. Verify that the "Volume" metric indicates "Above Avg" for optimal setup quality.
• Step 3: Risk Assessment
Observe the plotted trade levels. The visual linefills will immediately show you the required risk (the distance from the dashed Entry line to the solid Stop Loss line). Assess whether this required risk fits within your personal account parameters. If the ATR has expanded too aggressively, the stop loss may be too wide, and the setup should be skipped.
• Step 4: Trade Management
If the trade is entered, utilize the plotted TP1, TP2, and TP3 lines as scaling-out points. The script also includes automated JSON alert outputs designed for third-party execution platforms, allowing users to fully automate the Long, Short, and Take Profit hit actions.
⚙️ Inputs and Settings
● Core Settings
• WVF Lookback: Defines the historical period used to find the highest close for the volatility drawdown calculation.
• BB Length & BB Mult: Controls the Simple Moving Average length and the standard deviation multiplier applied to the WVF. Lowering the multiplier increases sensitivity to volatility spikes.
• Percentile HH Lookback & High % Threshold: An alternative absolute-threshold filter based on a percentage of the highest historical WVF values.
● Filters
• HTF Resolution: Select the specific higher timeframe used for the macro trend validation.
• ATR Length & Min Mult: Defines the lookback for the Average True Range and the multiplier required to validate adequate localized volatility.
• Min Spike Above BB %: A Z-score threshold ensuring the volatility spike is mathematically severe before triggering a signal.
• Volume Avg Length & Min Mult: Dictates the volume moving average parameters required for trade confirmation.
• Cooldown Bars: The mandatory resting period (in bars) between valid signals to eliminate redundant alerts.
● Trade Tools & Alerts
• SL ATR Mult: The multiplier applied to the current ATR to calculate the Stop Loss distance from the entry price.
• TP1, TP2, TP3 R-Multiple: Dictates the reward distance for target lines relative to the calculated Stop Loss risk.
• Alert Actions: String inputs allowing the user to customize the JSON payload commands sent to automated webhook services.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
● Behavioral Finance and Volatility Asymmetry
The underlying architecture of this indicator is deeply rooted in the academic principles of behavioral finance, specifically the asymmetry of market participant reactions. Financial markets typically exhibit a "stealth" characteristic during uptrends (low volatility, steady buying) and a "panic" characteristic during downtrends (high volatility, aggressive selling). The Williams VIX Fix capitalizes on this behavioral asymmetry by focusing exclusively on drawdowns from peak closes. By quantifying this localized panic, the script provides a mathematical representation of capitulation—a state where sell-side liquidity is exhausted, and rational market equilibrium is poised to return.
● Gaussian Distribution and Standard Deviation Anomalies
To objectively define an "exhaustion point," the script relies on the statistical concept of normal distribution. By applying a Simple Moving Average to the raw volatility data, it establishes a baseline mean of market stress. The inclusion of Standard Deviation bands (Bollinger Bands) allows the system to measure dispersion from this mean. When the volatility index breaches the upper band, it represents an anomaly—an event occurring outside the expected standard deviation threshold. Statistically, extreme deviations from the mean are unsustainable, implying an imminent reversion. This indicator isolates these rare deviations to time market entries.
● The Role of True Range in Risk Normalization
Risk management within the script is governed by the Average True Range (ATR), a concept introduced by J. Welles Wilder. The True Range accounts for absolute price movement, including gap openings, providing a more comprehensive measure of market kinetic energy than standard percentage changes. By tying the Stop Loss and Take Profit levels dynamically to the ATR, the script automatically normalizes risk across different market environments. In a highly volatile state, the ATR expands, naturally widening the stop loss to avoid premature invalidation from market noise. In a compressed state, the ATR contracts, tightening the risk parameters. This dynamic adaptation ensures that the statistical risk profile of each trade setup remains proportional to the current localized market geometry.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Indicator

Volume Profile Levels - POC, Value Area, HVP/LVPVolume Profile Levels — POC, Value Area, HVP/LVP
OVERVIEW
This indicator builds a fixed-range volume profile over a user-defined lookback window and extracts its key structural levels as horizontal lines: the Point of Control (POC), the Value Area boundaries (VAH/VAL), and local High/Low Volume Peaks (HVP/LVP). The goal is not the histogram itself but the levels it produces — clean, alertable support/resistance derived from where volume actually traded.
HOW IT WORKS
Volume distribution. For each bar in the lookback window, its volume is distributed evenly across the price bins that the bar's high–low range spans. The full range of the window is divided into a configurable number of rows.
POC and Value Area. The POC is the bin with the highest accumulated volume. The Value Area is expanded outward from the POC, adding the larger neighboring bin at each step, until the target percentage of total volume (70% by default) is covered.
HVP / LVP detection. A bin qualifies as a High Volume Peak when it is a local maximum and exceeds the bin average by a configurable multiplier. A Low Volume Peak is a local minimum below the average by a configurable multiplier. Up to six levels of each type are shown, ranked by volume.
MTF mode. The profile can be calculated on a higher timeframe while displayed on the current chart. In MTF mode the lookback is counted in higher-timeframe bars, and the histogram can be hidden automatically to keep the chart readable while the levels remain.
FEATURES
- Fixed-range volume profile with adjustable lookback, row count, and Value Area percentage
- POC, VAH/VAL, HVP, and LVP levels drawn as lines across the analyzed range
- Optional profile histogram on the right or left side of the chart
- Higher-timeframe profile calculation with automatic histogram hiding
- Three label modes: full text labels, minimal dots, or both
- Diagnostics table showing the profile's range, bin size, total volume, and level counts
ALERTS
All alerts use the generic alert() function: create one alert on the indicator with "Any alert() function call" and enable the events you want in the settings.
- POC / VAH / VAL cross (close crossing the level)
- HVP / LVP level cross (optional; can be noisy)
- SR Flip: after a level is broken, the alert fires if price retests the level with a wick within a configurable bar window while the close holds the breakout direction
- Value Area entry / exit
NOTES
- The profile is an approximation: volume is split evenly across each bar's range, as tick-level data is not available in Pine. Results depend on the chart timeframe and the lookback setting.
- Levels are recalculated on every bar, so they shift as the window rolls forward. This is a rolling analysis tool, not a fixed anchored profile.
- Works on any symbol that provides volume data. Indicator
