Indicator

Indicator

Indicator

Indicator

3 EMA Trend by TradeZeneThree EMAs in 1 Indicator
Overview
The 3 EMAs in 1 Indicator is a clean, lightweight trend-following tool that plots three customizable Exponential Moving Averages (EMAs) on a single chart, making it easy to identify the short-, medium-, and long-term market trend at a glance.
Designed for traders who prefer simplicity over clutter, this indicator provides visual trend confirmation through subtle background coloring while keeping the chart clean and easy to read.
Features
✅ Three fully customizable EMAs
EMA 1 (Default: 9)
EMA 2 (Default: 27)
EMA 3 (Default: 108)
✅ Individual show/hide options for each EMA
✅ Automatic trend background
Light Blue: Price is above EMA 2 (Bullish Bias)
Light Orange: Price is below EMA 2 (Bearish Bias)
✅ Lightweight and fast
Works smoothly on all timeframes and market instruments.
Suggested Usage
Many traders use the three EMA combination to:
Identify the overall market trend
Stay on the right side of momentum
Filter counter-trend trades
Improve trade selection alongside price action
Combine with support/resistance, VWAP, market structure, or volume analysis
This indicator is intentionally simple so it can fit into almost any trading strategy.
Default Settings
EMA 1: 9
EMA 2: 27
EMA 3: 108
These values can be customized to suit your trading style.
Disclaimer
This indicator is provided for educational and informational purposes only. It should not be considered financial or investment advice. Trading involves risk, and past performance does not guarantee future results. Always perform your own analysis and manage risk appropriately.
If you find this indicator useful, please consider giving it a 👍, adding it to your favorites, and share with your trader friends.
Happy Trading! Indicator

EZ$ PB Blake v1.0EZ$ PB Blake is a standalone indicator built around PB Blake’s four-step trading model:
HTF Bias + Draw on Liquidity → Valid Key Level → Highest-TF IFVG Confirmation → Entry
It is designed to keep the model clean and structured rather than filling the chart with every possible FVG or ICT concept.
The indicator first determines whether the market is bullish or bearish by looking at how Daily, 4H, 1H and optional 15M FVGs are being respected or disrespected. It then identifies the likely BSL or SSL draw on liquidity.
Next, it looks for valid PB-style key levels from the 3M, 5M, 15M, 30M, 1H and 4H, including FVGs, ITL/ITH levels, CISDs and rejection blocks.
Once price reaches a valid key level, the indicator identifies the manipulation leg and searches the 1M through 5M for the highest-timeframe IFVG inside that leg.
The actual signal only appears after the proper IFVG timeframe gets a confirmed body close through the gap:
PB LONG
or
PB SHORT
Settings Guide
1. HTF Bias + Draw on Liquidity
Bias Mode
Auto FVG Respect — recommended
Manual Bullish
Manual Bearish
Auto mode scores the 1D / 4H / 1H / 15M based on FVG respect/disrespect.
Minimum Absolute Bias Score
Default: 2
Higher number = stricter bias
I would leave this at 2 initially
DOL Swing TF
Default: 1H
Used to locate the swing high/low serving as the likely draw.
You'll see:
BSL • DOL for bullish
SSL • DOL for bearish
2. Valid Key Levels
Default timeframes are all enabled:
3M / 5M / 15M / 30M / 1H / 4H
The script can select:
FVG
ITL / ITH
CISD
RB = Rejection Block
I recommend leaving all of these timeframe toggles ON initially because PB uses different key-level timeframes depending on the setup.
The dashboard might say something like:
KEY: 15M FVG
or
KEY: 1H RB
3. IFVG Confirmation
This is the most important section for the actual entry.
Default:
1M / 2M / 3M / 4M / 5M = ON
The indicator searches those timeframes and selects the highest-timeframe IFVG inside the manipulation leg.
Example:
If the leg contains:
1M IFVG ✅
2M IFVG ✅
3M IFVG ✅
4M IFVG ❌
5M IFVG ❌
then the script waits for the:
3M IFVG
—not the 1M.
The dashboard will show:
WAIT 3M CLOSE
Then a confirmed body close through that IFVG can generate the signal.
I intentionally left the 30-second IFVG out of the default model.
4. Execution / Risk
Golden Hour
Default: 9:30–11:00 AM ET
Recommended: ON
Maximum Signals per Session
Default: 2
That matches the spirit of PB's limited-trade approach.
Show Safest Swing Stop Reference
ON by default
Displays the manipulation swing as a visual stop reference.
This is only a reference, not an automatic order.
Dashboard
The bottom-right dashboard is basically your checklist:
PB BIAS — Bullish / Bearish / Wait
1D / 4H — individual HTF states
1H / 15M — additional bias context
DOL — BSL or SSL
KEY — active PB key level
MODEL — current setup stage
SESSION — Golden Hour or Outside
SIGNALS — how many PB signals have fired
The most useful MODEL states are:
WAIT BIAS
→ WAIT KEY
→ WAIT TOUCH
→ WAIT 1M/2M/3M/4M/5M CLOSE
→ PB LONG / PB SHORT
So the simplest way to use the indicator is:
Let the dashboard walk you through PB Blake's process instead of manually hunting every concept on the chart. Indicator

Indicator

