Quasimodo (QML) Pattern [Kodexius]Quasimodo (QML) Pattern is a market structure indicator that automatically detects Bullish and Bearish Quasimodo formations using confirmed swing pivots, then visualizes the full structure directly on the chart. The script focuses on the classic liquidity-grab narrative of the QML: a sweep beyond a prior swing (the Head) followed by a decisive market structure break (MSB), leaving behind a clearly defined reaction zone between the Left Shoulder and the Head.
Detection is built on pivot highs and lows, so patterns are evaluated only after swing points are validated. Once a valid 4 pivot sequence is identified, the indicator draws the pattern legs, highlights the internal triangle area to emphasize the grab, marks the MSB leg, and projects a QML zone that can be used as a potential area of interest for retests.
This tool is designed for traders who work with structure, liquidity concepts, and reversal/continuation triggers, and who want a clean, repeatable QML visualization without manually marking swings.
🔹 Features
🔸 Confirmed Pivot Based Structure Mapping
The script uses classic built-in pivot logic to detect swing highs and swing lows.
🔸 Automatic Bullish and Bearish QML Detection
The indicator evaluates the most recent 4 pivots and checks for a valid alternating sequence (High-Low-High-Low or Low-High-Low-High). When the sequence matches QML requirements, the script classifies the setup as bullish or bearish:
Bullish logic (structure reversal up):
- Left Shoulder is a pivot Low
- Head is a lower Low than the Left Shoulder (liquidity sweep)
- MSB pivot exceeds the Reaction pivot
Bearish logic (structure reversal down):
- Left Shoulder is a pivot High
- Head is a higher High than the Left Shoulder (liquidity sweep)
- MSB pivot breaks below the Reaction pivot
🔸 Full Pattern Visualization (Legs + Highlighted Core)
When a pattern triggers, the script draws:
Three main legs: Left Shoulder to Reaction, Reaction to Head, Head to MSB
A shaded triangular highlight over the internal structure to make the liquidity-grab shape easy to spot at a glance
🔸 QML Zone Projection
A QML Zone box is drawn using the price range defined between the Left Shoulder and the Head, then extended to the right to remain visible as price develops. This zone is intended to act as a practical reference area for potential retests and reaction planning after MSB confirmation.
🔸 MSB Emphasis
A dotted MSB line is drawn between the Reaction point and the MSB point to visually emphasize the confirmation leg that completes the pattern logic.
🔸 Clean Point Tagging and Directional Labeling
Key points are labeled directly on the chart:
- “LS” at the Left Shoulder
- “Head” at the sweep pivot
- “MSB” at the break pivot
A directional label (“Bullish QML” or “Bearish QML”) is also printed to quickly identify the detected bias.
🔸 Configurable Visual Style
All main visual components are user configurable:
- Bullish and bearish colors
- Line width
- Label size
🔸 Efficient Update Logic
Pattern checks are only performed when a new pivot is confirmed, avoiding unnecessary repeated calculations on every bar. The most recent pattern’s projected elements (zone and label positioning) are updated as new bars print to keep the latest setup readable.
🔹 Calculations
This section summarizes the core logic used for detection and plotting.
1. Pivot Detection (Swing Highs and Lows)
The script relies on confirmed pivots using the user inputs:
Left Bars: how many bars must exist to the left of the pivot
Right Bars: how many bars must exist to the right to confirm it
float ph = ta.pivothigh(leftLen, rightLen)
float pl = ta.pivotlow(leftLen, rightLen)
When a pivot is confirmed, its true bar index is the pivot bar, not the current bar, so the script stores:
bar_index
2. Pivot Storage and History Window
Each pivot is stored as a structured object containing:
- price
- index
- isHigh (true for pivot high, false for pivot low)
A rolling history is maintained (up to 50 pivots) to keep processing stable and memory usage controlled.
3. Sequence Validation (Alternation Check)
The pattern evaluation always uses the latest 4 pivots:
p0: Left Shoulder candidate
p1: Reaction candidate
p2: Head candidate
p3: MSB candidate
Before checking bullish/bearish rules, the script enforces alternating pivot types:
bool correctSequence =
(p0.isHigh != p1.isHigh) and
(p1.isHigh != p2.isHigh) and
(p2.isHigh != p3.isHigh)
This prevents invalid structures like consecutive highs or consecutive lows from being interpreted as QML.
4. Bullish QML Conditions
A bullish QML is evaluated when the Left Shoulder is a Low:
Head must be lower than Left Shoulder (sweep)
MSB must be higher than Reaction (break)
if not p0.isHigh
if p2.price < p0.price and p3.price > p1.price
// Bullish QML confirmed
Interpretation:
p2 < p0 represents the liquidity grab below the prior swing low
p3 > p1 represents the market structure break above the reaction high
5. Bearish QML Conditions
A bearish QML is evaluated when the Left Shoulder is a High:
Head must be higher than Left Shoulder (sweep)
MSB must be lower than Reaction (break)
if p0.isHigh
if p2.price > p0.price and p3.price < p1.price
// Bearish QML confirmed
Interpretation:
p2 > p0 represents the liquidity grab above the prior swing high
p3 < p1 represents the market structure break below the reaction low
6. Drawing Logic (Structure, Highlight, Zone, Labels)
When confirmed, the script draws:
Three connecting legs (LS to Reaction, Reaction to Head, Head to MSB)
A shaded triangle using a transparent “ghost” line to enable filling
A dotted MSB emphasis line between Reaction and MSB
A QML Zone box spanning the LS to Head price range and projecting to the right
Point labels: LS, Head, MSB
A direction label: “Bullish QML” or “Bearish QML”
7. Latest Pattern Extension
To keep the newest setup readable, the script updates the most recently detected pattern by extending its projected elements as new bars print:
QML zone right edge is pushed forward
The main label x position is pushed forward
This keeps the last identified QML zone visible as price evolves, without having to redraw historical patterns on every bar.
Suporte e Resistência
Auto-Anchored Fibonacci Volume Profile [Custom Array Engine]Description:
1. The Theoretical Foundation: Structure vs. Participation In professional technical analysis, traders often struggle to reconcile two distinct datasets: Price Geometry (where price should go) and Market Participation (where money actually went).
Why Fibonacci? (The Structure) Fibonacci Retracements map the mathematical structure of a trend. They identify psychological and algorithmic "interest zones" (0.382, 0.5, 0.618) where a correction is statistically likely to terminate. However, Fibonacci levels are theoretical—they are "lines in the sand" that do not guarantee liquidity or reaction.
Why Volume Profile? (The Verification) Volume Profile maps the historical exchange of shares at specific price levels. It reveals "fair value" (High Volume Nodes) and "market imbalance" (Low Volume Nodes). It is the only tool that verifies if a specific price level was actually accepted by institutional participants.
2. Underlying Calculations (The Custom Engine) This script operates on a custom-built calculation engine that bypasses standard built-in functions entirely. It uses Pine Script Arrays to build a Volume Profile from scratch. Here is the breakdown of the proprietary code logic:
A. The "Smart-Fill" Distribution Algorithm (Solves Gapping)
The Problem: Standard volume scripts often assign a candle's entire volume to a single price row. In volatile markets or steep trends, this creates visual "gaps" or a "barcode" effect because price moved too fast to register on every row.
My Solution: I wrote a custom loop that calculates the vertical overlap of every candle against the profile grid.
The Math: Volume Per Bin = Total Candle Volume / Bins Touched.
The Result: If a single volatile candle spans 10 price rows (bins), the script mathematically divides that volume and distributes it equally into all 10 array indices. This generates a solid, continuous distribution curve that accurately reflects price action through the entire candle range, not just the close.
B. Dynamic Arrays & Split-Volume Logic The script initializes two separate floating-point arrays (buyVolArray and sellVolArray) sized to the user's resolution (up to 300 rows). It iterates through the specific time-window of the swing:
If Close >= Open, the calculated volume slice is injected into the Buy Array.
If Close < Open, it is injected into the Sell Array.
These arrays are then visually stacked to render the dual-color profile, allowing traders to see the "Delta" (Buyer vs. Seller aggression) at key structural levels.
C. Custom Garbage Collection (Performance) To enable the "Auto-Anchoring" feature without causing chart lag or visual artifacts ("ghosting"), the script includes a Garbage Collection System. Before drawing a new profile, the script iterates through a tracking array of all existing objects (box.delete, line.delete) and clears them from memory. This ensures the indicator remains lightweight and responsive even when dragging chart margins or switching timeframes.
3. The Synthesis: Why Combine Them? The core philosophy of this script is Confluence . A Fibonacci level without volume is merely a suggestion; a Fibonacci level backed by volume is a defensive wall. By algorithmically anchoring a Volume Profile to the exact coordinates of a Fibonacci swing, this tool allows traders to instantly answer critical questions:
"Is the Golden Pocket (0.618) supported by a High Volume Node (HVN), or is it a Low Volume Node (LVN) that price might slice through?"
"Is the Shallow Retracement (0.382) holding because of structural support, or just a lack of selling pressure?"
4. How to Read the Indicator
The Geometry: The script automatically detects the trend and draws standard Fib levels (0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0).
The Confluence Check: Look for the Point of Control (Red Line). If this High Volume Node aligns with a key Fib level (e.g., the 0.618), the probability of a reversal increases significantly.
The Imbalance Check: Look for "Valleys" in the profile (Low Volume Nodes). These gaps often act as "slippage zones" where price travels quickly between structural levels.
Buy/Sell Splits: The dual-color bars (Teal/Red) reveal the composition of the volume. A 0.618 level held up by dominant Buy Volume is a stronger bullish signal than one with mixed volume.
5. Settings & Customization
Lookback Length: Sensitivity of the swing detection (Default: 200 bars).
Resolution: Granularity of the profile rows (Default: 100). Higher values provide smoother definition.
Width (%): Responsive sizing that scales the profile relative to the trend's duration.
Extend Lines: Option to project structural levels infinitely to the right.
Disclaimer This script is an analytical tool for visualizing historical market data. It does not provide trade signals or financial advice.
FVG Heatmap [Hash Capital Research]FVG Map
FVG Map is a visual Fair Value Gap (FVG) mapping tool built to make displacement imbalances easy to see and manage in real time. It detects 3-candle FVG zones, plots them as clean heatmap boxes, tracks partial mitigation (how much of the zone has been filled), and summarizes recent “fill speed” behavior in a small regime dashboard.
This is an indicator (not a strategy). It does not place trades and it does not publish performance claims. It is a market-structure visualization tool intended to support discretionary or systematic workflows.
What this script detects
Bullish FVG (gap below price)
A bullish FVG is detected when the candle from two bars ago has a high below the current candle’s low.
The zone spans from that prior high up to the current low.
Bearish FVG (gap above price)
A bearish FVG is detected when the candle from two bars ago has a low above the current candle’s high.
The zone spans from the current high up to that prior low.
What makes it useful
Heatmap zones (clean, readable FVG boxes)
Bullish zones plot below price. Bearish zones plot above price.
Partial fill tracking (mitigation progress)
As price trades back into a zone, the script visually shows how much of the zone has been filled.
Mitigation modes (your definition of “filled”)
• Full Fill: price fully trades through the zone
• 50% Fill: price reaches the midpoint of the zone
• First Touch: price touches the zone one time
Optional auto-cleanup
Optionally remove zones once they’re mitigated to keep the chart clean.
Fill-Speed Regime Dashboard
When zones get mitigated, the script records how many bars it took to fill and summarizes the recent environment:
• Average fill time
• Median fill time
• % fast fills vs % slow fills
• Regime label: choppy/mean-revert, trending/displacement, or mixed
How to use
Use FVG zones as structure, not guaranteed signals.
• Bullish zones are often watched as potential support on pullbacks.
• Bearish zones are often watched as potential resistance on rallies.
The fill-speed dashboard helps provide context: fast fills tend to appear in more rotational conditions, while slow fills tend to appear in stronger trend/displacement conditions.
Alerts
Bullish FVG Created
Bearish FVG Created
Notes
FVGs are not guaranteed reversal points. Fill-speed/regime is descriptive of recent behavior and should be treated as context, not prediction. On realtime candles, visuals may update as the bar forms.
Algorithmic Volume Rejection Zones [AVRZ]Hello traders,
I am pleased to release the Algorithmic Volume Rejection Zones (AVRZ). This is a specialized decision-support system designed to identify high-probability reversal points by synthesizing candle geometry, market structure, and statistical volume anomalies.
Trading reversals often presents a dilemma: wait for confirmation and miss the move, or enter early and get stopped out by noise. AVRZ solves this by quantifying "Institutional Absorption." It filters out weak price probes and highlights only the specific moments where significant volume has stepped in to defend a price level.
🛡️ The Concept: Attacking The Zonesl
You will often see price aggressively "attack" a support or resistance level with speed and high volume. To the untrained eye, this looks like a breakout. However, professional analysis reveals that this is often an Efficiency Event—liquidity is being absorbed by passive limit orders.
The AVRZ indicator is specifically engineered to detect this phenomenon. When price strikes a level and volume spikes (>2.0 Sigma), it signals that the auction is becoming efficient and a reversal is imminent. The script captures this "Attack" via the Climax Bypass logic, plotting a fresh zone immediately to mark where the liquidity was defended.
PDH(RTH)+PMH / PDL(RTH)+PML First Break + 3m EMA RetestIncludes retest notification for passed or failed on 3min 9EMA.
Global J-1 & W-1 Levels (Fixed Lines / Lignes Fixes)Description
This indicator automatically plots key price levels from the previous day (D-1) and the previous week (W-1). It is designed for Day Traders and Scalpers who need clear visual references without cluttering their chart with past history.
Unlike standard indicators that use plot() and create "step-like" lines, this script uses graphic objects (line.new) to display fixed, infinite horizontal lines, just as if you had drawn them manually.
Key Features:
D-1 Levels (Blue): Previous Day High (DR-1) and Low (DS-1).
W-1 Levels (Red): Previous Week High (WR-1) and Low (WS-1).
Clean Chart: Lines are displayed only for the current session. No historical clutter.
Readability: Dashed lines with level names and exact prices displayed on the right.
How to use it? These levels often act as institutional support and resistance. Watch for price reactions (bounces or breakouts) near these zones to confirm your trade entries.
Pivot point moving averagesPivot Point Moving Averages builds moving averages from confirmed pivots, not from every bar.
Instead of averaging all highs and lows, this script:
Detects swing pivot highs and pivot lows using a configurable Pivot length (pivotLen).
Converts these sparse pivot prices into continuous series of:
last confirmed pivot low
last confirmed pivot high
Applies a user-selectable moving average (SMA / EMA / RMA / WMA / VWMA) to each of those pivot series.
Plots the two resulting lines and shades the area between them as a pivot value cloud.
Because the lines only move when a new pivot is confirmed, they represent structural acceptance rather than raw volatility. Short “noise” moves and stop hunts between pivots have much less impact on these averages.
You can also enable an optional second pivot MA cloud:
Uses the same Pivot length for structural detection.
Has its own MA length and type.
Can run on a different timeframe (e.g. D, 240, W).
Is projected back onto the current chart so you see local pivot value and higher-timeframe pivot value together.
Why it’s useful
Traditional MAs:
React to every bar.
Move on noise, wicks, and stop runs.
Don’t distinguish between “meaningful” structure and random fluctuation.
This tool uses confirmed pivots, so it is better suited to market structure and phase analysis:
Pivot MA low reflects how demand is stepping up (or down) as new swing lows form.
Pivot MA high reflects how supply is pressing down (or easing) as new swing highs form.
The cloud between them acts as a dynamic, structure-based value area.
Typical interpretations:
Price inside the pivot cloud → balance / fair value area.
Price above the pivot cloud → bullish value expansion.
Price below the pivot cloud → bearish value expansion.
Cloud compressing → possible energy build-up, transition between phases.
Cloud expanding → stronger directional conviction.
With the second cloud enabled on a higher timeframe, you can:
See whether lower-timeframe structure is building with or against the higher-timeframe pivot value.
Use the HTF cloud as a background bias and the LTF cloud for timing and fine-grained context.
Notes
All pivot-based tools have inherent delay: a pivot is only confirmed after pivotLen bars to the right.
On very low timeframes, long pivotLen + long MA lengths will make the lines slower to react.
This is intended as a context and structure tool, not a standalone entry signal.
Daily/Weekly Swing Highs-Lows + Candle PatternsDescription
Daily/Weekly Swing Highs-Lows + Candle Patterns
This indicator plots the most recent Daily and Weekly Swing Highs and Lows (key support/resistance levels) using a simple and effective logic: a swing high/low is confirmed when the previous bar's extreme is higher/lower than both the current and the one before it.
Features:
• Daily Swing Highs/Lows (teal/maroon circles) – toggleable
• Weekly Swing Highs/Lows (blue/purple circles) – optional
• Visual separators for new daily and weekly bars (light background color)
• Daily candle pattern labels (optional):
- US = Up Swing (strong bullish continuation)
- DS = Down Swing (strong bearish continuation)
- IN = Inside Bar
- OUT = Outside Bar
• Daily close position labels (optional):
- P = Positive (close in upper 25% of the range)
- mP = minor Positive (50–75%)
- mN = minor Negative (25–50%)
- N = Negative (lower 25%)
All elements are fully customizable (colors, visibility) and work on any timeframe.
Best suited for intraday timeframes (1 min to 4 hours) where daily and weekly key levels provide important context for price action and reversals.
The optional "Trading session length" input is mainly useful for markets with shorter sessions (e.g., European indices) and does not affect swing detection.
Open-source, free to use and modify.
How to Use the Indicator + Practical Use Case
Key Settings (Inputs)
Trading session length (hours) → Default 8.5 h (useful for FTSEMIB, DAX, etc.). Leave it as is unless you trade a market with a different session length.
Daily Swing Levels → Show/Hide daily swing highs (teal) and lows (maroon).
Weekly Swing Levels → Usually keep off on intraday charts to avoid clutter (turn on for higher-timeframe context).
Daily Candle Patterns → Enable only if you want to see US/DS/IN/OUT labels on the daily close.
Close Position (P/mP/mN/N) → Enable if you want to quickly see how strong/weak the daily close was.
What You See on the Chart
Teal circles = Last confirmed daily swing high (resistance).
Maroon circles = Last confirmed daily swing low (support).
Blue/purple circles (if enabled) = Weekly swing high/low.
Light gray background = Start of a new trading day.
Purple background (if weekly enabled) = Start of a new week.
Small labels on daily close (if enabled):
- US = strong bullish day
- DS = strong bearish day
- IN = inside bar (consolidation)
- OUT = outside bar (expansion)
- P/mP/mN/N = how far the close was from the high/low of the day.
Best Timeframes 1 min to 240 min charts → Daily levels act as major support/resistance zones for intraday trading.
Avoid using on daily or higher charts (the logic is designed for intraday context).
Why this works well intraday:
The daily swing high/low levels are high-probability zones where institutions and algorithms often defend positions. On intraday charts, they act as “magnets” for price, giving you clean entries and exits with clear invalidation levels.
This indicator keeps your chart clean while providing exactly the context most intraday traders need: key daily levels + daily momentum context.
Elev8+ Impulse Levels | Smart Support & ResistanceElev8+ Impulse Levels | Smart Support & Resistance
Ever notice price rejecting “empty” areas on the chart—like it remembered something that isn’t obvious?
That “something” is often Institutional Impulse : footprints left behind by large, aggressive moves that get defended again days or weeks later .
Elev8+ Impulse Levels automatically detects these moments and projects the most important prices forward so you can see the structure most traders miss.
— — —
🧠 How It Works (The Logic)
This is not a typical support/resistance tool. It does not hunt swing highs/lows.
It looks for Market Intent —the “Perfect Storm” when two conditions align:
Volume Spike — buying/selling pressure significantly exceeds average volume (multiplier-based).
Volatility Expansion — the candle body is unusually large relative to recent ATR.
When both occur, the script marks the event and treats the impulse close as a key “line in the sand” that can influence future reactions.
— — —
🎯 How to Use These Levels
The script includes a Smart Line behavior that changes level styling based on how price interacts with it—so you can quickly separate two core setups:
1) The Defense (Bounce)
Visual: 🟢 Solid line (Fresh / Untouched)
What it means: Price has not yet traded through or “invalidated” the level.
What to look for: First return to the level → rejection / bounce behavior.
Why it matters: Large players often defend prior entries; first tests can react sharply.
2) The Flip (Break & Retest)
Visual: ◌ Dotted line (Broken / Re-priced)
What it means: A candle has closed through the level.
What to look for: Price returns to the dotted level from the other side (“kiss”) → continuation.
Why it matters: Broken support can act as resistance (and vice versa), similar to a breaker concept.
— — —
✨ Key Features
Smart Visualization — levels automatically transition from solid → dotted when broken to reduce chart noise.
Impulse Candle Highlighting — see the exact candle that created the level (origin clarity).
Fully Customizable Sensitivity — tune volume + size thresholds for Crypto, Forex, Futures, or Stocks.
— — —
🚀 The Elev8+ Workflow
Think of Impulse Levels as your map : it shows where reactions are most likely.
For entry timing, pair it with Elev8+ Pro Reversal to confirm the moment price reacts at these high-value zones.
— — —
Disclaimer: Trading involves risk. This tool is for educational/technical analysis purposes only and does not guarantee future results.
Elev8+ Impulse LevelsElev8+ Impulse Levels | Smart Support & Resistance
Ever notice price rejecting “empty” areas on the chart—like it remembered something that isn’t obvious?
That “something” is often Institutional Impulse : footprints left behind by large, aggressive moves that get defended again days or weeks later .
Elev8+ Impulse Levels automatically detects these moments and projects the most important prices forward so you can see the structure most traders miss.
— — —
🧠 How It Works (The Logic)
This is not a typical support/resistance tool. It does not hunt swing highs/lows.
It looks for Market Intent —the “Perfect Storm” when two conditions align:
Volume Spike — buying/selling pressure significantly exceeds average volume (multiplier-based).
Volatility Expansion — the candle body is unusually large relative to recent ATR.
When both occur, the script marks the event and treats the impulse close as a key “line in the sand” that can influence future reactions.
— — —
🎯 How to Use These Levels
The script includes a Smart Line behavior that changes level styling based on how price interacts with it—so you can quickly separate two core setups:
1) The Defense (Bounce)
Visual: 🟢 Solid line (Fresh / Untouched)
What it means: Price has not yet traded through or “invalidated” the level.
What to look for: First return to the level → rejection / bounce behavior.
Why it matters: Large players often defend prior entries; first tests can react sharply.
2) The Flip (Break & Retest)
Visual: ◌ Dotted line (Broken / Re-priced)
What it means: A candle has closed through the level.
What to look for: Price returns to the dotted level from the other side (“kiss”) → continuation.
Why it matters: Broken support can act as resistance (and vice versa), similar to a breaker concept.
— — —
✨ Key Features
Smart Visualization — levels automatically transition from solid → dotted when broken to reduce chart noise.
Impulse Candle Highlighting — see the exact candle that created the level (origin clarity).
Fully Customizable Sensitivity — tune volume + size thresholds for Crypto, Forex, Futures, or Stocks.
— — —
🚀 The Elev8+ Workflow
Think of Impulse Levels as your map : it shows where reactions are most likely.
For entry timing, pair it with Elev8+ Pro Reversal to confirm the moment price reacts at these high-value zones.
— — —
Disclaimer: Trading involves risk. This tool is for educational/technical analysis purposes only and does not guarantee future results.
SMC Academy [PhenLabs]📊 SMC Academy
Version: PineScript™ v6
📌 Description
The SMC Academy indicator is a comprehensive educational tool designed to demystify Smart Money Concepts (SMC) for traders of all levels. Unlike standard indicators that simply print signals, this script uses a “Learning Phase” system that allows users to toggle between individual concepts—such as Market Structure, Liquidity, Imbalances, and Order Blocks—or view them all simultaneously. It lets you focus on one piece of the puzzle at a time.
🚀 Points of Innovation
Progressive Learning Modes: Toggle between 5 distinct phases to master concepts individually before using the Full Strategy Mode.
Educational Tooltips: Hover over labels to read detailed explanations of why a BOS, MSS, or Liquidity zone was identified.
Smart Filtering: Uses ATR and Volume integration to filter out low-quality Fair Value Gaps and weak Order Blocks.
HTF Dashboard: A built-in panel analyzes Higher Timeframe (4H) data to ensure you are trading in alignment with the broader trend.
🔧 Core Components
Market Structure Engine: Automatically detects Swing Highs and Lows to map out market direction using configurable swing lengths.
Liquidity Manager: Identifies unmitigated swing points that serve as Buy-Side (BSL) and Sell-Side (SSL) liquidity magnets.
Imbalance Detector: Highlights Fair Value Gaps (FVG) where price inefficiencies exist, using ATR thresholds to ignore noise.
Order Block Identifier: Locates the specific candles responsible for structure breaks, validated by volume analysis.
🔥 Key Features
Break of Structure (BOS): Automatically marks trend continuation signals with solid lines and color-coded labels.
Market Structure Shift (MSS): Identifies potential trend reversals when significant swing points are breached.
Dashboard Context: Displays the current trend direction and the 4H context directly on your chart.
Custom Alerts: Built-in alert conditions for structure breaks and new Order Blocks allow for automated tracking.
🎨 Visualization
Structure Lines: Solid lines indicate confirmed breaks (Green for Bullish, Red for Bearish).
Liquidity Zones: Dotted lines extending rightward indicate resting liquidity levels that price may target.
FVG Boxes: Shaded boxes highlight imbalance zones, automatically extending for a user-defined number of bars.
Dashboard: A clean, non-intrusive table in the top-right corner displays trend status and active mode.
📖 Usage Guidelines
Setting Categories
Learning Mode: Select from ‘1. Market Structure’ through ‘5. Full Strategy Mode’ to filter what appears on the chart.
Swing Detection Length: Default (5). Determines the sensitivity of the swing high/low detection.
Structure Break Type: Options (Close/Wick). Choose whether a candle close or just a wick is required to confirm a break.
Min FVG Size: Default (0.5 ATR). Filters out gaps smaller than this multiplier to reduce noise.
Filter Weak OBs by Volume: Default (True). Only highlights Order Blocks where volume exceeds the 20-period average.
✅ Best Use Cases
Educational Study: Isolate “Phase 1: Market Structure” to practice identifying trend changes without distraction.
Trend Following: Use “Phase 3: Imbalances” to find entry points within an established trend.
Reversal Trading: Combine “Phase 2: Liquidity” and “Phase 4: Order Blocks” to catch reversals at key levels.
⚠️ Limitations
Subjectivity: Market structure can be interpreted differently depending on the swing length settings used.
Ranging Markets: Like all trend-following concepts, false BOS/MSS signals may generate during choppy, sideways price action.
Repainting: While the signals are non-repainting once confirmed, the live candle may flash a signal before the close if “Close” mode is selected.
💡 What Makes This Unique
Interactive Learning: The inclusion of tooltip explanations transforms this from a simple tool into an active mentor.
Phase-Based Workflow: The ability to strip the chart back to basics at the click of a button is unique to the PhenLabs ecosystem.
🔬 How It Works
Swing Analysis: The script calculates pivot highs and lows based on your length input to define the structural landscape.
Break Validation: It checks if price crosses these pivot points to trigger BOS (Continuation) or MSS (Reversal) logic.
Volume Confirmation: For Order Blocks, it looks back inside the swing leg to find the specific candle responsible for the move, verifying it has significant volume.
💡 Note:
For the best experience, start in Phase 1 to calibrate your Swing Detection Length to the specific volatility of the asset you are trading before enabling Full Strategy Mode.
Dynamic Multi-Timeframe SMAs (Brian Shannon Style)Overview : This indicator implements the logic of Brian Shannon's "Multi-Timeframe Analysis" on intraday charts. It automatically calculates the correct length for the 5-Day and 50-Day Simple Moving Averages (SMA), regardless of the timeframe (e.g., 5m, 15m, 1h) you are viewing.
How it works Standard SMAs only count bars. A "50 SMA" on a 5-minute chart only looks back ~4 hours. This script dynamically calculates how many bars represent full trading days.
Features:
Asset Class Selector : Choose between Crypto (24/7) and Stocks (6.5h US Session) to ensure correct minute-per-day calculations.
Info Table : Displays exactly how many bars are being used for the calculation in real-time.
Liquidity Levels Pro Tool - thewallranka
Liquidity Levels Pro Tool is a market-structure and liquidity-mapping indicator designed to help discretionary futures and index traders identify statistically relevant price levels where reactions, continuations, or liquidity sweeps are more likely to occur.
This script is a decision-support tool, not a signal generator. It does not issue buy/sell alerts or predict future price movement. Instead, it organizes and scores liquidity information so traders can make their own contextual decisions.
What this indicator does
The script continuously detects and maintains liquidity zones derived from price pivots, then evaluates those zones using multiple structural and contextual factors:
Repeated price interaction (touches)
Freshness (time since last interaction)
Confluence with key reference levels
Reaction behavior after contact
Session relevance (RTH vs overnight)
Market regime (trend vs mean reversion)
Time-of-day effects (open, midday, power hour)
Only the most relevant zones—based on a dynamic scoring system—are displayed to reduce chart clutter and focus attention on levels that have historically mattered.
Core components
1. Liquidity Zones
Zones are built from pivot highs and lows and expanded into areas using a configurable tick-based padding. Nearby zones are merged to avoid redundancy.
Each zone is continuously evaluated and assigned a score (0–100) reflecting its relative importance.
2. Zone Scoring (No Lookahead)
Zone scores are based on:
Number of confirmed interactions
Recency of the last touch
Confluence with prior day/week levels, VWAP, and Opening Range
Reaction quality after touches (speed and follow-through)
Session alignment (zones that “work” in the current session are favored)
Penalties after liquidity sweeps
Zones are not forward-looking and do not rely on future data.
3. Context Engine
The script classifies the current environment using VWAP slope and distance:
Trend (up or down)
Mean reversion
Mixed/transition
Time-of-day context (Open, Midday, Power Hour) is also tracked internally and influences zone scoring.
This context is displayed in the HUD to support situational awareness, not automated decisions.
4. Liquidity Sweeps
Optional sweep detection highlights situations where price trades beyond a zone and closes back inside, indicating potential stop runs or failed breakouts.
Sweeps are rate-limited and applied conservatively to avoid visual noise.
5. Trade Planning Levels (Optional)
When enabled, the script highlights the nearest high-quality liquidity level above and below price based on score thresholds.
These are intended as reference targets, not trade entries or exits.
HUD (Heads-Up Display)
The on-chart HUD summarizes:
Key reference levels (prior day/week, Opening Range)
Nearest strong liquidity above/below price
Market regime and time-of-day context
Distance to levels (ticks or points)
The HUD is fully optional, positionable, and includes resizable modes (Small / Medium / Large) to fit different chart layouts.
How to use this tool
This indicator is best used as part of a discretionary trading process, for example:
Identifying areas where price is more likely to react or pause
Framing trades around higher-quality structure instead of arbitrary levels
Filtering setups based on session and regime context
Managing expectations near known liquidity rather than chasing price
It is intentionally designed not to provide trade signals.
Limitations and important notes
This script does not predict outcomes or guarantee reactions
High-scoring zones can still fail
Liquidity behavior is context-dependent and probabilistic
No performance claims or backtested results are provided
The indicator should not be used in isolation
Past behavior does not imply future results.
Chart and usage notes
The script is intended for standard time-based charts
Recommended for liquid futures and index products
Use a clean chart for clarity when publishing or sharing
No external indicators are required
Final note
Liquidity Levels Pro (Tool) — v6 is designed to organize complex market structure into a clear, readable framework, allowing traders to focus on execution and risk management rather than raw level detection.
This script reflects an analytical approach to intraday liquidity and structure, not an automated trading system.
Hybrid Strategy: Trend/ORB/MTFHybrid Strategy: Trend + ORB + Multi-Timeframe Matrix
This script is a comprehensive "Trading Manager" designed to filter out noise and identify high-probability breakout setups. It combines three powerful concepts into a single, clean chart interface: Trend Alignment, Opening Range Breakout (ORB), and Multi-Timeframe (MTF) Analysis.
It is designed to prevent "analysis paralysis" by providing a unified Dashboard that confirms if the trend is aligned across 5 different timeframes before you take a trade.
How it Works
The strategy relies on the "Golden Trio" of confluence:
1. Trend Definition (The Setup) Before looking for entries, the script analyzes the immediate trend. A bullish trend is defined as:
Price is above the Session VWAP.
The fast EMA (9) is above the slow EMA (21). (The inverse applies for bearish trends).
2. The Signal (The Trigger) The script draws the Opening Range (default: first 15 minutes of the session).
Buy Signal: Price breaks above the Opening Range High while the Trend is Bullish.
Sell Signal: Price breaks below the Opening Range Low while the Trend is Bearish.
3. The Confirmation (The Filter) A signal is only valid if the Higher Timeframe (default: 60m) agrees with the direction. If the 1m chart says "Buy" but the 60m chart is bearish, the signal is filtered out to prevent false breakouts.
Key Features
The Matrix Dashboard A zero-lag, real-time table in the corner of your screen that monitors 5 user-defined timeframes (e.g., 5m, 15m, 30m, 60m, 4H).
Trend: Checks if Price > EMA 21.
VWAP: Checks if Price > VWAP.
ORB: Checks if Price is currently above/below the Opening Range of that session.
D H/L: Warns if price is near the Daily High or Low.
PD H/L: Warns if price is near the Previous Daily High or Low.
Visual Order Blocks The script automatically identifies valid Order Blocks (sequences of consecutive candles followed by a strong explosive move).
Chart: Draws Green/Red zones extending to the right, showing where price may react.
Dashboard: Displays the exact High, Low, and Average price of the most recent Order Blocks for precision planning.
Risk Management (Trailing Stop) Once a trade is active, the script plots Chandelier Exit dots (ATR-based trailing stop) to help you manage the trade and lock in profits during trend runs.
Visual Guide (Chart Legend)
⬜ Gray Box: Represents the Opening Range (first 15 minutes). This is your "No Trade Zone." Wait for price to break out of this box.
🟢 Green Line: The Opening Range High. A break above this line signals potential Bullish momentum.
🔴 Red Line: The Opening Range Low. A break below this line signals potential Bearish momentum.
🟢 Green / 🔴 Red Zones (Boxes): These are Order Blocks.
🟢 Green Zone: A Bullish Order Block (Demand). Expect price to potentially bounce up from here.
🔴 Red Zone: A Bearish Order Block (Supply). Expect price to potentially reject down from here.
⚪ Dots (Trailing Stop):
🟢 Green Dots: These appear below price during a Bullish trend. They represent your suggested Stop Loss.
🔴 Red Dots: These appear above price during a Bearish trend.
🏷️ Buy / Sell Labels:
BUY: Triggers when Price breaks the Green Line + Trend is Bullish + HTF is Bullish.
SELL: Triggers when Price breaks the Red Line + Trend is Bearish + HTF is Bearish.
Settings
Session: Customizable RTH (Regular Trading Hours) to filter out pre-market noise.
Matrix Timeframes: 5 fixed slots to choose which timeframes you want to monitor.
Order Blocks: Adjust the sensitivity and lookback period for Order Block detection.
Risk: Customize the ATR multiplier for the trailing stop.
Disclaimer
This tool is for educational purposes only. Past performance does not guarantee future results. Always manage your risk properly.
Box Indicator - Auto Draw Previous Day's - High / Midline / LowThis indicator draws a box around the previous day’s high and low, calculates the midline, and displays them on the current day’s chart. It helps visualize key support/resistance levels from the prior trading day.
This script gives you a static reference box from the prior day’s trading range, including a midpoint. It’s useful for spotting potential reversal zones, breakout levels, or intraday targets based on yesterday’s price action.
Session ATR Progression Tracker📊 Session ATR Progression Tracker - SIYL Regression Trading Tool
Track how much of your instrument's 7-day Average True Range (ATR) has been covered during the current trading session. This indicator is specifically designed for regression traders who follow the "Stay In Your Lane" (SIYL) methodology, helping you identify when the probability of mean reversion significantly increases. If you are interested in more on that check out Rod Casselli and tradersdevgroup.com.
🎯 Key Features:
• Real-time ATR Coverage Percentage - See at a glance what percentage of the 7-day ATR has been covered in the current session
• SIYL-Optimized Thresholds - See at a glance when the instrument has achieved 80% and 100% ATR coverage, the proven thresholds where mean reversion probability increases (customizable)
• Flexible Session Modes:
- Daily: Resets at calendar day change
- Session: Uses exchange-defined trading sessions
- Custom Session: Set your exact session start/end times (perfect for futures traders and international markets)
• Visual Alerts - Color-coded display (gray → orange → red) and optional background highlighting
• Repositionable Display - Choose from 9 screen positions to avoid chart clutter
• Session Markers - Green triangles mark the start of each new session
• Detailed Stats - View current range, ATR value, session high/low, and session status
💡 Why Use This Indicator?
This tool is built around a proven concept: regression trading becomes significantly more effective once a session has achieved at least 80% of its 7-day ATR. At this threshold, the probability of price reverting to mean increases substantially, creating higher-probability trade setups for SIYL practitioners.
Benefits for regression traders:
- Identify optimal entry points when mean reversion probability is highest (≥80% ATR coverage)
- Avoid premature regression entries before adequate range has been established
- Recognize when daily moves have "earned their range" and are ripe for reversal
- Time fade-the-move and counter-trend strategies with statistical backing
- Improve win rates by trading only after proven probability thresholds are met
⚙️ Setup Instructions:
1. Add the indicator to your chart
2. Select your preferred "Reset Mode" (recommend "Custom Session" for futures/international markets)
3. If using Custom Session, enter your session times in 24-hour format (e.g., 0930-1600 for US stocks, 1700-1600 for CME futures)
4. Adjust alert thresholds if desired (default: 80% and 100% - proven SIYL thresholds)
5. Position the display where it's most visible on your chart
📈 Works Across All Markets:
Stocks • Futures • Forex • Indices • Crypto • Commodities
Perfect for regression traders, mean reversion specialists, and SIYL practitioners who want to trade with probability on their side by entering only after the session has "earned its range."
---
Tip: For futures contracts with overnight sessions that span calendar days (like MES, MNQ, MYM), use "Custom Session" mode with your exchange's official session times for accurate tracking.
Dynamic Pivot Point [MarkitTick]Title: Dynamic Pivot Point MarkitTick
Concept
Unlike traditional Pivot Points, which plot static horizontal levels based on the previous period's High, Low, and Close, this script introduces a dynamic element by applying an Exponential Moving Average (EMA) to the calculated pivot levels. This approach allows the Support and Resistance zones to adapt more fluidly to recent price action, reducing the jagged steps often seen in standard multi-timeframe pivot indicators.
How It Works
The script operates in two distinct phases of calculation:
1. Data Extraction and Core Math:
The indicator first requests the High, Low, and Close data from a user-defined timeframe (e.g., Daily, Weekly). Using this data, it calculates the standard Pivot Point (P) alongside three levels of Support (S1, S2, S3) and three levels of Resistance (R1, R2, R3) using standard geometric formulas:
Pivot = (High + Low + Close) / 3
R1 = 2 * Pivot - Low
S1 = 2 * Pivot - High
(Subsequent levels follow standard Floor Pivot logic).
2. Dynamic Smoothing:
Instead of plotting these raw values directly, the script processes each calculated level (P, S1-S3, R1-R3) through an Exponential Moving Average (EMA). The length of this EMA is controlled by the Pivot Length input. This smoothing process filters out minor volatility and creates curved, dynamic trajectories for the pivot levels rather than static straight lines.
How to Use
Traders can use this tool to identify dynamic areas of interest where price may react.
The White Line represents the Central Pivot. Price action relative to this line helps determine the immediate bias (above for bullish, below for bearish).
Green Lines (Support 1, 2, 3) indicate potential demand zones where price may bounce during a downtrend.
Red Lines (Resistance 1, 2, 3) indicate potential supply zones where price may reject during an uptrend.
Because the levels are smoothed, they can also act as dynamic trend followers, similar to moving averages, but derived from pivot geometry.
Settings
Show Pivot Points: Toggles the visibility of the plot lines on the chart.
Pivot Length: Defines the lookback period for the EMA smoothing applied to the pivot levels. A higher number results in smoother, slower-reacting lines.
Timeframe: Determines the timeframe used for the underlying High/Low/Close data (e.g., selecting "D" calculates pivots based on Daily data while viewing a lower timeframe chart).
Disclaimer This tool is for educational and technical analysis purposes only. Breakouts can fail (fake-outs), and past geometric patterns do not guarantee future price action. Always manage risk and use this tool in conjunction with other forms of analysis.
Prev TF CLOSE EMA Box (Resets Every TF)⚙️ Key Features
✅ Custom reset timeframe (independent of chart TF)
✅ Uses previous CLOSED EMA (no lookahead)
✅ Box instead of line (clearer structure)
✅ Optional “disrespected → gray” logic
✅ Wick-based or close-based validation
✅ Works on futures, crypto, forex, equities
📈 How to Use
Treat the box as a dynamic support / resistance zone
Best used for:
Trend continuation
Mean reversion
Bias filtering (above = bullish, below = bearish)
When the box turns gray, the EMA level has lost structural validity
❗ Important Notes
This is not a signal indicator
No entries or exits are generated
Designed for context, bias, and structure
Combine with price action, liquidity, or session logic
🧩 Inputs Explained
Reset / EMA TF → timeframe used for EMA calculation & box reset
EMA Length → standard EMA length (default 9)
Box Height → thickness of the EMA zone
Disrespect Logic → optional invalidation behavior
First 5-Min Candle DetectorHighlights the high and low of the first 5-minute candle of the regular trading session, beginning at 9:30am EST.
Daily Levels [cryptalent]Daily High / Low / Mid / Open Levels is a session-based reference indicator designed to visualize key daily price levels directly on the chart.
This indicator automatically plots the Daily High, Daily Low, Daily Midpoint (High + Low / 2), and Daily Open as horizontal lines for each trading day. These levels help traders quickly identify important structural prices where liquidity, reactions, or acceptance often occur.
Key Features
Automatic Daily Levels
Plots Daily High (H), Low (L), Mid (M), and Open (O) using higher-timeframe daily data.
Levels update in real time as the current day develops.
Multi-Day History
Displays daily levels for a configurable number of past days.
Older levels are automatically removed to keep the chart clean.
Line Extension
Current day levels can be extended forward by a user-defined number of bars.
Useful for projecting intraday reaction zones and liquidity targets.
Visual Customization
Independent line width and color settings for each level.
Mid level is shown as a dashed line for quick visual distinction.
Labels & Price Tags
Optional letter labels (H / L / M / O) displayed near the extended levels.
Optional price labels showing the exact level values on the right side of the chart.
Labels update dynamically and only display for the active trading day.
Performance-Oriented Design
Efficient line and label management using arrays.
Automatically cleans up unused objects to stay within TradingView limits.
Use Cases
Identifying intraday support and resistance
Tracking daily range behavior
Monitoring mean reversion vs. range expansion
Aligning intraday execution with higher-timeframe structure
This indicator is particularly useful for traders who rely on market structure, session behavior, and objective price references rather than subjective trend lines.
NeoChartLabs POCOne of our Favorite Indicators - the High Time Frame Point of Control with a Volume Profile.
Shout out to p2pasta for the original script, we updated to v6.
Currently included: Monthly, 3 months and 6 months.
/* DEFINITION */
Point Of Control (= POC) is a price level at which the heaviest volumes were traded.
Value Area High/Low (=VAH/VAL) is a range of prices where the majority of trading volume took place. Naturally, Value Area High being the top price level and Value Area Low being the lowest. POC always is between the two.
/* HOW TO TRADE WITH THIS INDICATOR */
The basis for POC is determining bias on whichever timeframe you choose.
1. Identify a POC on the timeframe of your choosing.
/* If you choose a "low" timeframe (monthly here) then make sure to look at the higher timeframes to see how it is playing against a higher timeframe POC.
2. When the price is moving away from the POC (either to the upside or downside) this will confirm or invalidate the trade.
3. You can now enter the trade on bias or wait for a retest of the same POC.
Open Range BreakoutOpen Range Breakout (ORB)
The Open Range Breakout (ORB) is a classic intraday strategy used across stocks, indices, FX and futures. It focuses on how price behaves during the first minutes of a major session, when liquidity and volatility are highest.
This indicator fully automates the ORB process with session detection, box drawing, breakout & retest logic, and final Buy/Sell signals.
Multi-Session Support
Choose between the three most important global opens:
Asia (Tokyo) – JPY pairs, Asian indices, gold, crypto
London – FX majors, European indices, strong volatility
New York – US indices, USD pairs, gold, oil, highest volume
The Opening Range is calculated only during the selected session.
ORB Range (5 / 15 / 30 min)
The indicator builds the ORB High/Low from the first X minutes of the session, draws the box, and waits for price action once the range is complete.
How It Works
ORB Window → High/Low of the opening minutes are recorded.
Breakout → Price closes above/below the ORB → “BREAKOUT” label.
Retest → Price returns to the ORB box → “RETEST” label.
Confirmation Levels Freeze → Upper/lower structure set.
Final Signal
Close above frozen upper level → BUY
Close below frozen lower level → SELL
This filters out false breakouts and provides structured continuation signals.
Alerts
Includes built-in alert conditions for:
ORB BUY Signal
ORB SELL Signal
Alerts trigger exactly when the Buy or Sell label appears.
Works On
Stocks & indices
Forex
Futures






















