cephxs + fadi / HTF PSPHTF PSP - PRECISION SWING POINTS
Detect divergence-based Precision Swing Points (PSPs) across multiple higher timeframes with automatic correlated asset detection.
WHAT'S NEW (vs Original HTF Candles)
This indicator builds on @fadizeidan's excellent ICT HTF Candles foundation with significant new functionality, depending on who you ask of course:
✨ PSP Divergence Detection: Automatically identifies Precision Swing Points where price diverges from correlated assets—the original has no divergence analysis
✨ Auto Asset Correlation: Uses AssetCorrelationUtils library to detect and pair correlated assets (ES↔NQ↔DXY, BTC↔ETH, Gold↔Silver, etc.)—no manual setup required
✨ Multi-Asset Comparison: Tracks up to 3 correlated assets simultaneously with divergence relationships between all pairs
✨ Dynamic Asset Reordering: When you switch charts, the indicator automatically reorders assets so your chart is always primary
✨ Inverse Correlation Support: Properly handles inversely correlated assets like DXY (bullish DXY = bearish signal for risk assets)
✨ HTF Sweep Detection: New sweep line feature highlights when HTF candles take out previous highs/lows and close back inside. One of my followers asked me for this, there you go anon.
🔧 Streamlined to 3 HTFs: Focused design with 3 HTF slots (vs 6) for cleaner charts and better performance
The original remains excellent for pure HTF candle visualization. This version adds institutional flow analysis through divergence detection.
WHAT IT DOES
This indicator displays Higher Timeframe (HTF) candles to the right of your chart and highlights Precision Swing Points—pivots where price diverges from correlated assets. When ES makes a new high but NQ doesn't follow, or gold pushes higher while DXY fails to confirm, you're looking at institutional repositioning.
PSPs mark these moments on your HTF candles, giving you a clean visual signal for potential reversals.
HOW IT WORKS
Divergence Detection
The indicator compares price action between your chart and up to two correlated assets. A divergence occurs when one asset makes a directional move (bullish/bearish candle) while a correlated asset moves the opposite direction.
Three divergence relationships are tracked:
Primary vs Secondary (e.g., ES vs NQ)
Primary vs Tertiary (e.g., ES vs DXY)
Secondary vs Tertiary (e.g., NQ vs DXY)
PSP Confirmation
A candle is marked as a PSP when:
A divergence exists between correlated assets
A swing pivot forms (high > previous high AND high > next high, or vice versa for lows)
This dual confirmation filters noise and highlights only meaningful institutional activity.
Automatic Asset Detection
In Auto mode, the indicator uses the AssetCorrelationUtils library to detect your chart's asset class and automatically select the most relevant correlated pairs:
Indices: ES ↔ NQ ↔ DXY, YM ↔ ES ↔ NQ
Forex: EURUSD ↔ DXY ↔ GBPUSD, USDJPY ↔ DXY ↔ US10Y
Crypto: BTC ↔ ETH ↔ DXY
Metals: Gold ↔ Silver ↔ DXY
Energy: CL (Oil) ↔ NG ↔ DXY
HTF Sweep Detection
Sweeps are detected when an HTF candle (C2) takes out the high or low of the previous candle (C1) and then closes back inside. This marks liquidity grabs on the higher timeframe.
HOW TO USE
Enable HTF timeframes: Select 1-3 higher timeframes relevant to your trading style (e.g., 30m, 90m, 4H for intraday traders)
Watch for PSP candles: When a candle body color changes to the divergence color, a PSP has formed
Note the direction: Bullish divergence (your asset bullish while correlated asset bearish) suggests upside; bearish divergence suggests downside
Combine with LTF structure: Use PSPs as bias, then look for entry on lower timeframes (CHoCH, FVG, etc.)
Sweeps confirm liquidity: A sweep followed by a PSP is a strong reversal signal
INPUTS
HTF Selection
HTF 1/2/3: Enable/disable each HTF slot with timeframe and candle count
Custom Daily Open: Use Midnight, 8:30, or 9:30 ET as daily candle open
Styling
Body/Border/Wick Colors: Customize bullish and bearish candle appearance
Padding/Buffer/HTF Buffer: Control spacing between candles and timeframe groups
Labels
HTF Label: Show timeframe name above/below candles
Remaining Time: Countdown to candle close
Label Position: Top, Bottom, or Both
Label Alignment: Align across timeframes or follow individual candles
Interval Value: Show interval details on candles
Imbalance
Fair Value Gap: Highlight FVGs on HTF candles
Volume Imbalance: Highlight VIs on HTF candles
HTF Sweeps: Show sweep lines when C2 takes out C1's high/low
Trace
Trace Lines: Draw lines from HTF candle OHLC levels back to chart price
Anchor: Anchor to first or last timeframe
PSP Divergence Detection
Precise Mode: Only highlight pivots on current asset (stricter confirmation)
Divergence Body Colors: Custom colors for bullish/bearish divergence candles
Asset Selection
Correlation Preset: Auto (library-detected) or Manual
Manual Assets 1/2/3: Specify custom correlated assets
Invert Asset 3: Flip the bullish/bearish interpretation for inverse correlations (e.g., DXY)
KEY FEATURES
Multi-HTF Display: Up to 3 higher timeframes displayed simultaneously
Auto Asset Detection: Automatically finds relevant correlated assets for your chart
Dynamic Reordering: When you switch charts, assets reorder so the chart is always primary
Inverse Correlation Support: Properly handles DXY and other inversely correlated assets
HTF Sweep Detection: Highlights liquidity grabs on higher timeframes
FVG/VI Detection: Fair Value Gaps and Volume Imbalances on HTF candles
Remaining Time Counter: Know exactly when the next HTF candle closes
BEST PRACTICES
Use PSPs as directional bias, not direct entries—wait for LTF confirmation
A PSP at a key level (previous day high, weekly open) carries more weight
Multiple PSPs across different HTFs pointing the same direction = stronger signal
Sweeps that fail to hold (sweep + PSP) often mark significant reversals
In Auto mode, trust the library's asset selection—it's been tuned for common correlations
DISCLAIMER
This indicator is for educational purposes only and does not constitute financial advice. Divergences and PSPs do not guarantee reversals—always use proper risk management and confirm signals with your own analysis. Past performance does not guarantee future results.
CREDITS
Original HTF candle plotting concept by @fadizeidan. PSP divergence detection and asset correlation logic by cephxs & fstarcapital. Uses the AssetCorrelationUtils library by fstarcapital.
Open Sourced For all.
Enjoy.
Made with ❤️ by cephxs + fadi
Точки разворота и уровни
Daily & Weekly Levels (Sticky + Individual Alerts)🚀 Sticky Levels: PDH/PDL & Weekly High/Low
💡 Overview
This lightweight Pine Script v6 utility is designed for high-frequency traders and scalpers who require key Daily and Weekly levels without cluttering their price action. Optimized for speed and clarity, it ensures your most important S/R zones are always exactly where you need them.
🌟 Key Features
📌 Sticky Right Alignment – Labels are anchored to the right price scale using a customizable offset. They stay perfectly visible on mobile devices (Android/iOS) regardless of zoom level or scrolling.
⚡ Performance Optimized – Specifically built for low timeframes (15s, 1m, 5m). By using barstate.islast and tuple-based request.security calls, it ensures zero lag and minimal resource usage.
📅 Daily Levels – Instantly plot Previous Day High (PDH) and Previous Day Low (PDL).
🗓️ Weekly Levels – Monitor Previous Week High (PWH), Previous Week Low (PWL), and Current Weekly Open (WO).
🔔 Individual Alert Management – Granular control over notifications. You can manually enable/disable alerts for each specific level to avoid "alert fatigue."
💎 Clean Visuals – Uses elegant dashed lines and non-intrusive labels with an optional price display for pinpoint accuracy.
🛠️ How to Customize Your Setup
1. Visibility & Visuals
Toggle Levels: Turn each level on or off independently in the settings.
Label Offset: Adjust the "3cm" margin by changing the bar offset to fit your screen perfectly.
Price Toggle: Show or hide exact price values next to the labels.
2. Individual Alert Toggles In the settings menu, you will find a 🔔 icon next to each level. You can manually choose which specific levels should trigger a notification:
Enable PDH alerts for breakout trades.
Keep Weekly Open alerts off if you only use it as a visual bias.
Focus only on what matters for your strategy!
❓ Why use this script?
Standard horizontal lines often disappear when you scroll back in time or clutter the immediate price action on lower timeframes. This script solves that by keeping labels fixed at the right margin, providing a professional trading interface similar to high-end institutional platforms. Whether you are at your desk or trading on the go, your key levels remain clear and "sticky."
🚦 Quick Setup Guide
Add to Chart: Save the script and add it to your favorite symbols.
Configure: Open settings and check the "Alert" box for your desired levels.
Create Alert: Press Alt+A, set Condition to this indicator, and select "Any alert() function call".
Trade: Receive precise, non-spammy notifications directly to your phone or desktop.
cephxs / New X Opening Gaps [Pro +]NWOG & NDOG - OPENING GAPS
Smart Gap Detection with Intelligent Filtering
Visualizes New Week Opening Gaps (NWOGs) and New Day Opening Gaps (NDOGs) with built-in intelligence to show you only what matters. No more cluttered charts with gaps from 3 months ago that price will never revisit.
THE PROBLEM WITH GAP INDICATORS
Most gap indicators dump every single gap on your chart and call it a day. You end up with 50 boxes cluttering your screen, half of which are miles away from current price and the other half are so tiny they're basically noise.
This one's different and I explain why below.
SMART FILTERING (THE GOOD STUFF)
Two filters work together to keep your chart clean:
Size Filter: Uses ATR-based detection to filter out insignificant gaps, dynamic with less volatile time periods
- Filter None: Show everything (if you really want chaos)
- Filter Insignificant: Hide the micro-gaps that don't matter
- Juicy Gaps Only: Only show gaps worth paying attention to
Distance Filter: Only displays gaps within range of current price
- Really Close: 0.5 ATR - tight focus on immediate levels
- Balanced: 1 ATR - sweet spot for most traders
- Slightly Far: 3 ATR - wider view for swing traders
Cleanup Interval: Controls how quickly out-of-range gaps disappear
- Immediately: Gaps hide/show every bar as price moves
- 5 / 15 / 30 Minutes: Gaps only update visibility at interval boundaries - reduces visual noise during choppy price action
The magic: gaps appear and disappear as price moves toward or away from them. Old gaps that price has left behind fade out, and gaps that become relevant fade back in. Use delayed cleanup intervals if you want gaps to "stick around" a bit longer before disappearing.
GAP TYPES EXPLAINED
New Week Opening Gaps (NWOGs):
The gap between Friday's close and Monday's open. These form over the weekend when markets are closed and often act as significant support/resistance.
Two classifications:
Void Gaps: Gap direction aligns with Friday's candle direction (continuation)
Overlap Gaps: Gap direction conflicts with Friday's candle (potential reversal)
New Day Opening Gaps (NDOGs):
The gap between one day's close and the next day's open. Smaller but frequent - useful for intraday traders looking for fill targets.
FEATURES
Automatic Week/Day Detection: Handles forex (17:00 ET open) and futures (18:00 ET open) correctly
DST-Aware: Uses New York timezone with automatic daylight saving adjustments
50% Equilibrium Line: Marks the midpoint of each gap - key level for entries
Days Ago Labels: Shows how old each gap is at a glance
Extension Modes: Choose between live-extending boxes or fixed-width boxes
Separate Color Schemes: Different colors for void vs overlap NWOGs, bullish vs bearish NDOGs
INPUTS
NWOG Display
Show NWOGs: Master toggle
Extension Mode: "Extend Live" or "Extend to Week Close"
Maximum NWOGs: Limit displayed gaps (1-50)
Show Void/Overlap Gaps: Toggle each type independently
Show NWOG Labels: Toggle gap labels
NDOG Display
Show NDOGs: Master toggle
Extension Mode: "Extend Live" or "Extend to Day Close"
Maximum NDOGs: Limit displayed gaps (1-50)
Show NDOG Labels: Toggle gap labels
Filter Settings
Size Filter: Filter None / Filter Insignificant / Juicy Gaps Only
Only Show Near Price: Enable/disable distance filtering
Distance Filter: Really Close / Balanced / Slightly Far
Cleanup Interval: Immediately / 5 Minutes / 15 Minutes / 30 Minutes - controls how often gaps update visibility
ATR Period: Period for ATR calculation (default: 14)
Right Edge Offset: How many bars ahead boxes extend
Styling
Box Transparency: Fill and border opacity
Midline Style: Solid / Dotted / Dashed
Label Style: Simple ("NWOG, 5d ago") or Descriptive ("NWOG (Void Bull), 5d ago")
Label Size: Tiny / Small / Normal / Large
RECOMMENDED SETTINGS
For intraday (1m-15m):
Size Filter: Filter Insignificant
Distance Filter: Really Close or Balanced
Show NDOGs: On
Maximum NDOGs: 5-10
For swing trading (1H-4H):
Size Filter: Juicy Gaps Only
Distance Filter: Balanced or Slightly Far
Show NWOGs: On
Maximum NWOGs: 10-20
TIMEFRAME NOTES
Works on daily timeframe and below. Above daily, the indicator disables itself since NWOG/NDOG gap detection requires daily open/close data.
ASSET SUPPORT
Automatically handles different market open times:
Forex: Week opens Sunday 17:00 ET, closes Friday 17:00 ET
Futures: Week opens Sunday 18:00 ET, closes Friday 16:15 ET
Stocks/Other: Uses session-based detection
FAQ
Why do gaps appear and disappear?
That's the distance filter working. As price moves, gaps that were far away become relevant and appear. Gaps that price leaves behind disappear. This keeps your chart focused on actionable levels.
What's the difference between void and overlap gaps?
Void gaps continue Friday's direction (trend continuation). Overlap gaps conflict with Friday's direction (potential reversal setup). Different traders prefer different types.
Why can't I see any gaps?
Check your filter settings. "Juicy Gaps Only" with "Really Close" distance filter is very selective. Try "Filter Insignificant" with "Balanced" for more gaps.
DISCLAIMER
This indicator is for educational purposes only. Opening gaps are one tool among many - they don't guarantee fills or reversals. Always use proper risk management and never trade based on a single indicator. Past gap fills don't guarantee future performance. Do your own analysis.
CHANGELOG
Pro +: Added smart size/distance filtering, void/overlap classification, NDOG support, DST-aware timezone handling
Base: Initial NWOG visualization
Made with ❤️ by fstarlabs
6/20 EMA with shade between6/20 EMA, I added a shaded area so they are easy to see despite whatever else you have on the chart. I use this for the 620 cross for entry and exit.
Untested Wickless LevelsUntested Wickless Levels
Overview
Untested Wickless Levels is a specialized price-action tool designed to identify and track "Wickless Candles"—bars where the price opens or closes at the absolute high or low of the candle with zero (or negligible) wick.
In technical analysis, a wickless candle often represents strong, institutional conviction. When a level is created without a wick and remains "untested" (price has not yet returned to pierce that specific coordinate), it often acts as a significant magnet for future price action or a zone of hidden support/resistance.
How It Works
The indicator scans every candle for a "Shaved" top or bottom.
Resistance (No Upper Wick): Created when the high of the candle is equal to the Open or Close. This suggests aggressive selling or a "ceiling" that hasn't been contested yet.
Support (No Lower Wick): Created when the low of the candle is equal to the Open or Close. This suggests aggressive buying or a "floor."
Once a level is identified, the script draws a horizontal line that automatically extends until price action eventually "tests" or breaks the level. Once the level is breached, the line is removed to keep your chart clean and focused only on active, high-probability zones.
Key Features
Automatic Level Extension: Lines track across your chart indefinitely until they are mitigated by price.
Wick Tolerance Setting: Crypto and Forex markets often have "micro-wicks" due to spread. The Wick Tolerance input allows you to include levels that have a 1 or 2 tick margin of error.
Non-Repainting: Signals are confirmed on candle close, ensuring the levels you see are permanent until broken.
Clean Visuals: Fully customizable colors, line styles (Solid, Dashed, Dotted), and widths.
How to Use
Target/Magnet: Use untested wickless levels as potential targets for take-profits, as price frequently returns to "fill" these efficient moves.
S/R Zones: Treat long-standing untested lines as strong areas for potential reversals or entries.
Breakout Confirmation: If price approaches a wickless resistance and fails to break it, it confirms the strength of the original move.
Weekly Open Line (WOL) with selective ExtensionThis indicator tracks the Weekly Open Line (WOL) with a clean look.
Features:
Automatic WOL:
Draws a horizontal line at the start of every week (CET/Berlin time).
Historical Selector:
Choose any past week via the calendar settings and extend its level infinitely to the right. Perfect for identifying long-term support and resistance (S/R flips).
Clean Design:
High visibility (Width 3), labeled start points and no diagonal connections.
Quick Guide:
To extend an old level, check the "Extend Specific" box and pick any day of that week in the calendar.
Multi-Time Open LevelsThis indicator automatically plots three key horizontal open levels for your daily trading session, specifically optimized for the CET/CEST (Europe/Berlin) timezone. It is designed to be cleaner and more reliable than standard plotting indicators.
Key Features:
1. Daily Open (00:00 CET): Plotted in Blue.
2. Morning Open (10:00 CET/04:00 NYT): Plotted in Dark Orange.
3. Afternoon Open (14:00 CET/08:00 NYT): Plotted in Dark Blue.
No Diagonal Connections:
This script uses individual line objects. This ensures that levels stay horizontal and don't create diagonal lines between sessions.
Holiday & Early-Close Fix:
Uses a robust date-check logic. Even if the market closes early due to holidays and opens at irregular times, the "Daily Open" line will correctly trigger on the very first bar of the new calendar day.
Best used on: 1m, 5m, or 15m timeframes for maximum precision.
I hope it will help you in your trading setups.
world market Zones (IST) + Prev Day S/R + Pivot🧠 PART 1 — SESSION VOLATILITY ENGINE (SCRIPT 1)
This part does time-based market behavior mapping, not price indicators.
✅ What it Detects
All times are locked to IST (Asia/Kolkata):
Zone Purpose Why it matters
London (13:00–17:30) EU money flow Trend initiations often start here
NY (18:30–23:30) US volatility Expansion + reversals
Overlap (17:30–21:30) Highest liquidity window Breakouts + fakeouts
EIA (Wed 20:30–21:30) Crude inventory release Explosive oil moves
IMPORTANT FOR ANALYSING session START SHOCK POINTS.
🧠 What this section REALLY gives you
You now see:
When liquidity enters
When algos reset
When news shock candles form
Where false breakouts happen (often at session flips)
This is behavioral timing, not lagging math.
Not suitable for:
1D+ charts (session logic loses meaning)
Assets without clear London/NY behavior
🏆 What type of trader this script is for
This is NOT indicator trading.
This is for traders who:
✔ Trade liquidity sweeps
✔ Watch session opens
✔ Understand dealer positioning
✔ Trade crude, indices, forex
It’s basically a smart money timing + institutional level combo.
HAPPY TRADING
Tom's ORB IdentifierThis is just a neat little indicator that can mark out the opening range of your choosing. You can also set a trade window and a line indicating your latest entry time if you've done some back testing and have time restrictions.
Tom's Highs & Lows (Asia, London, NY, PD)Script can show highs and lows for various sessions (previous day, Asia, London, NY) with ability to customize the time ranges.
Tom's Session Lows & HighsJust a simple indicator showing previous day, Asian Session & London Session lows and highs.
Universal Auto CPR + R1-R5 S1-S5 +Smoothed Heikin AshiWhat this script is doing :
✅ Part A: Smoothed Heikin Ashi candles (visual overlay)
It calculates Heikin Ashi OHLC
Then applies EMA smoothing to HA values (shaLen)
Finally plots the HA candles using plotcandle()
👉 Important: This HA overlay is ONLY for view.
It does not change CPR / pivot levels,
✅ Part B : Auto CPR timeframe selection
It automatically decides which higher timeframe to use for CPR based on chart timeframe:
Rule inside autoTF:
Chart timeframe CPR timeframe used
seconds or minutes < 60 Daily (D)
minutes ≥ 60 Weekly (W)
daily Monthly (M)
weekly/monthly Yearly (12M)
✅ Recommendation : Add colors + widths to make CPR readable
Currently all plots are default color.
You can set:
Pivot as yellow
TC/BC as blue
R levels red
S levels green
Midlines faded
(only visual improvement)
Happy trading
Larry Williams Qualified Trend Break Signals [tradeviZion]Larry Williams Qualified Trend Break Signals - Description
📖 Introduction
Welcome to the Larry Williams Qualified Trend Break Signals indicator. This description explains how the indicator works, its settings, and how to use it.
This indicator demonstrates Larry Williams' Qualified Trend Line Break technique - his preferred method for timing precise entries on daily charts when you already have a confirmed market setup.
---
🎯 About This Script
This indicator implements the Qualified Trend Line Break system - an entry technique that qualifies trend line breaks for better timing.
Important: This is NOT a signal generator. It's an entry timing tool for traders who already have a market setup and confirmation. Use it only after establishing weekly bias and daily confirmation.
Why We Made This Indicator:
This indicator demonstrates Larry Williams' favorite entry technique for daily timeframe trading. It's designed to be used as part of his complete methodology:
How To Use It Properly:
First, establish your setup: Check weekly chart for overall market bias (bullish/bearish)
Then confirm on daily: Look for confirmation signals on daily timeframe
Finally, use trend breaks: Enter trades only when trend breaks align with your setup direction
Important Warning: This is NOT a standalone buy/sell signal indicator. Using trend breaks without proper setup and confirmation will likely produce poor results. It's a timing tool for entries, not a signal generator.
---
About The Qualification Rules
The system improves on qualification methodology with these key changes:
For BUY signals (breaking above downtrend lines):
Break is usually bad if previous bar closed higher
But can still be good if:
Previous bar was inside the prior bar AND that prior bar closed lower
Price gaps above trend line and moves up at least one tick
Previous bar closed below its own opening price
For SELL signals (breaking below uptrend lines):
Break is usually bad if previous bar closed lower
But can still be good if:
Previous bar was inside the prior bar AND that prior bar closed higher
Price gaps below trend line and moves down at least one tick
Previous bar closed above its own opening price
---
📐 How The Qualification System Works
The trend break system is based on qualification methodology as developed by Larry Williams . It solves the problem where trend line breaks often fail and price goes back.
Trend Line Setup:
For BUY signals: Connect the two most recent declining swing highs to make a downtrend line
For SELL signals: Connect the two most recent rising swing lows to make an uptrend line
Inside Bar Rule:
A key principle: Trend breaks that occur on inside bars are completely ignored. The system only evaluates breaks that occur on regular bars, making signals more reliable.
How It Works In The Code
The indicator follows these steps:
Finds swing points: Identifies highs and lows in the price action
Draws trend lines: Connects 2 recent swing points to make trend lines
Checks inside bars: Ignores breaks that happen on inside bars
Qualifies signals: Uses the rules to check if breaks are good or bad
Shows signals: Only displays qualified BUY/SELL signals
Optional feature: Can show disqualified signals
⚙️ Settings
The indicator has 3 groups of settings to customize how it works.
---
📊 Signal Settings
Show Signals
Default: ON
ON: Displays green/red labels when trend breaks qualify for entry
OFF: Hides entry labels (trend lines still show for analysis)
Remember: These are entry TIMING signals, not standalone buy/sell signals
Signal Selection
Default: Both | Options: Buy Only, Sell Only, Both
Buy Only: Shows only BUY signals
Sell Only: Shows only SELL signals
Both: Shows both BUY and SELL signals
Break Validation
Default: Close | Options: Break Level, Close
Break Level: Signal when price touches the trend line (more signals)
Close: Signal when bar closes beyond trend line (fewer signals)
Tip: Try "Close" first for better signals
Show Disqualified
Default: OFF | Options: ON/OFF
What it does: Shows bad breaks
ON: Shows gray ❌ labels with explanations
OFF: Hides bad signals
👁️ Display Settings
Show Trend Lines
Default: ON
What it does: Shows trend lines on the chart
Looks like: Dashed blue lines connecting swing points
Goes to: Extends into future bars
Why: Shows where breakouts are expected
Show Swing Points
Default: ON
What it does: Marks highs/lows used for trend lines
Looks like: Shape markers at swing locations
Shows: How trend lines are constructed
Marker Style
Default: Circle | Options: Circle, Triangle, Square, Diamond, Cross
What it does: Choose shape for swing markers
Options: Circle, Triangle, Square, Diamond, Cross
Best choice: Circle is clear without being busy
Marker Size
Default: 3 | Range: 1-10
What it does: Controls marker size
Range: 1 (tiny) to 10 (large)
Show Inside Bars
Default: ON
What it does: Highlights inside bars
Looks like: Light orange background on inside bars
Note: These bars are ignored for break qualification
Important: Inside bars are ignored for break qualification
🎨 Colors
Signal Colors
Buy Signal (Default: Green) - Color for good BUY signals
Sell Signal (Default: Red) - Color for good SELL signals
Disqualified (Default: Gray) - Color for bad signals
Display Colors
Trend Line (Default: Blue) - Color for trend lines and markers
Inside Bar (Default: Light Orange) - Background for inside bars
💡 How To Use It In Larry Williams Methodology
Step 1 - Weekly Setup: Identify market bias on weekly chart (clear bullish/bearish trend)
Step 2 - Daily Confirmation: Find confirmation signals on daily timeframe
Step 3 - Trend Break Entry: Use qualified trend breaks only in setup direction
Important: Never enter based on trend breaks alone - always require setup + confirmation first
⚠️ Important Notice
This indicator implements Larry Williams' trend break entry technique. It should NOT be used as standalone buy/sell signals. Only use trend breaks for entry timing after you have established a proper market setup and confirmation. Poor results will occur if using signals without the complete Larry Williams methodology.
Credits: Based on Larry Williams' trading approach and qualification methodology. Swing detection logic adapted from "Larry Williams: Market Structure" by Smollet.
Breaker Blocks Signals [AlgoAlpha]🟠 OVERVIEW
This script automates the detection of Breaker Blocks, a popular smart money concept used to identify high-probability reversal zones. It monitors price action for aggressive impulses—measured through a normalized Z-Score—to identify Orderblocks. When these blocks are "broken" or invalidated by price moving through them, they transform into Breaker Blocks. These zones act as "flipped" support or resistance, offering traders specific areas to look for retests and trend continuations. By handling the complex management of zone life-cycles and mitigation, this script provides a clean, real-time map of institutional supply and demand shifts.
🟠 CONCEPTS
The indicator relies on the relationship between price momentum and structural invalidation. It first identifies "impulsive" candles by calculating a Z-Score of price distance covered over a specific window. A Z-Score above 4 marks an "Algorithmically Significant" move. When such a move occurs, the script identifies the last opposite-colored candle (the Orderblock) and draws a gray zone. The transformation happens when price closes entirely through one of these gray zones. This "mitigation" is what triggers the creation of a Breaker Block: an old bearish supply zone becomes a bullish demand zone, and vice versa. This transition reflects a shift in market regime where previous trapped participants are forced to exit, often leading to price rejections at these newly formed levels.
🟠 FEATURES
Automated Breaker Transformation : Instantly flips mitigated Orderblocks into colored Breaker Blocks (Bullish/Bearish).
Rejection Markers : Small arrow icons appear when price enters a Breaker Block and shows signs of respect/reversal.
Comprehensive Alerts : Notifications for both the formation of new breakers and real-time price rejections.
🟠 USAGE
Setup : Add the script to your chart. It is effective on most timeframes, but many traders prefer the 15m or 1h for intraday structure. Use the "Z-Score Window" to adjust sensitivity; 100 is standard, but lower values (e.g., 50) will find more frequent, smaller impulses.
Read the chart : Gray boxes are "Pending" blocks. If price closes above a gray bearish box, it turns into a Bullish Breaker (Green). If price closes below a gray bullish box, it turns into a Bearish Breaker (Red). Look for price to return to these colored zones; the "▲" and "▼" symbols indicate the script has detected a rejection from that level.
Settings that matter : Prevent Overlap is useful for avoiding "cluttered" zones in ranging markets. Max Box Age is critical; it ensures that very old, irrelevant zones are removed from your chart after a set number of bars, keeping your technical analysis current and focused on recent price action.
Adaptive Structural Confluence Strategy POCHOLOCombination of several indicators with signals, it's just a test, it might be useful, I welcome your opinions
PDH/PDL, PWH/PWL, TDH/TDL + Key Levels for Nifty50This indicator plots high-probability intraday and short-term reference zones including Previous Day High/Low (PDH/PDL), Previous Week High/Low (PWH/PWL), Today’s High/Low (TDH/TDL), and key psychological price levels such as the nearest round 1000 level along with +200, +500, and +800 extensions. All levels are displayed as zones rather than thin lines to better reflect real market interaction, liquidity, and reaction areas.
Primarily for Nifty50
PDH/PDL/PDC + VA(40%)Plots previous day high and low, pre- market high and low previous day close and high volume area of previous day
ES/NQ Levels: ON / PD(RTH) / PW / PM + ATH (NY)Simple script adding lines for
Overnight high
Overnight low
Previous day high
Previous day low
Previous week high
Previous week low
Previous month high
Previous month low
All time high
You can enable/disable each one and select the color.
Only works on futures.
SuperTrend - With Exits & Trade ZonesSuperTrend - With Exits & Trade Zones
Overview
An advanced trend-following indicator that combines pivot points with the SuperTrend methodology to create a complete trading system with entry signals, exit signals, and visual trade zones. This indicator adapts to market structure rather than just price action, providing more reliable trend identification.
What Makes This Unique
Unlike standard SuperTrend indicators that use moving averages, this version:
Uses actual pivot points to calculate a dynamic center line
Provides multiple entry mode options for different trading styles
Shows clear exit signals (both trailing stop and take profit)
Color-codes the entire chart into trade zones (Long, Short, No Trade)
Eliminates guesswork about when to enter, exit, and stay out
Features
📊 Core Indicator Components
Pivot Point Detection: Identifies local highs and lows in price structure
Dynamic Center Line: Weighted calculation using detected pivot points
ATR-Based Bands: Volatility-adjusted upper and lower bands
Trailing Stop Line: Adaptive stop-loss that follows the trend
🎯 Entry Signals
Four entry modes to match your trading style:
Immediate Mode ⚡
Signals right when the trailing stop breaks
Fastest entries for aggressive traders
Best for strong trending markets
Aggressive Mode 🔥 (Recommended)
Signals when price closes beyond break candle OR opens beyond it
Balanced speed and confirmation
Good for most market conditions
Balanced Mode ⚖️
Requires entire candle to close beyond break level
Moderate confirmation
Reduces false breakouts
Conservative Mode 🛡️
Waits for candle to open AND stay completely beyond break level
Highest confirmation, slowest entries
Best for choppy markets
🚪 Exit Signals
Three exit strategies:
Trailing Stop
Exits when price crosses back through the trailing stop line
Lets profits run in trending markets
Protects gains when trend weakens
Take Profit %
Exits at predetermined profit target
Locks in gains at specific percentage
Good for range-bound markets
Both
Uses whichever exit comes first
Combines profit protection with trend following
Recommended for most traders
🎨 Visual Trade Zones
Color-coded backgrounds eliminate confusion:
🟢 Light Green: Active LONG position
🔴 Light Red: Active SHORT position
⚫ Gray: NO TRADE ZONE (between exit and next signal)
📍 Additional Visual Elements
Diamond markers: Show when trailing stop is first broken
BUY/SELL labels: Clear entry signals in green/red
EXIT markers: Gray X for stop loss, Orange X (TP) for take profit
Pivot points: Optional display of detected highs/lows (H/L markers)
Support/Resistance: Optional circles at pivot levels
Settings & Parameters
Basic Settings
Pivot Point Period (default: 2)
Controls sensitivity of pivot detection
Lower = more pivots detected (more responsive)
Higher = fewer pivots (more stable)
ATR Factor (default: 3)
Distance multiplier for trailing stop bands
Lower = tighter stops (more signals, earlier exits)
Higher = wider stops (fewer signals, longer trades)
ATR Period (default: 10)
Lookback period for volatility calculation
Affects how quickly bands adapt to volatility changes
Entry Configuration
Entry Mode: Select from Immediate/Aggressive/Balanced/Conservative
Determines how quickly the indicator generates signals after a trend break
Exit Configuration
Exit Method: Choose Trailing Stop, Take Profit %, or Both
Take Profit % (default: 2%)
Set your profit target as percentage of entry price
Adjust based on volatility and timeframe
Display Options
Show Buy/Sell Labels: Toggle entry signal labels
Show Exit Signals: Toggle exit markers
Show Break Candles: Toggle diamond markers on trend breaks
Show Pivot Points: Display H/L markers at pivot points
Show PP Center Line: Display the dynamic center line
Show Support/Resistance: Display circles at S/R levels
How to Use
For Swing Traders
Set Entry Mode to "Balanced" or "Conservative"
Use "Both" exit method with 3-5% take profit
Enable all visual elements for complete market picture
Trade only in direction of colored zones
For Day Traders
Set Entry Mode to "Aggressive" or "Immediate"
Use "Trailing Stop" exit method to catch intraday trends
Lower ATR Factor to 2-2.5 for tighter stops
Watch for quick signals in the first 2 hours of trading
For Position Traders
Use higher timeframes (Daily/Weekly)
Set Entry Mode to "Conservative"
Increase Take Profit % to 5-10%
Use larger ATR Factor (4-5) for wider stops
General Trading Rules
✅ DO: Enter on BUY/SELL signals (green/red backgrounds)
✅ DO: Exit on EXIT/TP markers
❌ DON'T: Enter during gray NO TRADE ZONE
❌ DON'T: Counter-trend trade against the colored zone
Alerts
Set up the following alerts for automated trading notifications:
Buy Signal: Triggers when long entry conditions are met
Sell Signal: Triggers when short entry conditions are met
Exit Long: Triggers when long position should be closed
Exit Short: Triggers when short position should be closed
Trailing Stop Broken: Triggers on initial trend change
Best Practices
Timeframe Selection
1-5 min: Scalping (use Immediate/Aggressive mode)
15-60 min: Day trading (use Aggressive/Balanced mode)
4H-Daily: Swing trading (use Balanced/Conservative mode)
Weekly: Position trading (use Conservative mode)
Risk Management
Always use the EXIT signals - don't hold through gray zones
Position size based on distance to trailing stop
Never risk more than 1-2% per trade
Consider wider stops on higher timeframes
Market Conditions
Trending markets: Use Aggressive mode, Trailing Stop exits
Ranging markets: Use Conservative mode, Take Profit exits
High volatility: Increase ATR Factor, use Both exits
Low volatility: Decrease ATR Factor for tighter stops
Technical Details
Calculation Method
Detect pivot highs and lows using specified period
Calculate weighted center line: (previous_center × 2 + new_pivot) / 3
Calculate bands: Upper = Center - (ATR Factor × ATR), Lower = Center + (ATR Factor × ATR)
Determine trend based on price position relative to bands
Trail stop line follows the active trend direction
Signal Logic
Entry signals generated based on selected confirmation mode
Position tracking maintains state from entry to exit
Exit signals calculated from both trailing stop and take profit levels
Trade zones update in real-time based on position state
Limitations & Considerations
Works best in trending markets; may generate false signals in tight ranges
Not a holy grail - should be used with proper risk management
Past performance does not guarantee future results
Recommended to backtest on your specific instrument and timeframe
Consider combining with volume analysis or other indicators for confirmation
Version History
v1.0: Initial release with entry signals and confirmation modes
v1.1: Added exit signals (trailing stop and take profit)
v1.2: Added color-coded trade zones (Long/Short/No Trade)
Credits
Original Pivot Point SuperTrend concept by LonesomeTheBlue
Modified with exit signals and trade zone visualization
License
Mozilla Public License 2.0
Example Setups
Conservative Swing Trading
Pivot Point Period: 2
ATR Factor: 3
ATR Period: 10
Entry Mode: Conservative
Exit Method: Both
Take Profit %: 4%
Aggressive Day Trading
Pivot Point Period: 2
ATR Factor: 2.5
ATR Period: 10
Entry Mode: Aggressive
Exit Method: Trailing Stop
Position Trading
Pivot Point Period: 3
ATR Factor: 4
ATR Period: 14
Entry Mode: Balanced
Exit Method: Both
Take Profit %: 8%
Disclaimer: This indicator is for educational purposes only. Trading involves substantial risk. Always do your own research and never trade with money you cannot afford to lose.
Magnitude of Price DiscoveryThis script is a simple attempt to show the magnitude of price discovery
Before we discuss how it works we need to discuss our terms.
Universal Truth of Price #1 - Price only trades in 3 distinct ways
Scenario 1 - Inside bar to previous range, consolidation.
Scenario 2 - Trending bar up or down, HH + HL to previous bar or LL + LH to previous bar
Scenario 3 - Outside bar, Higher highs AND lower lows to previous bar. Also known as a broadening formation.
If you are interested in the 2nd universal truth my indicator 'Timeframe Continuity Bars' discusses it there.
Given one of the 3 scenarios price can trade in is a broadening formation it proves that price discovery occurs as a series of new highs and new lows.
Notice the scenario 3 marked by SimpleStratNumbers
This scenario 3 is a broadening formation on the 1min and on the 30min basis.
Given this is true we know if price rejects the broadening highs it is attempting to make new lows to the broadening range
So, what this indicator does is it uses previous swing highs and swing lows and it shows you when price reclaims them and gives you a target.
The target of this indicator is guaranteed to be hit if the 2nd universal truth of price is in your favor.
This means if we reclaim a previous high to the downside. At the time of all known participation groups selling we know the magnitude of this selling would be the other side of the range
So it's simple, the solid line shows you the reclaimed level.
The dotted line shows you the magnitude.
Full timeframe continuity tells you when it is FOR SURE going to your target price via MTF analysis of the aggressiveness of the buyers/sellers.
However timeframe continuity is subject to change every 60min, every day, every week, and every month! That's the risk you take when trading.
Here's one example for you.
NASDAQ:AAPL monthly made a new low and changed to green this was your evidence price is attempting to take the other side of the range.
NASDAQ:AAPL monthly opened green again and re-confirmed the upside which meant the other side
of the range was still for certain going to be taken out.
After being taken out, breakout traders buy the highs and any shorts in aapl are forced to cover.
BOOM!
This indicator is likely to be updated in the near future to align entries on multiple timeframes.
Nothing spoken here is financial advice and it is ONLY what we know to be true about price action.
Market State Engine V2# Market State Engine
**Deterministic Confidence-Scoring System for TradingView**
A professional-grade PineScript v5 indicator that scores market conditions from 0-100, helping traders identify high-quality trading opportunities through systematic structure analysis, VWAP positioning, order flow dynamics, and time-based context.
---
## 🎯 Overview
The **Market State Engine** is not a trading bot—it's a **noise-reduction and opportunity-ranking system** designed to filter market conditions and surface only the highest-quality setups.
Instead of blindly taking every signal, this indicator:
- ✅ **Scores** market conditions objectively (0-100 scale)
- ✅ **Filters** out low-probability setups automatically
- ✅ **Classifies** opportunities into A, A+, and A++ grades
- ✅ **Alerts** only on confirmed structure shifts with supporting context
- ✅ **Keeps the human in control** - provides intelligence, not automation
### Philosophy: Reduce Noise. Enforce Discipline. Surface Quality.
---
## 🚀 Key Features
- **Deterministic Scoring** - No black boxes, fully explainable logic
- **Multi-Factor Analysis** - Combines 4 independent market state components
- **Structure-First Approach** - Only alerts on confirmed pivot breaks
- **VWAP Mean Reversion Logic** - Directional filtering based on VWAP zones
- **Order Flow Proxy** - CVD divergence and confirmation detection
- **Session-Aware Scoring** - Prioritizes high-volume New York sessions
- **Alert De-Duplication** - One alert per unique structure shift
- **Zero Repainting** - Uses confirmed pivots only (left=2, right=2)
- **Fully Configurable** - All parameters exposed as inputs
- **Visual Feedback** - VWAP bands, setup labels, and real-time score panel
---
## 📊 Scoring System (0-100)
The Market State Engine evaluates **four independent components**, each contributing up to **25 points** for a maximum total score of **100**.
### 🎯 Component Breakdown
| Component | Max Points | Description |
|-----------|------------|-------------|
| **VWAP Context** | 25 | Measures price deviation from session VWAP |
| **Structure Shift** | 25 | Confirms pivot breakout (HARD GATE) |
| **CVD Alignment** | 25 | Detects order flow divergence/confirmation |
| **Time-of-Day** | 25 | Identifies high-probability trading sessions |
---
### 1️⃣ VWAP Context (Max 25 Points)
**Purpose:** Identifies extreme price deviations from fair value for mean-reversion opportunities.
VWAP (Volume-Weighted Average Price) is calculated session-anchored to New York market time, with standard deviation bands creating zones of opportunity.
#### Band Structure:
- **1st Band**: ±1σ from VWAP (fair value zone)
- **2nd Band**: ±2σ from VWAP (moderate deviation)
- **3rd Band**: ±3σ from VWAP (extreme deviation)
#### Scoring Logic (Exclusive):
```
Price in 3rd VWAP Band (>2σ and ≤3σ) → +25 points
Price in 2nd VWAP Band (>1σ and ≤2σ) → +15 points
Otherwise (inside 1σ or beyond 3σ) → 0 points
```
**Key Insight:** The further price stretches from VWAP, the higher the probability of mean reversion.
---
### 2️⃣ Structure Shift (Max 25 Points) — **HARD GATE**
**Purpose:** Confirms momentum shift through confirmed pivot breakouts.
⚠️ **CRITICAL:** Structure shift is **mandatory**. If no valid structure shift occurs, the **total score becomes 0** regardless of other factors.
#### Detection Method:
Uses TradingView's `ta.pivothigh()` and `ta.pivotlow()` functions with **locked parameters**:
- **Left bars**: 2
- **Right bars**: 2
- **Source**: Configurable (Wick or Body)
- **Break confirmation**: Candle close only
#### Bullish Structure Shift:
- ✅ Prior swing high exists (confirmed pivot)
- ✅ Current candle **closes above** swing high + tick buffer
- ✅ Must occur in VWAP 2nd or 3rd band
- ✅ **VWAP Filter**: Price must be **at or below VWAP** (lower bands)
#### Bearish Structure Shift:
- ✅ Prior swing low exists (confirmed pivot)
- ✅ Current candle **closes below** swing low - tick buffer
- ✅ Must occur in VWAP 2nd or 3rd band
- ✅ **VWAP Filter**: Price must be **at or above VWAP** (upper bands)
#### Scoring:
```
Valid structure shift → +25 points
No structure shift → Total score = 0
```
**Tick Buffer:** Default 5 ticks (configurable) - prevents false breaks from minor price noise.
---
### 3️⃣ CVD Alignment (Max 25 Points)
**Purpose:** Detects institutional order flow through volume delta analysis.
CVD (Cumulative Volume Delta) is a proxy for order flow:
```
Close > Open → +Volume (buying pressure)
Close < Open → -Volume (selling pressure)
```
#### Scoring Logic:
| Condition | Points | Description |
|-----------|--------|-------------|
| **Divergence** | +25 | Price makes higher high + CVD makes lower high (bearish)Price makes lower low + CVD makes higher low (bullish) |
| **Confirmation** | +20 | Price and CVD both make higher highs or lower lows |
| **Neutral** | 0 | No clear divergence or confirmation |
**Lookback Window:** Last 20 bars (configurable) - prevents stale divergences.
**Key Insight:** Divergences suggest weakening momentum, while confirmations validate the trend.
---
### 4️⃣ Time-of-Day Context (Max 25 Points)
**Purpose:** Prioritizes high-volume, high-volatility New York sessions.
#### Scored Sessions (America/New_York timezone):
| Session | Time Range (NY) | Points | Description |
|---------|-----------------|--------|-------------|
| **Pre-Market** | 03:00 - 04:00 | +25 | Early liquidity injection |
| **Market Open** | 09:30 - 11:30 | +25 | Highest volume period |
| **Off-Hours** | All other times | 0 | Lower probability setups |
**Key Insight:** Structure shifts during active sessions have higher follow-through probability.
---
## 🏆 Setup Classification
Setups are graded based on total score thresholds (configurable):
| Grade | Score Range | Typical Components | Quality Level |
|-------|-------------|-------------------|---------------|
| **A++ Setup** | ≥90 | All 4 factors aligned(VWAP 3rd band + Structure + CVD + Session) | Premium - Rare |
| **A+ Setup** | ≥75 | Structure + VWAP + CVD or Session(3 of 4 factors) | High - Select |
| **A Setup** | ≥60 | Structure + VWAP + Session(Minimum viable setup) | Good - Regular |
| **No Grade** | <60 | Insufficient confluence | Filtered out |
**Default Thresholds:**
- A Setup: 60 points
- A+ Setup: 75 points
- A++ Setup: 90 points
---
## 📥 Installation
### Step 1: Download the Indicator
Download the `market_state_engine.pine` file from this repository.
### Step 2: Add to TradingView
1. Open (www.tradingview.com)
2. Open the **Pine Editor** (bottom panel)
3. Click **"New"** → **"Blank indicator"**
4. Delete all default code
5. Paste the contents of `market_state_engine.pine`
6. Click **"Add to Chart"**
### Step 3: Configure for Your Symbol
1. Click the **gear icon** next to the indicator name
2. Adjust **Tick Size** for your instrument:
- ES futures: `0.25`
- NQ futures: `0.25`
- Stocks: `0.01`
3. Save settings
---
## ⚙️ Configuration
### Symbol Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **Tick Size** | 0.25 | Minimum price movement for your symbol |
| **Tick Buffer Count** | 5 | Ticks beyond swing for valid break |
### VWAP Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **VWAP Band 1 (σ)** | 1.0 | 1st standard deviation multiplier |
| **VWAP Band 2 (σ)** | 2.0 | 2nd standard deviation multiplier |
| **VWAP Band 3 (σ)** | 3.0 | 3rd standard deviation multiplier |
### Session Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **Session 1** | 0300-0400 | Pre-market window (NY time) |
| **Session 2** | 0930-1130 | Market open window (NY time) |
### Score Thresholds
| Parameter | Default | Description |
|-----------|---------|-------------|
| **A Setup Threshold** | 60 | Minimum score for A grade |
| **A+ Setup Threshold** | 75 | Minimum score for A+ grade |
| **A++ Setup Threshold** | 90 | Minimum score for A++ grade |
### CVD Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **CVD Divergence Lookback** | 20 | Maximum bars for divergence detection |
### Swing Settings
| Parameter | Default | Options | Description |
|-----------|---------|---------|-------------|
| **Swing Detection Method** | Wick | Wick / Body | Use high/low or open/close for pivots |
### Visual Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **Show VWAP Bands** | ✅ | Display VWAP and standard deviation bands |
| **Show Setup Labels** | ✅ | Display setup markers on chart |
| **Show Score Panel** | ✅ | Display real-time score breakdown |
---
## 📖 How to Use
### Step 1: Apply to 1-Minute Chart
⚠️ **The indicator is locked to 1-minute timeframe** - do not use on other timeframes.
### Step 2: Understand the Visual Signals
#### Setup Labels
- **Green Triangle (▲)** - Bullish (Long) setup detected
- **Red Triangle (▼)** - Bearish (Short) setup detected
- Label shows **Grade** (A/A+/A++) and **Total Score**
#### VWAP Bands
- **Yellow Line** - Session VWAP (fair value)
- **Blue Bands** - ±1σ (fair value zone)
- **Purple Bands** - ±2σ (moderate deviation)
- **Red Bands** - ±3σ (extreme deviation)
#### Score Panel (Top Right)
Real-time breakdown of all four components:
```
Component Score
VWAP Zone 15/25
Structure 25/25
CVD 20/25
Session 25/25
TOTAL 85/100 (A+)
```
### Step 3: Interpret Signals
#### Valid Long Setup:
✅ Green triangle below candle
✅ Price in **lower VWAP bands** (below VWAP)
✅ Structure shift breaks swing high
✅ Score ≥60
#### Valid Short Setup:
✅ Red triangle above candle
✅ Price in **upper VWAP bands** (above VWAP)
✅ Structure shift breaks swing low
✅ Score ≥60
### Step 4: Set Up Alerts (See Alert Conditions section)
---
## 🚦 Signal Filters (VWAP Zone Logic)
The indicator uses **directional VWAP filtering** to prevent counter-trend signals:
### Long Signals (Green)
**Only allowed when price is AT or BELOW VWAP**
- ✅ Lower 2nd band (-2σ to -1σ)
- ✅ Lower 3rd band (-3σ to -2σ)
- ✅ At VWAP exactly
- ❌ **BLOCKED** in upper bands (above VWAP)
**Logic:** Longs when price is stretched below fair value (mean reversion)
### Short Signals (Red)
**Only allowed when price is AT or ABOVE VWAP**
- ✅ Upper 2nd band (+1σ to +2σ)
- ✅ Upper 3rd band (+2σ to +3σ)
- ✅ At VWAP exactly
- ❌ **BLOCKED** in lower bands (below VWAP)
**Logic:** Shorts when price is stretched above fair value (mean reversion)
---
## 🎨 Visual Elements
### Chart Overlays
| Element | Color | Description |
|---------|-------|-------------|
| **VWAP Line** | Yellow | Session-anchored fair value |
| **±1σ Bands** | Blue | Fair value zone (no score) |
| **±2σ Bands** | Purple | Moderate deviation (15 pts) |
| **±3σ Bands** | Red | Extreme deviation (25 pts) |
| **Swing Highs** | Red ▼ | Confirmed pivot highs |
| **Swing Lows** | Green ▲ | Confirmed pivot lows |
| **Session Background** | Light Green | Active high-value session |
### Setup Labels
**Bullish Setup:**
```
A+
▲ 75
```
Green label below candle, shows grade and score
**Bearish Setup:**
```
A++
▼ 90
```
Red label above candle, shows grade and score
### Score Panel
Real-time table in top-right corner:
- Individual component scores (0-25 each)
- Total score (0-100)
- Current setup grade (A/A+/A++)
- Updates in real-time as market conditions change
---
## 🔔 Alert Conditions
### Setting Up Alerts
#### Method 1: Built-in Alert Conditions
1. Click **"Create Alert"** in TradingView
2. Select **Market State Engine** as condition
3. Choose alert type:
- **Bullish Setup** - Long signals only
- **Bearish Setup** - Short signals only
- **Any Setup** - All signals
4. Set to **"Once Per Bar Close"**
5. Configure notification method (app, email, webhook)
#### Method 2: Custom Alert Message
Alert messages include full breakdown:
```
A+ Setup Detected (Score: 85)
Components: VWAP(25) + Structure(25) + CVD(20) + Time(15)
CVD State: Confirmation
Direction: Long
Timeframe: 1m
```
### Alert Behavior
✅ **One alert per unique pivot break** - no spam
✅ **Fires on candle close only** - no repainting
✅ **Minimum score filter** - only A grade or higher (≥60)
✅ **Direction-specific** - separate bullish/bearish conditions
⚠️ **No cooldown between different pivots** - multiple alerts per session allowed if different swing levels break
---
## 🔧 Technical Details
### Timeframe Lock
- **Required**: 1-minute chart only
- **Reason**: Scoring model calibrated for 1m micro-structure
- **Future**: Multi-timeframe support planned for v2
### Timezone Configuration
- **Hard-coded**: `America/New_York`
- **Session Detection**: Uses TradingView's native session functions
- **Consistency**: All time-based logic uses NY timezone
### Swing Detection Parameters
**Locked to specification:**
- `ta.pivothigh(source, left=2, right=2)`
- `ta.pivotlow(source, left=2, right=2)`
**Implications:**
- Pivots confirmed 2 bars after formation
- No repainting - historical pivots don't move
- 4-bar minimum swing structure (2 left + pivot + 2 right)
### VWAP Calculation
- **Type**: Session-anchored (resets daily)
- **Source**: Typical price `(high + low + close) / 3`
- **Weighting**: Volume-weighted
- **Standard Deviation**: True population standard deviation
### CVD Proxy Formula
```pine
barDelta = close > open ? volume : close < open ? -volume : 0
CVD = cumulative sum of barDelta (session-reset)
```
### Performance Limits
- **Max Labels**: 500 (TradingView limit)
- **Max Bars Back**: 500
- **Memory**: Lightweight - uses only essential variables
---
## 💡 Best Practices
### 1. **Use as a Filter, Not a Strategy**
❌ Don't: Blindly take every signal
✅ Do: Use score as confluence for your existing analysis
### 2. **Higher Grades = Better Probability**
- **A Setups (60-74)**: Regular opportunities, still require discretion
- **A+ Setups (75-89)**: High-quality, multiple factors aligned
- **A++ Setups (90-100)**: Rare premium opportunities, strongest edge
### 3. **Respect the VWAP Zone Filter**
The indicator **automatically blocks**:
- Longs in upper VWAP bands (counter-trend)
- Shorts in lower VWAP bands (counter-trend)
Trust this logic - it enforces mean reversion discipline.
### 4. **Monitor the Score Panel**
Watch which components are scoring to understand **why** a setup formed:
- Missing CVD score? → No order flow confirmation
- Missing Time score? → Outside high-volume sessions
- Low VWAP score? → Weak deviation from fair value
### 5. **Combine with Risk Management**
The indicator provides **opportunity scoring**, not position sizing:
- Use stop losses based on swing structure
- Scale position size with setup grade (larger on A++, smaller on A)
- Set profit targets at VWAP or opposing band
### 6. **Session Awareness**
Prioritize signals during **active sessions**:
- **03:00-04:00 NY**: Pre-market momentum
- **09:30-11:30 NY**: Highest volume, tightest spreads
Off-hours signals (0 time score) are lower probability but still valid if other factors strong.
### 7. **Understand the Hard Gate**
If **no structure shift** occurs:
- Total score = 0
- No alerts fire
- Other components irrelevant
**Why?** Structure shift confirms momentum change - without it, there's no tradable opportunity.
### 8. **Avoid Over-Optimization**
Default settings are well-calibrated:
- Don't chase "perfect" parameters
- Test changes on historical data before live use
- Document any modifications
### 9. **Leverage Alert De-Duplication**
The indicator prevents spam automatically:
- One alert per unique swing break
- New swing levels = new alerts
- No need to manually filter notifications
### 10. **Supplement with Price Action**
Use the indicator alongside:
- Support/resistance levels
- Order flow footprint charts
- Volume profile
- Market internals (breadth, TICK, etc.)
---
## 📚 Example Scenarios
### Example 1: A++ Premium Setup (Score: 95)
```
Price: In lower 3rd VWAP band (-2.8σ) → VWAP: 25 pts
Structure: Close breaks swing high → Structure: 25 pts
CVD: Price LL + CVD HL (bullish div) → CVD: 25 pts
Time: 10:15 AM NY (market open) → Time: 25 pts
Direction: LONG (price below VWAP) → Valid
Grade: A++ (95/100)
```
**Interpretation:** All factors aligned - premium mean-reversion long opportunity.
---
### Example 2: A+ Strong Setup (Score: 80)
```
Price: In upper 2nd VWAP band (+1.5σ) → VWAP: 15 pts
Structure: Close breaks swing low → Structure: 25 pts
CVD: Price HH + CVD LH (bearish div) → CVD: 25 pts
Time: 2:00 PM NY (off-hours) → Time: 0 pts
Direction: SHORT (price above VWAP) → Valid
Grade: A+ (65/100)
```
**Interpretation:** Strong setup despite off-hours, bearish divergence adds confidence.
---
### Example 3: Filtered Setup (Score: 0)
```
Price: In upper 3rd VWAP band (+2.5σ) → VWAP: 25 pts (if allowed)
Structure: Close breaks swing high → Structure: BLOCKED
CVD: Price HH + CVD HH (confirmation) → CVD: 20 pts (if allowed)
Time: 10:00 AM NY → Time: 25 pts (if allowed)
Direction: LONG (price ABOVE VWAP) → ❌ INVALID ZONE
Grade: None (0/100) - NO ALERT
```
**Interpretation:** VWAP filter blocked long signal in upper band - prevents counter-trend trade.
---
## 🛠️ Troubleshooting
### No Signals Appearing
- ✅ Verify you're on **1-minute chart**
- ✅ Check **Tick Size** matches your symbol
- ✅ Ensure **VWAP Bands** are visible
- ✅ Wait for confirmed pivots (requires at least 5 bars of history)
### Alerts Not Firing
- ✅ Confirm alert is set to **"Once Per Bar Close"**
- ✅ Check score threshold (must be ≥60 by default)
- ✅ Verify VWAP zone filter isn't blocking signals
- ✅ Check that structure shift is actually occurring
### Score Always Zero
- ✅ No structure shift detected (hard gate active)
- ✅ Price may not be in valid VWAP zone (2nd or 3rd band)
- ✅ Insufficient swing history (wait for pivots to form)
### Too Many/Too Few Signals
**Too many signals:**
- Increase **A Setup Threshold** (e.g., 70 instead of 60)
- Increase **Tick Buffer Count** (reduces false breaks)
**Too few signals:**
- Decrease **A Setup Threshold** (e.g., 50 instead of 60)
- Decrease **Tick Buffer Count** (more sensitive to breaks)
---
## 📜 License
This indicator is provided under the **Mozilla Public License 2.0**.
---
## 🤝 Credits
Developed as a professional trading tool for systematic opportunity identification.
**Philosophy:** Reduce noise. Enforce discipline. Keep the human in control.
---
## 📞 Support
For questions, issues, or feature requests, please consult:
1. This README documentation
2. The specification document (`pinescript_market_state_engine_spec.docx`)
3. Inline code comments in `market_state_engine.pine`
---
## 🔄 Version History
**v1.0** (Current)
- Initial release
- 4-component scoring model (VWAP + Structure + CVD + Time)
- VWAP zone directional filtering
- Alert de-duplication
- Configurable inputs
- Real-time score panel
- Session-aware logic
---
## 🎓 Understanding the Numbers
### Quick Reference Card
| Score Range | Grade | Quality | Typical Use |
|-------------|-------|---------|-------------|
| 90-100 | A++ | Premium | Highest conviction trades |
| 75-89 | A+ | High | Strong probability setups |
| 60-74 | A | Good | Acceptable with discretion |
| 0-59 | None | Filtered | Skip or wait for confluence |
### Component Contribution Examples
**Minimum A Setup (60 points):**
- Structure (25) + VWAP 3rd band (25) + Time (25) = 75 ✅
**Typical A+ Setup (75 points):**
- Structure (25) + VWAP 2nd band (15) + CVD confirm (20) + Time (25) = 85 ✅
**Maximum A++ Setup (100 points):**
- Structure (25) + VWAP 3rd band (25) + CVD divergence (25) + Time (25) = 100 ✅
---
## 🎯 Final Reminder
**This is NOT a trading bot.**
**This is NOT financial advice.**
**This is a decision-support tool.**
Always:
- ✅ Use proper risk management
- ✅ Understand the logic before trading
- ✅ Backtest on your symbols
- ✅ Keep the human in control
**Happy Trading! 📈**
SWING ATR BasedWhat does this indicator do?
1. It identifies Market Swings The script monitors price action to detect when a trend changes direction.
It uses ATR (Average True Range) to measure volatility, ensuring it doesn't get tricked by small, insignificant price movements.
To validate a change in direction (from bullish to bearish, or vice versa), it waits for the price to cover a specific distance (defined by the kRange parameter) and requires at least two significant candles.
2. It plots Support and Resistance zones As soon as a new high or low point is confirmed:
In Green (Bull): It draws a support line at the level of the last low.
In Red (Bear): It draws a resistance line at the level of the last high.
Auto-Cleaning: If the price breaks through a support line, the line turns gray and stops. The script only keeps active (unbroken) levels on the screen.
3. It calculates an "SGE Score" (Market State) This is the "brain" of the script. It assigns a rating to the current trend:
+2 (Bullish): The price has broken a resistance.
-2 (Bearish): The price has broken a support.
0 (Neutral): The market is indecisive (for example, after a break that contradicts the previous one).
Key Feature: This score has a "one-candle delay." It waits for the next candle to close before confirming a score change, which helps avoid reacting too quickly to false alerts.
4. It simplifies visual reading To keep your chart clean and readable:
It only highlights the 3 levels closest to the current price (those most likely to be hit soon).
It colors the chart candles directly: Green if the score is +2, Red if the score is -2, and Gray if it is neutral.
5. Dashboard In the top-right corner of your screen, it displays a permanent summary:
The current score (-2, 0, or 2).
The number of active supports and resistances.
Summary: This is a "smart" trend detector. Instead of just looking at whether the price is going up or down, it waits for the price to break important structural levels (confirmed by volatility) to tell you: "Caution, the structure has just shifted from bullish to bearish."
Recommended Settings:
kRange: 1.3 / 1.4
ATR Mult: 0.3 to 0.5
Script created with Claude AI.






