Global Sessions IST - High/Low & Range DashboardOverview
Global Sessions IST is a lightweight, clean, and highly customizable session tracking tool designed specifically for traders operating in Indian Standard Time (IST). It dynamically highlights the active market hours for Asia (Tokyo/Hong Kong), London, and New York, helping you identify liquidity sweeps, session ranges, and key intraday turning points without cluttering your price action.
Key Features
IST Native Alignment: Built from the ground up for Indian Standard Time (UTC+5:30), mapping out global session open and close times accurately.
Minimalist Session Boxes: Visualizes session High, Low, and price movement using soft, customizable box fills and subtle border styles.
On-Chart Mini Dashboard: A real-time summary table positioned in the top-right corner that updates each session's:
Session High
Session Low
Total Point Range
DST (Daylight Saving Time) Toggle: Easily adjust London and New York session times by +1 hour with a single setting toggle during summer/winter shifts.
Fully Customizable Visuals: Toggle session boxes, adjust fill opacity, change session colors, or hide the dashboard entirely for a pure price-action view.
How to Use
Identify Session Ranges: Observe how price builds high and low points during the Asian consolidation phase.
Monitor Session Overlaps: Keep an eye on the high-liquidity London–New York overlap (6:30 PM – 9:00 PM IST) for major breakout or reversal trades.
Analyze Range Expansion: Use the mini dashboard to gauge session volatility in points/pip range before entering trades.
Reflective Thought
"What is night for all beings is the time of awakening for the self-controlled."
True market discipline requires awareness when others are asleep. Keep your charts clean, execution sharp, and risk management paramount. Indicator

Indicator

Indicator

Market Structure with ATR trailing stop [EDGE]Market Structure with ATR trailing stop — Multi-Timeframe Structure + ATR Trailing Stop.
A precision market-structure tool that goes beyond a simple pivot indicator by combining SMC-style swing detection, multi-timeframe CHoCH/BOS tracking, and a school-standard ATR trailing stop — all adapted automatically to the chart timeframe.
How it works:
The indicator scans pivot highs and lows using an SMC-calibrated Length (automatically picked for the current timeframe or set manually). Each broken pivot is classified as CHoCH (character change, phase start) or BOS (continuation) using your chosen breakout method — Wick, Body, or 2-Close confirmation. The same logic is mirrored across D1, H4, H1 and M5 in a summary table, so you always see whether the higher timeframes agree with the current one.
What it calculates:
- Swing pivots with HH / HL / LH / LL classification (optional labels)
- CHoCH / BOS counter — "UP (C)", "UP (C+1)", "DOWN (C+2)" — showing phase maturity per timeframe
- Trend direction on D1 / H4 / H1 / M5 in one summary table
- ATR trailing stop with EMA basis and one-directional ratcheting
- Live ATR% with a dynamic percentile-based "normal range" window
- Distance to trailing stop in %
Key features:
- Auto Length by timeframe (SMC standard: M5 = 7, H1 = 15, H4 = 20, D1 = 30 …)
- Three breakout modes: Wick (early), Body (default), 2-Close (conservative)
- Auto ATR multiplier and EMA basis per timeframe — sourced from Raschke, Carter, Chandelier Exit, Minervini, Wilder and Weinstein school standards
- Multi-timeframe trend dashboard with CHoCH/BOS phase counter
- Dynamic ATR% range (percentile lookback) — instant read on whether volatility is normal, muted or hot
- Configurable trailing-stop history window (2 or 10 last ranges)
- Optional HH / HL / LH / LL swing labels
- Fully customizable up/down colors
- Built-in alerts: trend flip up, trend flip down, stop touch up, stop touch down
- Disabled on timeframes below 5M with an on-chart notice — the indicator is calibrated for 5M and above
Who it's for:
Traders who want a single, opinionated structure tool that reads the market the same way institutional and SMC playbooks do — with automatic parameters that respect every timeframe, a clean multi-TF dashboard, and a trailing stop built from real trading-school standards rather than arbitrary defaults. Indicator

Multi-Timeframe Support & Resistance Levels# Soportes y Resistencias Multi-TF
> ⬇️ **Todo lo que sigue hasta la línea de "FIN DE LA DESCRIPCIÓN" es el texto que va pegado tal cual en el campo de descripción de PulseWire al publicar.** Después de esa línea hay consejos para vos, que NO se pegan ahí.
## 📌 Resumen
**Soportes y Resistencias Multi-TF** detecta automáticamente niveles horizontales de soporte y resistencia a partir de pivotes de precio, y los adapta a cada temporalidad de forma independiente. A diferencia de un indicador de S/R genérico con parámetros fijos, este script recalcula tres variables clave (sensibilidad de detección, tolerancia de agrupado, y ventana de historial) según el timeframe activo, para que los niveles sean igual de limpios y relevantes tanto en 1 minuto como en semanal, sin que el usuario tenga que reconfigurar nada al cambiar de TF.
## ⚙️ Cómo funciona
1. **Detección de pivotes**: el script identifica máximos y mínimos locales (`pivot high` / `pivot low`) usando una cantidad de velas de confirmación a cada lado (lookback), que se ajusta automáticamente según el timeframe.
2. **Agrupado por tolerancia**: cada pivote nuevo se compara contra los niveles ya detectados. Si cae dentro de un porcentaje de tolerancia (también auto-escalado por TF), se fusiona con el nivel existente y suma un "toque"; si no, se registra como un nivel nuevo.
3. **Filtro de vigencia por antigüedad**: el sistema descarta de la memoria los niveles cuyo último toque sea demasiado viejo, priorizando que la memoria del indicador se mantenga poblada de precios recientes en vez de quedar ocupada por niveles históricos irrelevantes.
4. **Ventana de historial dinámica**: solo se dibujan niveles cuyo último toque ocurrió dentro de una ventana de días que también se auto-escala por TF (desde 1 día en gráficos de 1 minuto hasta 2 años en semanal), evitando que resistencias o soportes de hace meses tapen la acción de precio actual.
5. **Separación mínima garantizada**: antes de dibujar, el indicador exige que cada nivel visible esté separado del resto por al menos la tolerancia configurada, evitando el efecto de "franja sólida" que producen otros indicadores similares cuando hay mucho ruido de precio.
6. **Ranking por relevancia**: de todos los niveles vigentes, solo se dibujan los N más relevantes (configurable), priorizando primero por cantidad de toques y luego por recencia.
## 🎨 Cómo leer el indicador
| Elemento | Significado |
|---|---|
| Línea verde clara / naranja clara | Nivel con 1 solo toque |
| Línea verde media / roja media, etiqueta "doble" | Nivel con 2 toques |
| Línea verde oscura / roja oscura, etiqueta "x3", "x4"... | Nivel con 3 o más toques (mayor relevancia estructural) |
| Grosor de línea | Aumenta con la cantidad de toques |
| "S" | Soporte |
| "R" | Resistencia |
Cuanto más gruesa y oscura la línea, más veces el precio reaccionó ahí — mayor probabilidad de que vuelva a actuar como zona de decisión.
## 🔧 Parámetros configurables
- **Tolerancia manual (%)**: 0 = automática por TF. Subila si querés niveles más "gruesos" (agrupa zonas más amplias); bajala para mayor precisión quirúrgica.
- **Máximo de niveles en memoria**: cuántos niveles distintos puede recordar el indicador antes de empezar a descartar los más antiguos. Subilo en TFs altos (Diario/Semanal) con mucha historia.
- **Máximo de niveles visibles**: cuántas líneas se dibujan en pantalla simultáneamente. Menos = gráfico más limpio; más = mayor contexto.
- **Lookback manual de pivotes**: 0 = automático por TF. Controla qué tan "sensible" es la detección de un pivote.
- **Días de historial manual**: 0 = automático por TF. Define qué tan atrás se considera relevante un nivel.
- **Barras de extensión**: cuánto se proyectan las líneas hacia la derecha del último precio.
- **Mostrar etiquetas de toques**: activa/desactiva las etiquetas "S x3", "R doble", etc.
## 📈 Recomendaciones de uso
- **Scalping (1m–15m)**: dejá todo en automático. La ventana de historial corta evita que niveles de hace semanas contaminen el gráfico.
- **Intradía / Swing (30m–4h)**: funciona bien como confirmación de zonas de entrada/salida junto con estructura de mercado o velas japonesas.
- **Posicional (Diario/Semanal)**: subí el "máximo de niveles en memoria" si operás activos con mucha historia, para no perder niveles estructurales importantes.
- Combinalo con volumen o un indicador de tendencia para filtrar falsos rechazos en niveles de un solo toque.
## ⚠️ Limitaciones
- Es un indicador de estructura de precio, no genera señales de compra/venta.
- Los niveles se recalculan y pueden desplazarse levemente hasta que un pivote queda confirmado (lag inherente a cualquier detección de pivote).
- El comportamiento pasado de un nivel no garantiza reacción futura del precio.
---
*Este script no constituye asesoría financiera. Es una herramienta de análisis técnico visual; toda decisión de trading es responsabilidad del usuario.* Indicator

