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.
Mean Reversion Mirror📌 Mean Reversion Mirror — Multi‑Level Mean Reversion Strategy
Mean Reversion Mirror is an advanced modular mean‑reversion strategy built around dynamic and static deviation levels from a moving average.
The strategy automatically scales into positions across six levels (LONG and SHORT), using both dynamic MA‑based deviation levels and static levels that lock in after entry.
🔍 Core Concept
Price tends to revert toward its mean.
This strategy exploits that behavior by opening an initial base entry at the first deviation and adding positions as the imbalance grows.
Each additional level improves the average entry price and increases the probability of exiting profitably.
⚙️ Key Features
📈 Six Dynamic Deviation Levels
Levels are calculated as percentage deviations from a selected MA (WMA, SMA, EMA, RMA, HMA).
This makes the strategy adaptive to volatility and market structure.
📉 Six Static Levels
Once triggered, each level becomes fixed and no longer changes.
This creates a stable averaging grid independent of future MA movement.
🎯 Flexible Take‑Profit System
fixed take‑profit
or trailing take‑profit with dynamic offset
🖐 Manual Entry Support
You can manually set a price for LONG or SHORT, and the strategy will execute the base entry automatically.
📊 Rich Visualization
dynamic deviation levels
static levels
dotted “last chance” levels
average position price
take‑profit line
compact mini‑table with key position metrics
📦 Two Operating Modes
STK Mode — fixed unit size
Classic Mode — quantity calculated from USD value
🧠 Entry Logic
The strategy uses sequences B1–B6 (LONG) and S1–S6 (SHORT):
B1/S1 — base entry
B2–B6 / S2–S6 — averaging entries as deviation increases
L6/S6 — “last chance” level with its own size
Each level activates only after the previous one.
📌 Who This Strategy Is For
mean‑reversion traders
grid/averaging system users
pullback‑based investors
traders who want clear visual levels
users who prefer manual control over entry points
⚠️ Disclaimer
This strategy is not financial advice.
Always backtest and adjust parameters according to your risk tolerance before using it in live markets.
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.
ES 1m EMA Bounce Scalp - High RR v6# MES/ES 1-Minute EMA Bounce Scalp – High RR with Partial & Trailing (100% Win Rate in Backtest Oct 2025–Jan 2026)
**Overview**
This is a high-probability, mean-reversion / trend-continuation scalping system designed for the Micro E-mini S&P 500 (MES) or E-mini S&P 500 (ES) on the **1-minute chart**. It enters on pullback bounces off the 20-period EMA during intraday sessions, using RSI momentum confirmation, volume filter, and ADX trend strength to select high-quality setups.
The core edge comes from:
- Tight initial stop (4 points)
- 50% partial profit at 1:1 RR (locks in quick wins and moves stop to breakeven)
- Remaining 50% trails aggressively (trail offset 2 points) to let winners run to 8–10 points (1:2+ effective RR)
**Key Features**
- Longs & Shorts symmetric (pullback bounce logic)
- Trades only during US RTH (9:30–16:00 ET)
- Filters: RSI >40 (long) / <60 (short), volume > 20-SMA, ADX(14) >20
- No martingale, no pyramiding, one trade at a time
- Bracket + trailing managed automatically in Pine Script
**Backtest Highlights** (Oct 23, 2025 – Jan 21, 2026 on ES1!)
- Total trades: 107
- Win rate: 100% (0 losers)
- Net profit (1 contract): $20,227.50 after commissions
- Commissions: $322.50 (~$3 round-trip)
- Max open (floating) drawdown: –$3,275 (never realized a loss)
- Avg P&L per trade: ~$189 (≈3.78 points net)
- Longs: 45 trades, avg hold ~2.2 hours
- Shorts: 62 trades, avg hold ~8.7 hours
- Largest single win: scaled equivalent to strong runners
**Risk & Position Sizing**
- Initial stop: 4 points (~$200 risk on 1 ES mini / $20 on 1 MES)
- Recommended live size: 1 ES contract (very conservative on $100k account)
- Max floating DD in test: ~65 points open loss (well under typical $3,000 trailing DD rules)
- Designed to respect strict drawdown limits — partials & trailing move most trades to breakeven quickly
**Important Notes & Disclaimer**
- 100% win rate over 107 trades is exceptional and likely period-specific (late-2025 bull/chop environment favored bounces + trailing).
- Forward-test / paper trade required before live capital. Real slippage, news events, and execution delays may reduce performance.
- Not financial advice. Past performance ≠ future results. Use at your own risk.
- Best used with low-commission futures broker (Tradovate, AMP, IBKR, etc.) and 1-contract sizing to start.
**How to Use**
1. Apply to MES1! or ES1! on 1-minute chart
2. Set alerts for entries (built-in strategy alerts work perfectly)
3. Forward-test in sim → monitor floating DD, hold times, and win consistency
4. Manual or webhook auto-execution (e.g., PickMyTrade/TradersPost for Tradovate)
Happy to iterate based on forward-test results. Share your live stats!
Cheers,
Chris Brown (@hockeybrown2011)
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! 📈**






















