Swing Pivots - Market Structure High Low [zazenio]What is Market Structure?
Market structure is simply the pattern of highs and lows that price creates as it moves. When you look at any chart, you'll notice price doesn't move in a straight line — it swings up, pulls back, swings up again (in an uptrend), or the opposite in a downtrend.
These swing points — the peaks and valleys — are what traders call pivots. Identifying them correctly is the foundation of understanding where a market has been and where it might go next.
What This Indicator Does
Swing Pivots automatically marks these peaks and valleys on your chart so you don't have to draw them manually. It works on any market — stocks, crypto, forex, futures, indices — and on any timeframe.
How Pivots Are Detected
This indicator confirms pivots based on price structure, not a fixed bar count.
Here's how it works:
A swing high is confirmed when price breaks below the previous swing low. At that moment, we know the high was real — price tried to go higher, failed, and reversed. The market "proved" that level was a genuine turning point.
A swing low is confirmed when price breaks above the previous swing high. The same logic applies — price tried to go lower, failed, and reversed direction.
This creates a natural alternation: high, low, high, low. Each pivot is validated by the market's actual behavior, not by waiting for an arbitrary number of bars to pass.
Why This Matters
Most pivot indicators use a "lookback" method — they wait for a certain number of bars (say, 5 or 10) on each side of a candle before confirming it as a pivot. This creates a fixed delay. By the time the pivot appears on your chart, price has already moved on.
This indicator doesn't wait. It confirms pivots the moment price structure proves them. The result is pivots that align with how traders actually read charts — based on breaks of structure, not arbitrary countdowns.
Settings
Swing Width: Controls how sensitive the detection is. Higher numbers show only major swings; lower numbers capture smaller moves within the structure.
Style/Size/Colors: Customize how the pivot markers look on your chart.
Use Cases
See the "skeleton" of price action at a glance
Identify potential support and resistance levels
Understand if the market is trending or ranging
Build a foundation for more advanced concepts like Break of Structure (BOS) and Change of Character (CHoCH)
⸻
Disclaimer:
This script is provided for educational and informational purposes only. It is not financial advice and does not constitute a recommendation to buy or sell any financial instrument. Always do your own research and trade at your own risk.
SMC
SMC Pro [Stansbooth]
🔮 SMC × Fibonacci Confluence Engine — The Hidden Algorithm of the Markets
Welcome to a level of chart analysis where mathematics , market psychology , and institutional logic merge into one ultra-intelligent system.
This indicator decodes the true structure of price delivery by combining Smart Money Concepts with the timeless precision of Fibonacci ratios , revealing what retail traders can’t see — *the algorithmic heartbeat of the market*.
✨ What Makes This Indicator Different
Instead of drawing random lines or reacting to late signals, this tool **anticipates** market behavior by reading the footprints left behind by institutional algorithms. Every element is placed with purpose — every zone, every shift, every fib level — all forming a seamless narrative that explains *why* price moves the way it does.
🔥 Core Intelligence Features
Advanced BOS/CHOCH Auto-Detection — Spot structure shifts before momentum even forms.
Institutional Liquidity Mapping
— Identify liquidity pools, engineered sweeps, equal highs/lows, and trap zones designed by smart money.
Fibonacci-Aligned Precision Zones
— Auto-generated fib grids synced with SMC levels for pinpoint reversal and continuation setups.
Imbalance Engine
— FVGs, displacement, inefficiencies, and mitigation blocks displayed with crystal clarity.
Premium/Discount Algorithm
— Understand instantly whether price is in a zone of accumulation or distribution.
🚀 Designed for Traders Who Want an Edge
Whether you're scalping fast moves, capturing intraday swings, or holding higher-timeframe plays, this indicator provides a professional lens into the market. It turns complex price action into a structured, predictable system where every move has logic and every entry has confluence.
You don’t just see the chart —
you see the intention behind every push, pull, manipulation, and reversal.
💎 Why It Feels Like a Cheat Code
Because it mirrors the way institutions analyze the market:
— Identify liquidity
— Seek equilibrium
— Deliver price
— Create inefficiency
— Mitigate
— Continue the narrative
Using SMC and Fibonacci together unlocks the “algorithmic geometry” behind price movement, giving you clarity where others see chaos.
⚡ Trade With Confidence, Confluence & Control
This indicator isn’t just a tool.
It’s a complete trading framework — structured, intelligent, and deadly accurate.
Master the markets.
Decode the algorithm.
Trade like smart money .
SMC-Math by Thomas v1📌 SMC-Math by Thomas v1 — Description
SMC-Math by Thomas v1 is a complete Smart Money Concepts toolkit designed for traders who want a clean, mathematical, and structured view of market mechanics.
Rather than relying on abstract concepts or subjective drawings, this indicator focuses on rules-based detection of:
✔ Order Blocks (OB)
✔ Fair Value Gaps (FVG)
✔ Market Structure shifts (BoS / CHoCH)
✔ HTF trend confirmation
✔ Premium / Discount arrays
✔ Equal High & Equal Low Liquidity Zones (no hinting — expiry only)
This version is engineered for stability, clarity, and performance — with fully optimized array management, timestamp-based cleanup, and a clean visual presentation suitable for both discretionary and systematic trading.
📌 Key Features
🔹 1. Order Blocks (Bullish & Bearish)
Auto-detected using fractal swing highs/lows
Optional displacement + high volume filters
Midline display option
HTF trend alignment filter
Smart expiry + broken OB cleanup
Custom opacity, buffer, and extension controls
🔹 2. Fair Value Gaps (FVG)
Bullish and bearish gap detection
HTF confirmation-based dimming
No border for a clean ICT-style visuals
Auto remove when filled
Fully rule-based
🔹 3. Market Structure (BoS / CHoCH)
Based on fractal highs/lows
Automatic labeling (small, unobtrusive)
Direction validated by HTF option
Each structure level plotted with a projected line
Smooth, clean BOS/CHOCH flow
🔹 4. Premium / Discount Zones
Auto-calculated from most recent swing high & swing low
Box shading dynamically updates each bar
Helps identify optimal trade areas (OB → FVG → PD array)
🔹 5. Liquidity Zones (Equal Highs & Equal Lows)
This tool highlights where liquidity is likely resting:
Detects Equal Highs and Equal Lows using your tolerance or max difference
Auto-creates borderless shaded boxes
Adjustable box height and extension
NO hinting logic — the box remains for exactly cleanupDelay bars, then expires
Clean and predictable behavior, ideal for rule-based setups
This is especially useful for:
identifying buy-side and sell-side liquidity pools
anticipating runs on liquidity
targeting sweeps
🔹 6. HTF Status Panel
Shows higher-timeframe trend status on the live bar:
Bullish
Bearish
Or “HTF Not Required”
Useful for aligning entries with larger market flow.
📌 How to Use SMC-Math by Thomas v1
1️⃣ Identifying Direction
Start by reading:
HTF Trend Label
BOS & CHOCH reactions
Bullish: look for HL → HH structure + bullish OBs + bullish FVGs
Bearish: look for LH → LL structure + bearish OBs + bearish FVGs
This creates your directional bias.
2️⃣ Using Order Blocks
An OB is valid when:
It appears in line with structure
HTF alignment supports it (optional toggle)
Price returns after a displacement
OB is not “broken” (indicator handles this visually)
Use OBs as:
Rebalance targets
Entry areas
Stop placement logic
3️⃣ Fair Value Gaps
FVGs appear when price dislocates and leaves inefficiency.
Use them to:
Refine entries inside OBs
Project premium/discount zones
Identify continuation zones
The indicator auto-removes FVGs when filled.
4️⃣ Liquidity Zones
Liquidity zones identify resting orders at equal highs/lows.
This version uses simple expiry logic:
Box is created when EQH/EQL forms
It remains visible for 20 bars (default)
It disappears automatically after expiry
No hint/confirmation triggers deletion
Usage tips:
Expect price to run toward these zones
Use them as targets or continuation markers
Combine with OB/FVG for confluence
5️⃣ Premium / Discount Zones
Use PD arrays to gauge:
Premium = optimal shorting zones
Discount = optimal long zones
Not trade “in the middle” unless a clear BOS or CHoCH happens
📌 Recommended Workflow
HTF Bias → Check the HTF panel
Market Structure → Identify trend continuation or reversal
Liquidity → Mark where price is likely to target
FVG → Identify imbalance zones
OB → Confirm institutional origin points
PD Arrays → Determine optimal trade location
Execute with confluence
📌 Who Is This Indicator For?
✔ Traders using ICT / SMC logic
✔ Traders wanting rule-based, non-subjective markups
✔ Traders who want automated detection without repainting
✔ Anyone who uses OB, FVG, liquidity sweeps, and structure shifts
Fair Value Gap Signals [Kodexius]Fair Value Gap Signals is an advanced market structure tool that automatically detects and tracks Fair Value Gaps (FVGs), evaluates the quality of each gap, and highlights high value reaction zones with visual metrics and signal markers.
The script is designed for traders who focus on liquidity concepts, order flow and mean reversion. It goes beyond basic FVG plotting by continuously monitoring how price interacts with each gap and by quantifying three key aspects of each zone:
-Entry velocity inside the gap
-Volume absorption during tests
-Structural integrity and depth of penetration
The result is a dynamic, information rich visualization of which gaps are being respected, which are being absorbed, and where potential reversals or continuations are most likely to occur.
All visual elements are configurable, including the maximum number of visible gaps per direction, mitigation method (close or wick) and an ATR based filter to ignore insignificant gaps in low volatility environments.
🔹 Features
🔸 Automated Fair Value Gap Detection
The script detects both bullish and bearish FVGs based on classic three candle logic:
Bullish FVG: current low is strictly above the high from two bars ago
Bearish FVG: current high is strictly below the low from two bars ago
🔸 ATR Based Gap Filter
To avoid clutter and low quality signals, the script can ignore very small gaps using an ATR based filter.
🔸Per Gap State Machine and Lifecycle
Each gap is tracked with an internal status:
Fresh: gap has just formed and has not been tested
Testing: price is currently trading inside the gap
Tested: gap was tested and left, waiting for a potential new test
Rejected: price entered the gap and then rejected away from it
Filled: gap is considered fully mitigated and no longer active
This state machine allows the script to distinguish between simple touches, multiple tests and meaningful reversals, and to trigger different alerts accordingly.
🔸 Visual Ranking of Gaps by Metrics
For each active gap, three additional horizontal rank bars are drawn on top of the gap area:
Rank 1 (Vel): maximum entry velocity inside the gap
Rank 2 (Vol): relative test volume compared to average volume
Rank 3 (Dpt): remaining safety of the gap based on maximum penetration depth
These rank bars extend horizontally from the creation bar, and their length is a visual score between 0 and 1, scaled to the age of the gap. Longer bars represent stronger or more favorable conditions.
🔸Signals and Rejection Markers
When a gap shows signs of rejection (price enters the gap and then closes away from it with sufficient activity), the script can print a signal label at the reaction point. These markers summarize the internal metrics of the gap using a tooltip:
-Velocity percentage
-Volume percentage
-Safety score
-Number of tests
🔸 Flexible Mitigation Logic (Close or Wick)
You can choose how mitigation is defined via the Mitigation Method input:
Close: the gap is considered filled only when the closing price crosses the gap boundary
Wick: a full fill is detected as soon as any wick crosses the gap boundary
🔸 Alert Conditions
-New FVG formed
-Price entering a gap (testing)
-Gap fully filled and invalidated
-Rejection signal generated
🔹Calculations
This section summarizes the main calculations used under the hood. Only the core logic is covered.
1. ATR Filter and Gap Size
The script uses a configurable ATR length to filter out small gaps. First the ATR is computed:
float atrVal = ta.atr(atrLength)
Gap size for both directions is then measured:
float gapSizeBull = low - high
float gapSizeBear = low - high
If useAtrFilter is enabled, gaps smaller than atrVal are ignored. This ties the minimum gap size to the current volatility regime.
2. Fair Value Gap Detection
The basic FVG conditions use a three bar structure:
bool fvgBull = low > high
bool fvgBear = high < low
For bullish gaps the script stores:
-top as low of the current bar
-bottom as high
For bearish gaps:
-top as high of the current bar
-bottom as low
This defines the price range that is considered the imbalance area.
3. Depth and Safety Score
Depth measures how far price has penetrated into the gap since its creation. For each bar, the script computes a currentDepth and updates the maximum depth:
float currentDepth = 0.0
if g.isBullish
if l < g.top
currentDepth := g.top - l
else
if h > g.bottom
currentDepth := h - g.bottom
if currentDepth > g.maxDepth
g.maxDepth := currentDepth
The safety score expresses how much of the gap remains intact:
float depthRatio = g.maxDepth / gapSize
float safetyScore = math.max(0.0, 1.0 - depthRatio)
safetyScore near 1: gap is mostly untouched
safetyScore near 0: gap is mostly or fully filled
4. Velocity Metric
Velocity captures how aggressively price moves inside the gap. It is based on the body to range ratio of each bar that trades within the gap and rewards bars that move in the same direction as the gap:
float barRange = h - l
float bodyRatio = math.abs(close - open) / barRange
float directionBonus = 0.0
if g.isBullish and close > open
directionBonus := 0.2
else if not g.isBullish and close < open
directionBonus := 0.2
float currentVelocity = math.min(bodyRatio + directionBonus, 1.0)
The gap keeps track of the strongest observed value:
if currentVelocity > g.maxVelocity
g.maxVelocity := currentVelocity
This maximum is later used as velScore when building the velocity rank bar.
5. Volume Accumulation and Volume Score
While price is trading inside a gap, the script accumulates the traded volume:
if isInside
g.testVolume += volume
It also keeps track of the number of tests and the volume at the start of the first test:
if g.status == "Fresh"
g.status := "Testing"
g.testCount := 1
g.testStartVolume := volume
An average volume is computed using a 20 period SMA:
float volAvg = ta.sma(volume, 20)
The expected volume is approximated as:
float expectedVol = volAvg * math.max(1, (bar_index - g.index) / 2)
The volume score is then:
float volScore = math.min(g.testVolume / expectedVol, 1.0)
This produces a normalized 0 to 1 metric that shows whether the gap has attracted more or less volume than expected over its lifetime.
6. Rank Bar Scaling
All three scores are projected visually along the time axis as horizontal bars. The script uses the age of the gap in bars as the maximum width:
float maxWidth = math.max(bar_index - g.index, 1)
Then each metric is mapped to a bar length:
int len1 = int(math.max(1, maxWidth * velScore))
g.rankBox1.set_right(g.index + len1)
int len2 = int(math.max(1, maxWidth * volScore))
g.rankBox2.set_right(g.index + len2)
int len3 = int(math.max(1, maxWidth * safetyScore))
g.rankBox3.set_right(g.index + len3)
This creates an intuitive visual representation where stronger metrics produce longer rank bars, making it easy to quickly compare the relative quality of multiple FVGs on the chart.
IDLP – Intraday Daily Levels Pro [FXSMARTLAB]🔥 IDLP – Intraday Daily Levels Pro
IDLP – Intraday Daily Levels Pro is a precision toolkit for intraday traders who rely on objective daily structure instead of repainting indicators and noisy signals.
Every level plotted by IDLP is derived from one simple rule:
Today’s trading decisions must be based on completed market data only.
That means:
✅ No use of the current day’s unfinished data for levels
✅ No lookahead
✅ No hidden repaint behavior
IDLP reconstructs the previous trading day from the intraday chart and then projects that structure forward onto the current session, giving you a stable, institutional-style intraday map.
🧱 1. Previous Daily Levels (Core Structure)
IDLP extracts and displays the full previous daily structure, which you can toggle on/off individually via the inputs:
Previous Daily High (PDH)
Previous Daily Low (PDL)
Previous Daily Open
Previous Daily Close,
Previous Daily Mid (50% of the range)
Previous Daily Q1 (25% of the range)
Previous Daily Q3 (75% of the range)
All of these come from the day that just closed and are then locked for the entire current session.
What these levels tell you:
PDH / PDL – true extremes of yesterday’s price action (liquidity zones, breakout/reversal points).
Previous Daily Open / Close – how the market positioned itself between session start and end
Mid (50%) – equilibrium level of the previous day’s auction.
Q1 / Q3 (25% / 75%) internal structure of the previous day’s range, dividing it into four equal zones and helping you see if price is trading in the lower, middle, or upper quarter of yesterday’s range.
All these levels are non-repaint: once the day is completed, they are fixed and never change when you scroll, replay, or backtest.
🎯 2. Previous Day Pivot System (P, S1, S2, R1, R2)
IDLP includes a classic floor-trader pivot grid, but critically:
It is calculated only from the previous day’s high, low, and close.
So for the current session, the following are fixed:
Pivot P – central reference level of the previous day.
Support 1 (S1) and Support 2 (S2)
Resistance 1 (R1) and Resistance 2 (R2)
These levels are widely used by institutional desks and algos to structure:
mean-reversion plays, breakout zones, intraday targets, and risk placement.
Everything in this section is non-repaint because it only uses the previous day’s fully closed OHLC.
📏 3. 1-Day ADR Bands Around Previous Daily Open
Instead of a multi-day ADR, IDLP uses a pure 1-Day ADR logic:
ADR = Range of the previous day
ADR = PDH − PDL
From that, IDLP builds two clean bands centered around the previous daily Open:
ADR Upper Band = Previous Day Open + (ADR × Multiplier)
ADR Lower Band = Previous Day Open − (ADR × Multiplier)
The multiplier is user-controlled in the inputs:
ADR Multiplier (default: 0.8)
This lets you choose how “tight” or “wide” you want the ADR envelope to be around the previous day’s open.
Typical use cases:
Identify realistic intraday extension targets, Spot exhaustion moves beyond ADR bands, Frame reversals after reaching volatility extremes, Align trades with or against volatility expansion
Again, since ADR is calculated only from the completed previous day, these bands are totally non-repaint during the current session.
🔒 4. True Non-Repaint Architecture
The internal logic of IDLP is built to guarantee non-repaint behavior:
It reconstructs each day using time("D") and tracks:
dayOpen, dayHigh, dayLow, dayClose for the current day
prevDayOpen, prevDayHigh, prevDayLow, prevDayClose for the previous day
At the moment a new day starts:
The “current day” gets “frozen” into prevDay*
These prevDay* values then drive: Previous Daily Levels, Pivots, ADR.
During the current day:
All these “previous day” values stay fixed, no matter what happens.
They do not move in real time, they do not shift in replay.
This means:
What you see in the past is exactly what you would have seen live.
No fake backtests.
No illusion of perfection from repainting behavior.
🎯 5. Designed For Intraday Traders
IDLP – Intraday Daily Levels Pro is made for:
- Day traders and scalpers
- Index and FX traders
- Prop firm challenge trading
- Traders using ICT/SMC-style levels, liquidity, and range logic
- Anyone who wants a clean, institutional-style daily framework without noise
You get:
Previous Day OHLC
Mid / Q1 / Q3 of the previous range
Previous-Day Pivots (P, S1, S2, R1, R2)
1-Day ADR Bands around Previous Day Open
All calculated only from closed data, updated once per day, and then locked.
SMC Pro: Real-Time Final**Description:**
This comprehensive SMC indicator is designed to automatically visualize major **Trading Sessions** and **Killzones**, alongside Fair Value Gaps (FVG). It helps traders identify high-probability setups by correlating time and price, specifically during key market hours (London, New York, Asia).
**Key Features:**
1. **Trading Sessions & Killzones:** The indicator clearly highlights the open and duration of major sessions (Asia, London, New York), allowing traders to spot volatility injections and "Judas Swings."
2. **Automated FVG Detection:** Scans price action to locate valid Fair Value Gaps and Imbalances within these sessions.
3. **Entry Logic:** Marks potential entry zones at the 50% retracement level of the identified FVG.
4. **Risk Management:** Projects a fixed Risk-to-Reward ratio (e.g., 1:3) with automatic Stop Loss and Take Profit levels.
5. **Clean Visualization:** Color-coded boxes for sessions and gaps keep the chart organized.
**How to Use:**
* **Time Analysis:** Watch for price action as the London or NY session opens (highlighted by the indicator).
* **Signal:** Wait for an Imbalance/FVG to form during these high-volume times.
* **Entry:** Set a limit order at the 50% mark of the gap.
* **Exit:** Use the projected TP levels.
**Disclaimer:**
This tool is for educational purposes and technical analysis assistance only. Past performance does not guarantee future results.
FVG Maxing - Fair Value Gaps, Equilibrium, and Candle Patterns
What this script does
This open-source indicator highlights 3-candle fair value gaps (FVGs) on the active chart timeframe, draws their midpoint ("equilibrium") line, tracks when each gap is mitigated, and optionally marks simple candle patterns (engulfing and doji) for confluence. It is intended as an educational tool to study how price interacts with imbalances.
3-candle bullish and bearish FVG zones drawn as forward-extending boxes.
Equilibrium line at 50% of each gap.
Different styling for mitigated vs unmitigated gaps.
Compact statistics panel showing how many gaps are currently active and filled.
Optional overlays for bullish/bearish engulfing patterns and doji candles.
1. FVG logic (3-candle gaps)
The script focuses on a strict 3-candle definition of a fair value gap:
Three consecutive candles with the same body direction.
The wick of candle 3 is separated from the wick of candle 1 (no overlap).
A bullish gap is created when price moves up fast enough to leave a gap between candle 1 and 3. A bearish gap is the mirror case to the downside.
In Pine, the core detection looks like this:
// Three candles with the same body direction
bull_seq = close > open and close > open and close > open
bear_seq = close < open and close < open and close < open
// Wick gap between candle 1 and candle 3
bull_gap = bull_seq and low > high
bear_gap = bear_seq and high < low
// Final FVG flags
is_bull_fvg = bull_gap
is_bear_fvg = bear_gap
For each detected FVG:
Bullish FVG range: from high up to low (gap below current price).
Bearish FVG range: from low down to high (gap above current price).
Each zone is stored in a custom FVGData structure so it can be updated when price later trades back inside it.
2. Equilibrium line (0.5 of the gap)
Every FVG box gets an optional equilibrium line plotted at the midpoint between its top and bottom:
eq_level = (top + bottom) / 2.0
right_index = extend_boxes ? bar_index + extend_length_bars : bar_index
bx = box.new(bar_index - 2, top, right_index, bottom)
eq_ln = line.new(bar_index - 2, eq_level, right_index, eq_level)
line.set_style(eq_ln, line.style_dashed)
line.set_color(eq_ln, eq_color)
You can use this line as a neutral “fair value” reference inside the zone, or as a simple way to think in terms of premium/discount within each gap.
3. Mitigation rules and styling
Each FVG stays active until price trades back into the gap:
Bullish FVG is considered mitigated when the low touches or moves below the top of the gap.
Bearish FVG is considered mitigated when the high touches or moves above the bottom of the gap.
When that happens, the script:
Marks the internal FVGData entry as mitigated.
Softens the box fill and border colors.
Optionally updates the label text from "BULL EQ / BEAR EQ" to "BULL FILLED / BEAR FILLED".
Can hide mitigated zones almost completely if you only want to see unfilled imbalances.
This allows you to distinguish between current areas of interest and zones that have already been traded through.
4. Candle pattern overlays (engulfing and doji)
For additional confluence, the script can mark simple candle patterns on top of the FVG view:
Bullish engulfing — current candle body fully wraps the previous bearish body and is larger in size.
Bearish engulfing — current candle body fully wraps the previous bullish body and is larger in size.
Doji — candles where the real body is small relative to the full range (high–low).
The detection is based on basic body and range geometry:
curr_body = math.abs(close - open)
prev_body = math.abs(close - open )
curr_range = high - low
body_ratio = curr_range > 0 ? curr_body / curr_range : 1.0
bull_engulfing = close > open and close < open and open <= close and close >= open and curr_body > prev_body
bear_engulfing = close < open and close > open and open >= close and close <= open and curr_body > prev_body
is_doji = curr_range > 0 and body_ratio <= doji_body_ratio
On the chart, they appear as:
Small triangle markers below bullish engulfing candles.
Small triangle markers above bearish engulfing candles.
Small circles above doji candles.
All three overlays are optional and can be turned on or off and recolored in the CANDLE PATTERNS group of inputs.
5. Inputs overview
The script organizes settings into clear groups:
DISPLAY SETTINGS : Show bullish/bearish FVGs, show/hide mitigated zones, box extension length, box border width, and maximum number of boxes.
EQUILIBRIUM : Toggle equilibrium lines, color, and line width.
LABELS : Enable labels, choose whether to label unmitigated and/or mitigated zones, and select label size.
BULLISH COLORS / BEARISH COLORS : Separate fill and border colors for bullish and bearish gaps.
MITIGATED STYLE : Opacity used when a gap is marked as mitigated.
STATISTICS : Toggle the on-chart FVG statistics panel.
CANDLE PATTERNS : Show engulfing patterns, show dojis, colors, and the body-to-range threshold that defines a doji.
6. Statistics panel
An optional table in the corner of the chart summarizes the current state of all tracked gaps:
Total number of FVGs still being tracked.
Number of bullish vs bearish FVGs.
Number of unfilled vs mitigated FVGs.
Simple fill rate: percentage of tracked FVGs that have been marked as mitigated.
This can help you study how a particular market tends to treat gaps over time.
7. How you might use it (examples)
These are usage ideas only, not recommendations:
Study how often your symbol mitigates gaps and where inside the zone price tends to react.
Use higher-timeframe context and then refine entries near the equilibrium line on your trading timeframe.
Combine FVG zones with basic candle patterns (engulfing/doji) as an extra visual anchor, if that fits your process.
Hope you enjoy, give your feedback in the comments!
- officialjackofalltrades
TCT OBIF Detector█ OVERVIEW
The OBIF (Order Block Imbalance Fill) indicator automatically detects and visualizes high-probability trading zones by combining two powerful Smart Money Concepts: Order Blocks and Fair Value Gaps (FVGs).
An OBIF occurs when an Order Block forms immediately before a Fair Value Gap, creating a zone of institutional interest that price often revisits before continuing its move.
█ CONCEPTS
Order Block (OB)
An Order Block is the last opposing candle before a strong directional move. It represents an area where institutional traders likely placed orders.
- Bullish OB: Last bearish candle before an up-move
- Bearish OB: Last bullish candle before a down-move
Fair Value Gap (FVG)
An FVG is a price imbalance created when a candle's body completely gaps past the previous candle's range, leaving an unfilled area.
- Bullish FVG: Gap up where candle .low > candle .high
- Bearish FVG: Gap down where candle .high < candle .low
OBIF Zone
When an Order Block directly precedes an FVG, it creates an OBIF - a confluence zone with higher probability of acting as support/resistance.
█ HOW TO USE
1. Identify the Trend
Use OBIFs in the direction of the higher timeframe trend for best results.
2. Wait for Price to Return
OBIFs act as magnets - price often returns to fill the imbalance and test the order block.
3. Look for Confirmation
When price enters an OBIF zone, look for:
- Rejection wicks
- Engulfing patterns
- Break of structure on lower timeframes
4. Mitigation
Once price fully trades through the OBIF (touches the opposite edge), the zone is considered mitigated and loses its significance.
█ FEATURES
- Automatic Detection — Identifies OBIFs in real-time as they form
- Visual Zones — Clean, non-intrusive boxes that don't obscure price action
- Mitigation Tracking — Zones automatically update when price mitigates them
- Multi-Timeframe Friendly — Works on any timeframe from 1m to Monthly
- Customizable — Adjust colors, opacity, and display preferences
█ SETTINGS
- Lookback Window — How many candles back to search for the Order Block (default: 3)
- Show Bullish/Bearish — Toggle visibility of each type
- Show Mitigated — Display zones that have been mitigated (shown in gray)
- Fill Opacity — Adjust zone transparency (higher = more see-through)
- Border Width — Thickness of zone borders
█ BEST PRACTICES
✓ Use on higher timeframes (1H+) for more reliable zones
✓ Combine with market structure analysis
✓ Look for OBIFs at key support/resistance levels
✓ Use lower timeframe confirmation for entries
✗ Don't trade every OBIF blindly
✗ Avoid OBIFs against the dominant trend
█ CREDITS
The Composite Trader (TCT) methodologies.
Previous Day/Week High and Low • Ahmed SiddiquiThe script shows Previous Day's Candle High and Low & Previous Week's Candle High and Low which updates automatically everyday and every week. There are few more modification will be done in next versions.
SMC Pre-Trade Checklist (Mozzys)Here is a **clean, professional description** you can use when publishing your TradingView script.
It clearly explains what the indicator does and why traders use it—perfect for the public library.
---
# **📌 Script Description (for Publishing)**
**SMC Pre-Trade Checklist (Compact Edition)**
This indicator provides a **smart, compact on-chart checklist** designed for traders who use **Smart Money Concepts (SMC)**.
Instead of guessing or rushing entries, the checklist helps you confirm the essential SMC conditions *before* taking a trade.
The checklist displays as a **small 3-column panel** in the corner of your chart, making it easy to scan without covering price action.
All items are controlled through indicator settings, where you can tick each condition as you validate it in your analysis.
---
## **🔥 What This Tool Helps You Do**
This script helps you stay disciplined by verifying the core components of an SMC setup:
### **1. Higher-Timeframe (HTF) Bias**
* Market direction clarity
* Premium vs. discount zones
* HTF POIs and liquidity targets
### **2. Liquidity Conditions**
* Liquidity sweeps
* Liquidity-based take-profit targets
### **3. Market Structure**
* BOS/CHOCH confirmation
* Displacement
* Clean pullback into POI
### **4. Entry Validation**
* Quality POI
* LTF confirmation
* Logical SL/TP and RR
### **5. Risk Management**
* Correct position sizing
* Avoiding high-impact news
* Spread/volatility conditions
### **6. Trader Discipline**
* Trade matches your model
* No revenge or emotional trading
---
## **🎯 Why Traders Love This**
Most losses come from **breaking rules**, not market randomness.
This checklist forces consistency, clarity, and patience—especially in fast environments like FX, indices, and crypto.
* Prevents emotional entries
* Reduces impulsive trades
* Keeps you aligned with your SMC plan
* Works with any strategy or SMC style
* Clean, minimal, non-intrusive layout
---
## **📌 Features**
* Compact 3-column layout
* Customizable from the indicator settings
* Works on all timeframes and assets
* Zero chart clutter
* Perfect for rule-based traders
---
## **🚀 Who This Indicator Is For**
* SMC traders
* ICT-style traders
* Liquidity-based traders
* Anyone who wants more discipline & consistency
* Backtesters who want structured trade evaluation
--
5min ORB - HenryJ5min ORB, for ICT trading
Strategy Implementation: The main goal is to identify and visually mark the trading range established during the first 5 minutes of the regular trading session.
Time Definition: It measures the Highest High and Lowest Low recorded from the session open (minute 0) up to the close of the 5th minute.
Visual Marking: It draws two distinct horizontal line segments on the chart:
One line marks the High of the 5-minute Opening Range.
One line marks the Low of the 5-minute Opening Range.
Drawing Window: The lines are intentionally drawn starting from the 6th minute (after the range is fully established) and extend up to the 60th minute of the trading session. This ensures the lines are available to guide trades for the first hour after the opening volatility subsides.
Labeling: It includes a "5min ORB" text label placed near the high line, clearly identifying the range.
BY Henry J
Range Deviations PRO | Trade SymmetryRange Deviations PRO — Extended Session Levels
An enhanced version of the original Range Deviations by @joshuuu, retaining the full core logic while adding a key upgrade:
🔹 All session ranges, midlines, and deviation levels now extend into the next trading session, giving seamless multi-session context.
Supports Asia, CBDR, Flout, ONS, and Custom Sessions — with options for half/full standard deviations, equilibrium, and range boxes exactly as in the original.
Extending these levels helps identify:
• Liquidity sweeps
• Trap moves / false breaks
• Daily high/low projections
• Premium–discount behavior across sessions
Ideal for traders using ICT concepts who want clearer continuation of session structure into the next day.
Credit: Original logic by @joshuuu — enhancements by TradeSymmetry.
Disclaimer: Educational use only. Not financial advice.
Position Size Calculator + Live R/R Panel — SMC/ICT (@PueblaATH)Position Size + Live R/R Panel — SMC/ICT (@PueblaATH)
Position Size + Live R/R Panel — SMC/ICT (@PueblaATH) is a professional-grade risk management and execution module built for Smart Money Concepts (SMC) and ICT Traders who require accurate, repeatable, institution-style trade planning.
This tool delivers precise position sizing, R:R modeling, leverage and margin projections, fee-adjusted PnL outcomes, and real-time execution metrics—all directly on the chart. Optimized for crypto, forex, and futures, it provides scalpers, day traders, and swing traders with the clarity needed to execute high-quality trades with confidence and consistency.
What the Indicator Does
Institutional Position Sizing Engine
Calculates position size based on account balance, % risk, and SL distance.
Supports custom minimum lot size rounding across crypto, FX, indices, and derivatives.
Intelligent direction logic (Auto / Long / Short) based on SMC/ICT structure.
Advanced Risk/Reward & Profit Modeling
Real-time R:R ratio using actual rounded position size.
Live PnL readout that updates with price movements.
Gross & net profit projections with full fee deduction.
Execution Planning with Draggable Levels
Entry, SL, and TP levels fully draggable for fast scenario modeling.
Automatic projected lines backward/forward with clean label alignment.
TP and SL tags include % movement from Entry, ideal for SMC/ICT journaling.
Precise modeling of real exchange fee structures
Maker fee per side
Taker fee per side
Mixed fee modes (Maker entry, Taker exit, Average, etc.)
Leverage & Margin Forecasting
Margin requirements displayed for 3 customizable leverage settings.
Helps traders understand capital commitment before executing the trade.
Useful for futures, crypto perps, and CFD setups.
Clean HUD Panel for Rapid Decision-Making
A full professional trading panel displays:
Target & actual risk
Position size
Entry / SL / TP
TP/SL percentage distance
Gross profit
Net profit (after fees)
Fees @ TP and @ SL
Live PnL
Margin requirements
Optimized for SMC & ICT Workflows
Perfect for traders using:
Breakers, FVGs, OBs
Liquidity sweeps
Session models
Precision entries (OTE, Displacement, Rebalancing)
Leverage-based execution (crypto perps, futures)
How to Use It
Attach the indicator to your chart.
Set account balance, risk %, fee model, and leverage presets.
Drag Entry, SL, and TP to shape the setup.
View instant calculations of: Position size; R:R; Net PnL after fees; Margin required
Use it as your pre-trade checklist & execution model.
Originality & Credits
This script is an original creation by @PueblaATH, released under the MPL 2.0 license.
It does not copy, modify, or repackage any existing TradingView code.
All logic—including the fee engine, margin calculator, responsive HUD, dynamic risk model, and visual execution system—is authored specifically for this indicator.
Volumetric Inverse Fair Value Gap (IFVG) [Kodexius]The Volumetric Inverse Fair Value Gap (IFVG) indicator detects and visualizes inverse fair value gaps (IFVGs) zones where previous inefficiencies in price (fair value gaps) are later invalidated or “inverted.”
Unlike traditional FVG indicators, this tool integrates volume-based analysis to quantify the bullish, bearish, and overall strength of each inversion. It visually represents these metrics within a dynamically updating box on the chart, giving traders deeper insight into market reactions when liquidity imbalances are filled and reversed.
Features
Inverse fair value gap detection
The script identifies bullish and bearish fair value gaps, stores them as pending zones, and turns them into inverse fair value gaps when price trades back through the gap in the opposite direction. Each valid inversion becomes an active IFVG zone on the chart.
Sensitivity control with ATR filter and strict mode
A minimum gap size based on ATR is used to filter out small and noisy gaps. Strict mode can be enabled so that any wick contact between the relevant candles prevents the gap from being accepted as a fair value gap. This lets you decide how clean and selective the zones should be.
Show Last N Boxes control
The indicator can keep only the most recent N IFVG zones visible. Older zones are removed from the chart once the number of active objects exceeds the user setting. This prevents clutter on higher timeframes or long histories and keeps attention on the most relevant recent zones.
Ghost box for the original gap
When the ghost option is enabled, the script draws a faint box that marks the original fair value gap from which the inverse zone came. This makes it easy to see where the initial imbalance appeared and how price later inverted that area.
Volumetric bull, bear and strength metrics
For each IFVG, the script estimates how much of the bar volume is associated with buying and how much with selling, then computes bull percentage, bear percentage and a strength score that uses a percentile rank of volume. These values are stored with the IFVG object and drive the visualization inside the zone.
Three band visual layout inside each IFVG
Each active IFVG is drawn as a container with three horizontal sections. The top band represents the bull percentage, the middle band the bear percentage and the bottom band the strength metric. The width of each bar reflects its respective value so you can read the structure of the zone at a glance.
Customizable colors and label text
Colors for bull, bear, strength, the empty background area, the ghost box and label text can be adjusted in the inputs. This allows you to match the indicator to different chart themes or highlight specific aspects such as strength or direction.
Automatic invalidation and cleanup
When price clearly closes beyond the IFVG in a way that breaks the logic of that zone, the script marks it as inactive and deletes all boxes and labels linked to it. Only valid and active IFVGs remain on the chart, which keeps the display clean and focused.
Calculations
1. Detecting Fair Value Gaps (FVGs)
A fair value gap is identified when price action leaves an imbalance between candle wicks. Depending on the mode:
Bullish FVG: When low > high
Bearish FVG: When high < low
Optionally, the strict mode ensures wicks do not touch.
The gap’s significance is filtered using the ATR multiplier input to exclude minor noise.
Once detected, FVGs are stored as pending zones until inverted by opposite movement (price crossing through).
bool bull_cond = strict_mode ? (low > high ) : (close > high )
bool bear_cond = strict_mode ? (high < low ) : (close < low )
float gap_size = 0.0
if bull_cond and close > open
gap_size := low - high
if bear_cond and close < open
gap_size := low - high
2. Creating IFVGs (Inversions)
When price later moves through a previous FVG in the opposite direction, an Inverse FVG (IFVG) is created.
For example:
A previous bearish FVG becomes bullish IFVG if price moves upward through it.
A previous bullish FVG becomes bearish IFVG if price moves downward through it.
The IFVG is initialized with structural boundaries (top, bottom) and timestamp metadata to anchor visualization.
if not p.is_bull_gap and close > p.top
inverted := true
to_bull := true
if p.is_bull_gap and close < p.btm
inverted := true
to_bull := false
3. Volume Metrics (Bull, Bear, Strength)
Each IFVG calculates buy and sell volumes from the current bar’s price spread and total volume.
Bull % = proportion of upward (buy) volume
Bear % = proportion of downward (sell) volume
Strength % = normalized percentile rank of total volume
These are obtained through a custom function that estimates directional volume contribution:
calc_metrics(float o, float h, float l, float c, float v) =>
float rng = h - l
float buy_v = 0.0
if rng == 0
buy_v := v * 0.5
else
if c >= o
buy_v := v * ((math.abs(c - o) + (math.min(o, c) - l)) / rng)
else
buy_v := v * ((h - math.max(o, c)) / rng)
float sell_v = v - buy_v
float total = buy_v + sell_v
float p_bull = total > 0 ? buy_v / total : 0
float p_bear = total > 0 ? sell_v / total : 0
float p_str = ta.percentrank(v, 100) / 100.0
Smart Money Concepts [Modern Neon V2]This is a visually overhauled version of the popular Smart Money Concepts (SMC) indicator, designed specifically for traders who prefer Dark Mode, High Contrast, and Maximum Visibility.
While the underlying logic preserves the robust structure detection of the original LuxAlgo script, the visual presentation has been completely modernized. The default "dull" colors have been replaced with a vibrant Cyberpunk Neon palette, and text labels have been significantly upscaled to ensure market structure is readable at a glance, even on high-resolution monitors.
🎨 Visual & Style Enhancements:
Neon Palette:
Bullish: Electric Cyan (#00F5FF)
Bearish: Neon Hot Pink (#FF007F)
Neutral/Levels: Bright Gold (#FFD700)
High Visibility Text: Market Structure labels (BOS, CHoCH, HH/LL) have been upgraded from "Tiny" to Normal size. Key Swing Points (Strong High/Low) are set to Large.
Modern "Solid" Blocks: Order Blocks and FVGs feature reduced transparency (60%) for a bolder, solid look that doesn't get washed out on dark backgrounds.
Decluttered: Removed unnecessary "Small" elements and dotted lines to focus on price action.
🛠 Key Features:
Real-Time Structure: Automatic detection of Internal and Swing structure (BOS & CHoCH) with trend coloring.
Order Blocks: Highlights Bullish and Bearish Order Blocks with new mitigation logic.
Fair Value Gaps (FVG): Auto-threshold detection for high-probability gaps.
Premium & Discount Zones: Automatically plots equilibrium zones for better entry targeting.
Multi-Timeframe Levels: Display Daily, Weekly, and Monthly highs/lows.
Trend Dashboard: (If you added the dashboard code) A clean panel displaying the current Internal and Swing trend bias.
CREDITS & LICENSE: This script is a modification of the "Smart Money Concepts " indicator.
Original Author: © LuxAlgo
License: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
creativecommons.org
ICT Fair Value Gap (FVG) Detector │ Auto-Mitigated │ 2025Accurate ICT / Smart Money Concepts Fair Value Gap (FVG) detector
Features:
• Detects both Bullish (-FVG) and Bearish (+FVG) using strict 3-candle rule
• Boxes automatically extend right until price mitigates them
• Boxes auto-delete when price closes inside the gap (true mitigation)
• No repainting – 100% reliable
• Clean, lightweight, and works on all markets & timeframes
• Fully customizable colors and transparency
How to use:
– Bullish FVG (green) = potential support / buy zone in uptrend
– Bearish FVG (red) = potential resistance / sell zone in downtrend
Exactly matches The Inner Circle Trader (ICT) methodology used by thousands of SMC traders in 2024–2025.
Enjoy and trade safe!
SmartMoneyConcept ProFlow StrategySmartMoneyConcept ProFlow is a complete SMC-based algo built for trending markets and clean volatility phases – especially on crypto pairs like BTC, ETH and perpetual futures.
It combines:
• Smart Money swing structure (BOS / CHoCH)
• Dynamic Support & Resistance levels
• Order Block–style gap detection
• Volatility normalization (ATR / Range / BBWidth)
• SuperTrend trend filter
• ATR & Volume-based exits, TP lock and session control
The goal: fewer random trades, more focused entries when structure + volatility + trend are in sync.
1. Core Idea
Smart Structure Levels (S/R)
– The strategy builds dynamic support/resistance using swing highs/lows.
– Breakouts above resistance or below support, with enough volatility (filter), become primary trade signals.
BOS / CHoCH Engine
– Tracks Break of Structure (BOS) and Change of Character (CHoCH).
– BOS up/down help define the current trend bias.
– CHoCH highlights potential reversals after a confirmed BOS in the opposite direction.
Order Block Gap Logic
– Detects displacement candles with gaps (based on ATR) to approximate OB-style “impulsive moves”.
– Bullish gaps can add confluence for long entries, bearish gaps for shorts.
Volatility-Aware Entries
– Uses normalized volatility (via ATR, Range or BBWidth).
– Filters out breakouts in dead, low-vol environments and focuses on moves with real expansion.
2. Trend & Risk Management Stack
SuperTrend Filter
– Optional “Only With SuperTrend Direction” to restrict entries to the current ST trend.
– ST flips can also force exits if you want to exit as soon as the main trend changes.
ATR-Based Stops & Trails
– ATR distance check to avoid ultra-tight stops that get chopped instantly.
– Three modes:
• StopOnly – classic fixed ATR stop.
• TrailOnly – trailing ATR-style stop.
• StopAndTrail – initial fixed stop that later trails with price.
Volume-Based Exits (Optional)
– Exit on extremely low volume (move losing participation).
– Or on opposite volume spikes (strong counter-pressure against your position).
– Or use Both for a more active volume management.
TP Lock Logic
– When unrealized profit reaches a chosen value, the position is closed and a “lock” can be applied.
– Use this lock to:
• block same-direction re-entries for that side, or
• allow them again depending on your preference.
3. Anti-Churn & Session Control
Anti-Churn Controls
– Minimum bars between entries.
– Cooldown after an ATR exit.
– Limit of max entries per bar.
Session Filter
– Restrict trading to a specific hourly window (e.g. main market session).
– Option to force close positions outside your active session.
– Handy for intraday traders who don’t want overnight or low-liquidity exposure.
4. SmartMoney Preset Modes
Preset Mode:
• EtherFlux – more flexible, for general breakout & volatility trading.
• SmartMoney – SMC-focused preset:
– Adjusted length, volatility filter and ATR settings.
– Option to disable exits from the strategy side (for manual risk control).
Switching presets automatically tunes multiple internal parameters so you don’t have to micromanage every input each time.
5. Visual Layer
This script has a complete visual suite to help you “read the tape”:
– Bar Colors by position and SuperTrend bias.
– Support / Resistance dots and lines (stepline style).
– Order Block markers (bullish / bearish gap labels).
– BOS / CHoCH labels to track structure shifts in real-time.
– Liquidation Zones (visual only)
• Approximate long and short liquidation areas based on assumed leverage.
• Shaded zones on the chart for quick liquidity map.
– Status Labels
• Session status (ACTIVE / OFF / DISABLED).
• Current position (LONG / SHORT / FLAT).
• TP Lock status (longs locked / shorts locked / no lock).
All visuals are designed for dark charts but also work on light themes with minor tweaks.
6. Quick Input Guide
• Levels Period & Volatility Filter – main structure sensitivity and breakout quality.
• Volatility Method – ATR / Range / BBWidth normalization for the vol filter.
• ATR Stop & Management – core risk rules: ATR multiplier, stop/trail mode, min ATR distance.
• SuperTrend Settings – trend bias and ST-flip exits.
• SmartMoney Preset – quick switch between EtherFlux and SmartMoney tuning.
• Volume Exits – low volume / opposite spike / both.
• Session Filter – hour-based trading window + optional forced flat outside session.
• Follow-Signal Mode – flip from long→short or short→long when signal reverses (signal-based rotation).
• TP Lock – secure profits at a fixed amount and optionally block same-direction re-entries.
• Liq Zones – visual only, for liquidity map (no direct trade logic).
How to Use (My Suggestion)
Start on 15m–4H charts for liquid pairs (BTC, ETH, majors).
Choose your preset:
– EtherFlux for more general breakout + vol trading.
– SmartMoney if you want stricter SMC behaviour.
Turn on SuperTrend + ATR stops for cleaner risk management.
Forward-test in replay / paper trading before using real capital.
Use the visual BOS/CHoCH + Liq Zones as context , not as blind signals.
Important
This is a backtest & research tool . It is not financial advice and does not guarantee profits. Always combine it with your own risk management, position sizing, and forward-testing before going live. Trading leveraged products and crypto can result in partial or full loss of capital.
Momentum Market Structure ProThis first indicator in the Beyond Market Structure Suite gives you clear market structure at a glance, with adaptive support & resistance zones. It's the only SMC-style indicator built from momentum highs & lows, as far as I know. It creates dynamic support & resistance zones that change strength and resize intelligently, and gives you timely alerts when price bounces from support/rejects from resistance.
You’re free to use the provided entry and exit signals as a ready-to-use, self-contained strategy, or plug its structure into your existing system to sharpen your edge :
• Market structure bias may help improve a compatible system's win rate by taking longs only in bullish bias and shorts in bearish structure.
• Support/resistance can help trend traders identify inflection points, and help range traders define ranges.
🟩 HIGHLIGHTS
⭐ Unique market structure with different characteristics than purely price-based models.
⭐ Support and resistance created from only the extreme levels.
⭐ Support & resistance zones adapt to remain relevant. Zones are deactivated when they become too weak.
⭐ Long and short signals for a bounce from support/rejection from resistance.
🟩 WHY "MARKET STRUCTURE FIRST, ALWAYS"?
"There is only one side to the stock market; and it is not the bull side or the bear side, but the right side." — Jesse Livermore, Reminiscences of a Stock Operator (1923)
If the market is structurally against your trade, you're gonna have a bad time. So you must know what the market structure is before you plan your trade. The more precise and relevant your definition of market structure, the better.
🟩 HOW TO TRADE USING THIS INDICATOR (SIMPLE)
• Directional filter : The prevailing bias background can be used for any kind of trades you want to take. For example, you can long a bounce from support in a bullish market structure bias, or short a rejection from resistance in bearish bias.
• Entries : For more conservative entries, you could wait for a Candle Trend flip after a reaction from your chosen zone (see below for more about Candle Trend).
• Stops : The included running stop-loss level based on Average True Range (ATR) can be used for a stop-loss — set the desired multiplier, and use the level from the bar where you enter your trade.
• Take-profit : Similarly, you can set a Risk:Return-based take-profit target. Support and resistance zones can also be used as full or partial take-profit targets.
See the Advanced section below for more ideas.
🟩 SIGNALS
⭐ ENTRIES
You can enable signals and alerts for bounces from support and rejections from resistance (you'll get more signals using Adaptive mode). You can filter these by requiring corresponding market structure bias (it uses the bias you've already set for the background), and by requiring that Candle Trend confirm the move.
I've slipped in my all-time favourite creation to this indicator: Candle Trend. When price makes a Simple Low pivot, the trend flips bullish. When price then makes a Simple High pivot, the trend flips bearish (see my Market Structure library for a full explanation). This tool is so simple, yet I haven't noticed it anywhere else. It shows short-term trends beautifully. I use it mainly as confirmation of a move. You can use it to confirm ANY kind of move, but here we use it for bounces from support/rejections from resistance.
Note that the pivots and Zigzags are structure, not signals.
⭐ STOPS
You can use the supplied running ATR-based stop level to find a stop-loss level that suits your trading style. Set the desired multiplier, and use the level from the bar where you enter your trade.
⭐ TAKE-PROFIT
Similarly, you can set a take-profit target based on Risk:Return (R:R). If this setting is enabled, the indicator calculates the distance between the closing price and your configured stop, then multiplies that by the configured R:R factor to calculate an appropriate take-profit level. Note that while the stop line is reasonably smooth, the take-profit line varies much more, reflecting the fact that if price has moved away from your stop, the trade requires a greater move in order to hit a given R:R ratio.
Since the indicator doesn't know where you were actually able to enter a position, add a ray using the drawing tool and set an alert if you want to be notified when price reaches your stop or target.
🟩 WHAT'S UNIQUE ABOUT THIS INDICATOR
⭐ MOMENTUM PIVOTS
Almost all market structure indicators use simple Williams fractals. A very small number incorporate momentum, either as a filter or to actually derive the highs and lows. However, of those that derive pivots from momentum, I'm not aware of any that then create full market structure from it.
⭐ SUPPORT & RESISTANCE
Some other indicators also adjust S/R zones after creation, some use volume in zone creation, some increase strength for overlap, a few merge zones together, and many use price interactions to classify zones. But my implementation differs from others, as far as I can tell after looking at many many indicators, in seven specific ways:
+ Zones are *created* from purely high-momentum pivots, not derived or filtered from simple Williams pivots (e.g. `ta.pivothigh()`).
+ Zones are *weakened* dynamically as well as strengthened. Many people know that S/R gets stronger if price rejects from it, but this is only half the story. Different price patterns strengthen *or weaken* zones.
+ We use *conviction-weighted candle patterns* to adjust strength. Not simply +1 for price touching the zone, but a set of single-bar and multi-bar patterns which all have different effects.
+ The rolling strength adjustments are all *moderated by volume*. The *relative volume* forms a part of each adjustment pattern. Some of our patterns reward strong volume, some punish it.
+ We do our own candle modelling, and the adjustment patterns take this into account.
+ We *resize* zones as a result of certain candle patterns ("indecision erodes, conviction defends").
+ We shrink overlapping zones to their sum *and* add their strengths.
🟩 HOW TO TRADE USING THIS INDICATOR (ADVANCED)
In addition to the ideas in the How to Trade Using This indicator (Simple) section above, here are some more ideas.
You can use the market structure:
• As a bias for entries given by more reactive momentum resets, or indeed other indicators and systems.
• You could use a change in market structure to close a long-running trend-following position.
You can use the distance from a potential entry to the CHoCH line as a filter to choose higher-potential trades in ranging assets.
Confluence between market structure and your favourite trend indicator can be powerful.
Multi timeframe analysis
This is a bit of a rabbit hole, but you could use a split screen with this indicator on a higher timeframe (HTF) view of the same asset:
• If the 1D structure turns bullish, the next time that the 1H structure also flips bullish might be a good entry.
• Rejection from a HTF zone, confirmed by lower timeframe (LTF) structure, could be a good entry.
None of this is advice. You need to master your own system, and especially know your own strengths and weaknesses, in order to be a successful trader. An indicator, no matter how cool, is not going to one-shot that process for you.
In Adaptive mode, a skillful trader will be able to spot more opportunities to classify and use support and resistance than any algorithm, including mine, now that they've been automatically drawn for you.
If you are doing historical analysis, note that the "Calculated bars" setting is set to a reasonably small number by default, which helps performance. Either increase this number (setting to zero means "use all the bars"), or use Bar Replay to examine further back in the chart's history. If you encounter errors or slow loading, reduce this number.
🟩 SUPPORT & RESISTANCE
A support zone is an area where price is more likely to bounce, and a resistance zone is an area where price is more likely to reject. Marking these zones up on the chart is extremely helpful, but time-consuming. We create them automatically from only high-momentum areas, to cut noise and highlight the zones we consider most important.
In Simple mode, we simply mark S/R zones from momentum and Implied pivots. We don't update them, just deactivate them if price closes beyond them. Use this mode if you're interested in only recent levels.
In Adaptive mode, zones persist after they're traversed. Once the zones are created, we adjust them based on how price and volume interact with them. We display stronger zones with more opaque fills, and weaker zones with more transparent fills. To calculate strength, we first preprocess candles to take into account gaps between candles, because price movement after market is just as important in its own way. The preprocessing also redefines what constitutes upper and lower wicks, so as to better account for order flow and commitment. We use these modelled candle values, as well as their relative amplitude historically, rather than the raw OHLC for all calculations for interactions of price and zones. It's important to understand, when trying to figure out why the indicator strengthened or weakened a zone, that it sees fundamental price action in a different way to what is shown on standard chart candles (and in a way that can't easily be represented accurately on chart candles).
Then, we strengthen or weaken , and resize support and resistance zones dynamically using different formulas for different events, based on principles including these:
• The close is the market's "vote", the momentum shift anchor.
• Defended penetrations reveal validated liquidity clusters.
• Markets contract to defended levels.
• "The wick is the fakeout, but the close tells you if institutions held the level." — ICT (Inner Circle Trader)
Adaptive mode is more powerful, but you might need to tweak some of the Advanced Support & Resistance settings to get a comfortable number of zones on the chart.
🟩 MOMENTUM PIVOTS
The building blocks of market structure are Highs and Lows — places where price hits a temporary extreme and reverses. All the indicators I could find that create full market structure do so from basic price pivots — Williams fractals, being the highest/lowest candle wick for N candles backwards and forwards (there are some notable first attempts on TradingView to use momentum to define pivots, but no full structure). "Highest/lowest out of N bars" is the almost universal method, but it also picks up somewhat arbitrary price movements. Recognising this, programmers and traders often use longer lookbacks to focus on the more significant Highs and Lows. This removes some noise, but can also remove detail.
My indicator uses a completely different way of thinking about High and Low pivots. A High is where *momentum* peaks and falls back, and a low is where it dips and then recovers. While this is happening, we record the extremes in price, and use those prices as the High or Low pivot zones.
This deliberately picks out different, more meaningful pivots than any purely price-based approach, helping you focus on the swings that matter. By design, it also ignores some stray wicks and other price action that doesn't reflect significant momentum. Price action "purists" might not like this at first, but remember, ultimately we want to trade this. Check and see which levels the market later respects. It's very often not simply the numerically higher/lower local maxima and minima, but the levels that held meaning, interpreted here through momentum.
The first-release version uses the humble Stochastic as the structural momentum metric. Yes, I know — it's overlooked by most people, but that's because they're using it wrong. Stochastic is a full-range oscillator with medium excursions, unlike RSI, say, which is a creeping oscillator with reluctant resets. This makes Stoch (at the default period of 14) not quite reactive enough for on-the-ball momentum reset entry signals, but close to perfect (no metric is 100%) for structural pivots.
Stochastic is also a solid choice for structure because divergences are rare and not usually very far away in terms of price. More reactive momentum metrics such as Stochastic RSI produce very noisy structure that would take a whole extra layer of interpreting (see Further Research, below).
For these reasons, I may or may not add other options for momentum. In the initial release, I've added smoothed RSI as an alternative just to show it's possible, which takes even longer than Stochastic to migrate from one extreme to another, creating an interesting, longer-term structure.
🟩 IMPLIED PIVOTS
We want pivots to mark important price levels so that we can compute market direction and support & resistance zones from them.
In this context, we see that some momentum metrics, and Stochastic in particular, tend to give multiple consecutive resets in the same direction. In other words, we get High followed by High, or Low followed by Low, which does not give us the chance to create properly detailed structure. To remedy this, we simply take the most extreme price action between two same-direction pivots, and create an Implied pivot out of it, after the second same-direction pivot is created.
Obviously these pivots are created very late. Recalling why we wanted them, we realise that this is fine. By definition , price has not exceeded the Implied Pivot level when they're created. So they show us an interesting level that is yet untested.
Implied Pivots are thus created indirectly by momentum but defined directly by price. They are for structure only. We choose not to give them a Dow type (HH, HL, LH, LL) and not to include them in the Main Zigzag to emphasise their secondary nature. However, Implied Pivots are not "internal" or "minor" pivots. There is no such concept in the current Momentum Market Structure model.
If you want less responsive, more long-term structure, you can turn Implied Pivots off.
🟩 DOW STRUCTURE
Dow structure is the simplest form of market structure — Higher Highs (HHs) and Higher Lows (HLs) is an uptrend (showing buyer dominance), and vice-versa for a downtrend.
We label all Momentum (not Implied) Pivots with their Dow qualifier. You can also choose to display the background bias according to the Dow trend.
There is an input option to enable a "Ranging" Dow state, which happens when you get Lower Highs in an uptrend or Higher Lows in a downtrend.
🟩 SMC-STYLE STRUCTURE (BOS, CHOCH)
The ideas of trend continuation after taking out prior highs/lows and looking for early signs of possible reversal go back to Dow and Wyckoff, but have been popularised by SMC as Break Of Structure (BOS) and Change of Character (CHoCH).
BOS can be used as a trigger: for example:
• Wait for a bullish break of structure
• Then attempt to buy the pullback
• Cancel if structure breaks bearish (meaning, we get a bearish CHoCH break)
How to buy the pullback? This is the trillion-dollar question. First, you need solid structure. Without structure, you got nothin'. Then, you want some identified levels where price might bounce from.
If only we incorporated intelligent support and resistance into this very indicator 😍
Creating and maintaining correct BOS and CHoCH continuously , without resetting arbitrarily when conditions get difficult, is technically challenging. I believe I've created an implementation of this structure that is at least as solid as any other available.
In general, BOS is fully momentum‑pivot‑driven; CHoCH is anchored to momentum pivots but maintained mainly by raw price extremes relative to those anchors (breaks are obviously pure price). This means that the exact levels will sometimes differ from your previous favourite market structure indicator.
We have made some assumptions here which may or may not match any one person's understanding of the "correct" way to do things, including: BOS is not reset on wicks because, for us, if price cannot close beyond the BOS there is no BOS break, therefore the previous wick level is still important. The candidate for CHoCH on opposing CHoCH break *is* reset on a wick, because we want to be sure to overcome the leftover liquidity at that new extreme before calling a Change of Character. The CHoCH is moved on a BOS break. For a bullish BOS break, the new CHoCH is the lowest price *since the last momentum pivot was confirmed, creating the BOS that just broke*, and vice-versa for bearish. If there's a stray wick before that, which doesn't shift momentum, we don't care about it.
🟩 ZIGZAG
The Major Swing Zigzag dynamically connects momentum highs and lows (e.g., from a Higher Low to the latest Higher High), adjusting as new extremes form to reveal the overall trend leg.
The Implied Structure Zigzag joins momentum pivots and Implied pivots, if enabled.
🟩 REPAINTING
It's really important to understand two things before asking "Does it repaint?":
1. ALL structure indicators repaint, in the sense of drawing things into the past or notifying you of things that happened in past bars, because by definition, structure needs some kind of confirmation, which takes at least one bar, usually several. This is normal.
2. Almost all indicators of ANY kind repaint in that they display unconfirmed values until the current bar closes. This is also normal.
Most features of this indicator repaint in the ordinary, intended ways described above: the pivots (Implied doubly so), BOS and CHoCH lines, and formation of S/R zones.
The Zigzags, by design, adjust themselves to new pivots. The active lines often change and attach themselves to new anchors. This is a form of repainting. It's important to note that the Zigzags are not signals. They're there to help visualise market structure, and structure does change. Therefore, I prioritised clearly explaining what price did rather than preserving its history.
One of the "bad" kinds of repainting is if a signal is printed when the bar closes, but then on a later bar that "confirmed" signal changes. This is a fundamental issue with some high timeframe implementations. It's bad because you might already have entered a trade and now the indicator is pretending that it never signalled it for you. My indicators do not do this (in fact I wrote an entire library to help other authors avoid this).
If you are ever in any doubt, play with an indicator in Bar Replay mode to see exactly what it does.
To understand repainting, see the official docs: www.tradingview.com
🟩 FURTHER RESEARCH
I've attempted to answer two of the tricky problems in technical analysis in Pine: how to do robust and responsive market structure, and how to maintain support and resistance zones once created. However, this just opens up more possibilities. Which momentum metrics are suitable for structure? Can more reactive metrics be used, and how do we account for divergences in a structural model based on key horizontal levels? Which sets of rules give the best results for maintaining support and resistance? Does the market have a long or a short memory? Is bar decay a natural law or a coping mechanism?
🟩 CREDITS
❤️ I'd like to thank my humble trading mentor, whose brilliant ideas inspire me to garble out code. Thanks are also due to @Timeframe_Titans for guidance on the finer points of market structure (all mistakes and distortions are my own), and to @NJPorthos for feedback and encouragement during the months in the wilderness.
Paid script
Smart Money Toolkit - PD Engine Bias Map [KedArc Quant]Description
Smart Money is an advanced multi-layer Smart Money Concepts framework that automatically detects structure shifts, premium-discount zones, and institutional order flow.
It is built around the PD Engine, which calculates the midpoint of the most recent market swing and dynamically determines BUY or SELL bias based on where current price trades relative to that equilibrium. This toolkit visualizes structure, order blocks, and bias context in one clean map, giving traders an institutional-grade view without unnecessary signal clutter.
Why It Is Unique
- All CHoCH, BOS, Order Block, FVG, and PD logic are coded from scratch.
- Uses true equilibrium (50 percent PD midpoint) for dynamic bias.
- Optimized for stability and non-repainting behavior.
- Designed for clarity with minimal, performance-safe visuals.
Entry and Exit Logic (Discretionary Framework)
- This toolkit is not a signal generator. It provides market context that guides discretionary trading.
BUY Bias (Discount Zone)
- Price trades below PD Mid: the market is in discount.
- Wait for a bullish CHoCH or reaction from a demand OB or FVG before buying.
- Target 1 = PD Mid. Target 2 = next opposite OB or FVG.
SELL Bias (Premium Zone)
- Price trades above PD Mid: the market is in premium.
- Wait for a bearish CHoCH or reaction from a supply OB or FVG before shorting.
- Target 1 = PD Mid. Target 2 = next opposite OB or FVG.
Institutional concept sequence: Bias → Structure Shift → Confirmation → Execution.
Input Configuration
Swing Sensitivity - Determines how far back to identify HH and LL pivots.
OB / FVG Detection - Toggles visual Order Block or Fair Value Gap zones.
PD Engine - Shows PD midpoint line, zone shading, and bias table.
Multi-TF Bias Sync - Optionally reads a higher timeframe bias for confirmation.
Color Themes - Switch between light, dark, or institutional palettes.
Formula / Logic Summary
Concept Formula
PD Mid (Equilibrium) (Recent Swing High + Recent Swing Low) / 2
BUY Bias close < PD Mid
SELL Bias close > PD Mid
CHoCH / BOS Pivot-based structure reversal: HH→LL or LL→HH
Order Block Last bullish or bearish candle before displacement.
FVG Gap between prior candle high/low and next candle range.
These formulas follow the structure used in institutional Smart Money Concepts.
How It Helps Traders
- Shows institutional premium and discount zones visually.
- Defines clear directional bias before entry.
- Combines structure, order blocks, FVG, and equilibrium in one layout.
- Works on any timeframe or asset.
- Prevents emotional trades by giving objective bias context.
Glossary
PD Mid Midpoint between recent swing high and low (market fair value).
Premium Zone Price above PD Mid; sellers control.
Discount Zone Price below PD Mid; buyers control.
CHoCH Change of Character, first reversal signal.
BOS Break of Structure, trend continuation confirmation.
OB Order Block, last institutional candle before move.
FVG Fair Value Gap, price imbalance often revisited.
FAQ
Q: Is this a signal indicator?
A: No. It is a contextual framework that supports manual decision-making.
Q: Does it repaint?
A: No. All structure logic is confirmed on bar close.
Q: Does it work on all markets?
A: Yes. It is purely price-based and timeframe independent.
Q: When does bias change?
A: Only after a new confirmed swing high or low.
Q: Can it be backtested?
A: You can build strategies on top of this context using your own entry and exit rules.
Disclaimer
This script is provided for educational purposes only.
It is not financial advice.
Trading carries risk. Past performance does not guarantee future results.
Use proper risk management and test on demo accounts before applying to live markets.
RUSSFEST SMC Strategy V1.4RUSSFEST SMC Strategy V1.4 is a multi-timeframe Smart Money Concepts framework that builds a clean, rule-based view of market structure and then trades directly off that structure. It’s designed for traders who want to systematize SMC logic, keep their charts readable, and automate their trading.
Instead of relying on lagging oscillators, the strategy continuously tracks the active price leg, labels strong/weak highs and lows, and reacts to structural shifts in real time. The current timeframe leg is always drawn on your chart with a clear high, low, and midpoint, so you can instantly see whether price is trading in a discount or premium relative to the leg. Trade entries are driven by confirmed events aligned with directional bias, not by single-candle patterns.
A higher-timeframe (HTF) structure engine runs in the background and can be overlaid on your execution timeframe (e.g., 4H structure on a 15m chart). This HTF leg provides the primary bias and defines HTF discount/premium zones so that longs can be constrained to discounted areas of a bullish leg and shorts to premium areas of a bearish leg. An optional additional HTF bias can be turned on for traders who want an extra top-down filter before any position is allowed.
Risk management is fully structure-based. Stops are always placed beyond the current structure high/low with an optional buffer, so every trade is anchored to a meaningful swing point instead of arbitrary points. Take-profit logic is configurable:
Fixed RR – simple R-multiple targeting off the structure-based stop.
HTF Weak High/Low – targets the opposing side of the active HTF leg.
Opposite CHoCH – dynamically exits when structure flips against the position, effectively using the next structural shift as an exit rule.
Key Features:
Full SMC-style price leg tracking with strong/weak highs & lows and midpoint.
Multi-timeframe structure: overlay HTF leg on your LTF execution chart.
Primary and optional secondary HTF bias filters.
Discount/premium gating relative to the HTF leg (no “chasing” in the wrong zone).
Structure-anchored stop loss with three exit modes (Fixed RR, HTF target, Opposite CHoCH).
Day-of-week filters for filtering out any days that don't prove to be profitable.
This script is a structured SMC framework, not financial advice. Markets are risky; always forward-test, adjust parameters for your instrument and timeframe, and use position sizing that fits your own risk tolerance.
ahax – CRT V0 ahax – CRT V0 is an enhanced CRT indicator that works on candlestick formations and generates BUY/SELL signals when certain conditions are met.
In this version, the classic CRT logic has been supplemented with additional controls for more stable operation, with a particular focus on reducing unnecessary signals. Each signal is generated based on the middle candlestick, and confirmation signals (+/-) can be displayed, if desired, based on the close of the next candle.
The indicator works based on the relationship between the left candlestick, the middle candlestick, and the right candlestick. It provides quick visual feedback on points such as trend reversals, potential manipulation, or reaction zones.
It is designed to be simple, clear, and clean, allowing you to adapt it to your own strategy.
It does not include any risk management or trading recommendations.
Stratégie SMC V18.2 (BTC/EUR FINAL R3 - Tendance)This strategy is an automated implementation of Smart Money Concepts (SMC), designed to operate on the Bitcoin/Euro (BTC/EUR) chart using the 15-minute Timeframe (M15).It focuses on identifying high-probability zones (Order Blocks) after a confirmed Break of Structure (BOS) and a Liquidity Sweep, utilizing an H1/EMA 200 trend filter to only execute trades in the direction of the dominant market flow.Risk management is strict: every trade uses a fixed Risk-to-Reward Ratio (R:R) of 1:3.🧱 Core Logic Components
1. Trend Filter (H1/EMA 200)Objective: To avoid counter-trend entries, which has allowed the success rate to increase to nearly $65\%$ in backtests.Mechanism: A $200$-period EMA is plotted on a higher timeframe (Default: H1/60 minutes).Long (Buy): Entry is only permitted if the current price (M15) is above the trend EMA.Short (Sell): Entry is only permitted if the current price (M15) is below the trend EMA.
2. Order Block (OB) DetectionA potential Order Block is identified on the previous candle if it is
accompanied by an inefficiency (FVG - Fair Value Gap).
3. Advanced SMC ValidationBOS (Break of Structure): A recent BOS must be confirmed by breaking the swing high/low defined by the swing length (Default: 4 M15 candles).Liquidity (Liquidity Sweep): The Order Block zone must have swept recent liquidity (defined by the Liquidity Search Length) within a certain tolerance (Default: $0.1\%$).Point of Interest: The OB must form in a premium zone (for shorts) or a discount zone (for longs) relative to the current swing range (above or below the $50\%$ level of the range).
4. Execution and Risk ManagementEntry: The trade is triggered when the price touches the active Order Block (mitigation).Stop Loss (SL): The SL is fixed at the low of the OB (for longs) or the high of the OB (for shorts).Take Profit (TP): The TP is strictly set at a level corresponding to 3 times the SL distance (R:R 1:3).Lot Sizing: The trade quantity is calculated to risk a fixed amount (Default: 2.00 Euros) per transaction, capped by a Lot Max and Lot Min defined by the user.
Input Parameters (Optimized for BTC/EUR M15)Users can adjust these parameters to modify sensitivity and risk profile. The default values are those optimized for the high-performing backtest (Profit Factor $> 3$).ParameterDescriptionDefault Value (M15)Long. Swing (BOS)Candle length used to define the swing (and thus the BOS).4Long. Recherche Liq.Number of candles to scan to confirm a liquidity sweep.7Tolérance Liq. (%)Price tolerance to validate the liquidity sweep (as a percentage of price).0.1Timeframe TendanceChart timeframe used for the EMA filter (e.g., 60 = H1).60 (H1)Longueur EMA TendancePeriods used for the trend EMA.200Lot Max (Quantité Max BTC)Maximum quantity of BTC the strategy is allowed to trade.0.01Lot Min Réel (Exigence Broker)Minimum quantity required by the broker/exchange.0.00001
BOS and CHoCHThe market never moves in a straight line. It moves in waves.
It makes a High, comes down a bit (Low), then breaks the previous High to make a new High.
Similarly, It makes a Low, goes up a bit (High), then breaks the previous Low to make a new Low.
BOS (Break Of Structure) - Trend Continuation
BOS means the market is continuing its current trend. If the market is in an Uptrend and breaks the old "High" -> Bullish BOS. If the market is in a Downtrend and breaks the old "Low" -> Bearish BOS.
3. CHOCH (Change Of Character) - Trend Reversal
CHOCH means the mood of the market has changed. For the first time, the trend has shifted its nature.
Bullish to Bearish CHOCH: The market was making Higher Highs, but suddenly it broke its previous "Low". Now the market can fall.
Bearish to Bullish CHOCH: The market was falling (Lower Lows), but suddenly it broke its previous "High". Now the market can rise.
BOS: Confirms the trend (Breaking the ceiling to go higher).
CHOCH: Signals a trend change (Slipping and falling below the previous floor).






