Indicator

Price Action Compass [Artillery]Price Action Compass is a price-action checklist indicator that enforces five classic price-action entry rules as one system. It classifies the market as UPTREND, DOWNTREND or TRADING RANGE and only prints a signal when every rule for the current mode agrees, so the chart itself enforces a disciplined process instead of leaving each condition to memory.
WHAT IT DOES
1) Trend Rule - trend is defined by fast/slow EMA structure plus EMA slope over a lookback, so signals only ever point with the trend.
2) No Counter-Trend Rule - long setups are blocked in a downtrend and short setups are blocked in an uptrend.
3) Trading Range Rule - when the range height over the lookback stays under an ATR-based cap, the script switches to range mode and only looks for fades at the edges: buys in the lower edge zone, sells in the upper edge zone.
4) Second-Entry Rule - in trend mode the script counts pullback entries against the EMA and, by default, only signals the second entry (a pullback attempt that failed once and then resumed). First attempts are skipped as the statistically weakest.
5) Signal Bar Rule - the entry bar itself must qualify: a minimum body-to-range ratio, a close in the top portion of the bar for buys (bottom for sells), and a maximum bar size in ATR terms so entries are not taken on climactic bars.
WHY THESE FIVE TOGETHER
Each rule alone is a well-known discretionary filter. The point of combining them is that they form a single state machine: the mode decides which rules apply, the entry counter tracks setup quality within that mode, and the signal-bar test validates the exact bar you would enter on. Removing any one of them changes the behaviour of the whole, which is why they are published as one tool rather than separate scripts.
The five-rule framework is the classic price-action methodology taught by Al Brooks, in the summarized form popularised by Thomas Wade. The concept credit belongs to them; all code in this script is original, written from scratch using only Pine built-ins, with no third-party or reused open-source code.
WHAT YOU SEE ON THE CHART
- BUY / SELL labels on qualifying bars (tagged "2nd" when the second-entry rule produced them)
- Signal-bar highlighting on bars that pass Rule 5
- The fast/slow EMA pair with a shaded structure zone between them
- Projected stop and target zones for the most recent signal, based on the SL buffer and R:R inputs (drawn for reference, not as advice)
- A compact dashboard showing Mode, entry counts in each direction, current signal-bar quality, the active signal state, session signal count and the configured R:R
INPUTS
Direction (Both / Long Only / Short Only), Trend (fast EMA, slow EMA, slope lookback), Trading Range (lookback, max height as ATR multiple, edge zone percent), High-Probability Setup (require 2nd entries), Signal Bar (min body/range, close strength, max size in ATR), Risk (stop buffer in ticks, R:R target) and Visuals (label sizes, dashboard position, five colour themes). Defaults were chosen for liquid intraday futures on 1-15 minute charts, but every threshold is exposed so the tool can be tuned to any symbol or timeframe.
ALERTS
Three alert conditions are included: BUY signal, SELL signal, and Any signal.
BEHAVIOUR NOTES
Signals are evaluated on the live bar and confirmed at bar close, so a forming signal can appear and disappear until its bar closes. The script uses no higher-timeframe requests and no lookahead. It draws up to 500 labels/lines/boxes, so very dense charts recycle the oldest drawings first.
This is an educational and analytical tool for studying price action. It does not predict future results and it is not financial advice. Indicator

Indicator

