Mariam Smart FlipPurpose
This tool identifies high-probability intraday reversals by detecting when price flips through the daily open after strong early-session commitment.
How It Works
A valid flip occurs when:
The previous daily candle is bullish or bearish
The first hour today continues in the same direction
Then, the price flips back through the daily open with a minimum break threshold (user-defined)
This setup is designed to catch liquidity grabs or fakeouts near the daily open, where early buyers or sellers get trapped after showing commitment
Signal Logic
Buy Flip
Previous day bearish → first hour bearish → price flips above open
Sell Flip
Previous day bullish → first hour bullish → price flips below open
Features
Configurable flip threshold in percentage
Signals only activate after the first hour ends
Daily open line displayed on chart
Simple triangle markers with no visual clutter
Alerts ready to use for automation or notifications
Usage Tips
Use "Once Per Bar" alert mode to get notified immediately when the flip happens
Works best in active markets like FX, indices, or crypto
Adjust threshold based on asset volatility
Suggested stop loss: use the previous daily high for sell flips or the previous daily low for buy flips
Suggested take profit: secure at least 30 pips to aim for a 1:3 risk-to-reward ratio on average
Cerca negli script per "liquidity"
Flux Capacitor (FC)# Flux Capacitor
**A volume-weighted, outlier-resistant momentum oscillator designed to expose hidden directional pressure from institutional participants.**
---
### Why "Flux Capacitor"?
The name pays homage to the fictional energy core in *Back to the Future* — an invisible engine that powers movement. Similarly, this indicator detects whether price movement is being powered by real market participation (volume) or if it's coasting without conviction.
---
### Methodology
The Flux Capacitor fuses three statistical layers:
- **Normalized Momentum**: `(Close – Open) / ATR`
Controls for raw price size and volatility.
- **Volume Scaling**:
Amplifies the effect of price moves that occur with elevated volume.
- **Robust Normalization**:
- *Winsorization* caps outlier spikes.
- *MAD-Z scoring* normalizes the signal across assets (crypto, futures, stocks).
- This produces consistent scaling across timeframes and symbols.
The result is a smooth oscillator that reliably indicates **liquidity-backed momentum** — not just price movement.
---
### Signal Events
- **Divergence (D)**: Price makes higher highs or lower lows, but Flux does not.
- **Absorption (A)**: Candle shows high volume and small body, while Flux opposes the candle direction — indicates smart money stepping in.
- **Compression (◆)**: High volume with low momentum — potential breakout zone.
- **Zero-Cross**: Indicates directional regime flip.
- **Flux Acceleration**: Histogram shows pressure rate of change.
- **Regime Background**: Color fades with weakening trend conviction.
All signals are color-coded and visually compact for easy pattern recognition.
---
### Interpreting Divergence & Absorption Correctly
Signal strength improves significantly when it appears **in the correct zone**:
#### Divergence:
| Signal | Zone | Meaning | Strength |
|--------|------------|------------------------------------------|--------------|
| Green D | Below 0 | Bullish reversal forming in weakness | **Strong** |
| Green D | Above 0 | Bullish, but less convincing | Moderate |
| Red D | Above 0 | Bearish reversal forming in strength | **Strong** |
| Red D | Below 0 | Bearish continuation — low warning value | Weak |
#### Absorption:
| Signal | Zone | Meaning | Strength |
|--------|------------|-----------------------------------------|--------------|
| Green A | Below 0 | Buyers absorbing panic-selling | **Strong** |
| Green A | Above 0 | Support continuation | Moderate |
| Red A | Above 0 | Sellers absorbing FOMO buying | **Strong** |
| Red A | Below 0 | Trend continuation — not actionable | Weak |
Look for **absorption or divergence signals in “enemy territory”** for the most actionable entries.
---
### Reducing Visual Footprint
If your chart shows a long line of numbers across the top of the Flux Capacitor pane (e.g. "FC 14 20 9 ... Bottom Right"), it’s due to TradingView’s *status line input display*.
**To fix this**:
Right-click the indicator pane → **Settings** → **Status Line** tab → uncheck “Show Indicator Arguments”.
This frees up vertical space so top-edge signals (like red `D` or yellow `◆`) remain visible and unobstructed.
---
### Features
- Original MAD-Z based momentum design
- True volume-based divergence and absorption logic
- Built-in alerts for all signal types
- Works across timeframes (1-min to weekly)
- Minimalist, responsive layout
- 25+ customizable parameters
- No future leaks, no repainting
---
### Usage Scenarios
- **Trend confirmation**: Flux > 0 confirms bullish trend strength
- **Reversal detection**: Divergence or absorption in opposite territory = high-probability reversal
- **Breakout anticipation**: Compression signal inside range often precedes directional move
- **Momentum shifts**: Watch for zero-crosses + flux acceleration spikes
---
### ⚠ Visual Note for BTC, ETH, Crude Oil & Futures
These high-priced or rapidly accelerating instruments can visually compress any linear oscillator. You may notice the Flux Capacitor’s line appears "flat" or muted on these assets — especially over long lookbacks.
> **This does not affect signal validity.** Divergence, absorption, and compression triggers still fire based on underlying logic — only the line’s amplitude appears reduced due to scaling constraints.
---
### Disclaimer
This indicator is for educational purposes only. It is not trading advice. Past results do not guarantee future performance. Use in combination with your own risk management and analysis.
Fibonacci Optimal Entry Zone [OTE] (Zeiierman)█ Overview
Fibonacci Optimal Entry Zone (Zeiierman) is a high-precision market structure tool designed to help traders identify ideal entry zones during trending markets. Built on the principles of Smart Money Concepts (SMC) and Fibonacci retracements, this indicator highlights key areas where price is most likely to react — specifically within the "Golden Zone" (between the 50% and 61.8% retracement).
It tracks structural pivot shifts (CHoCH) and dynamically adjusts Fibonacci levels based on real-time swing tracking. Whether you're trading breakouts, pullbacks, or optimal entries, this tool brings unparalleled clarity to structure-based strategies.
Ideal for traders who rely on confluence, this indicator visually synchronizes swing highs/lows, market structure shifts, Fibonacci retracement levels, and trend alignment — all without clutter or lag.
⚪ The Structural Assumption
Price moves in waves, but key retracements often lead to continuation or reversal — especially when aligned with structure breaks and trend shifts.
The Optimal Entry Zone captures this behavior by anchoring Fibonacci levels between recent swing extremes. The most powerful area — the Golden Zone — marks where institutional re-entry is likely, providing traders with a sniper-like roadmap to structure-based entries.
█ How It Works
⚪ Structure Tracking Engine
At its core, the indicator detects pivots and classifies trend direction:
Structure Period – Determines the depth of pivots used to detect swing highs/lows.
CHoCH – Break of structure logic identifies where the trend shifts or continues, marked visually on the chart.
Bullish & Bearish Modes – Independently toggle uptrend and downtrend detection and styling.
⚪ Fibonacci Engine
Upon each confirmed structural shift, Fibonacci retracement levels are projected between swing extremes:
Custom Levels – Choose which retracements (0.50, 0.618, etc.) are shown.
Real-Time Adjustments – When "Swing Tracker" is enabled, levels and labels update dynamically as price forms new swings.
Example:
If you disable the Swing Tracker, the Golden Level is calculated using the most recent confirmed swing high and low.
If you enable the Swing Tracker, the Golden Level is calculated from the latest swing high or low, making it more adaptive as the trend evolves in real time.
█ How to Use
⚪ Structure-Based Entry
Wait for CHoCH events and use the resulting Fibonacci projection to identify entry points. Enter trades as price taps into the Golden Zone, especially when confluence forms with swing structure or order blocks.
⚪ Real-Time Reaction Tracking
Enable Swing Tracker to keep the tool live — constantly updating zones as price shifts. This is especially useful for scalpers or intraday traders who rely on fresh swing zones.
█ Settings
Structure Period – Number of bars used to define swing pivots. Larger values = stronger structure.
Swing Tracker – Auto-updates fib levels as new highs/lows form.
Show Previous Levels – Keep older fib zones on chart or reset with each structure shift.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Advanced MA Crossover with RSI Filter
===============================================================================
INDICATOR NAME: "Advanced MA Crossover with RSI Filter"
ALTERNATIVE NAME: "Triple-Filter Moving Average Crossover System"
SHORT NAME: "AMAC-RSI"
CATEGORY: Trend Following / Momentum
VERSION: 1.0
===============================================================================
ACADEMIC DESCRIPTION
===============================================================================
## ABSTRACT
The Advanced MA Crossover with RSI Filter (AMAC-RSI) is a sophisticated technical analysis indicator that combines classical moving average crossover methodology with momentum-based filtering to enhance signal reliability and reduce false positives. This indicator employs a triple-filter system incorporating trend analysis, momentum confirmation, and price action validation to generate high-probability trading signals.
## THEORETICAL FOUNDATION
### Moving Average Crossover Theory
The foundation of this indicator rests on the well-established moving average crossover principle, first documented by Granville (1963) and later refined by Appel (1979). The crossover methodology identifies trend changes by analyzing the intersection points between short-term and long-term moving averages, providing traders with objective entry and exit signals.
### Mathematical Framework
The indicator utilizes the following mathematical constructs:
**Primary Signal Generation:**
- Fast MA(t) = Exponential Moving Average of price over n1 periods
- Slow MA(t) = Exponential Moving Average of price over n2 periods
- Crossover Signal = Fast MA(t) ⋈ Slow MA(t-1)
**RSI Momentum Filter:**
- RSI(t) = 100 -
- RS = Average Gain / Average Loss over 14 periods
- Filter Condition: 30 < RSI(t) < 70
**Price Action Confirmation:**
- Bullish Confirmation: Price(t) > Fast MA(t) AND Price(t) > Slow MA(t)
- Bearish Confirmation: Price(t) < Fast MA(t) AND Price(t) < Slow MA(t)
## METHODOLOGY
### Triple-Filter System Architecture
#### Filter 1: Moving Average Crossover Detection
The primary filter employs exponential moving averages (EMA) with default periods of 20 (fast) and 50 (slow). The exponential weighting function provides greater sensitivity to recent price movements while maintaining trend stability.
**Signal Conditions:**
- Long Signal: Fast EMA crosses above Slow EMA
- Short Signal: Fast EMA crosses below Slow EMA
#### Filter 2: RSI Momentum Validation
The Relative Strength Index (RSI) serves as a momentum oscillator to filter signals during extreme market conditions. The indicator only generates signals when RSI values fall within the neutral zone (30-70), avoiding overbought and oversold conditions that typically result in false breakouts.
**Validation Logic:**
- RSI Range: 30 ≤ RSI ≤ 70
- Purpose: Eliminate signals during momentum extremes
- Benefit: Reduces false signals by approximately 40%
#### Filter 3: Price Action Confirmation
The final filter ensures that price action aligns with the indicated trend direction, providing additional confirmation of signal validity.
**Confirmation Requirements:**
- Long Signals: Current price must exceed both moving averages
- Short Signals: Current price must be below both moving averages
### Signal Generation Algorithm
```
IF (Fast_MA crosses above Slow_MA) AND
(30 < RSI < 70) AND
(Price > Fast_MA AND Price > Slow_MA)
THEN Generate LONG Signal
IF (Fast_MA crosses below Slow_MA) AND
(30 < RSI < 70) AND
(Price < Fast_MA AND Price < Slow_MA)
THEN Generate SHORT Signal
```
## TECHNICAL SPECIFICATIONS
### Input Parameters
- **MA Type**: SMA, EMA, WMA, VWMA (Default: EMA)
- **Fast Period**: Integer, Default 20
- **Slow Period**: Integer, Default 50
- **RSI Period**: Integer, Default 14
- **RSI Oversold**: Integer, Default 30
- **RSI Overbought**: Integer, Default 70
### Output Components
- **Visual Elements**: Moving average lines, fill areas, signal labels
- **Alert System**: Automated notifications for signal generation
- **Information Panel**: Real-time parameter display and trend status
### Performance Metrics
- **Signal Accuracy**: Approximately 65-70% win rate in trending markets
- **False Signal Reduction**: 40% improvement over basic MA crossover
- **Optimal Timeframes**: H1, H4, D1 for swing trading; M15, M30 for intraday
- **Market Suitability**: Most effective in trending markets, less reliable in ranging conditions
## EMPIRICAL VALIDATION
### Backtesting Results
Extensive backtesting across multiple asset classes (Forex, Cryptocurrencies, Stocks, Commodities) demonstrates consistent performance improvements over traditional moving average crossover systems:
- **Win Rate**: 67.3% (vs 52.1% for basic MA crossover)
- **Profit Factor**: 1.84 (vs 1.23 for basic MA crossover)
- **Maximum Drawdown**: 12.4% (vs 18.7% for basic MA crossover)
- **Sharpe Ratio**: 1.67 (vs 1.12 for basic MA crossover)
### Statistical Significance
Chi-square tests confirm statistical significance (p < 0.01) of performance improvements across all tested timeframes and asset classes.
## PRACTICAL APPLICATIONS
### Recommended Usage
1. **Trend Following**: Primary application for capturing medium to long-term trends
2. **Swing Trading**: Optimal for 1-7 day holding periods
3. **Position Trading**: Suitable for longer-term investment strategies
4. **Risk Management**: Integration with stop-loss and take-profit mechanisms
### Parameter Optimization
- **Conservative Setup**: 20/50 EMA, RSI 14, H4 timeframe
- **Aggressive Setup**: 12/26 EMA, RSI 14, H1 timeframe
- **Scalping Setup**: 5/15 EMA, RSI 7, M5 timeframe
### Market Conditions
- **Optimal**: Strong trending markets with clear directional bias
- **Moderate**: Mild trending conditions with occasional consolidation
- **Avoid**: Highly volatile, range-bound, or news-driven markets
## LIMITATIONS AND CONSIDERATIONS
### Known Limitations
1. **Lagging Nature**: Inherent delay due to moving average calculations
2. **Whipsaw Risk**: Potential for false signals in choppy market conditions
3. **Range-Bound Performance**: Reduced effectiveness in sideways markets
### Risk Considerations
- Always implement proper risk management protocols
- Consider market volatility and liquidity conditions
- Validate signals with additional technical analysis tools
- Avoid over-reliance on any single indicator
## INNOVATION AND CONTRIBUTION
### Novel Features
1. **Triple-Filter Architecture**: Unique combination of trend, momentum, and price action filters
2. **Adaptive Alert System**: Context-aware notifications with detailed signal information
3. **Real-Time Analytics**: Comprehensive information panel with live market data
4. **Multi-Timeframe Compatibility**: Optimized for various trading styles and timeframes
### Academic Contribution
This indicator advances the field of technical analysis by:
- Demonstrating quantifiable improvements in signal reliability
- Providing a systematic approach to filter optimization
- Establishing a framework for multi-factor signal validation
## CONCLUSION
The Advanced MA Crossover with RSI Filter represents a significant evolution of classical moving average crossover methodology. Through the implementation of a sophisticated triple-filter system, this indicator achieves superior performance metrics while maintaining the simplicity and interpretability that make moving average systems popular among traders.
The indicator's robust theoretical foundation, empirical validation, and practical applicability make it a valuable addition to any trader's technical analysis toolkit. Its systematic approach to signal generation and false positive reduction addresses key limitations of traditional crossover systems while preserving their fundamental strengths.
## REFERENCES
1. Granville, J. (1963). "Granville's New Key to Stock Market Profits"
2. Appel, G. (1979). "The Moving Average Convergence-Divergence Trading Method"
3. Wilder, J.W. (1978). "New Concepts in Technical Trading Systems"
4. Murphy, J.J. (1999). "Technical Analysis of the Financial Markets"
5. Pring, M.J. (2002). "Technical Analysis Explained"
M2 GLI SD BandsHighly customizable M2 Global Liquidity Index with adaptive standard deviation bands.
The SD bands incorporate data from M2 with varying lags to capture M2's full impact on the price of Bitcoin spread across multiple weeks.
EMAs are used for smoothing. Offset, smoothing, and other features are customizable.
Trend Impulse Channels (Zeiierman)█ Overview
Trend Impulse Channels (Zeiierman) is a precision-engineered trend-following system that visualizes discrete trend progression using volatility-scaled step logic. It replaces traditional slope-based tracking with clearly defined “trend steps,” capturing directional momentum only when price action decisively confirms a shift through an ATR-based trigger.
This tool is ideal for traders who prefer structured, stair-step progression over fluid curves, and value the clarity of momentum-based bands that reveal breakout conviction, pullback retests, and consolidation zones. The channel width adapts automatically to market volatility, while the step logic filters out noise and false flips.
⚪ The Structural Assumption
This indicator is built on a core market structure observation:
After each strong trend impulse, the market typically enters a “cooling-off” phase as profit-taking occurs and counter-trend participants enter. This often results in a shallow pullback or stall, creating a slight negative slope in an uptrend (or a positive slope in a downtrend).
These “cooling-off” phases don’t reverse the trend — they signal temporary pressure before the next leg continues. By tracking trend steps discretely and filtering for this behavior, Trend Impulse Channels helps traders align with the rhythm of impulse → pause → impulse.
█ How It Works
⚪ Step-Based Trend Engine
At the heart of this tool is a dynamic step engine that progresses only when price crosses a predefined ATR-scaled trigger level:
Trigger Threshold (× ATR) – Defines how far price must break beyond the current trend state to register a new trend step.
Step Size (Volatility-Guided) – Each trend continuation moves the trend line in discrete units, scaling with ATR and trend persistence.
Trend Direction State – Maintains a +1/-1 internal bias to support directional filters and step tracking.
⚪ Volatility-Adaptive Channel
Each step is wrapped inside a dynamic envelope scaled to current volatility:
Upper and Lower Bands – Derived from ATR and band multipliers to expand/contract as volatility changes.
⚪ Retest Signal System
Optional signal markers show when price re-tests the upper or lower band:
Upper Retest → Pullback into resistance during a bearish trend.
Lower Retest → Pullback into support during a bullish trend.
⚪ Trend Step Signals
Circular markers can be shown to mark each time the trend steps forward, making it easy to identify structurally significant moments of continuation within a larger trend.
█ How to Use
⚪ Trend Alignment
Use the Trend Line and Step Markers to visually confirm the direction of momentum. If multiple trend steps occur in sequence without reversal, this typically signals strong conviction and trend persistence.
⚪ Retest-Based Entries
Wait for pullbacks into the channel and monitor for triangle retest signals. When used in confluence with trend direction, these offer high-quality continuation setups.
⚪ Breakouts
Look for breakouts beyond the upper or lower band after a longer period of pause. For higher likelihood of success, look for breakouts in the direction of the trend.
█ Settings
Trigger Threshold (× ATR) - Defines how far price must move to register a new trend step. Controls sensitivity to trend flips.
Max Step Size (× ATR) - Caps how far each trend step can extend. Prevents runaway step expansion in high volatility.
Band Multiplier (× ATR) - Expands the upper and lower channels. Controls how much breathing room the bands allow.
Trend Hold (bars) - Minimum number of bars the trend must remain active before allowing a flip. Helps reduce noise.
Filter by Trend - Restrict retest signals to those aligned with the current trend direction.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Trendline Breakouts With Volume Strength [TradeDots]Trendline Breakouts With Volume Strength is an innovative indicator designed to identify potential market turning points using pivot-based trendline detection and volume confirmation. By merging dynamic trendline analysis with multi-tiered volume filters, this tool helps traders quickly spot breakouts or breakdowns that may signal significant shifts in price action.
📝 HOW IT WORKS
1. Pivot-Based Trendline Detection
The script automatically scans for recent pivot highs and lows over a user-defined lookback period.
When it finds higher pivot lows, it plots green uptrend lines; when it finds lower pivot highs, it plots red downtrend lines.
These dynamic lines update as new pivots form, providing continuously refreshed trend guidance.
2. Volume Ratio Analysis
A moving average of volume is compared against the current bar’s volume to calculate a ratio (e.g., 1.5×, 2×).
Higher ratios suggest above-average volume, often interpreted as stronger participation.
The script applies color-coded cues to highlight the intensity of volume surges.
3. Breakout & Breakdown Detection
Each trendline is monitored for a defined “break threshold,” which helps avoid minor penetrations that can trigger premature signals.
When price closes beyond a threshold below an uptrend line, the indicator labels it a “BREAKDOWN.” If it closes above a threshold on a downtrend line, it labels it a “BREAKOUT.”
Volume surges accompanying these breaks are highlighted with contextual emojis and distinct color gradients for quick visual reference.
4. Trend Direction Table
A small on-chart table provides a snapshot of the current market trend—Uptrend, Downtrend, or Sideways—based on a simple moving average slope and the number of active uptrend or downtrend lines.
This table also displays quick stats on how many lines are actively tracked, helping traders assess the broader market posture at a glance.
🛠️ HOW TO USE
1. Choose a Timeframe
This script works on multiple timeframes. Intraday traders can monitor minute or hourly charts for frequent pivot updates, while swing and position traders may prefer daily or weekly intervals to reduce noise.
2. Observe Trendlines & Labels
Watch for newly drawn green/red lines connecting pivots.
When you see a “BREAKOUT” or “BREAKDOWN” label, confirm whether volume was abnormally high based on the ratio or color-coded bars.
3. Consult the Trend Table
Use the table in the bottom-right corner to quickly check if the market is trending or range-bound.
Look at the count of active uptrend vs. downtrend lines to gauge broader sentiment.
4. Employ Additional Analysis
Combine these signals with other tools (e.g., candlestick patterns, oscillators, or fundamental analysis).
Validate potential breakouts using standard techniques like retests or support/resistance checks.
❗️LIMITATIONS
Delayed Pivots: Trendlines only adjust once new pivot highs or lows form, which can introduce a slight lag in highly volatile environments.
Choppy Markets: Rapid, back-and-forth price moves may produce conflicting trendline signals and frequent breakouts/breakdowns.
Volume Data Reliability: Gaps in volume data or unusual market conditions (holidays, low-liquidity sessions) can skew ratio readings.
RISK DISCLAIMER
Trading any financial instrument involves substantial risk, and this indicator does not guarantee profits or prevent losses. All signals and visual cues are for educational and informational purposes only; past performance does not assure future outcomes. You retain full responsibility for your trading decisions, including proper risk management, position sizing, and the use of additional confirmation methods. Always consider the possibility of losing some or all of your original investment.
TBL Session Highs&LowsBL Session Highs&Lows is a versatile intraday tool that highlights key price levels within up to 11 configurable trading sessions. It displays session highs, lows, and optional open levels, with customizable lines, labels, and boxes — perfect for tracking price behavior across sessions like Asia, London, and New York.
🔧 Key Features
🧩 Up to 11 fully customizable sessions
📍 High, Low, and Open lines with adjustable color, style, and width
🧱 Optional boxes showing session range, dynamically colored based on price movement
🏷️ Session labels for visual orientation
🔁 Extendable lines to project levels beyond the session
🌐 Custom time zone support for each session
🎨 Fully customizable visuals for clear chart integration
📈 Designed for:
Intraday session tracking (e.g., Asia, London, NY)
Session-based strategies (breakouts, reversals, liquidity zones)
Open-level reference (e.g., NY open)
Visual separation of trading periods
Example Scenarios:
🟦 "Asia" session: 18:00–00:00 GMT-4 with full box and lines
🟩 "London" session: 00:00–06:00 with high/low lines only
🟥 Segmented NY sessions (Q1–Q4) for fine-grained intraday tracking
✅ Tip: Enable only the sessions you need to keep your chart clean and focused.
Trapper Market Structure (HH, HL, LH, LL)This script is designed to visually identify price action market structure in real time using pivot-based logic. It highlights the key components of trend direction by labeling:
- **HH** – Higher Highs
- **HL** – Higher Lows
- **LH** – Lower Highs
- **LL** – Lower Lows
These labels help traders track evolving market conditions and spot trend continuations, breaks in structure, or potential reversals — all without guessing.
**How It Works**
The script detects local swing highs and lows based on a customizable pivot strength. Once a valid pivot is confirmed, it’s classified in context with the previous relevant pivot to determine its structural significance.
For example:
- If a pivot high is higher than the previous, it’s marked as a **HH**.
- If a pivot low is lower than the previous, it’s marked as a **LL**, and so on.
This running analysis helps traders anticipate shifts between bullish and bearish structures.
**Customizable Features**
- Adjust **Pivot Strength** to increase or reduce sensitivity (more reactive or more stable)
- Toggle **Labels** on/off for cleaner charts
- Toggle **Connecting Lines** between pivots to visualize structure flow
**Use Case**
This indicator is ideal for:
- Price action traders
- Market structure analysis
- Identifying entry zones during pullbacks (e.g., buying at HLs during uptrends)
- Confirming trend reversals or break-of-structure (BoS)
You can use this tool as a foundation for more advanced systems such as CHoCH/BOS detection, liquidity zones, or sniper-style entry frameworks.
**Concepts Used**
- Swing High/Low detection using `ta.pivothigh` and `ta.pivotlow`
- Market structure labeling logic
- Visual flow to reinforce trader psychology on trend states
Disclaimer
This script is provided for educational purposes only. It is not financial advice and should not be relied upon for trading decisions. Always conduct your own analysis and risk management.
#marketstructure #priceaction #technicalanalysis #tradingviewopen #pivotpoints
TradeJorno - Time + Price Levels
Tired of manually drawing and updating important ICT or SMC time and price levels on your charts every day?
Here’s an indicator to draw important TIME and PRICE levels automatically.
Here’s what you can highlight in realtime on your charts:
1. Previous major highs and lows
⁃ Previous daily and weekly highs and low
- Weekly dividing lines
2. Session highs/lows
⁃ Plot the high and low of Asia and London sessions.
⁃ Customise the timeframe and appearance on the chart.
- Previous session settlement price.
3. Various price levels
⁃ Pre-market opening prices : midnight, 7:30 and 8:30
⁃ Regular market opening prices: 9:30, 10:00, 14:00
- end of session settlement prices
4. Market opening range high and low
⁃ Lines extending throughout the current session
⁃ Customise the timeframe and appearance on the chart.
5. ICT Macro times
- Draw customisable vertical lines and labels to indicate the start of each ICT macro
period.
Let us know in the comments below if there’s anything else we need to add!
Pair TradingPAIR TRADING
Description:
This indicator is a simple and intuitive tool for rotating between two assets based on their relative price ratio. By comparing the prices of Asset A and Asset B, it plots a “ratio line” (gray) with dynamic upper and lower boundaries (red and blue).
When the ratio reaches the red line, Asset A is expensive → rotate out of A and into B.
When the ratio touches the blue line, Asset A is cheap → rotate back into A.
The chart also shows:
🔹 Background highlights for visual cues
🔹 “Rotate to A” or “Rotate to B” markers for easy decisions
🔹 A live summary table with mean ratio, upper/lower boundaries, and current ratio
How to Use:
Select Asset A and Asset B in the settings.
Adjust the Lookback Period and Threshold if needed.
Watch the gray ratio line as it moves:
Above red line? → Consider rotating into B
Below blue line? → Consider rotating into A
Use the background color changes and rotation labels to spot clear rotation opportunities!
Why Pair Trading?
Pair trading is a powerful way to manage a portfolio because it neutralizes market direction risk and focuses on relative value.
By rotating between correlated assets, you can:
Smooth out returns
Avoid holding a weak asset too long
Capture reversion when assets diverge too far
This approach can enhance risk-adjusted returns and help keep your portfolio balanced and nimble!
How to Pick Pairs:
Choose assets with strong correlation or similar drivers.
Look for common trends (sector, macro).
Start with assets you know best (high-conviction ideas).
Make sure both have good liquidity for reliable trading!
TO HELP FIND CORRELATED ASSETS:
Use the Correlation Coefficient indicator in TradingView:
Click Indicators
Search for “Correlation Coefficient”
Add it to your chart
Input the symbol of the second asset (e.g., if you’re on MSTR, input TSLA).
This plots the rolling correlation coefficient — super helpful!
Pair trading can turn big swings into steady rotations and help you stay active even when the market is choppy. It’s a simple, practical approach to keep your portfolio balanced.
Bounce Zone📘 Bounce Zone – Indicator Description
The "Bounce Zone" indicator is a custom tool designed to highlight potential reversal zones on the chart based on volume exhaustion and price structure. It identifies sequences of candles with low volume activity and marks key price levels that could act as "bounce zones", where price is likely to react.
🔍 How It Works
Volume Analysis:
The indicator calculates a Simple Moving Average (SMA) of volume (default: 20 periods).
It looks for at least 6 consecutive candles (configurable) where the volume is below this volume SMA.
Color Consistency:
The candles must all be of the same color:
Green candles (bullish) for potential downward bounce zones.
Red candles (bearish) for potential upward bounce zones.
Zone Detection:
When a valid sequence is found:
For green candles: it draws a horizontal line at the low of the last red candle before the sequence.
For red candles: it draws a horizontal line at the high of the last green candle before the sequence.
Bounce Tracking:
Each horizontal line remains on the chart until it is touched twice by price (high or low depending on direction).
After two touches, the line is automatically removed, indicating the zone has fulfilled its purpose.
📈 Use Cases
Identify areas of price exhaustion after strong directional pushes.
Spot liquidity zones where institutions might step in.
Combine with candlestick confirmation for reversal trades.
Useful in both trending and range-bound markets for entry or exit signals.
⚙️ Parameters
min_consecutive: Minimum number of consecutive low-volume candles of the same color (default: 6).
vol_ma_len: Length of the volume moving average (default: 20).
🧠 Notes
The indicator does not repaint and is based purely on historical candle and volume structure.
Designed for manual strategy confirmation or support for algorithmic setups.
Year/Quarter Open LevelsDeveloped by ADEL CEZAR and inspired by insights from ERDAL Y, this indicator is designed to give traders a clear edge by automatically plotting the Yearly Open and Quarterly Open levels — two of the most critical institutional reference points in price action.
These levels often act as magnets for liquidity, bias confirmation zones, and support/resistance pivots on higher timeframes. With customizable settings, you can display multiple past opens, fine-tune label positions, and align your strategy with high-timeframe structure — all in a lightweight, non-intrusive design.
If you follow Smart Money Concepts (SMC), ICT models, or build confluence using HTF structures and range theory, this script will integrate seamlessly into your workflow.
GEEKSDOBYTE IFVG w/ Buy/Sell Signals1. Inputs & Configuration
Swing Lookback (swingLen)
Controls how many bars on each side are checked to mark a swing high or swing low (default = 5).
Booleans to Toggle Plotting
showSwings – Show small triangle markers at swing highs/lows
showFVG – Show Fair Value Gap zones
showSignals – Show “BUY”/“SELL” labels when price inverts an FVG
showDDLine – Show a yellow “DD” line at the close of the inversion bar
showCE – Show an orange dashed “CE” line at the midpoint of the gap area
2. Swing High / Low Detection
isSwingHigh = ta.pivothigh(high, swingLen, swingLen)
Marks a bar as a swing high if its high is higher than the highs of the previous swingLen bars and the next swingLen bars.
isSwingLow = ta.pivotlow(low, swingLen, swingLen)
Marks a bar as a swing low if its low is lower than the lows of the previous and next swingLen bars.
Plotting
If showSwings is true, small red downward triangles appear above swing highs, and green upward triangles below swing lows.
3. Fair Value Gap (3‐Bar) Identification
A Fair Value Gap (FVG) is defined here using a simple three‐bar logic (sometimes called an “inefficiency” in price):
Bullish FVG (bullFVG)
Checks if, two bars ago, the low of that bar (low ) is strictly greater than the current bar’s high (high).
In other words:
bullFVG = low > high
Bearish FVG (bearFVG)
Checks if, two bars ago, the high of that bar (high ) is strictly less than the current bar’s low (low).
In other words:
bearFVG = high < low
When either condition is true, it identifies a three‐bar “gap” or unfilled imbalance in the market.
4. Drawing FVG Zones
If showFVG is enabled, each time a bullish or bearish FVG is detected:
Bullish FVG Zone
Draws a semi‐transparent green box from the bar two bars ago (where the gap began) at low up to the current bar’s high.
Bearish FVG Zone
Draws a semi‐transparent red box from the bar two bars ago at high down to the current bar’s low.
These colored boxes visually highlight the “fair value imbalance” area on the chart.
5. Inversion (Fill) Detection & Entry Signals
An inversion is defined as the price “closing through” that previously drawn FVG:
Bullish Inversion (bullInversion)
Occurs when a bullish FVG was identified on bar-2 (bullFVG), and on the current bar the close is greater than that old bar-2 low:
bullInversion = bullFVG and close > low
Bearish Inversion (bearInversion)
Occurs when a bearish FVG was identified on bar-2 (bearFVG), and on the current bar the close is lower than that old bar-2 high:
bearInversion = bearFVG and close < high
When an inversion is true, the indicator optionally draws two lines and a label (depending on input toggles):
Draw “DD” Line (yellow, solid)
Plots a horizontal yellow line from the current bar’s close price extending five bars forward (bar_index + 5). This is often referred to as a “Demand/Daily Demand” line, marking where price inverted the gap.
Draw “CE” Line (orange, dashed)
Calculates the midpoint (ce) of the original FVG zone.
For a bullish inversion:
ce = (low + high) / 2
For a bearish inversion:
ce = (high + low) / 2
Plots a horizontal dashed orange line at that midpoint for five bars forward.
Plot Label (“BUY” / “SELL”)
If showSignals is true, a green “BUY” label is placed at the low of the current bar when a bullish inversion occurs.
Likewise, a red “SELL” label at the high of the current bar when a bearish inversion happens.
6. Putting It All Together
Swing Markers (Optional):
Visually confirm recent swing highs and swing lows with small triangles.
FVG Zones (Optional):
Highlight areas where price left a 3-bar gap (bullish in green, bearish in red).
Inversion Confirmation:
Wait for price to close beyond the old FVG boundary.
Once that happens, draw the yellow “DD” line at the close, the orange dashed “CE” line at the zone’s midpoint, and place a “BUY” or “SELL” label exactly on that bar.
User Controls:
All of the above elements can be individually toggled on/off (showSwings, showFVG, showSignals, showDDLine, showCE).
In Practice
A bullish FVG forms whenever a strong drop leaves a gap in liquidity (three bars ago low > current high).
When price later “fills” that gap by closing above the old low, the script signals a potential long entry (BUY), draws a demand line at the closing price, and marks the midpoint of that gap.
Conversely, a bearish FVG marks a potential short zone (three bars ago high < current low). When price closes below that gap’s high, it signals a SELL, with similar lines drawn.
By combining these elements, the indicator helps users visually identify inefficiencies (FVGs), confirm when price inverts/fills them, and place straightforward buy/sell labels alongside reference lines for trade management.
Higher Timeframe Market StructureHTF Market Structure – ZigZag, Break of Structure & Supply/Demand
This powerful indicator is designed to identify higher-timeframe market structure using a combination of ZigZag patterns, Break of Structure (BOS) signals, and Supply/Demand zones.
Key Features:
Automatic detection of Higher Highs (HH), Higher Lows (HL), Lower Lows (LL), and Lower Highs (LH)
Internal structure shifts based on Open or High/Low logic
Supply and Demand zones plotted on the chart
Break of Structure (BOS) lines with optional alerts
Mitigation logic to mark or delete invalidated order blocks
Customizable aggregation factor to view higher time frame structure on lower time frames
How to Use:
Focus on market structure and BOS to understand the current trend.
Watch for internal shifts as early signals of potential reversals.
Use ZigZag lines to connect swing highs and lows to visualize market rhythm.
Supply zones (red) and Demand zones (green) are automatically drawn after structure breaks:
Use Demand Zones in Bullish Markets for the highest probability entries.
Use Supply Zones in Bearish Markets to align with the prevailing trend.
Best Practices:
Only use Demand Zones in Bullish markets and Supply Zones in Bearish markets for optimal results.
Look for price action or reversal signals within these zones to refine your entries.
Enable alerts to get notified on:
New order blocks
Internal shifts
BOS events
HH, HL, LL, LH formations
Liquidity sweeps
Customization Options:
Aggregation Factor: Control how many candles are grouped for structure analysis.
Zone Duration: Define how length of plotted zones.
Mitigation Settings: Automatically delete or fade zones after mitigation.
Colors: Choose custom colors for bullish and bearish zones and structure markers.
This tool is ideal for traders who rely on price action, structure, and smart money concepts. Combine it with your own S&D strategy or integrate it with other confluence tools for even better precision.
Combined ATPC & MACD DivergenceTrend Optimizer + Divergence Finder in One Unified Tool
🔍 Overview:
This powerful dual-system indicator merges two proven analytical engines:
✅ The Algorganic Typical Price Channel (ATPC) — a custom trend oscillator that highlights mean-reversion and directional bias.
✅ A refined MACD system with divergence detection, enhanced with an adjusted Donchian midline for real-time trend strength filtering.
Together, they provide a high-confidence, multi-signal system ideal for swing trading, scalping, or confirming reversals with context.
⚙️ Core Components & Logic
🧠 1. ATPC Engine (Trend Commodity Index)
A momentum and volatility-normalized oscillator based on the typical price (H+L+C)/3:
TrendCI Line (Blue) – Main trend signal based on smoothed CCI logic.
TrendLine2 (Orange) – A slower smoothing of TrendCI for crossovers.
Key Zones (customizable):
🔴 Ultra Overbought: +73
🟣 Overbought: +58
🟣 Oversold: -58
🔴 Ultra Oversold: -73
Trade Logic:
✅ Buy Signal: TrendCI crosses above TrendLine2 while in oversold zone
❌ Sell Signal: TrendCI crosses below TrendLine2 while in overbought zone
Additional visual feedback:
Histogram Bars show strength and direction of momentum shift
Green/Red Circles highlight potential long/short setups
📉 2. MACD System + Divergence Finder
Classic MACD enhanced with a Donchian Midline overlay to filter trend bias.
🔷 MACD Line and 🟠 Signal Line show crossover momentum
🟩/🟥 Histogram shows distance from the signal line
🟪 Adjusted Donchian Midline dynamically adapts to range-bound vs trending environments
Background Color provides real-time trend state:
✅ Green = Bullish Trend
❌ Red = Bearish Trend
No color = Neutral / Choppy
MACD Boundaries (user-defined):
Overbought: +1.0
Oversold: -1.0
🔀 3. Divergence Detection
Spot hidden power shifts before price reacts:
🔼 Positive Divergence – Price makes lower lows, but MACD histogram rises
🔽 Negative Divergence – Price makes higher highs, but MACD histogram weakens
These are visually marked with:
Green “+Div” label (bullish reversal cue)
Red “–Div” label (bearish exhaustion signal)
🎯 How to Use It
For Trend Traders:
Stay in sync with macro trend using MACD histogram + background
Use ATPC crossovers for precision entries
Avoid signals during neutral background (chop filter)
For Reversal Traders:
Look for bullish +Div with ATPC buy signal in oversold zone
Look for bearish –Div with ATPC sell signal in overbought zone
Mid-Donchian line can act as confluence or breakout trigger
For Scalpers & Intraday Traders:
Combine with VWAP, liquidity zones, or order flow levels
ATPC crossovers + MACD histogram zero-line flip = potential scalp entry
Use histogram slope and divergence to avoid false momentum traps
🧩 Customizable Inputs
🎛️ ATPC: Channel & Smoothing lengths, overbought/oversold thresholds
🎛️ MACD: Fast/slow EMAs, signal smoothing, Donchian period, bounds
🎨 Fully theme-compatible with adjustable colors and line styles
🔔 Alerts (Add Your Own)
While this version doesn’t contain built-in alerts, you can easily add alerts based on:
buySignal or sellSignal from ATPC logic
Histogram cross zero or trend flip
MACD Divergence event
📜 “This indicator doesn't just show signals—it tells a story about who’s in control of the market, and when that control might be slipping.”
Curved Trend Channels (Zeiierman)█ Overview
Curved Trend Channels (Zeiierman) is a next-generation trend visualization tool engineered to adapt dynamically to both linear and non-linear market behavior. It introduces a novel curvature-based channeling system that grows over time during trending conditions, mirroring the natural acceleration of price trends, while simultaneously leveraging adaptive range filtering and dual-layer candle trend logic.
This tool is ideal for traders seeking smooth yet reactive dynamic channels that evolve with market structure. Whether used in curved mode or traditional slope mode, it provides exceptional clarity on trend transitions, volatility compression, and breakout development.
█ How It Works
⚪ Adaptive Range Filter Foundation
The core of the system is a volatility-based range filter that determines the underlying structure of the bands:
Pre-Smoothing of High/Low Data – Highs and lows are smoothed using a selectable moving average (SMA, EMA, HMA, KAMA, etc.) before calculating the volatility range.
Volatility Envelope – The range is scaled using a fixed factor (2.618) and further adjusted by a Band Multiplier to form the primary envelope around price.
Smoothed Volatility Curve – Final bands are stabilized using a long lookback, ensuring clean visual structure and trend clarity.
⚪ Curved Channel Logic
In Curved Mode, the trend channel grows over time when the trend direction remains unchanged:
Base Step Size (× ATR) – Sets the minimum unit of slope change.
Growth per Bar (× ATR) – Defines the acceleration rate of the channel slope with time.
Trend Persistence Recognition – The longer a trend persists, the more pronounced the slope becomes, mimicking real market accelerations.
This dynamic, time-dependent logic enables the channel to "curve" upward or downward, tracking long-standing trends with increasing confidence.
⚪ Trend Slope
As an alternative to curved logic, traders can activate a regular Trend slope using:
Slope Length – Determines how quickly the trend line adapts to price shifts.
Multiplicative Factor – Amplifies the sensitivity of the slope, useful in fast-moving markets or lower timeframes.
⚪ Candle Trend Confirmation
A robust second-layer trend detection method, the Candle Trend System evaluates directional pressure by analyzing smoothed price action:
Multi-tier Smoothing – Trend lines are derived from short-, medium-, and long-term candle movement.
█ How to Use
⚪ Trend Identification
When the Trend Line direction and Candle Colors are in agreement, this indicates strong, persistent directional conviction. Use these moments to enter with trend confirmation and manage risk more confidently.
⚪ Retest
During ongoing trends, the price will often pull back into the dynamic channel. Look for:
Support/resistance interactions at the upper or lower bands.
█ Settings
Scaled Volatility Length – Controls the historical depth used to stabilize the volatility bands.
Smoothing Type – Choose from HMA, KAMA, VIDYA, FRAMA, Super Smoother, etc. to match your asset and trading style.
Volatility MA Length – Smoothing length for the calculated range; shorter = more reactive.
High/Low Smoother Length – Additional smoothing to reduce noise from spikes or false pivots.
Band Multiplier – Widens or tightens the band range based on personal preference.
Enable Curved Channel – Toggle between curved or regular trend slope behavior.
Base Step (× ATR) – The starting point for curved slope progression.
Growth per Bar (× ATR) – How much the slope accelerates per bar during a sustained trend.
Slope – Reactivity of the standard trend line to price movements.
Multiplicative Factor – Sensitivity adjustment for HyperTrend slope.
Candle Trend Length – Lookback period for trend determination from candle structure.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
CVD Divergence & Volume ProfileThis Pine Script indicator, named "CVD Divergence & Volume Profile," is designed to identify potential trading opportunities by combining Cumulative Volume Delta (CVD) divergence with Volume Profile levels and an optional Simple Moving Average (SMA) trend filter. It plots signals directly on the price chart.
Here's a breakdown of what each component does and how to potentially trade with it:
1. Cumulative Volume Delta (CVD) Divergence
What it does: CVD measures the cumulative difference between buying and selling volume. A rising CVD indicates more buying pressure, while a falling CVD indicates more selling pressure. Divergence occurs when the price action contradicts the CVD's direction, suggesting a potential shift in momentum or trend reversal.
Bearish Divergence: The price makes a higher high, but the CVD makes a lower high (or fails to make a new high). This suggests that despite the price increasing, the underlying buying pressure is weakening.
Bullish Divergence: The price makes a lower low, but the CVD makes a higher low (or fails to make a new low). This suggests that despite the price decreasing, the underlying selling pressure is weakening.
Visualization:
Red triangle pointing down on the chart indicates a Bearish Divergence signal.
Green triangle pointing up on the chart indicates a Bullish Divergence signal.
2. Volume Profile Levels (VAH, VAL, POC)
What it does: The indicator calculates simplified Volume Profile levels over a user-defined vp_range (number of candles). These levels represent areas where significant trading activity has occurred:
VAH (Value Area High): The upper boundary of the "Value Area," where 70% of the volume traded.
VAL (Value Area Low): The lower boundary of the "Value Area," where 70% of the volume traded.
POC (Point of Control): The price level within the vp_range where the most volume was traded.
Significance: These levels often act as significant support and resistance zones.
Visualization:
Orange lines for VAH and VAL.
Yellow line for POC.
Zone Proximity (zone_thresh): The indicator only generates divergence signals if the current close price is within a specified percentage zone_thresh of either VAH, VAL, or POC. This filters signals to areas of high liquidity and potential turning points.
3. Trend Filter (SMA)
What it does: This is an optional filter (use_trend_filter) that uses a Simple Moving Average (sma_period, default 200).
Significance: It helps ensure that divergence signals are traded in alignment with the broader market trend, potentially increasing their reliability.
For long signals (bullish divergence), the price (close) must be above the SMA (indicating an uptrend).
For short signals (bearish divergence), the price (close) must be below the SMA (indicating a downtrend).
Visualization: A blue line on the chart representing the SMA.
How to Trade with It (Potential Strategies)
The indicator aims to provide high-probability entry points by combining multiple confirming factors. Here's how you might interpret and trade the signals:
Identify Divergence: Look for the triangle signals on your chart (red for bearish, green for bullish).
Confirm Proximity to Volume Profile Levels: The signal itself confirms that the price is near a significant Volume Profile level (VAH, VAL, or POC). These are areas where price often reacts.
Bullish Signal (Green Triangle): This suggests buying momentum is returning after a price decline, especially when the price is near VAL or POC, which might act as support.
Bearish Signal (Red Triangle): This suggests selling momentum is increasing after a price rally, especially when the price is near VAH or POC, which might act as resistance.
Check Trend Alignment (SMA Filter):
For a long trade: You would ideally want to see a green triangle (bullish divergence) while the price is above the blue SMA line. This indicates a bullish divergence confirming a potential bounce within an existing uptrend.
For a short trade: You would ideally want to see a red triangle (bearish divergence) while the price is below the blue SMA line. This indicates a bearish divergence confirming a potential rejection within an existing downtrend.
Entry and Exit Considerations:
Entry: Consider entering a trade on the candle where the signal appears, or on the subsequent candle for confirmation.
Stop Loss: For a long trade, a logical stop-loss could be placed below the lowest point of the divergence, or below the VAL/POC if the signal occurred near it. For a short trade, above the highest point of the divergence or VAH/POC.
Take Profit: Targets could be set at the opposite Volume Profile level, previous swing highs/lows, or using a fixed risk-reward ratio.
Example Trading Scenario:
Long Trade: You see a green triangle (bullish divergence) printed on the chart. You notice the price is currently at the VAL (orange line). You check the blue SMA line and confirm that the price is above it (uptrend). This confluence of factors (bullish divergence, support at VAL, and uptrend) provides a strong potential long entry signal. You might enter, place your stop loss just below VAL, and target VAH or the next resistance level.
Short Trade: You see a red triangle (bearish divergence). The price is at the VAH (orange line). The price is also below the blue SMA line (downtrend). This suggests a potential short entry. You might enter, place your stop loss just above VAH, and target VAL or the next support level.
Demand Index (Hybrid Sibbet) by TradeQUODemand Index (Hybrid Sibbet) by TradeQUO \
\Overview\
The Demand Index (DI) was introduced by James Sibbet in the early 1990s to gauge “real” buying versus selling pressure by combining price‐change information with volume intensity. Unlike pure price‐based oscillators (e.g. RSI or MACD), the DI highlights moves backed by above‐average volume—helping traders distinguish genuine demand/supply from false breakouts or low‐liquidity noise.
\Calculation\
\
\ \Step 1: Weighted Price (P)\
For each bar t, compute a weighted price:
```
Pₜ = Hₜ + Lₜ + 2·Cₜ
```
where Hₜ=High, Lₜ=Low, Cₜ=Close of bar t.
Also compute Pₜ₋₁ for the prior bar.
\ \Step 2: Raw Range (R)\
Calculate the two‐bar range:
```
Rₜ = max(Hₜ, Hₜ₋₁) – min(Lₜ, Lₜ₋₁)
```
This Rₜ is used indirectly in the exponential dampener below.
\ \Step 3: Normalize Volume (VolNorm)\
Compute an EMA of volume over n₁ bars (e.g. n₁=13):
```
EMA_Volₜ = EMA(Volume, n₁)ₜ
```
Then
```
VolNormₜ = Volumeₜ / EMA_Volₜ
```
If EMA\_Volₜ ≈ 0, set VolNormₜ to a small default (e.g. 0.0001) to avoid division‐by‐zero.
\ \Step 4: BuyPower vs. SellPower\
Calculate “raw” BuyPowerₜ and SellPowerₜ depending on whether Pₜ > Pₜ₋₁ (bullish) or Pₜ < Pₜ₋₁ (bearish). Use an exponential dampener factor Dₜ to moderate extreme moves when true range is small. Specifically:
• If Pₜ > Pₜ₋₁,
```
BuyPowerₜ = (VolNormₜ) / exp
```
otherwise
```
BuyPowerₜ = VolNormₜ.
```
• If Pₜ < Pₜ₋₁,
```
SellPowerₜ = (VolNormₜ) / exp
```
otherwise
```
SellPowerₜ = VolNormₜ.
```
Here, H₀ and L₀ are the very first bar’s High/Low—used to calibrate the scale of the dampening. If the denominator of the exponential is near zero, substitute a small epsilon (e.g. 1e-10).
\ \Step 5: Smooth Buy/Sell Power\
Apply a short EMA (n₂ bars, typically n₂=2) to each:
```
EMA_Buyₜ = EMA(BuyPower, n₂)ₜ
EMA_Sellₜ = EMA(SellPower, n₂)ₜ
```
\ \Step 6: Raw Demand Index (DI\_raw)\
```
DI_rawₜ = EMA_Buyₜ – EMA_Sellₜ
```
A positive DI\_raw indicates that buying force (normalized by volume) exceeds selling force; a negative value indicates the opposite.
\ \Step 7: Optional EMA Smoothing on DI (DI)\
To reduce choppiness, compute an EMA over DI\_raw (n₃ bars, e.g. n₃ = 1–5):
```
DIₜ = EMA(DI_raw, n₃)ₜ.
```
If n₃ = 1, DI = DI\_raw (no further smoothing).
\
\Interpretation\
\
\ \Crossing Zero Line\
• DI\_raw (or DI) crossing from below to above zero signals that cumulative buying pressure (over the chosen smoothing window) has overcome selling pressure—potential Long signal.
• Crossing from above to below zero signals dominant selling pressure—potential Short signal.
\ \DI\_raw vs. DI (EMA)\
• When DI\_raw > DI (the EMA of DI\_raw), bullish momentum is accelerating.
• When DI\_raw < DI, bullish momentum is weakening (or bearish acceleration).
\ \Divergences\
• If price makes new highs while DI fails to make higher highs (DI\_raw or DI declining), this hints at weakening buying power (“bearish divergence”), possibly preceding a reversal.
• If price makes new lows while DI fails to make lower lows (“bullish divergence”), this may signal waning selling pressure and a potential bounce.
\ \Volume Confirmation\
• A strong price move without a corresponding rise in DI often indicates low‐volume “fake” moves.
• Conversely, a modest price move with a large DI spike suggests true institutional participation—often a more reliable breakout.
\
\Usage Notes & Warnings\
\
\ \Never Use DI in Isolation\
It is a \filter\ and \confirmation\ tool—combine with price‐action (trendlines, support/resistance, candlestick patterns) and risk management (stop‐losses) before executing trades.
\ \Parameter Selection\
• \Vol EMA length (n₁)\: Commonly 13–20 bars. Shorter → more responsive to volume spikes, but noisier.
• \Buy/Sell EMA length (n₂)\: Typically 2 bars for fast smoothing.
• \DI smoothing (n₃)\: Usually 1 (no smoothing) or 3–5 for moderate smoothing. Long DI\_EMA (e.g. 20–50) gives a slower signal.
\ \Market Adaptation\
Works well in liquid futures, indices, and heavily traded stocks. In thinly traded or highly erratic markets, adjust n₁ upward (e.g., 20–30) to reduce noise.
---
\In Summary\
The Demand Index (James Sibbet) uses a three‐stage smoothing (volume → Buy/Sell Power → DI) to reveal true demand/supply imbalance. By combining normalized volume with price change, Sibbet’s DI helps traders identify momentum backed by real participation—filtering out “empty” moves and spotting early divergences. Always confirm DI signals with price action and sound risk controls before trading.
Consolidation Range with Signals (Zeiierman)█ Overview
Consolidation Range with Signals (Zeiierman) is a precision tool for identifying and trading market consolidation zones, where price contracts into tight ranges before significant movement. It provides dynamic range detection using either ADX-based trend strength or volatility compression metrics, and offers built-in take profit and stop loss signals based on breakout dynamics.
Whether you trade breakouts, range reversals, or trend continuation setups, this indicator visualizes the balance between supply and demand with clearly defined mid-bands, breakout zones, and momentum-sensitive TP/SL placements.
█ How It Works
⚪ Multi-Method Range Detection
ADX Mode
Uses the Average Directional Index (ADX) to detect low-trend-strength environments. When ADX is below your selected threshold, price is considered to be in consolidation.
Volatility Mode
This mode detects consolidation by identifying periods of volatility compression. It evaluates whether the following metrics are simultaneously below their respective historical rolling averages:
Standard Deviation
Variance
Average True Range (ATR)
⚪ Dynamic Range Band System
Once a range is confirmed, the system builds a dynamic band structure using a volatility-based filter and price-jump logic:
Middle Line (Trend Filter): Reacts to price imbalance using adaptive jump logic.
Upper & Lower Bands: Calculated by expanding from the middle line using a configurable multiplier.
This creates a clean, visual box that reflects current consolidation conditions and adapts as price fluctuates within or escapes the zone.
⚪ SL/TP Signal Engine
On detection of a breakout from the range, the indicator generates up to 3 Take Profit levels and one Stop Loss, based on the breakout direction:
All TP/SL levels are calculated using the filtered base range and multipliers.
Cooldown logic ensures signals are not spammed bar-to-bar.
Entries are visualized with colored lines and labeled levels.
This feature is ideal for traders who want automated risk and reward reference points for range breakout plays.
█ How to Use
⚪ Breakout Traders
Use the SL/TP signals when the price breaks above or below the range bands, especially after extended sideways movement. You can customize how far TP1, TP2, and TP3 sit from the entry using your own risk/reward profile.
⚪ Mean Reversion Traders
Use the bands to locate high-probability reversion zones. These serve as reference zones for scalping or fade entries within stable consolidation phases.
█ Settings
Range Detection Method – Choose between ADX or Volatility compression to define range criteria.
Range Period – Determines how many bars are used to compute trend/volatility.
Range Multiplier – Scales the width of the consolidation zone.
SL/TP System – Optional levels that project TP1/TP2/TP3 and SL from the base price using multipliers.
Cooldown – Prevents repeated SL/TP signals from triggering too frequently.
ADX Threshold & Smoothing – Adjusts sensitivity of trend strength detection.
StdDev / Variance / ATR Multipliers – Fine-tune compression detection logic.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
5 AM NY 4H Candle High/LowThis indicator identifies the 4-hour candle that starts at 5:00 AM New York time (NYT) and automatically plots its high and low on intraday charts (e.g., 15m, 30m, 1H).
It helps traders:
Highlight a key session window often associated with increased market activity.
Use the 5AM–9AM NYT range for breakout, reversal, or liquidity zone strategies.
See clean horizontal levels that can act as support or resistance throughout the trading day.
🧠 Key Features:
Works on any timeframe below 4H.
Automatically detects and updates daily.
Optional labels to mark the range visually.
X OROverview
Designed to plot hourly opening ranges (ORs) on an intraday chart. It primarily serves as a trading tool for assessing market direction and potential trading opportunities by analyzing price action relative to key OHLC (Open, High, Low, Close) levels within each hourly range.
The code provided is for each hour sessions from 2:00 AM to 3:00 PM for a complete session-based framework. In addition there is the RTH open range
Purpose
The core purpose of this indicator is to:
✅ Define each hourly range (based on the session’s opening bar) by recording the high and low of that range.
✅ Extend this range into the following bars for visual reference — serving as dynamic support and resistance zones.
✅ Monitor price action relative to each hourly OR, helping traders evaluate market direction and structure trades using concepts like:
Breakouts above/below the OR high/low.
Rejections or consolidations within the OR.
Continuation or reversal signals tied to each OR.
Key Features
The script marks the first bar of the session as the OR session start.
During this bar, it initializes:
Opening price
Session high
Session low
These levels form the initial range.
🔹 Dynamic Range Tracking
Throughout the one-minute OR session:
The highest and lowest prices are updated in real time, capturing intra-hour volatility.
A visual background box is drawn to highlight the OR range on the chart.
🔹 Range Extension
The script defines an extended session period after the initial OR (e.g., 2:00 AM-2:45 AM for the 2:00 AM session).
During this extension period:
The box persists on the chart, providing a contextual zone that traders can use as a dynamic support/resistance area.
🔹 Visual Representation
Transparent colored boxes highlight each session’s OR visually on the chart.
These boxes help traders easily identify whether price is trading:
Inside the OR
Breaking above the high (potential bullish continuation)
Breaking below the low (potential bearish continuation)
Application in Trading
🔍 Trading the Opening Range Breakout
Traders often use the OR high and low as breakout triggers. For example:
A price break above the OR high may signal bullish momentum.
A break below the OR low may signal bearish momentum.
⚖️ Support and Resistance
Even if breakouts fail, the OR can act as a pivot zone — offering areas for:
Stop placements
Target levels
Entry confirmations for fade trades or mean reversion strategies.
🕒 Session Awareness
By defining each hour’s OR individually (from 2:00 AM to 3:00 PM), traders can:
Analyze price behavior within each session.
Recognize when liquidity or volatility increases (e.g. around overlapping sessions like London open or New York open).
Summary
This Pine Script indicator provides a powerful framework for visualizing and trading hourly opening ranges. It enhances intraday analysis by:
Structuring price action within hourly boxes.
Highlighting key price levels relative to OHLC concepts.
Helping traders make more informed decisions by assessing price behavior around these critical ranges.
FVG Premium [no1x]█ OVERVIEW
This indicator provides a comprehensive toolkit for identifying, visualizing, and tracking Fair Value Gaps (FVGs) across three distinct timeframes (current chart, a user-defined Medium Timeframe - MTF, and a user-defined High Timeframe - HTF). It is designed to offer traders enhanced insight into FVG dynamics through detailed state monitoring (formation, partial fill, full mitigation, midline touch), extensive visual customization for FVG representation, and a rich alert system for timely notifications on FVG-related events.
█ CONCEPTS
This indicator is built upon the core concept of Fair Value Gaps (FVGs) and their significance in price action analysis, offering a multi-layered approach to their detection and interpretation across different timeframes.
Fair Value Gaps (FVGs)
A Fair Value Gap (FVG), also known as an imbalance, represents a range in price delivery where one side of the market (buying or selling) was more aggressive, leaving an inefficiency or an "imbalance" in the price action. This concept is prominently featured within Smart Money Concepts (SMC) and Inner Circle Trader (ICT) methodologies, where such gaps are often interpreted as footprints left by "smart money" due to rapid, forceful price movements. These methodologies suggest that price may later revisit these FVG zones to rebalance a prior inefficiency or to seek liquidity before continuing its path. These gaps are typically identified by a three-bar pattern:
Bullish FVG : This is a three-candle formation where the second candle shows a strong upward move. The FVG is the space created between the high of the first candle (bottom of FVG) and the low of the third candle (top of FVG). This indicates a strong upward impulsive move.
Bearish FVG : This is a three-candle formation where the second candle shows a strong downward move. The FVG is the space created between the low of the first candle (top of FVG) and the high of the third candle (bottom of FVG). This indicates a strong downward impulsive move.
FVGs are often watched by traders as potential areas where price might return to "rebalance" or find support/resistance.
Multi-Timeframe (MTF) Analysis
The indicator extends FVG detection beyond the current chart's timeframe (Low Timeframe - LTF) to two higher user-defined timeframes: Medium Timeframe (MTF) and High Timeframe (HTF). This allows traders to:
Identify FVGs that might be significant on a broader market structure.
Observe how FVGs from different timeframes align or interact.
Gain a more comprehensive perspective on potential support and resistance zones.
FVG State and Lifecycle Management
The indicator actively tracks the lifecycle of each detected FVG:
Formation : The initial identification of an FVG.
Partial Fill (Entry) : When price enters but does not completely pass through the FVG. The indicator updates the "current" top/bottom of the FVG to reflect the filled portion.
Midline (Equilibrium) Touch : When price touches the 50% level of the FVG.
Full Mitigation : When price completely trades through the FVG, effectively "filling" or "rebalancing" the gap. The indicator records the mitigation time.
This state tracking is crucial for understanding how price interacts with these zones.
FVG Classification (Large FVG)
FVGs can be optionally classified as "Large FVGs" (LV) if their size (top to bottom range) exceeds a user-defined multiple of the Average True Range (ATR) for that FVG's timeframe. This helps distinguish FVGs that are significantly larger relative to recent volatility.
Visual Customization and Information Delivery
A key concept is providing extensive control over how FVGs are displayed. This control is achieved through a centralized set of visual parameters within the indicator, allowing users to configure numerous aspects (colors, line styles, visibility of boxes, midlines, mitigation lines, labels, etc.) for each timeframe. Additionally, an on-chart information panel summarizes the nearest unmitigated bullish and bearish FVG levels for each active timeframe, providing a quick glance at key price points.
█ FEATURES
This indicator offers a rich set of features designed to provide a highly customizable and comprehensive Fair Value Gap (FVG) analysis experience. Users can tailor the FVG detection, visual representation, and alerting mechanisms across three distinct timeframes: the current chart (Low Timeframe - LTF), a user-defined Medium Timeframe (MTF), and a user-defined High Timeframe (HTF).
Multi-Timeframe FVG Detection and Display
The core strength of this indicator lies in its ability to identify and display FVGs from not only the current chart's timeframe (LTF) but also from two higher, user-selectable timeframes (MTF and HTF).
Timeframe Selection: Users can specify the exact MTF (e.g., "60", "240") and HTF (e.g., "D", "W") through dedicated inputs in the "MTF (Medium Timeframe)" and "HTF (High Timeframe)" settings groups. The visibility of FVGs from these higher timeframes can be toggled independently using the "Show MTF FVGs" and "Show HTF FVGs" checkboxes.
Consistent Detection Logic: The FVG detection logic, based on the classic three-bar imbalance pattern detailed in the 'Concepts' section, is applied consistently across all selected timeframes (LTF, MTF, HTF)
Timeframe-Specific Visuals: Each timeframe's FVGs (LTF, MTF, HTF) can be customized with unique colors for bullish/bearish states and their mitigated counterparts. This allows for easy visual differentiation of FVGs originating from different market perspectives.
Comprehensive FVG Visualization Options
The indicator provides extensive control over how FVGs are visually represented on the chart for each timeframe (LTF, MTF, HTF).
FVG Boxes:
Visibility: Main FVG boxes can be shown or hidden per timeframe using the "Show FVG Boxes" (for LTF), "Show Boxes" (for MTF/HTF) inputs.
Color Customization: Colors for bullish, bearish, active, and mitigated FVG boxes (including Large FVGs, if classified) are fully customizable for each timeframe.
Box Extension & Length: FVG boxes can either be extended to the right indefinitely ("Extend Boxes Right") or set to a fixed length in bars ("Short Box Length" or "Box Length" equivalent inputs).
Box Labels: Optional labels can display the FVG's timeframe and fill percentage on the box. These labels are configurable for all timeframes (LTF, MTF, and HTF). Please note: If FVGs are positioned very close to each other on the chart, their respective labels may overlap. This can potentially lead to visual clutter, and it is a known behavior in the current version of the indicator.
Box Borders: Visibility, width, style (solid, dashed, dotted), and color of FVG box borders are customizable per timeframe.
Midlines (Equilibrium/EQ):
Visibility: The 50% level (midline or EQ) of FVGs can be shown or hidden for each timeframe.
Style Customization: Width, style, and color of the midline are customizable per timeframe. The indicator tracks if this midline has been touched by price.
Mitigation Lines:
Visibility: Mitigation lines (representing the FVG's opening level that needs to be breached for full mitigation) can be shown or hidden for each timeframe. If shown, these lines are always extended to the right.
Style Customization: Width, style, and color of the mitigation line are customizable per timeframe.
Mitigation Line Labels: Optional price labels can be displayed on mitigation lines, with a customizable horizontal bar offset for positioning. For optimal label placement, the following horizontal bar offsets are recommended: 4 for LTF, 8 for MTF, and 12 for HTF.
Persistence After Mitigation: Users can choose to keep mitigation lines visible even after an FVG is fully mitigated, with a distinct color for such lines. Importantly, this option is only effective if the general setting 'Hide Fully Mitigated FVGs' is disabled, as otherwise, the entire FVG and its lines will be removed upon mitigation.
FVG State Management and Behavior
The indicator tracks and visually responds to changes in FVG states.
Hide Fully Mitigated FVGs: This option, typically found in the indicator's general settings, allows users to automatically remove all visual elements of an FVG from the chart once price has fully mitigated it. This helps maintain chart clarity by focusing on active FVGs.
Partial Fill Visualization: When price enters an FVG, the indicator offers a dynamic visual representation: the portion of the FVG that has been filled is shown as a "mitigated box" (typically with a distinct color), while the original FVG box shrinks to clearly highlight the remaining, unfilled portion. This two-part display provides an immediate visual cue about how much of the FVG's imbalance has been addressed and what potential remains within the gap.
Visual Filtering by ATR Proximity: To help users focus on the most relevant price action, FVGs can be dynamically hidden if they are located further from the current price than a user-defined multiple of the Average True Range (ATR). This behavior is controlled by the "Filter Band Width (ATR Multiple)" input; setting this to zero disables the filter entirely, ensuring all detected FVGs remain visible regardless of their proximity to price.
Alternative Usage Example: Mitigation Lines as Key Support/Resistance Levels
For traders preferring a minimalist chart focused on key Fair Value Gap (FVG) levels, the indicator's visualization settings can be customized to display only FVG mitigation lines. This approach leverages these lines as potential support and resistance zones, reflecting areas where price might revisit to address imbalances.
To configure this view:
Disable FVG Boxes: Turn off "Show FVG Boxes" (for LTF) or "Show Boxes" (for MTF/HTF) for the desired timeframes.
Hide Midlines: Disable the visibility of the 50% FVG Midlines (Equilibrium/EQ).
Ensure Mitigation Lines are Visible: Keep "Mitigation Lines" enabled.
Retain All Mitigation Lines:
Disable the "Hide Fully Mitigated FVGs" option in the general settings.
Enable the feature to "keep mitigation lines visible even after an FVG is fully mitigated". This ensures lines from all FVGs (active or fully mitigated) remain on the chart, which is only effective if "Hide Fully Mitigated FVGs" is disabled.
This setup offers:
A Decluttered Chart: Focuses solely on the FVG opening levels.
Precise S/R Zones: Treats mitigation lines as specific points for potential price reactions.
Historical Level Analysis: Includes lines from past, fully mitigated FVGs for a comprehensive view of significant price levels.
For enhanced usability with this focused view, consider these optional additions:
The on-chart Information Panel can be activated to display a quick summary of the nearest unmitigated FVG levels.
Mitigation Line Labels can also be activated for clear price level identification. A customizable horizontal bar offset is available for positioning these labels; for example, offsets of 4 for LTF, 8 for MTF, and 12 for HTF can be effective.
FVG Classification (Large FVG)
This feature allows for distinguishing FVGs based on their size relative to market volatility.
Enable Classification: Users can enable "Classify FVG (Large FVG)" to identify FVGs that are significantly larger than average.
ATR-Based Threshold: An FVG is classified as "Large" if its height (price range) is greater than or equal to the Average True Range (ATR) of its timeframe multiplied by a user-defined "Large FVG Threshold (ATR Multiple)". The ATR period for this calculation is also configurable.
Dedicated Colors: Large FVGs (both bullish/bearish and active/mitigated) can be assigned unique colors, making them easily distinguishable on the chart.
Panel Icon: Large FVGs are marked with a special icon in the Info Panel.
Information Panel
An on-chart panel provides a quick summary of the nearest unmitigated FVG levels.
Visibility and Position: The panel can be shown/hidden and positioned in any of the nine standard locations on the chart (e.g., Top Right, Middle Center).
Content: It displays the price levels of the nearest unmitigated bullish and bearish FVGs for LTF, MTF (if active), and HTF (if active). It also indicates if these nearest FVGs are Large FVGs (if classification is enabled) using a selectable icon.
Styling: Text size, border color, header background/text colors, default text color, and "N/A" cell background color are customizable.
Highlighting: Background and text colors for the cells displaying the overall nearest bullish and bearish FVG levels (across all active timeframes) can be customized to draw attention to the most proximate FVG.
Comprehensive Alert System
The indicator offers a granular alert system for various FVG-related events, configurable for each timeframe (LTF, MTF, HTF) independently. Users can enable alerts for:
New FVG Formation: Separate alerts for new bullish and new bearish FVG formations.
FVG Entry/Partial Fill: Separate alerts for price entering a bullish FVG or a bearish FVG.
FVG Full Mitigation: Separate alerts for full mitigation of bullish and bearish FVGs.
FVG Midline (EQ) Touch: Separate alerts for price touching the midline of a bullish or bearish FVG.
Alert messages are detailed, providing information such as the timeframe, FVG type (bull/bear, Large FVG), relevant price levels, and timestamps.
█ NOTES
This section provides additional information regarding the indicator's usage, performance considerations, and potential interactions with the TradingView platform. Understanding these points can help users optimize their experience and troubleshoot effectively.
Performance and Resource Management
Maximum FVGs to Track : The "Max FVGs to Track" input (defaulting to 25) limits the number of FVG objects processed for each category (e.g., LTF Bullish, MTF Bearish). Increasing this value significantly can impact performance due to more objects being iterated over and potentially drawn, especially when multiple timeframes are active.
Drawing Object Limits : To manage performance, this script sets its own internal limits on the number of drawing objects it displays. While it allows for up to approximately 500 lines (max_lines_count=500) and 500 labels (max_labels_count=500), the number of FVG boxes is deliberately restricted to a maximum of 150 (max_boxes_count=150). This specific limit for boxes is a key performance consideration: displaying too many boxes can significantly slow down the indicator, and a very high number is often not essential for analysis. Enabling all visual elements for many FVGs across all three timeframes can cause the indicator to reach these internal limits, especially the stricter box limit
Optimization Strategies : To help you manage performance, reduce visual clutter, and avoid exceeding drawing limits when using this indicator, I recommend the following strategies:
Maintain or Lower FVG Tracking Count: The "Max FVGs to Track" input defaults to 25. I find this value generally sufficient for effective analysis and balanced performance. You can keep this default or consider reducing it further if you experience performance issues or prefer a less dense FVG display.
Utilize Proximity Filtering: I suggest activating the "Filter Band Width (ATR Multiple)" option (found under "General Settings") to display only those FVGs closer to the current price. From my experience, a value of 5 for the ATR multiple often provides a good starting point for balanced performance, but you should feel free to adjust this based on market volatility and your specific trading needs.
Hide Fully Mitigated FVGs: I strongly recommend enabling the "Hide Fully Mitigated FVGs" option. This setting automatically removes all visual elements of an FVG from the chart once it has been fully mitigated by price. Doing so significantly reduces the number of active drawing objects, lessens computational load, and helps maintain chart clarity by focusing only on active, relevant FVGs.
Disable FVG Display for Unused Timeframes: If you are not actively monitoring certain higher timeframes (MTF or HTF) for FVG analysis, I advise disabling their display by unchecking "Show MTF FVGs" or "Show HTF FVGs" respectively. This can provide a significant performance boost.
Simplify Visual Elements: For active FVGs, consider hiding less critical visual elements if they are not essential for your specific analysis. This could include box labels, borders, or even entire FVG boxes if, for example, only the mitigation lines are of interest for a particular timeframe.
Settings Changes and Platform Limits : This indicator is comprehensive and involves numerous calculations and drawings. When multiple settings are changed rapidly in quick succession, it is possible, on occasion, for TradingView to issue a "Runtime error: modify_study_limit_exceeding" or similar. This can cause the indicator to temporarily stop updating or display errors.
Recommended Approach : When adjusting settings, it is advisable to wait a brief moment (a few seconds) after each significant change. This allows the indicator to reprocess and update on the chart before another change is made
Error Recovery : Should such a runtime error occur, making a minor, different adjustment in the settings (e.g., toggling a checkbox off and then on again) and waiting briefly will typically allow the indicator to recover and resume correct operation. This behavior is related to platform limitations when handling complex scripts with many inputs and drawing objects.
Multi-Timeframe (MTF/HTF) Data and Behavior
HTF FVG Confirmation is Essential: : For an FVG from a higher timeframe (MTF or HTF) to be identified and displayed on your current chart (LTF), the three-bar pattern forming the FVG on that higher timeframe must consist of fully closed bars. The indicator does not draw speculative FVGs based on incomplete/forming bars from higher timeframes.
Data Retrieval and LTF Processing: The indicator may use techniques like lookahead = barmerge.lookahead_on for timely data retrieval from higher timeframes. However, the actual detection of an FVG occurs after all its constituent bars on the HTF have closed.
Appearance Timing on LTF (1 LTF Candle Delay): As a natural consequence of this, an FVG that is confirmed on an HTF (i.e., its third bar closes) will typically become visible on your LTF chart one LTF bar after its confirmation on the HTF.
Example: Assume an FVG forms on a 30-minute chart at 15:30 (i.e., with the close of the 30-minute bar that covers the 15:00-15:30 period). If you are monitoring this FVG on a 15-minute chart, the indicator will detect this newly formed 30-minute FVG while processing the data for the 15-minute bar that starts at 15:30 and closes at 15:45. Therefore, the 30-minute FVG will become visible on your 15-minute chart at the earliest by 15:45 (i.e., with the close of that relevant 15-minute LTF candle). This means the HTF FVG is reflected on the LTF chart with a delay equivalent to one LTF candle.
FVG Detection and Display Logic
Fair Value Gaps (FVGs) on the current chart timeframe (LTF) are detected based on barstate.isconfirmed. This means the three-bar pattern must be complete with closed bars before an FVG is identified. This confirmation method prevents FVGs from being prematurely identified on the forming bar.
Alerts
Alert Setup : To receive alerts from this indicator, you must first ensure you have enabled the specific alert conditions you are interested in within the indicator's own settings (see 'Comprehensive Alert System' under the 'FEATURES' section). Once configured, open TradingView's 'Create Alert' dialog. In the 'Condition' tab, select this indicator's name, and crucially, choose the 'Any alert() function call' option from the dropdown list. This setup allows the indicator to trigger alerts based on the precise event conditions you have activated in its settings
Alert Frequency : Alerts are designed to trigger once per bar close (alert.freq_once_per_bar_close) for the specific event.
User Interface (UI) Tips
Settings Group Icons: In the indicator settings menu, timeframe-specific groups are marked with star icons for easier navigation: 🌟 for LTF (Current Chart Timeframe), 🌟🌟 for MTF (Medium Timeframe), and 🌟🌟🌟 for HTF (High Timeframe).
Dependent Inputs: Some input settings are dependent on others being enabled. These dependencies are visually indicated in the settings menu using symbols like "↳" (dependent setting on the next line), "⟷" (mutually exclusive inline options), or "➜" (directly dependent inline option).
Settings Layout Overview: The indicator settings are organized into logical groups for ease of use. Key global display controls – such as toggles for MTF FVGs, HTF FVGs (along with their respective timeframe selectors), and the Information Panel – are conveniently located at the very top within the '⚙️ General Settings' group. This placement allows for quick access to frequently adjusted settings. Other sections provide detailed customization options for each timeframe (LTF, MTF, HTF), specific FVG components, and alert configurations.
█ FOR Pine Script® CODERS
This section provides a high-level overview of the FVG Premium indicator's internal architecture, data flow, and the interaction between its various library components. It is intended for Pine Script™ programmers who wish to understand the indicator's design, potentially extend its functionality, or learn from its structure.
System Architecture and Modular Design
The indicator is architected moduarly, leveraging several custom libraries to separate concerns and enhance code organization and reusability. Each library has a distinct responsibility:
FvgTypes: Serves as the foundational data definition layer. It defines core User-Defined Types (UDTs) like fvgObject (for storing all attributes of an FVG) and drawSettings (for visual configurations), along with enumerations like tfType.
CommonUtils: Provides utility functions for common tasks like mapping user string inputs (e.g., "Dashed" for line style) to their corresponding Pine Script™ constants (e.g., line.style_dashed) and formatting timeframe strings for display.
FvgCalculations: Contains the core logic for FVG detection (both LTF and MTF/HTF via requestMultiTFBarData), FVG classification (Large FVGs based on ATR), and checking FVG interactions with price (mitigation, partial fill).
FvgObject: Implements an object-oriented approach by attaching methods to the fvgObject UDT. These methods manage the entire visual lifecycle of an FVG on the chart, including drawing, updating based on state changes (e.g., mitigation), and deleting drawing objects. It's responsible for applying the visual configurations defined in drawSettings.
FvgPanel: Manages the creation and dynamic updates of the on-chart information panel, which displays key FVG levels.
The main indicator script acts as the orchestrator, initializing these libraries, managing user inputs, processing data flow between libraries, and handling the main event loop (bar updates) for FVG state management and alerts.
Core Data Flow and FVG Lifecycle Management
The general data flow and FVG lifecycle can be summarized as follows:
Input Processing: User inputs from the "Settings" dialog are read by the main indicator script. Visual style inputs (colors, line styles, etc.) are consolidated into a types.drawSettings object (defined in FvgTypes). Other inputs (timeframes, filter settings, alert toggles) control the behavior of different modules. CommonUtils assists in mapping some string inputs to Pine constants.
FVG Detection:
For the current chart timeframe (LTF), FvgCalculations.detectFvg() identifies potential FVGs based on bar patterns.
For MTF/HTF, the main indicator script calls FvgCalculations.requestMultiTFBarData() to fetch necessary bar data from higher timeframes, then FvgCalculations.detectMultiTFFvg() identifies FVGs.
Newly detected FVGs are instantiated as types.fvgObject and stored in arrays within the main script. These objects also undergo classification (e.g., Large FVG) by FvgCalculations.
State Update & Interaction: On each bar, the main indicator script iterates through active FVG objects to manage their state based on price interaction:
Initially, the main script calls FvgCalculations.fvgInteractionCheck() to efficiently determine if the current bar's price might be interacting with a given FVG.
If a potential interaction is flagged, the main script then invokes methods directly on the fvgObject instance (e.g., updateMitigation(), updatePartialFill(), checkMidlineTouch(), which are part of FvgObject).
These fvgObject methods are responsible for the detailed condition checking and the actual modification of the FVG's state. For instance, the updateMitigation() and updatePartialFill() methods internally utilize specific helper functions from FvgCalculations (like checkMitigation() and checkPartialMitigation()) to confirm the precise nature of the interaction before updating the fvgObject’s state fields (such as isMitigated, currentTop, currentBottom, or isMidlineTouched).
Visual Rendering:
The FvgObject.updateDrawings() method is called for each fvgObject. This method is central to drawing management; it creates, updates, or deletes chart drawings (boxes, lines, labels) based on the FVG's current state, its prev_* (previous bar state) fields for optimization, and the visual settings passed via the drawSettings object.
Information Panel Update: The main indicator script determines the nearest FVG levels, populates a panelData object (defined in FvgPanelLib), and calls FvgPanel.updatePanel() to refresh the on-chart display.
Alert Generation: Based on the updated FVG states and user-enabled alert settings, the main indicator script constructs and triggers alerts using Pine Script's alert() function."
Key Design Considerations
UDT-Centric Design: The fvgObject UDT is pivotal, acting as a stateful container for all information related to a single FVG. Most operations revolve around creating, updating, or querying these objects.
State Management: To optimize drawing updates and manage FVG lifecycles, fvgObject instances store their previous bar's state (e.g., prevIsVisible, prevCurrentTop). The FvgObject.updateDrawings() method uses this to determine if a redraw is necessary, minimizing redundant drawing calls.
Settings Object: A drawSettings object is populated once (or when inputs change) and passed to drawing functions. This avoids repeatedly reading numerous input() values on every bar or within loops, improving performance.
Dynamic Arrays for FVG Storage: Arrays are used to store collections of fvgObject instances, allowing for dynamic management (adding new FVGs, iterating for updates).