Premarket & ORB Body High/Low Lines Till Market CloseDraw horizontal line for PRE-MARKET and ORB --Wicks is excluded.
What it does:
Tracks premarket body high/low 4:00–9:29 AM NY time
Tracks Opening Range Breakout (ORB) body high/low 9:30–9:44 AM NY time
Draws horizontal lines extended right until you scroll forward (no fixed length)
Labels show current value and update dynamically
Resets everything cleanly at the start of each new day
Trend Analizi
Support and Resistance MTFSupport and Resistance MTF
Support and Resistance MTF is a powerful tool that automatically detects and visualizes key support and resistance levels based on pivot highs and lows, using a higher timeframe of your choice. It is designed for traders who focus on price action and market structure, and want an adaptive, clean, and customizable indicator that helps identify important market zones.
The script uses configurable pivot logic to identify levels, with user-defined parameters for pivot strength and timeframe. Once a support or resistance level is detected, it is displayed on the chart either as a horizontal line, a shaded box, or both, depending on your display settings. You can fully customize the visual appearance including color, transparency, and line thickness. Levels are automatically extended into the future, and optionally into the past, to give better context.
Each level is monitored for breakout behavior. If price breaks through a level, it can change its role — a former resistance may become support, and vice versa. After a certain number of breakouts (which you define), the level is considered invalid and is automatically removed from the chart. This helps to maintain a clean visual layout and ensures only relevant levels are shown.
The indicator supports multi-timeframe analysis, allowing you to overlay higher-timeframe structure directly on your lower-timeframe trading chart. It is also compatible with Heikin Ashi candles internally for reference, without affecting your main chart type.
Support and Resistance MTF is ideal for traders looking to align intraday setups with higher-timeframe zones, manage risk around structural levels, or simply highlight market turning points in a clear and automated way. Built with Pine Script v5 and optimized for performance, it is both powerful and lightweight.
⚙️ Input Parameters – Description
[Time-Frame
Defines the higher timeframe used for detecting support and resistance levels. For example, you can set this to 1h, 4h, or D to visualize significant levels from a broader market perspective on a lower-timeframe chart.
Left / Right (Pivot Left / Pivot Right)
These parameters control the sensitivity of the pivot detection. A pivot high/low is confirmed if it is higher/lower than the defined number of candles to its left and right. Higher values reduce noise but may miss smaller turning points.
Extend Left
When enabled, the drawn levels (lines and/or boxes) are extended to the left side of the chart, allowing you to see the historical alignment of these levels.
Max Breaks Before Delete
Defines how many times a level can be broken by price before it is removed from the chart. This helps to avoid clutter from outdated or invalidated levels and keeps your chart relevant to current price action.
Draw Lines Only
If enabled, the indicator will draw only horizontal lines for support and resistance zones, omitting the colored background boxes. Useful for a cleaner chart appearance.
Line Width Broken Level
Sets the thickness of the support/resistance lines. Thicker lines can emphasize key levels, especially after a breakout.
Transparency Boxes
Controls the transparency (0–100) of the background boxes representing the zones. A higher value makes the boxes more transparent, lower values make them more opaque.
Transparency Lines
Controls the transparency (0–100) of the horizontal support and resistance lines. This allows for visual fine-tuning based on chart background and personal preference.
Support (Color, Group: Display)
Lets you choose the color used for support zones and lines. By default, it's green, but you can change it to fit your theme or visual preference.
Resistance (Color, Group: Display)
Defines the color for resistance zones and lines. The default is red, but it can be customized freely.
Two Candle Theory (Filtered) - Labels & ColorsOverview
This Pine Script classifies each candle into one of nine sentiment categories based on how the candle closes within its own range and in relation to the previous candle’s high and low. It optionally filters the strongest bullish and bearish signals based on volume spikes.
The script is designed to help traders visually interpret market sentiment through configurable labels and candle colors.
⸻
Classification Logic
Each candle is assessed using two metrics:
1. Close Position – where the candle closes within its own high-low range (High, Mid, Low).
2. Close Comparison – how the current close compares to the previous candle’s high and low (Bull, Bear, or Range).
Based on this, a short label is assigned:
• Bullish Bias: Strongest (SBu), Moderate (MBu), Weak (WBu), Slight (SlB)
• Neutral: Neutral (N)
• Bearish Bias: Slight (SlS), Weak (WBa), Moderate (MBa), Strongest (SBa)
⸻
Volume Filter
A volume spike filter can be applied to the strongest signals:
• SBu and SBa are only shown if volume is significantly higher than the average (SMA × threshold).
• The filter is optional and user-configurable.
⸻
Display Options
Users can control:
• Whether to show labels, bar colors, or both.
• Which of the nine label types are visible.
• Custom colors for each label and corresponding bar.
⸻
Visual Output
• Labels appear above or below candles depending on bullish or bearish classification.
• Bar colors reflect sentiment for quicker visual scanning.
⸻
Use Case
Ideal for identifying momentum shifts, validating trade entries, and highlighting candles that break out of previous ranges with conviction and/or volume.
⸻
Summary
This script simplifies price action by translating each candle into an interpretable sentiment label and color. With optional volume filtering and full display customization, it offers a practical tool for discretionary and systematic traders alike.
MirPapa:ICT:HTF: FVG OB Threeple# MirPapa:ICT:HTF: FVG OB (Fair Value Gap Order Block)
**Version:** Pine Script® v6
**Author:** © goodia
**License:** MPL-2.0 (Mozilla Public License 2.0)
---
## Overview
“FVG OB” (Fair Value Gap Order Block) identifies higher-timeframe candle ranges where a gap (imbalance) exists between two non-consecutive candles, signaling potential institutional order blocks. This module draws bullish or bearish FVG OB boxes on your lower-timeframe chart, extends them until price interacts a specified number of times, and then finalizes (recolors) the box.
---
## Inputs
- **Enable FVG OB Boxes** (`bool`)
Toggle drawing of HTF FVG OB boxes on the chart.
- **Enable FVG OB Midlines** (`bool`)
Toggle drawing of a midpoint line inside each FVG OB box.
- **FVG OB Close Count** (`int` 1–10)
Number of HTF closes beyond the FVG range required to finalize (recolor) the box.
- **FVG OB Bull Color** (`color`)
Fill & border color for bullish FVG OB boxes.
- **FVG OB Bear Color** (`color`)
Fill & border color for bearish FVG OB boxes.
- **FVG OB Box Transparency** (`int` 1–100)
Opacity level for FVG OB box fills (higher = more transparent).
---
## How It Works
1. **HTF Data Retrieval**
- The script uses `request.security()` (via `GetHTFrevised()`) to fetch HTF OHLC and historical values:
- `_htfHigh3` (high three bars ago) and `_htfLow1` (low one bar ago) for bullish FVG OB.
- `_htfLow3` (low three bars ago) and `_htfHigh1` (high one bar ago) for bearish FVG OB.
- It also tracks the HTF `bar_index` on the lower timeframe to align drawing.
2. **FVG OB Detection**
- **Bullish FVG OB**: Occurs when the HTF low of the previous bar (`low `) is strictly above the HTF high of three bars ago (`high `), creating a gap.
- **Bearish FVG OB**: Occurs when the HTF high of the previous bar (`high `) is strictly below the HTF low of three bars ago (`low `), creating a gap.
3. **Box Creation**
- On each new HTF bar (`ta.change(time(HTF)) != 0`), if a bullish or bearish FVG OB condition is met, the script calls `CreateBoxData()` with:
- **Bullish**: `bottom = HTF low `, `top = HTF high `, `_isBull = true`.
- **Bearish**: `bottom = HTF low `, `top = HTF high `, `_isBull = false`.
- Midline toggled by input.
- A `BoxData` struct is created and stored in either the Bull or Bear array.
4. **Box Extension & Finalization**
- On **every LTF bar**, `ProcessBoxDatas(...)` iterates over all active FVG OB boxes:
1. **Extend Right Edge**: `box.set_right(bar_index)` ensures the box follows the latest bar.
2. **Record Volume Delta**: Tracks buy/sell volume inside the box.
3. **Touch Stage Update**: `modBoxUpdateStage()` increments `_stage` when price touches its “basePoint” (for FVG OB, the basePrice is one side of the gap).
4. **Finalize**: `setBoxFinalize()` checks if the configured number of closes beyond the FVG gap (`FVG OB Close Count`) has occurred. If so:
- `_isActive := false`
- Border and background colors are changed to the “Box Close Color” (input).
- Finalized boxes remain on screen semi-transparent, indicating that the FVG OB zone has been tested.
5. **Midline (Optional)**
- If “Enable FVG OB Midlines” is checked, `ProcessBoxDatas()` also extends a horizontal midpoint line inside the box with `line.set_x2(bar_index)`.
---
## Usage Instructions
1. **Installation**
- Copy the FVG OB section of the Pine Script into TradingView’s Pine Editor (ensure the library import is included).
- Click “Add to Chart.”
2. **Configure Inputs**
- Choose a Higher Time Frame via the dropdown (e.g., “4시간” maps to a 4H timeframe).
- Toggle “Enable FVG OB Boxes” and “Enable FVG OB Midlines.”
- Select colors for bullish and bearish boxes and set transparency.
- Adjust “FVG OB Close Count” to control how many closes beyond the gap finalize the box.
3. **Interpretation**
- **Active FVG OB Boxes** extend to the right until price closes beyond the gap range the specified number of times.
- When finalized, each box changes to the “Box Close Color,” signaling that institutional orders in that gap have likely been filled.
Enjoy precise visualization of higher-timeframe Fair Value Gap Order Blocks on your lower-timeframe chart!
Shooting Star Detector[cryptovarthagam]🌠 Shooting Star Detector
The Shooting Star Detector is a powerful price action tool that automatically identifies potential bearish reversal signals using the well-known Shooting Star candlestick pattern.
Ideal for traders who rely on candlestick psychology to spot high-probability short setups, this script works across all markets and timeframes.
🔍 What is a Shooting Star?
A Shooting Star is a single-candle pattern that typically forms at the top of an uptrend or resistance zone. It’s characterized by:
A small body near the candle's low,
A long upper wick, and
Little or no lower wick.
This pattern suggests that buyers pushed price higher but lost control by the close, hinting at potential bearish momentum ahead.
✅ Indicator Features:
🔴 Accurately detects Shooting Star candles in real-time
🔺 Plots a red triangle above every valid signal candle
🖼️ Optional background highlight for visual clarity
🕵️♂️ Strict ratio-based detection using:
Wick-to-body comparisons
Upper wick dominance
Optional bearish candle confirmation
⚙️ Detection Logic (Rules Used):
Upper wick > 60% of total candle range
Body < 20% of total candle
Lower wick < 15% of candle range
Bearish candle (optional but included for accuracy)
These rules ensure high-quality signals that filter out false positives.
📌 Best Use Cases:
Spotting trend reversals at swing highs
Confirming entries near resistance zones
Enhancing price action or supply/demand strategies
Works on: Crypto, Forex, Stocks, Commodities
🧠 Trading Tip:
Pair this detector with volume confirmation, resistance zones, or bearish divergence for higher-probability entries.
📉 Clean, minimal, and non-repainting — designed for traders who value accuracy over noise.
Created with ❤️ by Cryptovarthagam
Follow for more real-time price action tools!
Swing High Low Detector by RV5📄 Description
The Swing High Low Detector is a visual indicator that automatically detects and displays swing highs and swing lows on the chart. Swings are determined based on configurable strength parameters (number of bars before and after a high/low), allowing users to fine-tune the sensitivity of the swing points.
🔹 Current swing levels are shown as solid (or user-defined) lines that dynamically extend until broken.
🔹 Past swing levels are preserved as dashed/dotted lines once broken, allowing traders to see previous support/resistance zones.
🔹 Customizable line colors, styles, and thickness for both current and past levels.
This indicator is useful for:
Identifying key market structure turning points
Building breakout strategies
Spotting trend reversals and swing zones
⚙️ How to Use
1. Add the indicator to any chart on any timeframe.
2. Adjust the Swing Strength inputs to change how sensitive the detector is:
A higher value will filter out smaller moves.
A lower value will capture more frequent swing points.
3. Customize the line styles for visual preference.
Choose different colors, line styles (solid/dashed/dotted), and thickness for:
Current Swing Highs (SH)
Past Swing Highs
Current Swing Lows (SL)
Past Swing Lows
4. Observe:
As new swing highs/lows are detected, the indicator draws a new current level.
Once price breaks that level, the line is archived as a past level and a new current swing is drawn.
✅ Features
Fully customizable styling for all lines
Real-time updates and automatic level tracking
Supports all chart types and instruments
👨💻 Credits
Script logic and implementation by RV5. This script was developed as a tool to improve price action visualization and trading structure clarity. Not affiliated with any financial institution. Use responsibly.
Trend Scanner ProTrend Scanner Pro, Robust Trend Direction and Strength Estimator
Trend Scanner Pro is designed to evaluate the current market trend with maximum robustness, providing both direction and strength based on statistically reliable data.
This indicator builds upon the core logic of a previous script I developed, called Best SMA Finder. While the original script focused on identifying the most profitable SMA length based on backtested trade performance, Trend Scanner Pro takes that foundation further to serve a different purpose: analyzing and quantifying the actual trend state in real time.
It begins by testing hundreds of SMA lengths, from 10 to 1000 periods. Each one is scored using a custom robustness formula that combines profit factor, number of trades, and win rate. Only SMAs with a sufficient number of trades are retained, ensuring statistical validity and avoiding curve fitting.
The SMA with the highest robustness score is selected as the dynamic reference point. The script then calculates how far the price deviates from it using rolling standard deviation, assigning a trend strength score from -5 (strong bearish) to +5 (strong bullish), with 0 as neutral.
Two detection modes are available:
Slope mode, based on SMA slope reversals
Bias mode, based on directional shifts relative to deviation zones
Optional features:
Deviation bands for visual structure
Candle coloring to reflect trend strength
Compact table showing real-time trend status
This tool is intended for traders who want an adaptive, objective, and statistically grounded assessment of market trend conditions.
BAFD (Price Action For D.....s)🧠 Overview
This indicator combines multiple Moving Averages (MA) with visual price action elements such as Fair Value Gaps (FVGs) and Swing Points. It provides traders with real-time insight into trend direction, structural breaks, and potential entry zones based on institutional price behavior.
⚙️ Features
1. Multi MA Visualization (SMA & EMA)
- Plots short-, mid-, and long-term moving averages
- Fully customizable: MA type (SMA/EMA) and length per MA
- Dynamic color coding: green for bullish, red for bearish (based on close >/< MA)
2. Fair Value Gaps (FVG) Detection
Detects bullish and bearish imbalances using multiple logic types:
- Same Type: Last 3 candles move in the same direction
- Twin Close: Last 2 candles close in the same direction
- All: Shows all valid FVGs regardless of pattern
Gaps are marked with semi-transparent yellow boxes
Useful for identifying potential liquidity voids and retest zones
3. Swing Highs and Lows
- Automatically identifies major swing points
- Customizable sensitivity (strength setting)
Marked with subtle colored dots for structure identification or support/resistance mapping
📈 Use Cases
- Trend Identification: Visualize momentum on multiple timeframes
- Liquidity Mapping: Spot potential retracement zones using FVGs
- Confluence Building: Combine MA slope, FVG zones, and swing points for refined setups
🛠️ Customizable Settings
- Moving average type and length for each MA
- FVG logic selection and color
- Swing point strength
🔔 Note
This script does not generate buy/sell signals or alerts. It is designed as a visual decision-support tool for discretionary traders who rely on market structure, trend, and price action.
PinBar Finder | @CRYPTOKAZANCEVPinBar Finder | @CRYPTOKAZANCEV
This script helps traders identify high-probability reversal points based on price action, specifically Pin Bars — a well-known candlestick pattern used in technical analysis.
What does the indicator do?
It detects bullish and bearish Pin Bars using a custom method for wick-to-body ratio and filters based on historical volatility (pseudo-ATR). A label appears on the chart with detailed info on wick and body size when a valid signal is found.
How does it work?
- The indicator calculates a pseudo-ATR based on the percentage range of the last 1000 candles.
- It then multiplies this value by a user-defined factor (default: 1.1) to set a dynamic threshold for wick size.
- Bullish Pin Bars are detected when the lower wick is at least 1.1 times the body and greater than the dynamic ATR.
- Bearish Pin Bars are detected when the upper wick meets similar conditions.
- Signals are shown using chart labels with exact wick/body percentages.
- Alerts are included for automation or integration with trading bots.
How to use it?
- Add the indicator to any timeframe and asset.
- Use the alerts to notify you when a Pin Bar appears.
- Ideal for traders who use candlestick reversal strategies or combine price action with other confluence tools.
- You can adjust the wick length multiplier to fit the volatility of the instrument.
What makes it original?
Unlike many public scripts that use fixed ratios, this script adapts wick length detection based on recent volatility (pseudo-ATR logic). This makes it more dynamic and suitable for different markets and timeframes.
Developed by: @ZeeZeeMon
Original author name on chart: @CRYPTOKAZANCEV
This script is open-source and educational. Use at your own discretion.
PinBar Finder | @CRYPTOKAZANCEV
Этот скрипт помогает трейдерам находить точки потенциального разворота на основе прайс-экшена, а именно — свечного паттерна «Пин-бар». Индикатор автоматически определяет бычьи и медвежьи пин-бары с учетом адаптивных параметров волатильности.
Что делает индикатор?
Скрипт ищет свечи, у которых тень в несколько раз превышает тело (пин-бары), и отображает на графике точную информацию о длине тела и тени. Это полезно для трейдеров, использующих свечные сигналы на разворот.
Как работает?
- Рассчитывается псевдо-ATR по 1000 последним свечам на основе процентного диапазона high-low.
- Этот ATR умножается на заданный множитель (по умолчанию: 1.1), чтобы динамически задать минимальную длину тени.
- Бычий пин-бар определяется, когда нижняя тень больше тела в 1.1 раза и превышает ATR.
- Медвежий пин-бар — аналогично, но для верхней тени.
- Индикатор отображает лейблы с точными значениями тела и тени.
- Реализованы условия для оповещений (alerts).
Как использовать?
- Добавьте индикатор на нужный график и таймфрейм.
- Настройте alerts, чтобы не пропустить сигналы.
- Особенно полезен для трейдеров, работающих со свечным анализом, стратегиями разворота, а также в сочетании с другими индикаторами.
В чем оригинальность?
В отличие от многих скриптов, использующих фиксированные параметры, здесь используется динамический расчет длины тени на основе волатильности. Это делает скрипт адаптивным к рынку и таймфрейму.
Разработчик: @ZeeZeeMon
Оригинальное имя автора на графике: @CRYPTOKAZANCEV
Скрипт является открытым и предназначен для образовательных целей. Используйте на своё усмотрение.
Laplace Momentum Percentile ║ BullVision 🔬 Overview
Laplace Momentum Percentile ║ BullVision is a custom-built trend analysis tool that applies Laplace-inspired smoothing to price action and maps the result to a historical percentile scale. This provides a contextual view of trend intensity, with optional signal refinement using a Kalman filter.
This indicator is designed for traders and analysts seeking a normalized, scale-independent perspective on market behavior. It does not attempt to predict price but instead helps interpret the relative strength or weakness of recent movements.
⚙️ Key Concepts
📉 Laplace-Based Smoothing
The core signal is built using a Laplace-style weighted average, applying an exponential decay to price values over a specified length. This emphasizes recent movements while still accounting for historical context.
🎯 Percentile Mapping
Rather than displaying the raw output, the filtered signal is converted into a percentile rank based on its position within a historical lookback window. This helps normalize interpretation across different assets and timeframes.
🧠 Optional Kalman Filter
For users seeking additional smoothing, a Kalman filter is included. This statistical method updates signal estimates dynamically, helping reduce short-term fluctuations without introducing significant lag.
🔧 User Settings
🔁 Transform Parameters
Transform Parameter (s): Controls the decay rate for Laplace weighting.
Calculation Length: Sets how many candles are used for smoothing.
📊 Percentile Settings
Lookback Period: Defines how far back to calculate the historical percentile ranking.
🧠 Kalman Filter Controls
Enable Kalman Filter: Optional toggle.
Process Noise / Measurement Noise: Adjust the filter’s responsiveness and tolerance to volatility.
🎨 Visual Settings
Show Raw Signal: Optionally display the pre-smoothed percentile value.
Thresholds: Customize upper and lower trend zone boundaries.
📈 Visual Output
Main Line: Smoothed percentile rank, color-coded based on strength.
Raw Line (Optional): The unsmoothed percentile value for comparison.
Trend Zones: Background shading highlights strong upward or downward regimes.
Live Label: Displays current percentile value and trend classification.
🧩 Trend Classification Logic
The indicator segments percentile values into five zones:
Above 80: Strong upward trend
50–80: Mild upward trend
20–50: Neutral zone
0–20: Mild downward trend
Below 0: Strong downward trend
🔍 Use Cases
This tool is intended as a visual and contextual aid for identifying trend regimes, assessing historical momentum strength, or supporting broader confluence-based analysis. It can be used in combination with other tools or frameworks at the discretion of the trader.
⚠️ Important Notes
This script does not provide buy or sell signals.
It is intended for educational and analytical purposes only.
It should be used as part of a broader decision-making process.
Past signal behavior should not be interpreted as indicative of future results.
Not-So-Average True Range (nsATR)Not-So-Average True Range (nsATR)
*By Sherlock_MacGyver*
---
Long Story Short
The nsATR is a complete overhaul of traditional ATR analysis. It was designed to solve the fundamental issues with standard ATR, such as lag, lack of contextual awareness, and equal treatment of all volatility events.
Key innovations include:
* A smarter ATR that reacts dynamically when price movement exceeds normal expectations.
* Envelope zones that distinguish between moderate and extreme volatility conditions.
* A long-term ATR baseline that adds historical context to current readings.
* A compression detection system that flags when the market is coiled and ready to break out.
This indicator is designed for traders who want to see volatility the way it actually behaves — contextually, asymmetrically, and with predictive power.
---
What Is This Thing?
Standard ATR (Average True Range) has limitations:
* It smooths too slowly (using Wilder's RMA), which delays detection of meaningful moves.
* It lacks context — no way to know if current volatility is high or low relative to history.
* It treats all volatility equally, regardless of scale or significance.
nsATR** was built from scratch to overcome these weaknesses by applying:
* Amplification of large True Range spikes.
* Visual envelope zones for detecting volatility regimes.
* A long-term context line to anchor current readings.
* Multi-factor compression analysis to anticipate breakouts.
---
Core Features
1. Breach Detection with Amplification
When True Range exceeds a user-defined threshold (e.g., ATR × 1.2), it is amplified using a power function to reflect nonlinear volatility. This amplified value is then smoothed and cascades into future ATR values, affecting the indicator beyond a single bar.
2. Direction Tagging
Volatility spikes are tagged as upward or downward based on basic price momentum (close vs previous close). This provides visual context for how volatility is behaving in real-time.
3. Envelope Zones
Two adaptive envelopes highlight the current volatility regime:
* Stage 1: Moderate volatility (default: ATR × 1.5)
* Stage 2: Extreme volatility (default: ATR × 2.0)
Breaching these zones signals meaningful expansion in volatility.
4. Long-Term Context Baseline
A 200-period simple moving average of the classic ATR establishes whether current readings are above or below long-term volatility expectations.
5. Multi-Signal Compression Detection
Flags potential breakout conditions when:
* ATR is below its long-term baseline
* Price Bollinger Bands are compressed
* RSI Bollinger Bands are also compressed
All three signals must align to plot a "Volatility Confluence Dot" — an early warning of potential expansion.
---
Chart Outputs
In the Indicator Pane:
* Breach Amplified ATR (Orange line)
* Classic ATR baseline (White line)
* Long-Term context baseline (Cyan line)
* Stage 1 and Stage 2 Envelopes (Purple and Yellow lines)
On the Price Chart:
* Triangles for breach direction (green/red)
* Diamonds for compression zones
* Optional background coloring for visual clarity
---
Alerts
Built-in alert conditions:
1. ATR breach detected
2. Stage 1 envelope breached
3. Stage 2 envelope breached
4. Compression zone detected
---
Customization
All components are modular. Traders can adjust:
* Display toggles for each visual layer
* Colors and line widths
* Breach threshold and amplification power
* Envelope sensitivity
* Compression sensitivity and lookback windows
Some options are disabled by default to reduce clutter but can be turned on for more aggressive signal detection.
---
Real-Time Behavior (Non-Repainting Clarification)
The indicator updates in real time on the current bar as new data comes in. This is expected behavior for live trading tools. Once a bar closes, values do not change. In other words, the indicator *does not repaint history* — but the current bar can update dynamically until it closes.
---
Use Cases
* Day traders: Use compression zones to anticipate volatility surges.
* Swing traders: Use envelope breaches for regime awareness.
* System developers: Replace standard ATR in your logic for better responsiveness.
* Risk managers: Use directional volatility signals to better model exposure.
---
About the Developer
Sherlock_MacGyver develops original trading systems that question default assumptions and solve real trader problems.
Grid TLong V1The “Grid TLong V1” strategy is based on the classic Grid strategy, but in the mode of buying and selling in favor of the trend and only on Long. This allows to take advantage of large uptrend movements to maximize profits in bull markets. For this reason, excessively sideways or bearish markets may not be very conducive to this strategy.
Like our Grid strategies in favor of the trend, you can enter and exit with the balance with controlled risk, as the distance between each grid functions as a natural and adaptable stop loss and take profit. What differentiates it from bidirectional strategies is that Short uses a minimum amount of follow-through, so that the percentage distance between the grids is maintained.
In this version of the script the entries and exits can be chosen at market or limit , and are based on the profit or loss of the current position, not on the percentage change in price.
The user may also notice that the strategy setup is risk-controlled, because it risks 5% on each trade, has a fairly standard commission and modest initial capital, all in order to protect the strategy user from unrealistic results.
As with all strategies, it is strongly recommended to optimize the parameters for the strategy to be effective for each asset and for each time frame.
Previous Highs & Lows (Customizable)Previous Highs & Lows (Customizable)
This Pine Script indicator displays horizontal lines and labels for high, low, and midpoint levels across multiple timeframes. The indicator plots levels from the following periods:
Today's session high, low, and midpoint
Yesterday's high, low, and midpoint
Current week's high, low, and midpoint
Last week's high, low, and midpoint
Last month's high, low, and midpoint
Last quarter's high, low, and midpoint
Last year's high, low, and midpoint
Features
Individual Controls: Each timeframe has separate toggles for showing/hiding high/low levels and midpoint levels.
Custom Colors: Independent color selection for lines and labels for each timeframe group.
Display Options:
Adjustable line width (1-5 pixels)
Variable label text size (tiny, small, normal, large, huge)
Configurable label offset positioning
Organization: Settings are grouped by timeframe in a logical sequence from most recent (today) to least recent (last year).
Display Logic: Lines span the current trading day only. Labels are positioned to the right of the price action. The indicator automatically removes previous drawings to prevent chart clutter.
EMA CCI SSL BUY SELL Signal [THANHCONG]EMA CCI SSL BUY SELL Signal
Introduction:
The EMA CCI SSL BUY SELL Signal indicator is a comprehensive technical analysis tool designed to help traders identify trends and optimal entry and exit points with clarity and reliability. By combining reputable indicators such as EMA, CCI, SSL Channel, and RSI, this indicator generates buy and sell signals based on multiple validated factors, helping to filter noise and increase accuracy.
Key Features:
Utilizes multi-timeframe SSL channel with both automatic and manual mode options, suitable for various trading strategies.
Includes an RSI filter to minimize false signals in overbought or oversold regions.
Detects volume spikes to confirm the strength of the current trend.
Integrates CCI divergence and reversal candle patterns (Hammer, Shooting Star) to enhance signal precision in spotting potential reversals.
Displays clear buy/sell signals directly on the chart and provides a live performance table showing percentage changes.
Supports linear regression channel drawing to help users easily recognize trend direction and price volatility.
Recommended Usage:
Optimal Timeframes: Best used on 5-minute, 15-minute, 1-hour, 4-hour, 12-hour, and daily (D) timeframes. Avoid using on other timeframes to maintain signal reliability.
Signal Confirmation: Combine indicator signals with SSL channel direction and regression channel slope to improve confidence.
Combined Indicators: For enhanced effectiveness and noise reduction, it is recommended to use this indicator alongside the MCDX+RSI+SMA indicator. This combined approach provides a more comprehensive market view and supports better trading decisions.
Alerts: Users can set buy/sell alerts on TradingView to receive timely notifications when signals occur.
Important Notes:
This indicator is provided as a technical analysis aid and is not financial advice or a guarantee of profit.
Indicator performance may vary depending on market conditions and the traded asset.
Users should combine multiple tools and practice proper risk management when making trading decisions.
Thank You:
Thank you for using this indicator! If you find it useful, please consider leaving positive feedback and sharing it to help build a professional, transparent, and sustainable trading community.
Disclaimer:
The author and TradingView are not responsible for any losses resulting from the use of this indicator. Please trade responsibly and carefully consider your decisions.
Wishing you successful and safe trading!
#EMA #CCI #SSLChannel #RSI #TradingView #BuySellSignals #TechnicalAnalysis #TrendFollowing #VolumeSpike #CandlePatterns #TradingTools #Forex #Stocks #Crypto #Thanhcong
HTF Candle Breakout Fibonacci LevelsThis indicator automatically plots Fibonacci retracement levels on a lower timeframe (LTF) after detecting a breakout candle on a selected higher timeframe (HTF).
🔍 How It Works
When a candle on your selected HTF closes beyond the high or low of the previous candle, the indicator automatically draws Fibonacci levels on the LTF.
These levels remain visible until the next HTF candle is formed — allowing you to trade retracements with contextual precision.
⸻
⚙️ Customization Options
From the indicator settings, you can modify:
• The HTF candle timeframe (default is 1D)
• Fibonacci levels and colors
• Enable or disable “Show Only the Latest Levels” — ideal for live trading to keep the chart clean and focused.
⸻
🟪 HTF Candles Preview
After applying the indicator, you’ll see 3 vertical bars on the right edge of your LTF chart. These represent a live preview of the last three HTF candles and update in real-time.
If you prefer a cleaner chart, disable this feature via the “Show HTF Candles” toggle in the settings.
⸻
Feel free to reach out if you have any questions.
Volatility Bias ModelVolatility Bias Model
Overview
Volatility Bias Model is a purely mathematical, non-indicator-based trading system that detects directional probability shifts during high volatility market phases. Rather than relying on classic tools like RSI or moving averages, this strategy uses raw price behavior and clustering logic to determine potential breakout direction based on recent market bias.
How It Works
Over a defined lookback window (default 10 bars), the strategy counts how many candles closed in the same direction (i.e., bullish or bearish).
Simultaneously, it calculates the price range during that window.
If volatility is above a minimum threshold and a clear directional bias is detected (e.g., >60% of closes are bullish), a trade is opened in the direction of that bias.
This approach assumes that when high volatility is coupled with directional closing consistency, the market is probabilistically more likely to continue in that direction.
ATR-based stop-loss and take-profit levels are applied, and trades auto-exit after 20 bars if targets are not hit.
Key Features
- 100% non-indicator-based logic
- Statistically-driven directional bias detection
- Works across all timeframes (1H, 4H, 1D)
- ATR-based risk management
- No pyramiding, slippage and commissions included
- Compatible with real-world backtesting conditions
Realism & Assumptions
To make this strategy more aligned with actual trading environments, it includes 0.05% commission per trade and a 1-point slippage on every entry and exit.
Additionally, position sizing is set at 10% of a $10,000 starting capital, and no pyramiding is allowed.
These assumptions help avoid unrealistic backtest results and make the performance metrics more representative of live conditions.
Parameter Explanation
Bias Window (10 bars): Number of past candles used to evaluate directional closings
Bias Threshold (0.60): Required ratio of same-direction candles to consider a bias valid
Minimum Range (1.5%): Ensures the market is volatile enough to avoid noise
ATR Length (14): Used to dynamically define stop-loss and target zones
Risk-Reward Ratio (2.0): Take-profit is set at twice the stop-loss distance
Max Holding Bars (20): Trades are closed automatically after 20 bars to prevent stagnation
Originality Note
Unlike common strategies based on oscillators or moving averages, this script is built on pure statistical inference. It models the market as a probabilistic process and identifies directional intent based on historical closing behavior, filtered by volatility. This makes it a non-linear, adaptive model grounded in real-world price structure — not traditional technical indicators.
Disclaimer
This strategy is for educational and experimental purposes only. It does not constitute financial advice. Always perform your own analysis and test thoroughly before applying with real capital.
Commodity Trend Reactor [BigBeluga]
🔵 OVERVIEW
A dynamic trend-following oscillator built around the classic CCI, enhanced with intelligent price tracking and reversal signals.
Commodity Trend Reactor extends the traditional Commodity Channel Index (CCI) by integrating trend-trailing logic and reactive reversal markers. It visualizes trend direction using a trailing stop system and highlights potential exhaustion zones when CCI exceeds extreme thresholds. This dual-level system makes it ideal for both trend confirmation and mean-reversion alerts.
🔵 CONCEPTS
Based on the CCI (Commodity Channel Index) oscillator, which measures deviation from the average price.
Trend bias is determined by whether CCI is above or below user-defined thresholds.
Trailing price bands are used to lock in trend direction visually on the main chart.
Extreme values beyond ±200 are treated as potential reversal zones.
🔵 FEATURES\
CCI-Based Trend Shifts:
Triggers a bullish bias when CCI crosses above the upper threshold, and bearish when it crosses below the lower threshold.
Adaptive Trailing Stops:
In bullish mode, a trailing stop tracks the lowest price; in bearish mode, it tracks the highest.
Top & Bottom Markers:
When CCI surpasses +200 or drops below -200, it plots colored squares both on the oscillator and on price, marking potential reversal zones.
Background Highlights:
Each time a trend shift occurs, the background is softly colored (lime for bullish, orange for bearish) to highlight the change.
🔵 HOW TO USE
Use the oscillator to monitor when CCI crosses above or below threshold values to detect trend activation.
Enter trades in the direction of the trailing band once the trend bias is confirmed.
Watch for +200 and -200 square markers as warnings of potential mean reversals.
Use trailing stop areas as dynamic support/resistance to manage stop loss and exit strategies.
The background color changes offer clean confirmation of trend transitions on chart.
🔵 CONCLUSION
Commodity Trend Reactor transforms the simple CCI into a complete trend-reactive framework. With real-time trailing logic and clear reversal alerts, it serves both momentum traders and contrarian scalpers alike. Whether you’re trading breakouts or anticipating mean reversions, this indicator provides clarity and structure to your decision-making.
The Strat The Strat Bar Type Identifier – Pure Price Action Logic
This open-source indicator implements the foundational bar classification of "The Strat" method developed by Rob Smith. It identifies each candle on the chart as one of the three core types used in The Strat:
* Inside Bar (1): The candle’s range is fully within the previous candle’s range. This indicates consolidation or balance and often precedes breakouts or reversals.
* Two-Up Bar (2U): The current candle breaks the previous high but does not break its low. This is considered bullish directional movement.
* Two-Down Bar (2D): The current candle breaks the previous low but not the high. This signals bearish directional movement.
* Outside Bar (3): The candle breaks both the high and the low of the previous candle, signaling a broadening formation and high volatility.
The script plots a character below each candle based on its type:
* "1" for Inside Bar
* "2" for Two-Up or Two-Down (color-coded)
* "3" for Outside Bar
This tool helps traders quickly identify actionable setups according to The Strat method and serves as a foundation for more advanced strategies like the 3-1-2 reversal or 1-2-2 continuation.
All calculations are based purely on price action—no indicators, no smoothing, no lagging elements. It is ideal for traders looking to understand price structure and bar sequencing from a Strat perspective.
To use:
1. Add the indicator to any chart and timeframe.
2. Look for the numbers below the candles.
3. Analyze the sequence of bar types to spot Strat setups.
This script is educational and can be extended with multi-timeframe context, FTFC logic, actionable signals, or broadening formation detection.
Clean, minimal, and faithful to the core principles of The Strat.
Candle Range Trading (CRT) with Alerts
📌 Description:
The Candle Range Trading (CRT) indicator identifies potential reversal or continuation setups based on specific two-candle price action patterns.
It analyzes pairs of candles to detect Bullish or Bearish CRT patterns and provides visual signals (triangles) and alert notifications to support scalp or swing trading strategies.
🔍 How It Works:
🔻 Bearish CRT Pattern:
Candle 1 is bullish
Candle 2 is bearish
Candle 2's high > Candle 1's high
Candle 2 closes within Candle 1’s range
🔺 Red triangle above candle
🔺 Bullish CRT Pattern:
Candle 1 is bearish
Candle 2 is bullish
Candle 2's low < Candle 1's low
Candle 2 closes within Candle 1’s range
🔻 Green triangle below candle
📈 Visual Features:
🔺 Red triangle = Bearish CRT
🔻 Green triangle = Bullish CRT
📏 Optional box showing CRT High and CRT Low
🔔 Built-in Alerts:
Bullish CRT Alert: "Bullish CRT Pattern Detected"
Bearish CRT Alert: "Bearish CRT Pattern Detected"
Set alerts to get notified instantly when a pattern is detected.
⚠️ Note:
Use in conjunction with trend filters, support/resistance, or volume for best results.
Ideal for scalping or short-term trades.
Avoid trading in choppy or low-volume markets.
⚠️ Disclaimer:
This script was generated with the assistance of ChatGPT by OpenAI and is intended for educational and informational purposes only.
All strategies, alerts, and signals derived from this indicator should be thoroughly backtested and validated before using in live trading.
Trading involves substantial risk, and past performance is not indicative of future results. The author and ChatGPT bear no responsibility for any trading losses or financial decisions made using this script.
Users are solely responsible for the risks associated with their trading actions. Always apply proper risk management and perform your own due diligence before making any financial decisions.
Price Statistical Strategy-Z Score V 1.01
Price Statistical Strategy – Z Score V 1.01
Overview
A technical breakdown of the logic and components of the “Price Statistical Strategy – Z Score V 1.01”.
This script implements a smoothed Z-Score crossover mechanism applied to the closing price to detect potential statistical deviations from local price mean. The strategy operates solely on price data (close) and includes signal spacing control and momentum-based candle filters. No volume-based or trend-detection components are included.
Core Methodology
The strategy is built on the statistical concept of Z-Score, which quantifies how far a value (closing price) is from its recent average, normalized by standard deviation. Two moving averages of the raw Z-Score are calculated: a short-term and a long-term smoothed version. The crossover between them generates long entries and exits.
Signal Conditions
Entry Condition:
A long position is opened when the short-term smoothed Z-Score crosses above the long-term smoothed Z-Score, and additional entry conditions are met.
Exit Condition:
The position is closed when the short-term Z-Score crosses below the long-term Z-Score, provided the exit conditions allow.
Signal Gapping:
A minimum number of bars (Bars gap between identical signals) must pass between repeated entry or exit signals to reduce noise.
Momentum Filter:
Entries are prevented during sequences of three or more consecutively bullish candles, and exits are prevented during three or more consecutively bearish candles.
Z-Score Function
The Z-Score is calculated as:
Z = (Close - SMA(Close, N)) / STDEV(Close, N)
Where N is the base period selected by the user.
Input Parameters
Enable Smoothed Z-Score Strategy
Enables or disables the Z-Score strategy logic. When disabled, no trades are executed.
Z-Score Base Period
Defines the number of bars used to calculate the simple moving average and standard deviation for the Z-Score. This value affects how responsive the raw Z-Score is to price changes.
Short-Term Smoothing
Sets the smoothing window for the short-term Z-Score. Higher values produce smoother short-term signals, reducing sensitivity to short-term volatility.
Long-Term Smoothing
Sets the smoothing window for the long-term Z-Score, which acts as the reference line in the crossover logic.
Bars gap between identical signals
Minimum number of bars that must pass before another signal of the same type (entry or exit) is allowed. This helps reduce redundant or overly frequent signals.
Trade Visualization Table
A table positioned at the bottom-right displays live PnL for open trades:
Entry Price
Unrealized PnL %
Text colors adapt based on whether unrealized profit is positive, negative, or neutral.
Technical Notes
This strategy uses only close prices — no trend indicators or volume components are applied.
All calculations are based on simple moving averages and standard deviation over user-defined windows.
Designed as a minimal, isolated Z-Score engine without confirmation filters or multi-factor triggers.
Candle Volume Profile Marker# 📊 Candle Volume Profile Marker (CVPM)
**Transform your chart analysis with precision volume profile levels on every candle!**
The Candle Volume Profile Marker displays key volume profile levels (POC, VAH, VAL) for individual candles, giving you granular insights into price acceptance and rejection zones at the micro level.
## 🎯 **Key Features**
### **Core Levels**
- **POC (Point of Control)** - The price level with highest volume concentration
- **VAH (Value Area High)** - Upper boundary of the value area
- **VAL (Value Area Low)** - Lower boundary of the value area
- **Customizable Value Area** - Adjust percentage from 50% to 90%
### **Flexible Display Options**
- **Current Candle Only** or **Historical Lookback** (1-50 candles)
- **Multiple Visual Styles** - Lines, dots, crosses, triangles, squares, diamonds
- **Smart Line Extensions** - Right only, both sides, or left only
- **4 Line Length Modes** - Normal, Short, Ultra Short, Micro (for ultra-clean charts)
- **Full Color Customization** - Colors, opacity, line width
- **Adjustable Marker Sizes** - Tiny to Large
### **Advanced Calculation Methods**
Choose your POC calculation:
- **Weighted** - Smart estimation based on volume distribution (default)
- **Close** - Uses closing price
- **Middle** - High-Low midpoint
- **VWAP** - Volume weighted average price
### **Professional Tools**
- **Real-time Info Table** - Current levels display
- **Smart Alerts** - POC crosses and Value Area breakouts
- **Highlight Current Candle** - Extended dotted lines for current levels
- **Developing Levels** - Real-time updates for active candle
## 🚀 **Why Use CVPM?**
### **Precision Trading**
- Identify exact support/resistance on each candle
- Spot volume acceptance/rejection zones
- Plan entries and exits with micro-level precision
### **Clean & Customizable**
- Lines extend only right (eliminates confusion)
- Ultra-short line options for minimal chart clutter
- Professional appearance with full customization
### **Multiple Timeframes**
- Works on any timeframe from 1-minute to monthly
- Historical analysis with adjustable lookback
- Real-time developing levels
## 📈 **Perfect For**
- **Day Traders** - Micro-level entry/exit points
- **Swing Traders** - Key levels for position management
- **Volume Analysis** - Understanding price acceptance zones
- **Support/Resistance Trading** - Precise level identification
- **Breakout Trading** - Value area breakout alerts
## ⚙️ **Easy Setup**
1. Add indicator to your chart
2. Choose your preferred visual style (lines/dots)
3. Select line extension (right-only recommended)
4. Adjust line length (try "Ultra Short" for clean charts)
5. Customize colors and enable alerts
## 🎨 **Customization Groups**
- **Display Options** - What to show and how many candles
- **Calculation** - POC method and value area percentage
- **POC Visual** - Style, color, width, length for Point of Control
- **Value Area Visual** - Style, color, width, length for VAH/VAL
- **Line Settings** - Extension direction and length modes
- **Size** - Marker sizes and opacity
## 🔔 **Built-in Alerts**
- Price crosses above/below POC
- Value Area breakouts (up/down)
- Fully customizable alert messages
## 💡 **Pro Tips**
- Use "Right Only" extension to avoid confusion about which candle owns the levels
- Try "Ultra Short" or "Micro" line modes for cleaner charts
- Enable "Highlight Current Candle" for extended reference lines
- Combine with volume indicators for enhanced analysis
- Use different colors for easy POC/VAH/VAL identification
---
**Transform your volume analysis today with the most flexible and customizable candle-level volume profile indicator available!**
*Perfect for traders who demand precision and clean, professional charts.*
Bullish Bearish Signal with EMA Color + LabelsThis script generates clear BUY and SELL signals based on a combination of trend direction, momentum, and confirmation from multiple indicators. It is intended to help traders identify strong bullish or bearish conditions using commonly trusted tools: EMA 200, MACD, and RSI.
🔍 How it works:
The strategy combines three key elements:
EMA 200 Trend Filter
Identifies the long-term trend:
Price above EMA200 → Bullish trend bias
Price below EMA200 → Bearish trend bias
The EMA line is color-coded:
🔵 Blue for bullish
🔴 Red for bearish
⚪ Gray for neutral/unclear
MACD Crossover
Detects shifts in market momentum:
Bullish: MACD line crosses above signal line
Bearish: MACD line crosses below signal line
RSI Confirmation
Adds an extra layer of confirmation:
Bullish: RSI is above its signal line
Bearish: RSI is below its signal line
✅ Signal Logic:
BUY Signal appears when:
Price > EMA200
MACD crosses up
RSI > its signal line
SELL Signal appears when:
Price < EMA200
MACD crosses down
RSI < its signal line
Labels will appear on the chart to highlight these events.
🔔 Alerts:
The script includes alerts for both Buy and Sell conditions, so you can be notified in real-time when they occur.
📈 How to Use:
Best used in trending markets.
Recommended for higher timeframes (1H and above).
May be combined with other tools such as support/resistance or candlestick analysis.
⚠️ Disclaimer: This script is intended for educational purposes only and does not constitute financial advice or a trading recommendation.
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).