Polaris Sessions, Ranges, Levels & Liquidity StateSession ranges for Asia, London and New York, plus the reference levels a
session trader actually works from — with the state of each one shown rather
than left to be eyeballed.
WHAT IT DRAWS
• Asia, London and New York ranges, each labelled with the points it covered
• Session midlines — the 50% of each range
• Session highs and lows carried forward after the session closes. The range
stops mattering when the bell goes; the extremes do not. The Asia high is a
level through London and New York.
• Prior day high and low
• Overnight high and low
• Initial balance (first 60 minutes of the NY session) with a projected
extension of its own range
• Opening range, minutes configurable
• A shaded corridor between the last closed session's high and low, so you can
see at a glance whether price is still inside the range that session built
THE PANEL
Live session, today's three ranges, and whether the prior-day and overnight
levels are still intact or have been swept. "Intact" is the useful state — it
marks a price the market has not yet reached.
HOW IT BEHAVES
Sessions are defined against the exchange clock using session strings, so they
stay correct through daylight-saving changes and on charts opened from any
timezone. The CME day opens at 18:00 New York time, which is why the overnight
window spans 18:00 to 09:30 and crosses midnight.
Levels are drawn once, when the session closes and every value is final, and are
never modified afterwards. A level on a historical bar cannot move.
A session that was already in progress on the first bar your chart loaded is
skipped rather than measured. Its opening range would otherwise be "the first
sixty minutes of whatever happened to load", which changes as you scroll. The
leftmost day may therefore show no levels. That is deliberate.
Initial balance and opening range are hidden on timeframes too coarse to measure
them — an "initial balance" taken from a single 1H bar is just that bar's range.
Use a 1H chart or finer; the script says so on the chart if you are above that.
SETTINGS WORTH KNOWING
• Detail — Minimal, Balanced, Everything, or Custom. Balanced is the default.
Everything draws roughly forty objects per day of history, which is why it is
not: a level you cannot pick out of a stack is not a level.
• Days of history — how many sessions to keep drawn.
• Carry which sessions — by default only the session that just closed keeps a
corridor. Once London has closed, Asia's range is a level rather than a
corridor, and the prior-day and overnight lines already carry it.
• Carry for (bars) — how far session extremes project after the close. Bars,
not minutes: on a 1m chart 240 bars is four hours.
• Closed session box — fade, outline, keep or hide a box once its session ends.
Fading leaves the live session as the only solid block on the chart, so you
can see which session you are in without reading a clock.
• Label spacing — levels closer together than this share one label instead of
stacking. The line is always drawn; only the redundant text is suppressed.
• Timezone — defaults to New York.
• Every session window is editable if your instrument keeps different hours.
Nothing here is a signal or a recommendation. A prior day high is a price that
printed; what you do with it is your business. Indicator

Market Clock | Candle & Session Timer
Market Clock — Candle & Session Timer
Market Clock is a multi-timeframe trading clock designed to make market timing easier to see at a glance.
Most candle countdown tools answer a single question: How much time is left in the current candle?
Market Clock expands that idea into a compact timing dashboard. It simultaneously tracks the active chart candle, higher-timeframe candle development, and important market-session events so traders can understand not only how much time remains, but where they currently are within the market's timing structure.
MULTI-TIMEFRAME CANDLE CLOCKS
Market Clock monitors three timing layers simultaneously:
Chart Timeframe — automatically follows the active chart
Higher Timeframe 1 — configurable by the user
Higher Timeframe 2 — configurable by the user
Each active candle displays its remaining time alongside its percentage of completion.
This can be particularly useful for traders who use lower timeframes for execution while relying on higher timeframes for confirmation. Instead of switching charts simply to check when a higher-timeframe candle closes, Market Clock keeps those clocks visible from the current chart.
CANDLE PROGRESS
Time remaining tells only part of the story.
Market Clock also visualizes how far each candle has progressed through its lifespan using a segmented progress meter and percentage reading.
This provides immediate context for questions such as:
Is this higher-timeframe candle just beginning, or is it approaching confirmation?
A setup appearing during the first portion of a candle may carry very different implications from the same setup appearing moments before that candle closes.
As candles approach completion, the progress display changes state to make late-stage candles easier to recognize.
CLOSING WARNING
The final seconds of a candle can be particularly important when waiting for candle-close confirmation.
Market Clock includes a configurable Closing Warning Threshold. When an active candle enters this window, its timer changes state and the dashboard status changes to CLOSING.
This makes approaching closes visible without requiring the trader to continually watch the countdown.
MARKET EVENT COUNTDOWNS
Trading does not occur only according to candle boundaries. Important market-session transitions have their own clocks.
Market Clock currently tracks:
NY Cash Open
Countdown to the 9:30 AM New York equity-market open.
London Close
Countdown to the London session close.
These events appear in a dedicated Next Events section and automatically roll forward to the next trading day.
When an event enters the configurable Event Soon Threshold, Market Clock highlights the approaching event and changes its overall status to EVENT SOON.
DESIGNED FOR MULTI-TIMEFRAME TRADERS
Market Clock can complement many trading styles, but it was designed especially with multi-timeframe analysis in mind.
A trader might, for example, execute from a 5-minute chart while simultaneously monitoring the completion of the 1-hour and 4-hour candles. The lower timeframe provides execution detail while Market Clock keeps the larger timing structure visible.
This can be useful for:
Candle-close confirmation
Breakout and rejection setups
Multi-timeframe confluence
Session-open preparation
Intraday and swing-trading workflows
Traders waiting for higher-timeframe confirmation before execution
CUSTOMIZATION
The dashboard can be adapted to different workflows. Traders can independently control the chart-timeframe clock, two higher-timeframe clocks, progress meters, market-event countdowns, status display, dashboard position, text size, warning thresholds, and other display elements.
This allows Market Clock to function as either a compact candle timer or a more complete multi-timeframe timing dashboard.
DESIGN PHILOSOPHY
Price receives most of a trader's attention, but time is the other axis of every chart.
A candle's meaning develops not only from where price trades, but from how much time remains before that information becomes finalized.
Market Clock was built around that idea.
Instead of asking only:
“Where is price?”
Market Clock adds another question:
“Where are we in time?”
For traders who wait for closes, monitor several timeframes, or structure trades around major session transitions, that context can be just as valuable. Indicator

