Price breakout and reversal [TCS] | PAThis indicator is designed to identify potential breaks and reversals in price movements for a financial instrument.
The indicator displays several elements to assist users in spotting specific market conditions:
1. High and Low Pivots : The indicator marks the highest and lowest points on the price chart within a customizable lookback period. These pivots represent important turning points in the price movement and serve as reference levels for potential breakouts and reversals.
2. Fair Value Line : A horizontal line is drawn at the midpoint between the high and low pivots. This line represents the "fair value" based on the recent price action. Traders may consider this level as a reference for evaluating the price's deviation from its average value.
3. Bullish Breakouts : When the closing price of the financial instrument crosses above the high pivot the indicator identifies a potential bullish breakout. This suggests a possible buying opportunity.
4. Bearish Breakouts : Conversely, a bearish breakout is identified when the closing price crosses below the low pivot. This may indicate a selling opportunity.
5. Fair Value Breakouts : In addition to regular breakouts, the indicator can detect breakouts based on the fair value line. If the closing price crosses above or below the fair value line, it may signal a fair value breakout, indicating the price's potential return to its average level.
6. Reversals : Reversal patterns are essential in technical analysis. The indicator identifies potential bullish and bearish reversals .
The indicator enhances its visual signals with geometric shapes (triangles and diamonds) placed above or below the price bars to represent different types of breakouts and reversals.
Moreover, the indicator can be configured to send alerts to the user when any of these specific events occur, helping traders stay informed and respond promptly to potential trading opportunities.
Please note that this code is for educational purposes only and should not be used for trading without further testing and analysis.
Поиск скриптов по запросу "pivot"
Red Bull Wings [JOAT]RED BULL WINGS - Bullish-Only Institutional Overlay
Introduction and Purpose
RED BULL WINGS is an open-source overlay indicator that combines five distinct bullish detection methods into a single composite scoring system. The core problem this indicator solves is that individual bullish signals (patterns, volume, zones, trendlines) often disagree or fire in isolation. A bullish engulfing pattern means little if volume is weak and price is far from support. Traders need confluence across multiple dimensions to identify high-probability setups.
This indicator addresses that by scoring each bullish component separately, then combining them into a weighted WINGS score (0-100) that reflects overall bullish conviction. When multiple components align, the score rises; when they disagree, the score stays low.
Why These Five Modules Work Together
Each module measures a different aspect of bullish market structure:
1. Module A - Bullish Candlestick Engine - Detects classic reversal patterns (engulfing, marubozu, hammer, 3-bar cluster). These patterns identify WHERE buyers are stepping in.
2. Module B - PVSRA Volume Climax - Measures spread x volume to detect institutional participation. This tells you WHETHER smart money is involved.
3. Module C - Demand Zone Detection - Identifies and tracks order block zones where buyers previously overwhelmed sellers. This shows you WHERE institutional support exists.
4. Module D - Trendline Channel - Builds dynamic support/resistance from pivot points. This reveals the STRUCTURE of the current trend.
5. Module E - Ichimoku Assist - Optional filter using Tenkan/Kijun cross, cloud position, and Chikou confirmation. This provides TREND PERMISSION context.
The combination works because:
Patterns alone can fail without volume confirmation
Volume alone means nothing without price structure context
Zones alone are static without pattern/volume triggers
Trendlines alone miss the micro-level entry timing
When 3+ modules agree, the probability of a valid bullish setup increases significantly
How the Calculations Work
Module A - Pattern Detection:
Bullish Engulfing - Current bullish bar completely engulfs prior bearish bar:
bool engulfingCond = isBullish() and
isBearish() and
open <= close and
close >= open and
bodySize() > bodySize()
Marubozu - Strong body with minimal wicks (body >= 1.8x average, wick ratio < 20%):
float wickRatio = candleRange() > 0 ? (upperWick() + lowerWick()) / candleRange() : 0
bool marubozuCond = isBullish() and
bodySize() >= bodySizeAvg * i_maruMult and
wickRatio < i_wickRatioMax
Hammer - Long lower wick (>= 2.5x body), close in upper third, volume confirmation:
bool hammerWick = lowerWick() >= i_hammerWickMult * bodySize()
bool hammerClose = close >= low + (candleRange() * 0.66)
bool hammerVol = volume >= i_pvsraRisingMult * volAvg
3-Bar Cluster - Three consecutive bullish closes with increasing prices and volume spike:
bool threeBarBullish = isBullish() and isBullish() and isBullish()
bool increasingCloses = close > close and close > close
bool volSpike3Bar = volume >= i_pvsraRisingMult * volAvg or
volume >= i_pvsraRisingMult * volAvg
Module B - PVSRA Volume Analysis:
Uses spread x volume to detect climax conditions:
float spreadVol = candleRange() * volume
float maxSpreadVol = ta.highest(spreadVol, ADJ_PVSRA_LOOKBACK)
bool volClimax = volume >= i_pvsraClimaxMult * volAvg or spreadVol >= maxSpreadVol
bool volRising = volume >= i_pvsraRisingMult * volAvg and volume < i_pvsraClimaxMult * volAvg
Volume only scores when the candle is bullish, preventing false signals on bearish volume spikes.
Module C - Demand Zone Detection:
Identifies zones using a two-candle structure:
// Small bearish candle A followed by larger bullish candle B
bool candleA_bearish = isBearish()
bool candleB_bullish = isBullish()
bool newZoneCond = candleA_bearish and candleB_bullish and
candleB_size >= i_zoneSizeMult * candleA_size
Zones are drawn as rectangles and tracked for retests. Score increases when price is near or inside an active zone, with bonus points for rejection candles.
Module D - Trendline Channel:
Builds dynamic channel from confirmed pivot points:
float ph = ta.pivothigh(high, i_pivotLeft, i_pivotRight)
float pl = ta.pivotlow(low, i_pivotLeft, i_pivotRight)
Pivots are stored and connected to form upper/lower channel lines. The indicator detects breakouts when price closes beyond the channel with volume confirmation.
Module E - Ichimoku Assist:
Standard Ichimoku calculations with bullish scoring:
float tenkan = (ta.highest(high, i_tenkanLen) + ta.lowest(low, i_tenkanLen)) / 2
float kijun = (ta.highest(high, i_kijunLen) + ta.lowest(low, i_kijunLen)) / 2
bool tkCross = ta.crossover(tenkan, kijun)
bool priceAboveCloud = close > cloudTop
bool chikouAbovePrice = chikou > close
Module F - WINGS Composite Score:
All module scores are combined using adjustable weights:
float WINGS_score = 100 * (nW_pattern * S_pattern +
nW_volume * S_vol +
nW_zone * S_zone +
nW_trend * S_trend +
nW_ichi * S_ichi)
Default weights: Pattern 30%, Volume 25%, Zone 20%, Trend 15%, Ichimoku 10%.
Signal Thresholds
WATCH (30-49) - Interesting bullish context forming, not yet actionable
MOMENTUM (50-74) - Strong bullish conditions, multiple modules agreeing
LIFT-OFF (75+) - High-confidence bullish confluence across most modules
WINGS Badge (Dashboard)
The right-side panel displays:
WINGS Score - Current composite score (0-100)
Pattern - Active pattern name and strength, or neutral placeholder
Volume - Normal / Rising / CLIMAX status
Zone - ACTIVE if price is near a demand zone
Trend - Channel position or BREAK status
Ichimoku - OFF / Weak / Bullish / STRONG
Status - Overall signal level (Neutral / WATCH / MOMENTUM / LIFT-OFF)
Input Parameters
Module Toggles:
Enable Bullish Patterns (true) - Toggle pattern detection
Enable PVSRA Volume (true) - Toggle volume analysis
Enable Order Blocks (true) - Toggle demand zone detection
Enable Trendlines (true) - Toggle pivot channel
Enable Ichimoku Assist (false) - Toggle Ichimoku filter (off by default for performance)
Enable Visual Effects (false) - Toggle labels, trails, and visual elements
LIVE MODE (false) - Enable intrabar signals (WARNING: signals may repaint)
Pattern Engine:
Pattern Lookback (5) - Bars for body size averaging
Marubozu Body Multiplier (1.8) - Minimum body size vs average
Hammer Wick Multiplier (2.5) - Minimum lower wick vs body
Max Wick Ratio (0.2) - Maximum wick percentage for marubozu
Volume / PVSRA:
PVSRA Lookback (10) - Period for volume averaging
Climax Multiplier (2.0) - Volume threshold for climax detection
Rising Volume Multiplier (1.5) - Volume threshold for rising detection
Order Blocks:
Zone Size Multiplier (2.0) - Minimum bullish candle size vs bearish
Zone Extend Bars (200) - How far zones project forward
Max Zones (12) - Maximum active zones displayed
Remove Zone on Close Below (true) - Delete broken zones
Trendlines:
Pivot Left/Right Bars (3/3) - Pivot detection sensitivity
Min Slope % (0.25) - Minimum trendline angle
Max Trendlines (5) - Maximum pivot points stored
Trendline Projection Bars (60) - Forward projection distance
Ichimoku:
Tenkan Length (9) - Conversion line period
Kijun Length (26) - Base line period
Senkou B Length (52) - Leading span B period
Displacement (26) - Cloud displacement
WINGS Score:
Weight: Pattern (0.30) - Pattern contribution to score
Weight: Volume (0.25) - Volume contribution to score
Weight: Zone (0.20) - Zone contribution to score
Weight: Trend (0.15) - Trendline contribution to score
Weight: Ichimoku (0.10) - Ichimoku contribution to score
Lift-Off Threshold (75) - Score required for LIFT-OFF signal
Momentum Watch Threshold (50) - Score required for MOMENTUM signal
Visuals:
Signal Cooldown (8) - Minimum bars between labels
Show WINGS Score Badge (true) - Toggle dashboard
Show Wing Combos (true) - Show DOUBLE/MEGA WINGS streaks
Red Background Wash (true) - Tint chart background
Show Lift-Off Trails (false) - Toggle golden trail visuals
How to Use This Indicator
For Bullish Entry Identification:
1. Monitor the WINGS badge for score changes
2. Wait for MOMENTUM (50+) or LIFT-OFF (75+) signals
3. Check which modules are contributing (Pattern + Volume + Zone = stronger)
4. Use demand zones and trendlines as structural reference for entries
For Confluence Confirmation:
1. Use alongside your existing analysis
2. LIFT-OFF signals indicate multiple bullish factors aligning
3. Low scores (< 30) suggest weak bullish context even if one factor looks good
For Zone-Based Trading:
1. Watch for price approaching active demand zones
2. Look for pattern + volume confirmation at zone retests
3. Zone score increases with successful retests
For Trendline Analysis:
1. Monitor the pivot-based channel for trend structure
2. Breakouts with volume confirmation trigger TREND BREAK alerts
3. Price inside channel with bullish patterns = trend continuation setup
1M and lower timeframes:
Alerts Available
LIFT-OFF - High-confidence bullish confluence
MOMENTUM - Strong bullish conditions
Zone Retest - Bullish rejection from demand zone
Trendline Break - Breakout with volume confirmation
Individual patterns (Engulfing, Marubozu, Hammer, 3-Bar Cluster)
Volume Climax - Institutional volume spike
DOUBLE WINGS / MEGA WINGS - Consecutive lift-off signals
Repainting Behavior
By default, the indicator uses confirmed bars only (barstate.isconfirmed), meaning signals appear after the bar closes and do not repaint. However:
LIVE MODE - When enabled, signals can appear intrabar but may disappear if conditions change before bar close. A warning label displays when LIVE MODE is active.
Trendlines - Pivot detection requires lookback bars, so the most recent trendline segments may adjust as new pivots confirm. This is inherent to pivot-based analysis.
Demand Zones - Zones are created on confirmed bars and do not repaint, but they can be removed if price closes below the zone bottom (configurable).
Live Mode with 'Enable Visual Effect' turned off in settings:
Limitations
This is a bullish-only indicator. It does not detect bearish setups or provide short signals.
The WINGS score is a confluence measure, not a prediction. High scores indicate favorable conditions, not guaranteed outcomes.
Pattern detection uses simplified logic. Not all candlestick nuances are captured.
Volume analysis requires reliable volume data. Results may vary on instruments with inconsistent volume reporting.
Ichimoku calculations add processing overhead. Disable if not needed.
Demand zones are based on a specific two-candle structure. Other valid zones may not be detected.
Trendlines use linear regression between pivots. Curved or complex channels are not supported.
Timeframe Recommendations
15m-1H: More frequent signals, useful for intraday analysis. Higher noise.
4H-Daily: Best balance of signal quality and frequency for swing trading.
Weekly: Fewer but more significant signals for position trading.
Adjust lookback periods and thresholds based on your timeframe. Shorter timeframes may benefit from shorter lookbacks.
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. The source code is fully visible and can be studied to understand how each module works.
This indicator does not constitute financial advice. The WINGS score and signals do not guarantee profitable trades. Past performance does not guarantee future results. Always use proper risk management, position sizing, and stop-losses. Test thoroughly on your preferred instruments and timeframes before using in live trading.
- Made with passion by officialjackofalltrades
Support & Resistance Zone Hunter [BOSWaves]Support & Resistance Zone Hunter - Dynamic Structural Zones with Real-Time Breakout Intelligence
Overview
The Support & Resistance Zone Hunter is a professional-grade structural mapping framework designed to automatically detect high-probability support and resistance areas in real time. Unlike traditional static levels or manually drawn zones, this system leverages pivot detection, range thresholds, and optional volume validation to create dynamic zones that reflect the true structural architecture of the market.
Zones evolve as price interacts with their boundaries. The first touch of a zone determines its bias - bullish, bearish, or neutral - and the system tracks the full lifecycle of each zone from formation, testing, and bias establishment to potential breakout events. Diamond-shaped breakout signals highlight structurally significant price expansions while filtering noise using a configurable cooldown period.
By visualizing market structure in this way, traders gain a deeper understanding of price behavior, trend momentum, and areas where liquidity and reactive forces are concentrated.
Theoretical Foundation
The Support & Resistance Zone Hunter is built on the premise that meaningful structural zones arise from two core principles:
Pivot-Based Turning Points : Only significant highs and lows that represent actual swings in price are considered.
Contextual Validation : Zones must pass minimum range criteria and optional volume thresholds to ensure their relevance.
Markets naturally generate numerous micro-pivots that do not carry predictive significance. By filtering out minor swings and validating zones against volume and range, the system isolates levels that are more likely to attract future price interaction or act as catalysts for breakout moves.
This framework captures not only where price is likely to react but also the direction of potential pressure, providing a statistically grounded, visually intuitive representation of market structure.
How It Works
The Support & Resistance Zone Hunter constructs zones through a multi-layered process that blends pivot logic, range validation, and real-time bias determination:
1. Pivot Detection Core
The indicator identifies pivot highs and pivot lows using a configurable lookback period. Zones are only considered valid when both a top and bottom pivot are present.
2. Zone Qualification Engine
Prospective zones must satisfy two conditions:
Range Threshold : The distance between pivot high and low must exceed the minimum percentage set by the user.
Volume Requirement : If enabled, the current volume must exceed the 50-period moving average.
Only zones meeting these criteria are drawn, reducing noise and emphasizing high-probability structural levels.
3. Zone Lifecycle
Once a valid top and bottom pivot exist:
The zone is created starting from the pivot formation bar.
Zones remain active until both boundaries have been touched by price.
The first boundary touched establishes bias: resistance first → bullish bias ,support first → bearish bias, neither → neutral.
Inactive zones stop expanding but remain visible historically to maintain a clear structural context.
4. Visual Rendering
Active zones are displayed as filled boxes with color corresponding to their bias. Top, bottom, and midpoint lines are drawn for reference. Once a zone becomes inactive, its lines are removed while the filled box remains as a historical footprint.
5. Breakout Detection
Breakout signals occur when price closes above the top boundary or below the bottom boundary of an active zone. The system applies a cooldown period and requires price to return to the zone since the previous breakout to prevent signal spam. Bullish and bearish breakouts are visually represented by diamond-shaped markers with configurable colors.
Interpretation
The Support & Resistance Zone Hunter provides a structural view of market balance:
Bullish Zones : Form when resistance is tested first, indicating upward pressure and potential continuation.
Bearish Zones : Form when support is tested first, reflecting downward pressure and continuation risk.
Neutral Zones : Fresh zones that have not yet been interacted with, representing undiscovered liquidity.
Breakout Diamonds : Highlight significant structural price expansions, helping traders identify confirmed continuation moves while filtering noise.
Zones do not simply indicate past levels; they dynamically reflect the evolving battle between buyers and sellers, providing actionable context for both trend continuation and reversion strategies.
Strategy Integration
The Support & Resistance Zone Hunter is versatile and can be applied across multiple trading approaches:
Trend Continuation : Use bullish and bearish zones to confirm directional bias. Breakout diamonds indicate structural continuation opportunities.
Reversion Entries : Neutral zones often act as magnets in ranging markets, allowing for high-probability mean-reversion setups.
Breakout Trading : Diamonds mark true structural expansions, reducing false breakout risk and guiding stop placement or momentum entries.
Liquidity Zone Alignment : Combining the indicator with order block, breaker, or volume-based tools helps validate zones against broader market participation.
Technical Implementation Details
Pivot Engine : Two-sided pivot detection based on configurable lookback.
Zone Qualification : Minimum range requirement and optional volume filter.
Bias Logic : Determined by the first boundary touched.
Zone Lifecycle : Active until both boundaries are touched, historical visibility retained.
Breakout Signals : Diamond markers with cooldown filtering and price-return validation.
Visuals : Transparent filled zones with live top, bottom, and midpoint lines.
Suggested Optimal Parameters
Pivot Lookback : 10 - 30 for intraday, 20 - 50 for swing trading.
Minimum Range % : 0.5 - 2% for crypto or indices, 1 - 3% for metals or forex.
Volume Filter : Enable for assets with inconsistent liquidity; disable for consistently liquid markets.
Breakout Cooldown : 5 - 20 bars depending on volatility.
These suggested parameters should be used as a baseline; their effectiveness depends on the asset and timeframe, so fine-tuning is expected for optimal performance.
Performance Characteristics
High Effectiveness:
Markets with clear pivot structure and reliable volume.
Trending symbols with consistent retests.
Assets where zones attract repeated price interaction.
Reduced Effectiveness:
Random walk markets lacking structural pivots.
Low-volatility periods with minimal price reaction.
Assets with irregular volume distribution or erratic price action.
Integration Guidelines
Use zone color as contextual bias rather than a standalone signal.
Combine with structural tools, order blocks, or volume-based indicators for confluence.
Validate zones on higher timeframes to refine lower timeframe entries.
Treat breakout diamonds as confirmation of continuation rather than independent triggers.
Disclaimer
The Support & Resistance Zone Hunter provides structural zone mapping and breakout analytics. It does not predict price movement or guarantee profitability. Success requires disciplined risk management, proper parameter calibration, and integration into a comprehensive trading strategy.
ICT Essentials [LDT]ICT Essentials
Overview
ICT Essentials is an all-in-one trading utility built to create a natural and efficient workflow for ICT-based traders.
Every component has been designed to integrate seamlessly and update dynamically across timeframes.
The indicator focuses on clarity, performance and customization, allowing traders to tailor every part of their trading experience.
Equal Highs & Lows
This feature automatically detects and marks Equal Highs (EQH) and Equal Lows (EQL) with full control over visuals and behavior.
Users can customize line colors, widths, and styles, label size, color, background transparency and text offset.
The logic uses an optimized scanning and caching system that maintains smooth performance even on higher timeframes.
It provides a precise and adaptive way to identify structural liquidity points whilst keeping the chart clean and readable.
Killzones & Session Pivots
Plots the main trading sessions such as Asia, London and New York (AM, Lunch, PM) with full flexibility and styling options.
Each session can be enabled or disabled individually, with its own color, transparency and label preferences.
Session highs and lows are automatically tracked and plotted as pivots with extension modes like Until Mitigated or Past Mitigation.
This system gives traders the ability to organize market sessions exactly how they prefer whilst keeping the chart consistent and efficient.
Daily Pivots and Tier System
Alongside session pivots, the script tracks daily highs and lows to provide a broader structural view of price. These pivots are stored and displayed on the chart with their appearance updating automatically when price interacts with them.
The system includes a unique tier-based visibility filter that maintains a clean chart by preventing duplicate or overlapping pivots. Recent daily pivots are cached and compared to session pivots and when two levels fall within a defined proximity, the redundant one is automatically hidden. This creates a clear hierarchy of daily and session levels, keeping the most relevant structure visible whilst removing noise.
All aspects of the daily pivot system are fully customizable, including the number of tracked pivots, color, style settings and how mitigated levels are handled. The caching and filtering logic ensures smooth performance and a visually organized workspace even as the data updates in real time.
Key Times
Allows up to five custom key time markers such as the Midnight Open, 6:00 AM or 10:00 AM.
Each marker can be fully customized with its own text, color, line style and thickness.
This makes it simple to visualize key reaction points that align with each traders timing model.
Higher Timeframe Candles
Displays higher timeframe candles such as 1H, 4H or Daily directly on the active chart to provide context without switching views.
Users can customize body, wick and border colors, along with adding optional trace lines for the open, close, high and low and can also show the countdown timers for remaining candle time.
Adjustable spacing, positioning and label visibility makes the display blend naturally with any trading setup.
This module helps traders connect multiple timeframes visually in a clean and intuitive way.
Watermark
Adds a customizable watermark with title, subtitle and symbol or timeframe information.
Every element can be adjusted for color, size, transparency, alignment and position.
The result is a polished, professional chart layout that adapts to the user's personal style.
Optimization and Design
ICT Essentials is built for performance, using cached arrays and lightweight calculations to maintain responsiveness on all timeframes.
Each feature can be toggled individually to suit the traders focus or system performance.
The script delivers a fluid, customizable and highly optimized trading experience designed to feel natural and effortless in day-to-day use.
Credits
This script takes reference and inspiration from several open-source indicators:
Equal Highs and Lows by jzstur
ICT HTF Candles (fadi) by fadizeidan
ICT Killzones + Pivots EP by tradeforopp
AG FX - Watermark by AGFXTRADING
All components have been refactored, optimized and unified into a single framework for a smoother and more efficient workflow.
Fibonacci Levels on Any Indicator [By MUQWISHI]▋ INTRODUCTION :
A “Fibonacci Levels on Any Indicator” can be applied to any indicator to draw Fibonacci levels based on provided conditions of two price points to produce a sequence of horizontal line levels starting from 0% to 100% in addition to extension levels. The 0% level is measured as the start of retracement, while the 100% level is the beginning of the extension levels. This tool was developed to be easy to add to any indicator, and it could be valuable to some traders in terms of managing trades by setting targets and reducing risk in the trend direction.
_______________________
▋ USAGE:
➤ NEEDS TO IDENTIFY 4 ELEMENTS:
1. Starting Point. What’re the conditions / When will the drawing of the Fibonacci levels begin?
2. Ending Point. What’re the conditions / When will the drawing of the Fibonacci levels end?
3. High Point. What is the price for a 100% Fibonacci level (0% for the downside)?
4. Low Point. What is the price for a 0% Fibonacci level (100% for the downside)?
➤ STARTING & ENDING POINTS CONDITIONS:
Need to specify the condition when the drawing of Fibonacci levels starts and ends, and the indicator shows different prepared conditions.
New Phase: Import a value (plot) from an existing indicator, where its status changes from NaN to a real number.
Crosses Above/Below: Import a value(1) (plot) from an existing indicator, where it crosses above/below value(2).
Reversal Up/Down: Import a value(1) (plot) from an existing indicator, where it rises/decreases than the previous value(1).
First/Last Bar: Useful to draw stationary Fibonacci levels.
➤ UPPER & LOWER PIVOTS (0% & 100%):
Need to specify the two price points representing 0% & 100% Fibonacci levels to expose the sequence of Fibonacci lines.
Upper Pivot. By default, the ATR Upper Band. It’s possible to import a custom value from an existing indicator.
Lower Pivot. By default, the ATR Lower Band. It’s possible to import a custom value from an existing indicator.
➤ FIBONACCI STYLING OPTIONS:
Ability to customize line & label style, color, reverse, and hide/show levels.
_______________________
▋ IMPLEMENTATION:
Here are some examples of implementing the indicator.
Note: All presented examples below are for demonstration purposes, and they're not trading suggestions.
# Example 1: (Reversal Up/Down)
We want to implement Fibonacci levels on the Hull MA by mohamed982 . Our requirements are as follows:
Fibonacci levels start when the Hull MA reverses up.
Fibonacci levels end when the Hull MA reverses down.
Upper Pivot is the ATR Upper Band.
Lower Pivot is the ATR Lower Band.
After adding the required indicator (Hull MA), here’re the implementation and results
# Example 2: (Crosses Above/Below)
We want to implement Fibonacci Level on the Squeeze Momentum by LazyBear . Our requirements are as follows:
Fibonacci levels start when the Squeeze Momentum histogram crosses above 0.
Fibonacci levels end when the Squeeze Momentum histogram crosses below 0.
Upper Pivot is the Bollinger Upper Band.
Lower Pivot is the Bollinger Lower Band.
After adding the required indicators (Squeeze Momentum & Bollinger Band), here’re the implementation and results
# Example 3: (Crosses Above/Below)
We want to implement Fibonacci Level on the Crossing Moving Averages. Our requirements are as follows:
Fibonacci levels start when the 20-EMA crosses above 100-MA.
Fibonacci levels end when the 20-EMA crosses below 100-MA.
Upper Pivot is the ATR Upper Band.
Lower Pivot is the ATR Lower Band.
After adding the required indicators (20-EMA & 100-MA), here’re the implementation and results
# Example 4: (New Phase: When the previous value is NaN, and the current value is a real number.)
We want to implement Fibonacci Level on the Supertrend. Our requirements are as follows:
Fibonacci levels start when an up-Supertrend (green) line shows up.
Fibonacci levels end when a down-Supertrend (red) line shows up.
Upper Pivot is the down-Supertrend.
Lower Pivot is the up-Supertrend.
After adding the required indicator (Supertrend), here’re the implementation and results
# Example 5: (First/Last Bar)
We want to implement Fibonacci Level between two points, 330 & 300. Our requirements are as follows:
Fibonacci levels start at first bar on the chart.
Fibonacci levels end at last bar on the chart.
Upper Pivot is 330.
Lower Pivot is 300.
Here’re the implementation and results.
To customize the number of bars back (like 50 bars)
_______________________
▋ Final Comments:
The “Fibonacci Levels on Any Indicator” is made to apply on other indicators for planning Fibonacci Levels.
It can be implemented in different ways, along with presented examples.
This indicator does not work with plots that were developed by drawing classes.
Please let me know if you have any questions.
Thank you.
Swing High/Low Support ResistanceThis indicator detects recent swing highs and swing lows using Pine Script pivots and marks them with visible chart labels. These points highlight potential turning areas in price action and can help identify short-term support or resistance for intraday or swing trading.
How to Apply
Locate the indicator in TradingView’s “Indicators” library; search by its name or author.
Click the star icon to mark it as a favourite for quick future access.
Apply directly to your chosen chart and timeframe with a single click—no need to enter or paste code.
Adjust the input parameters from the settings panel if desired to personalize swing sensitivity.
Choose Your Timeframe:
Apply to any intraday or swing timeframe; shorter lengths show more frequent pivots.
Set Sensitivity:
Use the “Swing Detection Length” input to adjust how many bars define a pivot, making swings more or less sensitive to price action.
How to Analyze
Swing High Labels: Mark recent local peaks, suggesting resistance zones or possible reversal points.
Swing Low Labels: Highlight recent bottoms, indicating support or bounce areas.
Monitor labels for clustering or repeated appearance at similar levels, which may strengthen their importance as price reacts near those points.
Track how price behaves after forming new pivots—multiple tests can affirm the relevance of a level.
What Traders Should Watch
Price reaction at labeled areas: frequent tests may anticipate reversals or breakouts.
Transition between higher highs/higher lows (uptrend) vs. lower highs/lower lows (downtrend).
Combine the swing levels with other analysis methods, such as volume, RSI, or EMA, for better signal quality.
Features Included
Dynamic swing high and low detection via confirmed pivots.
Direct labeling on the chart for market structure clarity.
No repainting—labels show only after complete formation.
Fully automatic updates as price action unfolds.
No promotional, external, or non-compliant elements; open source and safe for public or private use.
Compliance Notes
No signals, buy/sell calls, financial advice, or performance claims.
No hidden code, advertising, or off-platform contacts.
Pure educational and analytical utility; adheres to all TradingView house rules and script publishing policies.
Disclaimer
This indicator is for informational purposes only and does not constitute advice. Always do your own research and use proper risk management.
OscillatorPivotsLibrary "OscillatorPivots"
Measures pivots in an oscillator and flags if they are above a configurable size. Uses absolute size rather than just highest/lowest in a candle range.
f_osc_Pivots()
Uses the total change in the Y axis, instead of a simple Williams pivot over a defined number of bars. In other words, it measures the size of the actual pivot, not just whether it happens to be the highest/lowest value in a range.
Measures the absolute, cumulative change both before and after the pivot, to avoid flagging mere kinks in trends.
The advantage is that absolute pivot size is, in some cases, precisely what we care about. A disadvantage is that it can take an arbitrary, perhaps long, time to confirm.
You can configure the threshold size of the pivot so that it finds large or small pivots.
Always returns a pivot high after a pivot low, then another pivot high and so on, in order. It never returns a high followed by a high, which simple indicators based on the ta.pivot() function can do.
@param chart_H_1 This must always be set to 1, unless you are using my HighTimeframeTiming library, in which case set it to the output of the function for a _HTF_H of 1.
@param chart_H_2 This must always be set to 2, unless you are using my HighTimeframeTiming library, in which case set it to the output of the function for a _HTF_H of 2.
@param _osc This is the oscillator float value.
@param _oscPivotSize This is the user setting for what counts as a big enough change to be a pivot.
@returns Information about the pivot that is likely to be useful in further calculations:
confirmPeak, confirmDip - whether the pivot was confirmed this bar
peakBarsBack, dipBarsBack - how many bars ago the actual peak or dip was
peakPrice, dipPrice - the value of the oscillator at the peak/dip
It also returns some internal variables, which are plotted in this library only for an understanding of how the function works.
debug_peakStartLevel, debug_dipStartLevel - The level of the currently active peak/dip
ABCD StrategyOne from many harmonic pattern that consists of two equivalent price legs. The ABCD pattern that helps traders predict when the price is about to change direction.
Tracing And Calculation
This code using pivot high and pivot low built-in method and calculate with Fibonacci Retracement.
Limitation
To find ABCD pattern is very difficult, just coming up a few from thousand candle. That why this code using little bit tolerance ratio to get more pattern.
Fork Handles by @treypeng
Candle based indicator that shows swing highs and lows (pivots).
It draws an up or down arrow for simple three candle 'single' swings.
For stronger five candle 'double' swings, it colours the candle. Good for highlighting stronger reversals.
Both of these stylings can be toggled on/off individually.
Default colours
Swing HIGH on an UP candle: bright green
Swing HIGH on an DOWN candle: bright red
Swing LOW on an UP candle: blue
Swing LOW on an DOWN candle: brown
Double swings are grey or white.
Regular candles are just kept to your own default colours as specified in the chart settings.
👏 for anyone who gets the 'fork handles' joke reference.
TrendlinesTrendline S&R
This indicator is an automated technical analysis tool designed to identify the most relevant Support and Resistance (S&R) zones based on market pivots. Unlike standard pivot indicators that clutter the chart with historic lines, this script uses a "Closest-to-Price" algorithm to display only the single most relevant Support (Green) and Resistance (Red) zone currently interacting with price action.
It solves common frustrations with automated trendlines—specifically the issue of lines disappearing immediately upon a breakout—by introducing a Stability Buffer.
Key Features & Importance
The script scans hundreds of potential trendlines but only draws the one geographically closest to the current price.
Importance: This ensures you are looking at the zone that matters right now. It filters out distant or irrelevant historic lines, keeping your chart clean and focused on immediate price action.
🛡️ 5-Bar Stability Buffer (Anti-Flicker)
Feature: A hardcoded 5-bar "memory" prevents the zone from disappearing the moment price touches or breaks it.
Importance: This is critical for trading breakouts. It allows you to see the zone persist while price breaches it, helping you distinguish between a true breakout, a fakeout, or a retest, without the reference level vanishing from your screen.
🔍 Dynamic Pivot Filtering
Feature: Uses a restricted Pivot Strength (5-15) and Minimum Confirmation (2-8 touches).
Importance: By enforcing these limits, the indicator ignores insignificant market noise and micro-swings, ensuring that drawn zones represent structural market levels with genuine liquidity.
🔔 Integrated Alert System
Feature: Built-in alerts for "Zone Breakout" (candle close crossing the zone) and "Zone Touch" (wick entering the zone).
Importance: Allows you to set the indicator and walk away. You will be notified instantly when price interacts with these key levels, removing the need to stare at the chart.
📉 Adaptive Tolerance (Fixed ATR)
Feature: Uses a fixed ATR multiplier internally to determine the width of the zone.
Importance: This automatically adjusts the thickness of the support/resistance zone based on the asset's volatility.
Settings Guide
Bars to Apply: How far back in history the script looks for pivots (Default: 300).
Pivot Source: Choose between calculating from "High/Low" (wicks) or "Close" (bodies).
Pivot Strength: The number of bars required on each side to define a swing point (Range: 5–15).
Min Pivot Confirmation: The minimum number of touches required to validate a trendline (Range: 2–8).
How to Use
Add the indicator to your chart.
Adjust Pivot Strength if you want to catch smaller swings (lower number) or major structures (higher number).
Set an alert in TradingView by clicking the "Clock" icon, selecting this indicator, and choosing "Zone Breakout" or "Zone Touch".
Support & Resistance Ultimate Solid S R Lines No Repaint🚀 Support & Resistance Lines (Pivot-Based) - Solid Long Boxes | Clean Auto S/R Zones for SPY/QQQ/NASDAQ | 85%+ Touch Rate Backtested! 🔥
Discover the ULTIMATE Pivot S/R Indicator that Draws SOLID Horizontal Lines at Key Levels – No Clutter, Just Precision! 💎
Tired of messy, repainting S/R tools that flood your chart with junk lines? This Pine Script v5 indicator automatically detects pivot highs/lows and plots clean, solid, semi-transparent rectangular boxes (long horizontal lines) for the most recent 5 levels (adjustable).
Why This Goes VIRAL (47K+ Likes on Similar Scripts):
SOLID Lines (no dots/dashes) – Thin, long extensions (200+ bars right) for crystal-clear zones
Smart Pivot Detection: 5-left/5-right bars default (customizable) – Catches real swing highs/lows (85% price touch rate in SPY daily backtests 2010-2025)
Auto-Cleanup: Keeps ONLY top 5 recent levels – No chart spam! Deletes oldest automatically
Pro Labels: "R" (red) on resistance, "S" (green) on support – Instant identification
Non-Repainting: Uses confirmed pivots – Safe for live trading/alerts
Works on ANY TF/Symbol: SPY daily (perfect for swings), 1H/4H (intraday), QQQ/BTC/FOREX – Universal!
📊 Backtested Edge (SPY Daily 2010-2025):
85%+ Price Interaction Rate at levels (touches/bounces)
73% Bounce Win Rate on pullbacks to support in uptrends
Pairs PERFECTLY with RSI(2)/EMA50 for entries (80%+ combined win rate)
Profit Factor 2.1 when used as confluence (tested vs buy-hold)
🎯 How to Trade It (High RR Setup):
Longs: Price bounces off GREEN SUPPORT + RSI(2) < 30 + Volume spike → Target next RED RESISTANCE (2-3R avg)
Shorts: Rejection at RED RESISTANCE + RSI(2) > 70 → Target next GREEN SUPPORT
Filter: Only trade when price > 200 SMA (uptrend) – Avoid chop!
Risk: 1% per trade, 1:2 RR min – Trail stops on 2nd touch
⚙️ Customizable Settings:
Pivot Strength: Left/Right Bars (5/5 default – stronger = fewer/false-proof levels)
Max Levels: 1-20 (5 = sweet spot, clean chart)
Line Width: 1 (thin) to 5 (bold)
Colors: Semi-transparent red/green (40% opacity) – Matches dark/light themes
✅ Why Traders LOVE It (47K+ Likes Proof):
No Lag/Repaint – Real-time pivots on close
Mobile-Friendly – Clean on phone charts
Alerts Ready: Touch/break alerts (add via TradingView)
Backtest-Ready: Export levels for strategies
Open-Source: Free forever, no paywall!
Pro Traders Using Similar (Editors Picks):
KioseffTrading, LuxAlgo, PineCoders – Same pivot logic, 100K+ views
Tested on SPY/QQQ: 73% bounce accuracy (vs 55% random levels)
🚨 Quick Setup:
Copy → Pine Editor → "Add to Chart"
SPY Daily → Watch lines form live!
Screenshot your first bounce → Tag me for repost! 📸
📈 Real Example (SPY Daily):
Support at $580 (pivot low) → Bounced 3x, +5.2% avg move
Resistance at $610 → Rejected 4/5 touches, -3.1% shorts
⚠️ Disclaimer: For education. Backtest yourself. Past performance ≠ future. Risk 1% max. Not financial advice.
⭐ Smash LIKE if this saves your chart! 1K+ Traders Already Using – Join the Edge! 💥
#SRLines #SupportResistance #PineScript #TradingView #SPY #DayTrading #SwingTrading #NonRepainting #PivotPoints
(Open-source | 100% Free | No Repaint | Mobile OK | Backtested | Viral-Ready)
Copy-paste this directly into TradingView description box.
Why it generates HITS (47K+ likes proven formula):
Bold emojis/headlines (stops scroll, 3x engagement)
Numbers/Stats (85% win, backtested – credibility/trust)
Pain points (messy charts, repaint → solves problems)
How-to/Examples (easy onboarding, shareable)
Hashtags/Calls-to-action (LIKE, Tag, Repost – viral loop)
Short paragraphs (mobile-readable, 80% users scroll fast)
Pro endorsements (Kioseff, LuxAlgo – social proof)
Disclaimer (TradingView compliant, no bans)
Tested on similar scripts: +500% views/likes vs plain desc. Update screenshot with SPY example → 10K+ views Week 1 guaranteed! 🚀
Advanced Multi-Level S/R ZonesAdvanced Multi-Level S/R Zones: The Comprehensive Guide
1. Introduction: The Evolution of Support & Resistance:
Support and Resistance (S/R) is the backbone of technical analysis. However, traditional methods of drawing these levels are often plagued by subjectivity. Two traders looking at the same chart will often draw two different lines. Furthermore, standard indicators often treat every price point equally, ignoring the critical context of Volume and Time.
The Advanced Multi-Level S/R Zones script represents a paradigm shift. It moves away from subjective line drawing and toward Quantitative Zoning. By utilizing statistical measures of variability (Standard Deviation, MAD, IQR) combined with Volume-Weighting and Time-Decay algorithms, this tool identifies where price is mathematically most likely to react. It treats S/R not as thin lines, but as dynamic zones of probability.
2. Core Logic and Mathematical Foundation:
To understand how to use this tool optimally, one must understand the "engine" under the hood. The script operates on four distinct pillars of logic:
A. Session-Based Data Collection:
The script does not look at every single tick. Instead, it aggregates data into "Sessions" (daily bars by default logic). It extracts the High, Low, and Total Volume for every session within the user-defined lookback period. This filters out intraday noise and focuses on the macro structure of the market.
B. Adaptive Statistical Variability:
Most Bollinger Band-style indicators use Standard Deviation (StdDev) to measure width. However, StdDev is heavily influenced by outliers (extreme wicks). This script offers a sophisticated Adaptive Method-Skewness Detection: The script calculates the skewness of the price distribution. Adaptive Selection: If the data is highly skewed (lots of outliers, typical in Crypto), it switches to MAD (Median Absolute Deviation). MAD is robust and ignores outliers. If the data is moderately skewed, it uses IQR (Interquartile Range). If the data is normal (Gaussian), it uses StdDev.
Benefit: This ensures the zone widths are accurate regardless of whether you are trading a stable Forex pair or a volatile Altcoin.
C. The Weighting Engine (Volume + Time)
Not all price history is equal. This script assigns a "Weight Score" to every session based on two factors:
Volume Weighting: Sessions with massive volume (institutional activity) are given higher importance. A high formed on low volume is less significant than a high formed on peak volume.
Time Decay: Recent price action is more relevant than price action from 50 bars ago. The script applies a decay factor (default 0.85). This means a session from yesterday has 100% impact, while a session from 10 days ago has significantly less influence on the zone calculation.
D. Clustering Algorithm
Once the data is weighted, the script runs a clustering algorithm. It looks for price levels where multiple session Highs (for Resistance) or Lows (for Support) congregate.
It requires a minimum number of points to form a zone (User Input: minPoints).
It merges nearby levels based on the Cluster Separation Factor.
This results in "Primary," "Secondary," and "Tertiary" zones based on the strength and quantity of data points in that cluster.
3. Detailed Features and Inputs Breakdown:
Group 1: Main Settings
Lookback Sessions (Default: 10): Defines how far back the script looks for pivots. A higher number (e.g., 50) creates long-term structural zones. A lower number (e.g., 5) creates short-term scalping zones.
Variability Method (Adaptive): As described above, leave this on "Adaptive" for the best results across different assets.
Zone Width Multiplier (Default: 0.75): Controls the vertical thickness of the zones. Increase this to 1.0 or 1.5 for highly volatile assets to ensure you catch the wicks.
Minimum Points per Zone: The strictness filter. If set to 3, a price level must be hit 3 times within the lookback to generate a zone. Higher numbers = fewer, but stronger zones.
Group 2: Weighting
Volume-Weighted Zones: Crucial for identifying "Smart Money" levels. Keep this TRUE.
Time Decay: Ensures the zones update dynamically. If price moves away from a level for a long time, the zone will fade in significance.
ATR-Normalized Zone Width: This is a dynamic volatility filter. If TRUE, the zone width expands and contracts based on the Average True Range. This is vital for maintaining accuracy during market breakouts or crashes.
Group 3: Zone Strength & Scoring
The script calculates a "Score" (0-100%) for every zone based on:
-Point Count: More hits = higher score.
-Touches: How many times price wicked into the zone recently.
-Intact Status: Has the zone been broken?
-Weight: Volume/Time weight of the constituent points.
-Track Zone Touches: Looks back n bars to see how often price respected this level.
-Touch Threshold: The sensitivity for counting a "touch."
Group 4: Visuals & Display
Extend Bars: How far to the right the boxes are drawn.
Show Labels: Displays the Score, Tier (Primary/Secondary), and Status (Retesting).
Detect Pivot Zones (Overlap): This is a killer feature. It detects where a Support Zone overlaps with a Resistance Zone.
Significance: These are "Flip Zones" (Old Resistance becomes New Support). They are colored differently (Orange by default) and represent high-probability entry areas.
Group 5: Signals & Alerts
Entry Signals: Plots Buy/Sell labels when price rejects a zone.
Detect Break & Retest: specifically looks for the "Break -> Pullback -> Bounce" pattern, labeled as "RETEST BUY/SELL".
Proximity Alert: Triggers when price gets within x% of a zone.
4. Understanding the Visuals (Interpreting the Chart)
When you load the script, you will see several visual elements. Here is how to read them:
The Boxes (Zones)
Red Shades: Resistance Zones.
Dark Red (Solid Border): Primary Resistance. The strongest wall.
Lighter Red (Dashed Border): Secondary/Tertiary. Weaker, but still relevant.
Green Shades: Support Zones.
Dark Green (Solid Border): Primary Support. The strongest floor.
Orange Boxes: Pivot Zones. These are areas where price has historically reacted as both support and resistance. These are the "Line in the Sand" for trend direction.
The Labels & Emojis
The script assigns emojis to zone strength:
🔥 (Fire): Score > 80%. A massive level. Expect a strong reaction.
⭐ (Star): Score > 60%. A solid structural level.
✓ (Check): Score > 40%. A standard level.
"⟳ RETESTING": Appears when a zone was broken, and price is currently pulling back to test it from the other side.
The Dashboard (Top Right)
A statistics table provides a "Head-Up Display" for the asset:
High/Low σ (Sigma): The variability of the highs and lows. If High σ is much larger than Low σ, it implies the tops are erratic (wicks) while bottoms are clean (flat).
Method: Shows which statistical method the Adaptive engine selected (e.g., "MAD (auto)").
ATR: Current volatility value used for normalization.
5. Strategies for Optimum Output
To get the most out of this script, you should not just blindly follow the lines. Use these specific strategies:
Strategy A: The "Zone Fade" (Range Trading)
This works best in sideways markets.
Identify a Primary Support (Green) and Primary Resistance (Red).
Wait for price to enter the zone.
Look for the "SUPPORT BOUNCE" or "RESISTANCE REJECTION" signal label.
Entry: Enter against the zone (Buy at support, Sell at resistance).
Stop Loss: Place just outside the zone width. Because the zones are calculated using volatility stats, a break of the zone usually means the trade is invalid.
Strategy B: The "Pivot Flip" (Trend Following)
This is the highest probability setup in trending markets.
Look for an Orange Pivot Zone.
Wait for price to break through a Resistance Zone cleanly.
Wait for the price to return to that zone (which may now turn Orange or act as Support).
Look for the "RETEST BUY" label.
Logic: Old resistance becoming new support is a classic sign of trend continuation. The script automates the detection of this exact geometric phenomenon.
Strategy C: The Volatility Squeeze
Look at the Dashboard. Compare High σ and Low σ.
If the values are dropping rapidly or becoming very small, the zones will contract (become narrow).
Narrow zones indicate a "Squeeze" or compression in price.
Prepare for a violent breakout. Do not fade (trade against) narrow zones; look to trade the breakout.
6. Optimization & Customization Guide
Different markets require different settings. Here is how to tune the script:
For Crypto & Volatile Stocks (Tesla, Nvidia)
Method: Set to Adaptive (Mandatory, as these assets have "Fat Tails").
Multiplier: Increase to 1.0 - 1.25. Crypto wicks are deep; you need wider zones to avoid getting stopped out prematurely.
Lookback: 20-30 sessions. Crypto has a long memory; short lookbacks generate too much noise.
For Forex (EURUSD, GBPJPY)
Method: You can force StdDev or IQR. Forex is more mean-reverting and Gaussian.
Multiplier: Decrease to 0.5 - 0.75. Forex levels are often very precise to the pip.
Volume Weighting: You may turn this OFF for Forex if your broker's volume data is unreliable (since Forex has no centralized volume), though tick volume often works fine.
For Scalping (1m - 15m Timeframes)
Lookback: Decrease to 5-10. You only care about the immediate session history.
Decay Factor: Decrease to 0.5. You want the script to forget about yesterday's price action very quickly.
Touch Lookback: Decrease to 20 bars.
For Swing Trading (4H - Daily Timeframes)
Lookback: Increase to 50.
Decay Factor: Increase to 0.95. Structural levels from weeks ago are still highly relevant.
Min Points: Increase to 3 or 4. Only show levels that have been tested multiple times.
7. Advantages Over Standard Tools:
Feature Standard S/R Indicator, Advanced Multi-Level S/R Calculation, Uses simple Pivots or Fractals, Uses Statistical Distributions (MAD/IQR). Zone Width Arbitrary or Fixed Adaptive based on Volatility & ATR.
Context Ignores Volume Volume Weighted (Smart Money tracking).
Time Relevance Old levels = New levels Time Decay (Recency bias applied).
Overlaps Usually ignores overlaps Detects Pivot Zones (Res/Sup Flip).
Scoring None 0-100% Strength Score per zone.
8. Conclusion:
The Advanced Multi-Level S/R Zones script is not just a drawing tool; it is a statistical analysis engine. By accounting for the skewness of data, the volume behind the moves, and the decay of time, it provides a strictly objective roadmap of the market structure.
For the optimum output, combine the Pivot Zone identification with the Retest Signals. This aligns you with the underlying flow of order blocks and prevents trading against the statistical probabilities of the market.
Intermarket Swing Projection [LuxAlgo]The Intermarket Swing Projection allows traders to plot price movement swings from any user-selected asset directly onto the chart in the form of zigzags and/or horizontal support and resistance levels.
This tool rescale the external asset price on the user chart, enabling traders to make direct comparisons.
It answers the question of how different the price behavior is between two assets, accounting for each asset's volatility.
🔶 USAGE
This tool is based on swing detection of two different assets: the chart and a user-selected asset. It allows traders to compare two assets on an equal footing while accounting for volatility and price behavior.
Traders can customize the detection by selecting a custom ticker, timeframe, the number of swings and length for swing detection. This makes the tool a Swiss army knife for asset comparison.
As we can see in the image below, the Show Last, Pivot Length, and Spread parameters are key to defining the final output of the tool.
"Show Last" defines how many pivots are displayed. "Pivot Length" is used for pivot detection; a larger value will detect larger market structures. "Spread" defines how far apart the horizontal levels will be from their original location in terms of volatility.
🔹 Comparing different assets
This image shows the Nasdaq 100 futures contract compared to four other futures contracts: S&P 500, gold, bitcoin, and euro/U.S. dollar.
Plotting all of these assets in Nasdaq 100 terms makes it easy to compare and analyze price behaviors and identify key levels.
In the top left chart, we have NQ vs. ES. It's no surprise that they are practically an exact match; a large portion of the S&P 500 is technology.
In the top right chart, NQ vs. GC, we see totally different behaviors. We can clearly see the summer consolidation in gold and the resumption of the uptrend, which took gold above 29,200 NQ points, up from 21,200.
In the bottom right chart, we see bitcoin making new highs, way above the Nasdaq in May, July, and October. However, the last high was way below the Nasdaq prices on October 27—the first lower high in a while. Sellers are pushing down.
Finally, the bottom left chart is NQ vs. 6E. We can see large volatility in the uptrend since February, with NQ unable to catch up until now. The last swing low was almost a match, and 6E is in a range.
As we can see, this tool allows us to perform intermarket analysis properly by accounting for each asset's volatility and price behavior. Then, we plot them on the same scale on equal terms, which makes performing this kind of analysis easy.
As we can see in the chart above, the assets are the same as in the previous image, but the timeframe is 1H with different settings.
Note the horizontal levels acting as support and resistance, as well as how NQ prices react to the zones marked with white circles. These levels are derived from custom assets selected by the user.
🔹 Displaying Elements
Zig-zag allows traders to clearly see the path that the selected asset's price took, as well as its turning points.
Horizontal levels are displayed from those turning points to the present and can be used as support or resistance. Traders can adjust the spread parameter in the settings panel to expand or contract those levels' volatility.
There are two color modes for the levels: average and pivots. In the first mode, green is used for levels below the average and red for levels above the average. The second uses green for swing lows and red for swing highs.
The backpaint feature is enabled by default and allows the swings to be displayed in the correct location. With this feature disabled, the swings will be displayed in the current location when a new swing is detected.
🔶 DETAILS
On a more technical note, the rescaling is formed by calculating three main elements from all the swings detected on the custom and chart assets:
The chart asset's average of all swing points
The chart asset's standard deviation of all swing points
The custom asset's z-score for each swing point
Then, the re-scaled swing point is calculated as the average plus the z-score multiplied by the standard deviation. This makes it possible to plot AAPL swings on an NQ chart, for example.
Thanks to re-scaling, we can directly compare the price behavior of two assets with different price ranges and volatility on the same chart.
🔶 SETTINGS
🔹 Trendlines
Ticker: Select the custom ticker.
Timeframe: Select a custom timeframe.
Show Last: Select how many swing points to display.
Pivot Length: Select the size for swing point detection.
Spread: Volatility multiplier for horizontal levels. Larger values mean the levels are farther apart.
Backpaint: Enable or disable the backpaint feature. When enabled, the drawings will be displayed where they were detected. When disabled, the drawings will be displayed at the moment of detection.
🔹 Style
Show ZigZag: Enable or disable the ZigZag display and choose a line style.
Show Levels: Enable or disable the levels display and choose a line style.
Color Mode: Choose between Average Mode, which colors all levels below the average bullish and all levels above bearish, and Pivot Mode, which colors swing highs bearish and swing lows bullish.
Bullish: Select a bullish color.
Bearish: Select a bearish color.
ZigZag: Select the ZigZag color.
Divergence Indicator with Multi-Length Pivot DetectionThis Pine Script, titled “Divergence Indicator with Multi-Length Pivot Detection”, tool that detects both regular and hidden divergences between price action and an oscillator (defaulting to close, but configurable). It features multi-length pivot logic, angle-based validation, no-cross filtering, and OB/OS region filtering, making it a robust and precise divergence engine. Below is a detailed breakdown:
⸻
🔧 Inputs and Configuration
• osc_src: Oscillator source (e.g. close, RSI, MACD).
• show_hidden: Toggles detection of hidden divergences.
• min_*_angle settings: Control the minimum angle thresholds (in degrees) for confirming valid divergences (ensures momentum is strong enough).
• validate_no_cross: Ensures oscillator and price slopes don’t “cross” the actual values (i.e. filters out invalid or messy trends).
• oversold_level, overbought_level: Used when use_ob_os_filter is enabled to require oscillator to be in OS/OB zones for regular divergence.
• min_div_length: Minimum distance in bars between previous and current pivot points.
⸻
🔁 Internal Engine Mechanics
1. Pivot Detection Engine (Phase 1: Historical Memory)
• For all combinations of left1 and right1 in the range :
• Records all valid pivot lows and pivot highs.
• Stores their:
• bar index
• price value
• oscillator value
This forms a “memory buffer” of past pivots that future price pivots are compared against.
2. Current Pivot Detection (Phase 2: Scanning)
• Loops through larger pivot configurations (left2 ∈ , right2 = 1) to detect new current pivots.
• For each new pivot, it compares against the historical pivots from phase 1.
⸻
📐 Slope and Angle Calculation
For each matching pivot pair (historical vs current):
• Price and Oscillator Slopes are calculated via linear regression, producing:
• price_angle
• osc_angle
• These are converted using math.atan() and math.todegrees() to get proper angular direction and intensity of trend.
⸻
🧠 Divergence Logic
✅ Bullish Divergence
• Regular Bullish: Price makes a lower low, oscillator makes a higher low.
• Hidden Bullish: Price makes a higher low, oscillator makes a lower low.
• Conditions:
• Must meet minimum angle thresholds.
• Optional: Must be in oversold region (osc_src < oversold_level).
• If validate_no_cross is enabled, linearly interpolated slope must not be violated.
✅ Bearish Divergence
• Regular Bearish: Price makes a higher high, oscillator makes a lower high.
• Hidden Bearish: Price makes a lower high, oscillator makes a higher high.
• Conditions mirror the bullish case (with polarity reversed).
⸻
🖍️ Visualization
• Draws colored lines between pivots for visual clarity:
• Green: Regular Bullish
• Lime: Hidden Bullish
• Red: Regular Bearish
• Maroon: Hidden Bearish
• Uses plotshape() to mark divergence bars:
• Triangle-up for bullish
• Triangle-down for bearish
The lines and shapes help quickly identify divergence zones with strong momentum structure.
⸻
🧪 Filtering Enhancements
• No Cross Slope Filter: Checks that oscillator and price values stay above/below their respective slope lines throughout the interval.
• OB/OS Filter: Restricts divergence signals to occur only in oversold/overbought conditions for regular divergences.
• Signal Thinning: Keeps line count to 100 using array.shift() and line.delete().
⸻
🧬 Design Philosophy
• Built to mimic institutional-grade divergence detection, avoiding common false positives.
• Uses adaptive pivots, rigorous angle validation, and noise filtering.
Double Top/Bottom [AlgoAlpha]Introducing the Double Top/Bottom Indicator by AlgoAlpha, a powerful tool designed to identify key reversal patterns in the market with precision. This indicator meticulously detects double tops and double bottoms, helping traders recognize potential trend reversals and make informed trading decisions.
Key Features:
🔍 Pattern Detection : Accurately identifies double top and double bottom formations based on customizable time horizons.
🎨 Customizable Appearance : Choose your preferred colors for bullish and bearish trends to match your trading style.
📊 Signal Labels : Option to display only the second pivot of the double top/bottom for a cleaner chart view.
🔧 Flexible Settings : Adjust the time horizon to control the look-back period, allowing for detection of both short-term and long-term patterns.
📈 Visual Enhancements : Draws trend lines and fills between pivotal points to visually highlight potential reversal zones.
🔔 Alerts : Set up alerts for potential double top and double bottom formations to stay informed of key market movements.
How to Use the Double Top/Bottom Indicator :
🛠 Add the Indicator : Simply add the Double Top/Bottom Indicator to your TradingView chart from your favorites. Customize the time horizon and appearance settings to fit your trading preferences.
📊 Analyze Patterns : Watch for the identified double top and double bottom patterns along with the corresponding trend lines and filled areas to anticipate potential market reversals.
🔔 Set Alerts : Enable alerts to receive notifications when double top or double bottom patterns are detected, ensuring you never miss a critical trading opportunity.
How It Works : The indicator scans the price action for pivot highs and lows within a specified time horizon, identifying potential double top and double bottom patterns. It maintains a sequence of these pivots and verifies the formation of these patterns based on the relationship between consecutive pivots and the proximity to a defined limit. When a double top or double bottom is confirmed, the indicator marks the second pivot point with a label and draws trend lines to visualize the reversal pattern. Additionally, it provides alert conditions to notify traders of potential confirmations, enhancing decision-making without cluttering the chart.
⚠️ Important Reminder : The labels indicating double tops and bottoms appear with a delay and are intended to mark the formations after they have already formed. They are not meant to be used as real-time trading signals. While they align perfectly with pivot points in hindsight, please use them as markers for analysis rather than immediate trading triggers.
PivottrendHi all!
This script is based on the concept of "higher highs and higher lows" and "lower highs and lower lows". Bullish/bearish trend changes when a previous pivot (low in bullish trend and high in bearish trend) is broken (or has equal value). Some settings are customizable by the user:
Timeframe
- You can choose what timeframe the pivots are found on
Left length
- The left length used for the pivots found
Right length
- The right length used for the pivots found
Show labels
- Choose if you want to display buy and sell labels
Show pivots
- Choose if you want to display the pivots found
Show MSS
- Choose if you want to display a line when price breaks a previous pivot
The "look and feel" is inspired by the script "SuperTrend" by KivancOzbilgic ().
Best of trading luck!
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! 📈**
ATR ZigZag - Volatility-Filtered Market StructureDescription
This indicator draws ZigZags using an ATR based threshold for direction switching to identify major swing highs and lows. Instead of relying on fractals or fixed bar-count swings, pivots are confirmed only when price moves beyond the prior extreme by:
threshold = ATR(length) × ATR_mult
This filters noise, enforces valid swing structure (high → low → high), and adapts automatically to volatility. The ATR ZigZag is ideal for traders who want a clean, objective view of swing structure without noise. This has many uses, including mapping swing structure, drawing chart patterns, and trading around extremes.
Lag and Repainting
Pivots are confirmed only after price moves sufficiently in the opposite direction. This creates necessary lag. The ZigZag is drawn when this occurs, and will anchor to the high/low in the past. Optional detection dot plots show exactly when confirmation occurred.
What You See
ZigZag: dashed gray line, repainted to anchor at the confirmed highs and lows
Latest Pivot Levels: Dashed horizontal lines at the most recent confirmed high/low.
Optional Live Swing Leg: A real-time line from the last confirmed pivot to the current swing extreme, updating until a new pivot forms.
Optional ATR Boxes: 1×ATR shaded zones around the latest pivot for structural context.
Optional Pivot Confirmation Dots: Markers show the bar where the threshold is crossed and a swing is officially confirmed. This is to understand the lag and see when the ZigZag repainted.
Simulateur Carnet d'Ordres & Liquidité [Sese] - Custom🔹 Indicator Name
Order Book & Liquidity Simulator - Custom
🔹 Concept and Functionality
This indicator is a technical analysis tool designed to visually simulate market depth (Order Book) and potential liquidity zones.
It is important to adhere to TradingView's transparency rules: This script does not access real Level 2 data (the actual exchange order book). Instead, it uses a deductive algorithm based on historical Price Action to estimate where Buy Limit (Bid) and Sell Limit (Ask) orders might be resting.
Methodology used by the script:
Pivot Detection: The indicator scans for significant Swing Highs and Swing Lows over a user-defined lookback period (Length).
Level Projection: These pivots are projected to the right as horizontal lines.
Red Lines (Ask): Represent potential resistance zones (sellers).
Blue Lines (Bid): Represent potential support zones (buyers).
Liquidity Management (Absorption): The script is dynamic. If the current price crosses a line, the indicator assumes the liquidity at that level has been consumed (orders filled). The line is then automatically deleted from the chart.
Density Profile (Right Side): Horizontal bars appear to the right of the current price. These approximate a "Time Price Opportunity" or Volume Profile, showing where the market has spent the most time recently.
🔹 User Manual (Settings)
Here is how to configure the inputs to match your trading style:
1. Detection Algorithm
Lookback Length (Candles): Determines the sensitivity of the pivots.
Low value (e.g., 10): Shows many lines (scalping/short term).
High value (e.g., 50): Shows only major structural levels (swing trading).
Volume Factor: (Technical note: In this specific code version, this variable is calculated but the lines are primarily drawn based on geometric pivots).
2. Visual Settings
Show Price Lines (Bid/Ask): Toggles the horizontal Support/Resistance lines on or off.
Show Volume Profile: Toggles the heatmap-style bars on the right side of the chart.
Extend Lines: If checked, untouched lines will extend to the right towards the current price bar.
3. Colors and Transparency Management
Customize the aesthetics to keep your chart clean:
Bid / Ask Colors: Choose your base colors (Default is Blue and Red).
Line Transparency (%): Crucial for chart visibility.
0% = Solid, bright colors.
80-90% = Very subtle, faint lines (recommended if you overlay this on other tools).
Text Size: Adjusts the size of the price labels ("BUY LIMIT" / "SELL LIMIT").
🔹 How to Read the Indicator
Rejections: Unbroken lines act as potential walls. Watch for price reaction when approaching a blue line (support) or red line (resistance).
Breakouts/Absorption: When a line disappears, it means the level has been breached. The market may then seek the next liquidity level (the next line).
Density (Right-side boxes): More opaque/visible boxes indicate a price zone "accepted" by the market (consolidation). Empty gaps suggest an imbalance where price might move through quickly.
⚠️ Disclaimer
This script is for educational and technical analysis purposes only. It is a simulation based on price history, not real-time order book data. Past performance is not indicative of future results. Trading involves risk.
Market Structure Volume Time Velocity ProfileThis is the Market Structure Volume Time Velocity Profile (MSVTVP). It combines event-based profiling with advanced metrics like Time and Velocity (Flow Rate). Instead of fixed time periods, profiles are anchored to critical market events (Swings, Structure Breaks, Delta Breaks), giving you a precise view of value development during specific market phases.
## The 3 Dimensions of the Market
Unlike standard tools that only show Volume, MSVTVP allows you
to switch between three critical metrics:
1. **VOLUME Profile (The "Where"):**
* Shows standard acceptance. High volume nodes (HVN)
are magnets for price.
2. **TIME Profile (The "How Long"):**
* Similar to TPO, it measures how long price spent at each
level.
* **High Time:** True acceptance and fair value.
* **Low Time:** Rejection or rapid movement.
3. **VELOCITY Profile (The "How Fast"):**
* Measures the **speed of trading** (Contracts per Second).
This reveals the hidden intent of market participants.
* **High Velocity (Fast Flow):** Aggression. Initiative
buyers/sellers are hitting market orders rapidly. Often
seen at breakouts or in liquidity vacu.
* **Low Velocity (Slow Flow):** Absorption. Massive passive
limit orders are slowing price down despite high volume.
Often seen at major reversals ("hitting a brick wall").
Key Features:
1. **Event-Based Profile Anchoring:** The indicator starts a new
profile based on one of three user-selected events
('Profile Anchor'):
- **Swing:** A new profile begins when the 'impulse baseline'
(derived from intra-bar delta) changes. This baseline
adjusts when a new **price pivot** is confirmed: When a
price **high** forms, the baseline moves to the **lower**
of its previous level or the peak delta (max of
delta O/C) at the pivot. When a price **low** forms, it
moves to the **higher** of its previous level or the
trough delta (min of delta O/C) at the pivot.
- **Structure:** A new profile begins immediately on the bar
that *confirms* a market structure break (e.g., a new HH
or LL, based on a sequence of price pivots).
- **Delta:** A new profile begins immediately on the bar
that *confirms* a break in the *cumulative delta's*
market structure (e.g., a new HH or LL in the delta).
Both 'Swing' and 'Delta' anchors are derived from the same
**continuous (non-resetting) Cumulative Volume Profile Delta (CVPD)**,
which is built from the intra-bar statistical analysis.
2. **Statistical Profile Engine:** For each bar in the anchored
period, the indicator builds a volume profile on a lower
'Intra-Bar Timeframe'. Instead of simple tick counting, it
uses advanced statistical models:
- **Allocation ('Allot model'):** 'PDF' (Probability Density
Function) distributes volume proportionally across the
bar's range based on an assumed statistical model
(e.g., T4-Skew). 'Classic' assigns all volume to
the close.
- **Buy/Sell Split ('Volume Estimator'):** 'Dynamic'
applies a model that analyzes candle wicks and
recent trend to estimate buy/sell pressure. 'Classic'
classifies all volume based on the candle color.
3. **Visualization & Lag:** The indicator plots the final
profile (as a polygon) and the developing statistical
lines (POC, VA, VWAP, StdDev).
- **Note on Lag:** All anchor events require `Pivot Right Bars`
for confirmation.
- In 'Structure' and 'Delta' mode, the developing lines
(POC, VA, etc.) are plotted using a **non-repainting**
method (showing the value from `pivRi` bars ago).
- In 'Swing' mode, the profile is plotted **retroactively**,
starting *from the bar where the pivot occurred*. The
developing lines are also plotted with this full
`pivRi` lag to align with the past data.
4. **Flexible Display Modes:** The finalized profile can be displayed
in three ways: 'Up/Down' (buy vs. sell), 'Total' (combined
volume), and 'Delta' (net difference).
5. **Dynamic Row Sizing:** Includes an option ('Rows per Percent')
to automatically adjust the number of profile rows (buckets)
based on the profile's price range.
6. **Integrated Alerts:** Includes 13 alerts that trigger for:
- A new profile reset ('Profile was resetted').
- Price crossing any of the 6 developing levels (POC,
VA High/Low, VWAP, StdDev High/Low).
- **Alert Lag Assumption:** In 'Swing' mode, alerts are
delayed to match the retroactively plotted lines.
In 'Structure' and 'Delta' modes, alerts fire in
**real-time** based on the *current price* crossing
the *current (repainting)* value of the metric, which
may **differ from the non-repainting plotted line.**
**Caution: Real-Time Data Behavior (Intra-Bar Repainting)**
This indicator uses high-resolution intra-bar data. As a result, the
values on the **current, unclosed bar** (the real-time bar) will
update dynamically as new intra-bar data arrives. This includes
the values used for real-time alerts in 'Structure' and
'Delta' modes.
---
**DISCLAIMER**
1. **For Informational/Educational Use Only:** This indicator is
provided for informational and educational purposes only. It does
not constitute financial, investment, or trading advice, nor is
it a recommendation to buy or sell any asset.
2. **Use at Your Own Risk:** All trading decisions you make based on
the information or signals generated by this indicator are made
solely at your own risk.
3. **No Guarantee of Performance:** Past performance is not an
indicator of future results. The author makes no guarantee
regarding the accuracy of the signals or future profitability.
4. **No Liability:** The author shall not be held liable for any
financial losses or damages incurred directly or indirectly from
the use of this indicator.
5. **Signals Are Not Recommendations:** The alerts and visual signals
(e.g., crossovers) generated by this tool are not direct
recommendations to buy or sell. They are technical observations
for your own analysis and consideration.
Market Structure Volume ProfileThis indicator visualizes volume profiles that are dynamically anchored to market structure events, rather than fixed time intervals. It builds these profiles using high-resolution intra-bar data to provide a precise view of where value is established during critical market phases.
Key Features:
Event-Based Profile Anchoring: The indicator starts a new profile based on one of three user-selected events ('Profile Anchor'):
Swing: A new profile begins when the 'impulse baseline' (derived from intra-bar delta) changes. This baseline adjusts when a new price pivot is confirmed: When a price high forms, the baseline moves to the lower of its previous level or the peak delta (max of delta O/C) at the pivot. When a price low forms, it moves to the higher of its previous level or the trough delta (min of delta O/C) at the pivot.
Structure: A new profile begins immediately on the bar that confirms a market structure break (e.g., a new HH or LL, based on a sequence of price pivots).
Delta: A new profile begins immediately on the bar that confirms a break in the cumulative delta's market structure (e.g., a new HH or LL in the delta). Both 'Swing' and 'Delta' anchors are derived from the same continuous (non-resetting) Cumulative Volume Profile Delta (CVPD), which is built from the intra-bar statistical analysis.
Statistical Profile Engine: For each bar in the anchored period, the indicator builds a volume profile on a lower 'Intra-Bar Timeframe'. Instead of simple tick counting, it uses advanced statistical models:
Allocation ('Allot model'): 'PDF' (Probability Density Function) distributes volume proportionally across the bar's range based on an assumed statistical model (e.g., T4-Skew). 'Classic' assigns all volume to the close.
Buy/Sell Split ('Volume Estimator'): 'Dynamic' applies a model that analyzes candle wicks and recent trend to estimate buy/sell pressure. 'Classic' classifies all volume based on the candle color.
Visualization & Lag: The indicator plots the final profile (as a polygon) and the developing statistical lines (POC, VA, VWAP, StdDev).
Note on Lag: All anchor events require Pivot Right Bars for confirmation.
In 'Structure' and 'Delta' mode, the developing lines (POC, VA, etc.) are plotted using a non-repainting method (showing the value from pivRi bars ago).
In 'Swing' mode, the profile is plotted retroactively, starting from the bar where the pivot occurred. The developing lines are also plotted with this full pivRi lag to align with the past data.
Flexible Display Modes: The finalized profile can be displayed in three ways: 'Up/Down' (buy vs. sell), 'Total' (combined volume), and 'Delta' (net difference).
Dynamic Row Sizing: Includes an option ('Rows per Percent') to automatically adjust the number of profile rows (buckets) based on the profile's price range.
Integrated Alerts: Includes 13 alerts that trigger for:
A new profile reset ('Profile was resetted').
Price crossing any of the 6 developing levels (POC, VA High/Low, VWAP, StdDev High/Low).
Alert Lag Assumption: In 'Swing' mode, alerts are delayed to match the retroactively plotted lines. In 'Structure' and 'Delta' modes, alerts fire in real-time based on the current price crossing the current (repainting) value of the metric, which may differ from the non-repainting plotted line.
Caution: Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This includes the values used for real-time alerts in 'Structure' and 'Delta' modes.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Bitgak [Osprey]🟠 INTRODUCTION
Bitgak , translated as "Oblique Angle" in Korean, is a strategy used by multi-hundred-million traders in Korea, sometimes more heavily than Fibonacci retracement.
It is a concept that by connecting two or more pivot points on the chart and creating equidistant parallel lines, we can spot other pivot points. As seen in the example, a line at a different height but with the same angle spots many pivot points.
This indicator spots pivot points on the chart and tests all different possible Bitgak lines with a brute-force method. Then it shows the parallel line configuration with the most pivots hitting it. You may use the lines drawn on the chart as possible reversal points.
It is best to use on Day and Week candles . In the very short range of time, the noise makes it hard to capture meaningful data.
🟠 HOW TO USE
The orange dots are the major pivot points (you can set the period of the long-term pivot) upon which the lines are built.
Change the "Manual Lookback Bars" from 300 to a meaningful period upon your inspection.
"Hit Tolerance %" means how close a pivot needs to be to the line to be considered as having touched the line.
If the line is too narrow, which is not very useful, you may consider increasing the "Long-term Pivot Bars" and experimenting with different settings for Channel Lines and Heuristics.
The result:
"Top Anchors to Test (L)" is how many L highest peaks and L lowest troughs should be weighed heavily when testing the lines. That is, with L = 1, the algorithm will reward the Bitgak lines that touch 1 highest peak and 1 lowest trough. It doesn't make much intuitive sense, so I suggest just testing it out.
🟠 HOW IT WORKS
Step 1: Pivot Detection
The indicator runs two parallel detection systems:
Short-term pivots (default: 7 bars on each side) - Captures minor swing highs/lows for detailed analysis
Long-term pivots (default: 17 bars on each side) - Identifies major structural turning points
These pivots form the foundation for all channel calculations.
Step 2: Anchor Point Selection
From the detected long-term pivots, the algorithm identifies:
The L highest peaks (default L=1, meaning the single highest peak)
The L lowest troughs (default L=1, meaning the single lowest trough)
These become potential "anchor points" for channel construction. Higher L values test more combinations but increase computation time.
Step 3: Channel Candidate Generation
For support channels: Every pair of troughs becomes a potential base line (A-B)
For resistance channels: Every pair of peaks becomes a potential base line (A-B)
The algorithm then tests each peak (for support) or trough (for resistance) as pivot C.
Step 4: Optimal Spacing Calculation
For each A-B-C combination, the algorithm calculates:
Unit Spacing = (Distance from C to A-B line) / Multiplier
It tests multipliers from 0.5 to 4.0 (or your custom range), asking: "If pivot C sits on the 1.0 line, what spacing makes the most pivots hit other lines?"
Step 5: Scoring & Selection
Each configuration is scored by counting how many pivots fall within tolerance (default 1% of price) of any parallel line in the range . The highest-scoring channel is drawn on your chart.
Camarilla Pivots + 20 EMA StrategyThis is an intraday volatility and trend-following system for commodities like Natural Gas, combining dynamic pivot levels (Camarilla) with a trend filter (20-period EMA) to improve risk-reward and reduce false breakouts.
Core Components
1. Camarilla Pivots:
These are special support and resistance levels (H3, H4, L3, L4) calculated each day based on the previous day's high, low, and close.
The pivots adapt to daily volatility, giving more relevant breakout and bounce zones than static lines.
H4: Aggressive resistance (used for breakout LONG entry)
H3: Moderate resistance/support (used for bounce or stoploss)
L4: Aggressive support (used for breakout SHORT entry)
L3: Moderate support/resistance (used for bounce or stoploss)
2. 20 EMA (Exponential Moving Average):
Plotted on the 30-minute chart, this acts as a trend filter.
If the price is above 20 EMA: Only look for long trades (bullish bias).
If below 20 EMA: Only look for short trades (bearish bias).
How the Strategy Works
Setup (30-Min Chart):
Camarilla pivots for the day are drawn on the chart.
20 EMA is also plotted.
Trade Filter:
Bullish: Trade ONLY if price is above 20 EMA.
Bearish: Trade ONLY if price is below 20 EMA.
Entry:
LONG: Enter when price breaks and closes above the H4 pivot AND is above 20 EMA.
SHORT: Enter when price breaks and closes below the L4 pivot AND is below 20 EMA.
Stop Loss:
LONG: Place stoploss at H3 (the next lower Camarilla resistance).
SHORT: Place stoploss at L3 (the next higher Camarilla support).
Target:
Always set a profit target at 2x the distance (risk) between entry and stoploss (strict R:R 2).
For example, if your entry is at H4 and stoploss at H3, your target is entry + 2*(entry - stoploss).
Alerts & Visuals:
The strategy plots entry arrows, stoploss and target lines for immediate visual reference.
Alerts trigger on breakout signals so you never miss a trade.
Why This Works Well for Natural Gas
Adapts to volatility: The pivots change daily, handling wide-ranging and choppy price moves better than fixed breakouts.
Trend filter: EMA prevents counter-trend whipsaws, only trades with market momentum.
Risk control: Every trade must meet strict risk-reward criteria, so losses are contained and winners can outweigh losers.






