Indicator

SMCNexusFactsCoreV2SMCNexusFactsCoreV2 is an open-source, non-visual Pine Script library that maintains confirmed and bounded Smart Money Concepts market facts for use by importing indicators.
The library provides a stateful market-facts engine for swing structure, BOS, CHoCH, MSS, Fair Value Gaps, Order Blocks, liquidity pools, liquidity sweeps, Premium/Discount context and EMA-based context.
It does not draw chart objects, create inputs, request other timeframes, generate alerts, transmit data, calculate trade recommendations or place orders. The importing indicator supplies all chart series and decides how the returned facts are displayed or used.
ORIGINAL CONCEPT AND PURPOSE
The library maintains one consistent, confirmed market-state model instead of calculating unrelated labels independently.
Confirmed swing points become the shared source for:
• HH, HL, LH and LL classification,
• market bias,
• Break of Structure,
• Change of Character,
• Market Structure Shift,
• buy-side and sell-side liquidity pools,
• Premium and Discount dealing ranges.
Fair Value Gaps and Order Blocks use bounded lifecycle records. The library retains only a limited number of objects for each type and direction, preventing unbounded array growth.
Visual settings are not part of this library. An importing indicator can hide or show its own presentation without changing the underlying facts maintained by Facts Core.
CONFIRMED-ONLY PROCESSING
The importing indicator explicitly tells the library whether the current bar is confirmed.
Canonical state changes occur only when confirmed data is supplied. This includes:
• new swing confirmation,
• BOS or CHoCH confirmation,
• MSS confirmation,
• creation of FVG and Order Block facts,
• zone tests and mitigation,
• liquidity-pool creation and collection,
• sweep confirmation.
The library does not use future chart data, negative visual offsets to rewrite history or hidden lookahead requests.
MARKET STRUCTURE
The stateful swing engine stores the latest and previous confirmed swing highs and lows.
It classifies confirmed swings as:
• HH — Higher High
• HL — Higher Low
• LH — Lower High
• LL — Lower Low
The structure model tracks:
• latest swing prices,
• origin bars,
• swing types,
• current market bias,
• consumed structure levels,
• latest break type and direction,
• latest MSS direction and bar.
BOS AND CHOCH
A confirmed break can require a candle close beyond the structure level, depending on the supplied configuration.
The current market bias and the direction of the broken swing determine whether the event represents continuation or a Change of Character.
The library preserves the confirmed event level, direction, origin and confirmation bar in the returned snapshot.
MARKET STRUCTURE SHIFT
MSS can require:
• a confirmed close through structure,
• a previous opposite bias,
• a displacement candle,
• a minimum ATR-based displacement.
These requirements are provided through FactsConfiguration. The library does not silently relax a missing requirement.
FAIR VALUE GAPS
The library detects bullish and bearish three-candle imbalances from caller-supplied OHLC data.
Optional ATR filtering can require a minimum imbalance size.
Each FVG fact can contain:
• direction,
• upper and lower boundaries,
• origin bar and time,
• confirmation bar,
• mitigation state,
• invalidation state,
• test count,
• fill percentage,
• latest test bar,
• origin volume,
• origin average volume,
• origin Premium/Discount location,
• bounded strength,
• displacement confirmation.
ORDER BLOCKS
Order Block facts are created from a bounded lookback and can require a confirmed BOS or MSS.
The configuration controls whether candle bodies or full candle ranges define the zone.
Each Order Block uses the same auditable lifecycle metadata as an FVG, including origin, tests, fill, mitigation, invalidation, volume, relative volume context, strength and displacement confirmation.
ZONE LIFECYCLE
A zone can be:
• available,
• tested,
• partially filled,
• mitigated,
• invalidated.
The test counter and fill percentage are updated from confirmed interaction with the stored zone boundaries.
The library does not invent missing origin metadata. If a fact cannot be associated with a valid source, the unavailable value remains unavailable.
LIQUIDITY
The library maintains bounded arrays of confirmed swing-high and swing-low liquidity references.
It derives:
• BSL — Buy-Side Liquidity,
• SSL — Sell-Side Liquidity,
• EQH — Equal Highs,
• EQL — Equal Lows.
Equal-level classification uses the supplied ATR-based tolerance rather than exact floating-point equality.
Liquidity metadata includes:
• side and type,
• level,
• origin bar,
• collection state,
• collection time,
• sweep type and level.
A pool origin is preserved only when its price is genuinely associated with the originating swing. The library does not transfer unrelated swing metadata to a new liquidity level.
LIQUIDITY SWEEPS
Depending on configuration, a sweep can require price to move beyond the stored pool and close back inside it.
The returned snapshot distinguishes BSL and SSL sweep facts. A sweep is a confirmed market fact, not a BUY or SELL recommendation.
PREMIUM AND DISCOUNT
The library can build a dealing range from confirmed swing extremes.
The returned context can contain:
• range high,
• range low,
• equilibrium,
• current Premium, Discount or Equilibrium classification.
An unavailable or invalid range remains unavailable rather than using a synthetic fallback.
EMA AND CONTEXT FACTS
The importing indicator supplies the configured fast, medium and slow EMA values together with available higher-timeframe context.
Facts Core returns bounded contextual facts such as:
• EMA trend state,
• price relation to EMA values,
• available higher-timeframe trend and bias context.
The library does not request higher-timeframe data itself. This keeps data ownership and confirmation timing inside the importing indicator.
BOUNDED STATE
The implementation uses explicit limits:
• maximum six zones for each kind and direction,
• maximum eight swing references for each side.
This prevents unlimited state growth and makes runtime behavior predictable.
PUBLIC API
Exported records:
• FactsConfiguration
• ZoneFact
• FactsState
• StructureFacts
• ZoneFacts
• LiquidityFacts
• ContextFacts
• FactsSnapshot
Exported functions:
• contractVersion()
• defaultConfiguration()
• newState()
• advance(...)
• snapshotValid(...)
TYPICAL USAGE
An importing indicator should:
1. Create one persistent FactsState.
2. Create or resolve a FactsConfiguration.
3. Supply confirmed OHLCV, ATR, EMA and available context values to advance().
4. Store the returned state.
5. Read the returned FactsSnapshot.
6. Validate the snapshot with snapshotValid().
7. Present or transport only facts that are actually available.
Conceptual example:
```pine
import AreXoN_/SMCNexusFactsCoreV2/1 as facts
var facts.FactsState state = facts.newState()
facts.FactsConfiguration configuration =
facts.defaultConfiguration()
= facts.advance(
state,
configuration,
barstate.isconfirmed,
bar_index,
time,
open,
high,
low,
close,
volume,
atr14,
emaFast,
emaMedium,
emaSlow,
higherTimeframeTrend,
higherTimeframeBias,
localContext)
state := stateNext
bool validSnapshot = facts.snapshotValid(snapshot)
```
The example is conceptual. The exact function signature in the published source is authoritative. Replace the example import with the exact path assigned by PulseWire.
WHY THE CHART IS CLEAN
This is a non-visual market-facts library. It intentionally creates no plots, labels, boxes, lines, tables or chart drawings.
The publication chart is therefore intentionally clean and contains no other indicators or unexplained visual elements. An importing indicator is responsible for visual presentation.
LIMITATIONS
• Facts are based on the chart OHLCV series supplied by the importer.
• Swing confirmation necessarily occurs after the configured right-side bars.
• The library does not provide native bid/ask data, footprint or real order flow.
• Chart volume may be broker tick volume rather than centralized exchange volume.
• It does not verify spread, slippage or broker execution.
• It does not request macroeconomic information.
• It does not produce trading signals or recommendations.
• It does not place, modify or close orders.
• It produces no visual chart output by itself.
Contract version: 1.0.0.
This library is an analytical and software-development component. It is not investment advice, a trading recommendation or an automated trading system. Library

SMCNexusTradePlanCoreV2SMCNexusTradePlanCoreV2 is an open-source, non-visual Pine Script library for deterministic candidate-plan geometry.
The library receives already-detected market facts from an importing indicator and resolves candidate Entry, protective Stop Loss, real target clusters, risk-to-reward values, confluence and fail-closed plan validity.
It does not scan the chart independently, predict future prices, generate guaranteed signals, place orders or fabricate missing levels. The importing indicator remains responsible for detecting and confirming market structure, zones, liquidity, pivots and other market facts.
ORIGINAL CONCEPT AND PURPOSE
The library converts confirmed analytical facts into auditable candidate-plan geometry using fixed source priorities and strict validation rules.
Every Entry, Stop Loss and target must originate from a real level supplied by the importing indicator. Missing or contradictory information remains unavailable instead of being replaced with a synthetic price.
ENTRY RESOLUTION
The candidate direction is derived from the primary bias supplied by the importing indicator.
For a BUY candidate, the Entry zone is selected from the first available source in this fixed order:
1. Bullish Order Block
2. Bullish Fair Value Gap
3. Discount half of the current dealing range
4. S1 pivot
For a SELL candidate, the fixed order is:
1. Bearish Order Block
2. Bearish Fair Value Gap
3. Premium half of the current dealing range
4. R1 pivot
The candidate Entry is the midpoint of the selected zone. A single-price pivot remains a single-price zone.
The library does not search for the best historical result and does not reorder sources according to later price movement.
STOP LOSS RESOLUTION
Stop Loss candidates are checked using a fixed protective hierarchy.
For BUY candidates, a valid Stop Loss must be below Entry. For SELL candidates, it must be above Entry.
The available candidates are checked in this order:
1. Opposite-side liquidity level
2. Direction-matching Order Block edge
3. Dealing-range edge
4. Directional pivot
A candidate located on the wrong side of Entry is skipped without changing the priority of the remaining sources.
If no supplied level is directionally valid, Stop Loss remains unavailable. The library never creates a Stop Loss from a fixed percentage or an arbitrary distance.
REAL TARGET SELECTION
Targets must be genuine levels supplied by the importing indicator.
Possible sources may include:
• liquidity pools,
• opposing Order Blocks,
• opposing Fair Value Gaps,
• confirmed swing levels,
• pivots,
• Premium, Discount or Equilibrium levels.
The importing indicator owns one bounded TargetCandidate array and decides which confirmed levels are eligible.
Each candidate contains:
• real price,
• source identifier,
• origin type,
• stable origin key,
• confirmation bar,
• direction,
• active state.
Candidates located on the wrong side of Entry are rejected. The origin used for Entry or Stop Loss can also be excluded from the target collection.
TARGET CLUSTERING
Several analytical sources may describe practically the same price area. The library groups nearby candidates into separate clusters using a caller-provided distance.
The distance can be calculated from ATR using clusterDistance(). ATR controls cluster separation only. It never creates, moves or estimates a target price.
The nearest real representative from the first separate cluster becomes TP1. The nearest representative outside the TP1 cluster becomes TP2. The nearest representative outside the first two clusters becomes TP3.
Every selected target is therefore an actual price supplied by the importing indicator.
STABLE ORIGIN KEYS
The library provides helpers for creating auditable source identities:
• zoneKey(...)
• liquidityKey(...)
• swingKey(...)
• pdKey(...)
• pivotKey(...)
These keys help the importing indicator identify duplicate sources and prevent the same analytical object from being reused incorrectly.
FINAL VALIDATION
The final resolver calculates:
• risk distance,
• reward to TP1, TP2 and TP3,
• RR1, RR2 and RR3,
• candidate order type,
• latest structural confirmation,
• directional confluence,
• final sanity status.
The geometry must satisfy all required conditions:
• Entry and Stop Loss are available,
• Stop Loss is on the protective side of Entry,
• targets are on the correct side of Entry,
• targets are ordered nearest-to-farthest,
• required target data is complete.
Invalid geometry returns a specific fail-closed status instead of displaying an apparently valid plan.
PUBLIC API
Typed records:
• EntryResult
• TargetCandidate
• TargetSelection
• FinalResult
Exported functions:
• resolveEntry(...)
• sameLevel(...)
• zoneKey(...)
• liquidityKey(...)
• swingKey(...)
• pdKey(...)
• pivotKey(...)
• addCandidate(...)
• selectTargets(...)
• clusterDistance(...)
• riskDistance(...)
• resolveFinal(...)
INTENDED USE
The importing indicator should:
1. Detect and confirm its own structure, zones, liquidity and pivots.
2. Pass the current facts to resolveEntry().
3. Add only genuine eligible levels to one bounded candidate array.
4. Call selectTargets() using an explicit cluster distance.
5. Pass Entry, Stop Loss, targets and contextual facts to resolveFinal().
6. Display a candidate only when the returned validity state permits it.
Conceptual example:
```pine
import AreXoN_/SMCNexusTradePlanCoreV2/1 as plan
plan.EntryResult entry = plan.resolveEntry(
primaryBias,
bullishObActive, bullishObHigh, bullishObLow,
bearishObActive, bearishObHigh, bearishObLow,
bullishFvgActive, bullishFvgHigh, bullishFvgLow,
bearishFvgActive, bearishFvgHigh, bearishFvgLow,
dealingRangeValid, dealingRangeHigh, dealingRangeLow,
equilibrium,
pivotS1Available, pivotS1,
pivotR1Available, pivotR1,
lastSsl, lastBsl)
array candidates =
array.new()
// Add only confirmed real levels detected by the importing indicator.
float distance = plan.clusterDistance(atrValue, 0.55)
plan.TargetSelection targets =
plan.selectTargets(
candidates,
entry.isBuy ? 1 : -1,
distance)
```
The example import path should be replaced with the exact path assigned by PulseWire after publication.
WHY THE CHART IS CLEAN
This is a non-visual calculation library. It intentionally creates no plots, labels, tables, lines or boxes.
The publication chart is therefore intentionally clean and contains no additional indicators, drawings or unexplained visual elements. Visual presentation is the responsibility of an importing indicator.
LIMITATIONS
• The result depends entirely on the confirmed facts supplied by the importing indicator.
• It is a mechanical analytical candidate, not a recommendation.
• It cannot verify live spread, slippage, broker StopLevel or execution rules.
• It does not provide native bid/ask order flow.
• It does not place, modify or close orders.
• Missing real levels produce an incomplete result by design.
• Risk-to-reward values describe supplied geometry and do not predict outcome.
• It produces no chart output by itself.
This library is an analytical and software-development component. It is not investment advice, a trading recommendation or an automated trading system. Library

SMCNexusConfigurationCoreV2SMCNexusConfigurationCoreV2 is an open-source, non-visual Pine Script library for resolving deterministic indicator configuration profiles and bounded visibility settings.
The library separates pure configuration decisions from market detection, chart state and presentation code. It does not generate signals, place orders or draw objects.
The importing indicator supplies its saved manual settings, chart timeframe and supported-symbol state. The library returns typed effective configuration records without calling input functions, requesting external timeframes or changing the importing script's saved settings.
ORIGINAL CONCEPT AND PURPOSE
The library implements three explicit configuration modes:
• MANUAL — preserves every value supplied by the importing indicator.
• AUTO — applies an exact predefined profile only when the supplied symbol and timeframe combination is explicitly supported.
• HYBRID — applies automatic values only to individually selected categories while preserving manual values for all other categories.
The implementation does not use nearest-timeframe guessing. An unsupported symbol or timeframe falls back to the supplied manual settings.
Detection parameters and visual settings are resolved separately. This prevents a visibility option from unintentionally disabling the underlying analytical calculation. For example, hiding a market-structure label does not remove the structure state used elsewhere by the importing indicator.
SUPPORTED PROFILE CONTEXT
The profile resolver distinguishes exact chart timeframes:
• M1
• M5
• M15
• M30
• H1
• H4
• D1
• W1
The importing indicator decides whether the current symbol is supported. If the symbol or timeframe is unsupported, the automatic profile is not applied.
CONFIGURATION CATEGORIES
The resolved configuration includes separate categories for:
• swing structure,
• Market Structure Shift requirements,
• Fair Value Gap parameters,
• Order Block parameters,
• liquidity and sweep parameters,
• volume-profile range settings,
• structure visibility,
• zone visibility,
• liquidity and Premium/Discount visibility,
• EMA, pivot and volume-marker visibility,
• panel and Trade Plan visibility,
• trendline and volume-profile visibility.
ADAPTIVE GRID RESOLUTION
The library also contains a bounded adaptive-grid resolver for importing scripts that build a volume-profile approximation.
The resolver receives:
• the manual tick floor,
• the instrument minimum tick,
• the current range low and high,
• the requested target number of bins.
It calculates:
• whether the result is valid,
• effective ticks per bin,
• effective bin size,
• maximum permitted span,
• actual span in ticks,
• applied scale.
The effective tick step is never lower than the supplied manual floor. The resolver increases the step using a power-of-two scale when the requested price span would exceed the bounded target. Invalid or incomplete inputs return an unavailable result instead of an invented value.
PUBLIC API
Typed result records:
• ProfileContext
• CoreConfiguration
• StructureVisibility
• ZoneVisibility
• ContextVisibility
• OverlayVisibility
• PanelVisibility
• AuxiliaryVisibility
• AdaptiveGridResolution
Exported resolvers:
• resolveAdaptiveGrid(...)
• resolveProfileContext(...)
• resolveCoreConfiguration(...)
• resolveStructureVisibility(...)
• resolveZoneVisibility(...)
• resolveContextVisibility(...)
• resolveOverlayVisibility(...)
• resolvePanelVisibility(...)
• resolveAuxiliaryVisibility(...)
INTENDED USE
An importing indicator first creates a ProfileContext. It then passes that context together with its saved manual settings to the required resolver.
Conceptual example:
```pine
import AreXoN_/SMCNexusConfigurationCoreV2/1 as config
config.ProfileContext profile = config.resolveProfileContext(
configurationMode,
supportedSymbol,
timeframe.period,
autoStructure,
autoMss,
autoFvg,
autoOb,
autoLiquidity,
autoVolumeProfile,
autoVisibility)
config.CoreConfiguration effective = config.resolveCoreConfiguration(
profile,
manualSwingLeft,
manualSwingRight,
manualRequireCloseBreak,
manualRequireOppositeBias,
manualRequireDisplacement,
manualDisplacementAtr,
manualFvgCount,
manualFvgAtrFilter,
manualFvgAtrSize,
manualObCount,
manualObLookback,
manualObStructureRequirement,
manualObBodyMode,
manualLiquidityLookback,
manualEqualLevelTolerance,
manualSweepCloseBack,
manualProfileMode,
manualProfileBars)
```
The example import path should be replaced with the exact path assigned by PulseWire after publication.
WHY THE CHART IS CLEAN
This is a non-visual configuration library. It intentionally creates no plots, labels, tables, lines or boxes.
The publication chart is therefore intentionally clean and contains no additional indicators, drawings or unexplained visual elements. An importing indicator is responsible for presenting the resolved settings.
LIMITATIONS
• Automatic profiles are applied only to exact supported combinations.
• The library does not optimize settings or claim that a profile is profitable.
• It does not independently inspect a symbol or identify a broker feed.
• It does not read live market data.
• It does not preserve state between executions.
• It does not place, modify or close orders.
• It produces no chart output by itself.
This library is a reusable software-development component. It is not investment advice, a trading signal or an automated trading system. Library

SMCNexusScoringCoreV2SMCNexusScoringCoreV2 is an open-source, non-visual Pine Script library that calculates a deterministic Smart Money Concepts evidence score from market facts supplied by an importing indicator.
The library does not independently read chart state, request other timeframes, generate trading signals, place orders or draw chart objects. Its purpose is to separate the scoring calculation from detection and presentation code, making every component reusable and independently auditable.
ORIGINAL CONCEPT AND PURPOSE
The library combines twelve bounded Smart Money Concepts evidence components into one normalized 0–100 result while retaining each individual component in the returned ScoreResult record.
It also provides optional event-age decay for selected structural evidence. This prevents an old BOS, CHoCH, MSS or liquidity sweep from retaining the same influence indefinitely.
The importing indicator is responsible for detecting and confirming market events. This library receives those facts through typed parameters and performs deterministic calculations only. It does not infer missing events or substitute unknown data.
CALCULATION METHOD
The twelve components are:
1. Market Structure Shift
2. Break of Structure
3. Change of Character
4. Fair Value Gap
5. Order Block
6. Liquidity context
7. Liquidity sweep
8. Premium or Discount location
9. Volume state
10. Momentum state
11. Local Smart Money context
12. Primary trend
Each component contributes a bounded value based on the supplied state. The component total is divided by twelve and normalized to a value from 0 to 100.
The resulting descriptive classes are:
• VERY WEAK
• WEAK
• NEUTRAL
• STRONG
• ELITE
These classes describe the supplied analytical evidence. They are not trading recommendations and do not predict future performance.
AGE DECAY
When age decay is enabled, the selected structural and sweep components use a linear age factor.
The factor:
• remains at 1.0 until the configured full-strength age,
• decreases linearly between the full-strength and zero-strength ages,
• reaches 0.0 at or beyond the configured zero-strength age.
If the supplied age window is invalid, the calculation fails safely to full strength instead of producing a negative or undefined weight.
PUBLIC API
ScoreResult
The returned record contains:
• all twelve effective components,
• effective MSS age factor,
• effective BOS/CHoCH age factor,
• effective sweep age factor,
• component total,
• normalized score,
• descriptive class,
• compact text representation.
calculate(...)
This function accepts typed, confirmed market facts and returns one ScoreResult record.
INTENDED USE
An importing indicator should:
1. Detect and confirm its own market-structure events.
2. Determine its current FVG, Order Block, liquidity, volume, momentum and trend states.
3. Pass those facts to calculate().
4. Read the normalized result or inspect the individual returned components for a complete breakdown.
Conceptual example:
```pine
import AreXoN_/SMCNexusScoringCoreV2/1 as scoring
scoring.ScoreResult result = scoring.calculate(
scoringEnabled,
ageDecayEnabled,
bar_index,
lastMssBar,
lastBreakBar,
lastSweepBar,
structureFullStrengthBars,
structureZeroStrengthBars,
sweepFullStrengthBars,
sweepZeroStrengthBars,
mssDirection,
breakType,
breakDirection,
fvgType,
fvgMitigated,
obType,
obMitigated,
liquidityContext,
sweepType,
premiumDiscountZone,
volumeState,
momentumState,
smartMoneyState,
primaryTrendState)
```
The example import path should be replaced with the exact path assigned by PulseWire after publication.
WHY THE CHART IS CLEAN
This is a non-visual calculation library. It intentionally creates no plots, labels, tables, lines or boxes. Visual output is the responsibility of an importing indicator.
The publication chart is therefore intentionally clean and contains no additional indicators or unexplained drawings.
LIMITATIONS
• Output quality depends on the facts supplied by the importing indicator.
• The library does not independently verify market events.
• It does not provide native bid/ask order flow or broker execution data.
• It does not account for spread, slippage or broker restrictions.
• It does not place, modify or close orders.
• It produces no chart output by itself.
• A score or class is not a guarantee of future market behavior.
This library is an analytical and software-development component. It is not investment advice or an automated trading system. Library

Indicator
