ICT MACROS (UTC-4)This Pine Script creates an indicator that draws vertical lines on a TradingView chart to mark specific time intervals during the day. It allows the user to see when certain predefined time periods start and end, using vertical lines of different colors. The script is designed to work with time frames aligned to the UTC-4 timezone.
### Key Features of the Script
1. **Vertical Line Drawing Function**:
- The script uses a custom function, `draw_vertical_line`, to draw vertical lines at specific times.
- This function takes four parameters:
- `specificTime`: The specific timestamp when the vertical line should be drawn.
- `lineColor`: The color of the vertical line.
- `labelText`: The text label for the line (used internally for debugging purposes).
- `adjustment_minutes`: An integer value that allows time adjustment (in minutes) to make the lines align more accurately with the chart’s candles.
- The function calculates an adjusted time using the `adjustment_minutes` parameter and checks if the current time (`time`) falls within a 3-minute range of the adjusted time. If it does, it draws a vertical line.
2. **User Input for Time Adjustment**:
- The `adjustment_minutes` input allows users to fine-tune the appearance of the lines by shifting them slightly forward or backward in time to ensure they align with the chart candles. This is useful because of potential minor discrepancies between the script’s timestamps and the chart’s actual candle times.
3. **Predefined Time Intervals**:
- The script specifies six different time intervals (using the UTC-4 timezone) and draws vertical lines to mark the start and end of each interval:
- **First interval**: 8:50 - 9:10 AM
- **Second interval**: 9:50 - 10:10 AM
- **Third interval**: 10:50 - 11:10 AM
- **Fourth interval**: 13:10 - 13:40 PM
- **Fifth interval**: 14:50 - 15:10 PM
- **Sixth interval**: 15:15 - 15:45 PM
- For each interval, there are two timestamps: the start time and the end time. The script draws a green vertical line for the start and a red vertical line for the end.
4. **Line Drawing Logic**:
- For each time interval, the script calculates the timestamp using the `timestamp()` function with the specified time in UTC-4.
- The `draw_vertical_line` function is called twice for each interval: once for the start time (with a green line) and once for the end time (with a red line).
5. **Visual Overlay**:
- The script uses the `overlay=true` setting, which means that the vertical lines are drawn directly on top of the existing price chart. This helps in visually identifying the specific time intervals without cluttering the chart.
### Summary
This Pine Script is designed for traders or analysts who want to visualize specific time intervals directly on their TradingView charts. It provides a customizable way to highlight these intervals using vertical lines, making it easier to analyze price action or trading volume during key times of the day. The `adjustment_minutes` input adds flexibility to align these lines accurately with chart data.
在腳本中搜尋"ict"
ICT Watermark | FluxxDescription:
The watermark indicator is designed to enhance the visual presentation of your trading charts by adding customizable watermarks. This tool allows you to overlay essential information, such as ticker symbols, timeframes, dates, and custom text, directly onto your charts. While providing larger text options then all other watermarks currently available.
Key Features:
Customizable Watermarks: Users can enable up to two watermarks with adjustable text content, color, size, and position.
Dynamic Information Display: Option to display real-time symbol and timeframe details, as well as the current date.
Flexible Placement: Watermarks can be positioned at the top, middle, or bottom of the chart, and aligned to the left, center, or right.
Multiple Size Options: Includes a variety of text sizes, making the text larger than any other watermark out there!
Use Cases:
Branding: Add your name or brand to your charts for a personalized touch.
Clarity: Overlay important chart details without obstructing the main content, helping in presentations or shared analysis.
This indicator is original and valuable for traders who seek to enhance the clarity and professionalism of their charts. It is particularly useful for those who create educational content or wish to maintain consistent chart branding.
ICT Premium/DiscountThis script indicator prints lines for the highest, lowest and middle price in a selected time period (in days).
With that you can easily see wheter the price is currently high, low or balanced compared to the prices in the selected time period.
I also added a gray dotted vertical line to the chart which represents the beginning of your selected time period
You can choose the time period on your own and you can also customize the color and style of the lines.
Your lines may get printed in a separate window. To fix this, click on the indicator and select
Move to -> existing pane above
Your lines also may stay stuck on the same place on the chart and are not fixed to a high/low. To fix this, right-click on the left price scale and select
Merge all scales into one -> on the right
ICT KillZones + Pivot Points [TradingFinder] Support/Resistance 🟣 Introduction
Pivot Points are critical levels on a price chart where trading activity is notably high. These points are derived from the prior day's price data and serve as key reference markers for traders' decision-making processes.
Types of Pivot Points :
Floor
Woodie
Camarilla
Fibonacci
🔵 Floor Pivot Points
Widely utilized in technical analysis, floor pivot points are essential in identifying support and resistance levels. The central pivot point (PP) acts as the primary level, suggesting the trend's likely direction.
The additional resistance levels (R1, R2, R3) and support levels (S1, S2, S3) offer further insight into potential trend reversals or continuations.
🔵 Camarilla Pivot Points
Featuring eight distinct levels, Camarilla pivot points closely correspond with support and resistance, making them highly effective for setting stop-loss orders and profit targets.
🔵 Woodie Pivot Points
Similar to floor pivot points, Woodie pivot points differ by placing greater emphasis on the closing price, often resulting in different pivot levels compared to the floor method.
🔵 Fibonacci Pivot Points
Fibonacci pivot points combine the standard floor pivot points with Fibonacci retracement levels applied to the previous trading period's range. Common retracement levels used are 38.2%, 61.8%, and 100%.
🟣 Sessions
Financial markets are divided into specific time segments, known as sessions, each with unique characteristics and activity levels. These sessions are active at different times throughout the day.
The primary sessions in financial markets include :
Asian Session
European Session
New York Session
The timing of these major sessions in UTC is as follows :
Asian Session: 23:00 to 06:00
European Session: 07:00 to 14:25
New York Session: 14:30 to 22:55
🟣 Kill Zones
Kill zones are periods within a session marked by heightened trading activity. During these times, trading volume surges and price movements become more pronounced.
The timing of the major kill zones in UTC is :
Asian Kill Zone: 23:00 to 03:55
European Kill Zone: 07:00 to 09:55
New York Kill Zone: 14:30 to 16:55
Combining kill zones and pivot points in financial market analysis provides several advantages :
Enhanced Market Sentiment Analysis : Aligns key price levels with high-activity periods for a clearer market sentiment.
Improved Timing for Trade Entries and Exits : Helps better time trades based on when price movements are most likely.
Higher Probability of Successful Trades : Increases the accuracy of predicting market movements and placing profitable trades.
Strategic Stop-Loss and Profit Target Placement : Allows for precise risk management by strategically setting stop-loss and profit targets.
Versatility Across Different Time Frames : Effective in both short and long time frames, suitable for various trading strategies.
Enhanced Trend Identification and Confirmation : Confirms trends using both pivot levels and high-activity periods, ensuring stronger trend validation.
In essence, this integrated approach enhances decision-making, optimizes trading performance, and improves risk management.
🟣 How to Use
🔵 Two Approaches to Trading Pivot Points
There are two main strategies for trading pivot points: utilizing "pivot point breakouts" and "price reversals."
🔵 Pivot Point Breakout
When the price breaks through pivot lines, it signals a shift in market sentiment to the trader. In the case of an upward breakout, where the price crosses these pivot lines, a trader might enter a long position, placing their stop-loss just below the pivot point (P).
Conversely, if the price breaks downward, a short position can be initiated below the pivot point. When using the pivot point breakout strategy, the first and second support levels can serve as profit targets in an upward trend. In a downward trend, these roles are filled by the first and second resistance levels.
🔵 Price Reversal
An alternative method involves waiting for the price to reverse at the support and resistance levels. To implement this strategy, traders should take positions opposite to the prevailing trend as the price rebounds from the pivot point.
While this tool is commonly used in higher time frames, it tends to produce better results in shorter time frames, such as 1-hour, 30-minute, and 15-minute intervals.
Three Strategies for Trading the Kill Zone
There are three principal strategies for trading within the kill zone :
Kill Zone Hunt
Breakout and Pullback to Kill Zone
Trading in the Trend of the Kill Zone
🔵 Kill Zone Hunt
This strategy involves waiting until the kill zone concludes and its high and low lines are established. If the price reaches one of these lines within the same session and is strongly rejected, a trade can be executed.
🔵 Breakout and Pullback to Kill Zone
In this approach, once the kill zone ends and its high and low lines stabilize, a trade can be made if the price breaks one of these lines decisively within the same session and then pulls back to that level.
🔵 Trading in the Trend of the Kill Zone
Kill zones are characterized by high trading volumes and strong trends. Therefore, trades can be placed in the direction of the prevailing trend. For instance, if an upward trend dominates this area, a buy trade can be entered when the price reaches a demand order block.
ICT LIQUIDITY indicator [Focused Trader]This indicator allows you to draw liquidity according to ICT. Specifically, you can choose to draw liquidity for specific sessions (Asia,New York,London).
Filtering by session
You can chooose to display only liquidities created in specific session. For example, the favourite liquidity is that of Asia. And then, in London market usually grabs it. So you set to display only liquidites of asia.
Session background
You can also display background over specific session, this is very usefull to see how market behaves - liquidity created in Asia is very often taken in London session. You can use any colour you'd like.
Colouring and style of lines
There is an option to choose colour for liquidity lines from different sessions and also choose specific colour for highs and lows. You can also set different styles (dash, dot, arrow, ...) of liquidty lines.
ICT FVG indicator [Focused Trader]This is simple fair value gap indicator. It draws FVG (fair value gaps) as boxes. If FVG is partially filled, it is also displayed and smaller size FVG is drawn. If FVG is filled totally, it is deleted from chart. There is limitation of 500 drawing objects for indicators on Tradingview, so keep in mind that this indicator will display only last 500 FVGs.
For simplicity, there is only one setting, which is coloring of FVGs. It is perhaps a good idea to lower your opacity (to about 10%) and choose color of FVG according to your preferences and current theme (dark or white).
ICT Market SessionsThis indicator highlights sessions, kill-zones and significant time elements on the chart based on ITC's method.
ICT - Range ProjectionThis script helps you to project future intra-day range or weekly range based on the Asia range.
It draws multiple horizontal lines on the standard deviation levels. (There is a limitation of around 50 vertical lines per script)
ICT Killzone For Crypto Markets.Adjusted for Crypto 24/7 markets
Adjusted for UTC
i have hidden the asian open range and daily bars on my charts , you can choose to have them on
Less screen clutter
London Open 8:00 - 4:30 - Killzone 7:00 - 9:00
NewYork Open 9:30 - 4:00 Killzone 8:00 - 10:00
Shanghai open 9:15 Killzone 8:00 - 10:00
NOT MY ORIGINAL SCRIPT. JUST MODIFIED VERSION
Midnight Range Standard DeviationsCredit to Lex Fx for the basic framework of this script
This indicator is designed to assist traders in identifying potential trading opportunities based on the Intraday Concurrency Technique (ICT) concepts, specifically the midnight range deviations and their relationship to Fibonacci levels. It builds upon the work of Lex-FX, whom we gratefully acknowledge for the original concept and inspiration for this indicator.
Core Concept: ICT Midnight Range
The core of this indicator revolves around the concept of the midnight range. According to ICT, the high and low formed in a specific time window (typically the first 30 minutes after midnight, New York Time) can serve as a key reference point for intraday price action. The indicator identifies this range and projects potential support and resistance levels based on deviations from this range, combined with Fibonacci ratios.
How ICT Uses Midnight Range Deviations
ICT methodology often involves looking for price to move away from the initial midnight range, then return to it, or deviate beyond it, as key areas for potential entries.
Range Identification: The indicator automatically identifies the high and low of the midnight range (00:00 - 00:30 NY Time).
Deviation Levels: The indicator calculates and displays deviation levels based on multiples of the initial midnight range. These levels are often used to identify potential areas of support and resistance, as well as potential targets for price movement. These levels can be set in the additional fib levels section, which can be configured in increments of .5 deviations all the way up to 12 deviations.
Fibonacci Confluence: ICT often emphasizes the confluence of multiple factors. This indicator adds Fibonacci levels to the midnight range deviations. This allows traders to identify areas where Fibonacci retracements or extensions align with the deviation levels, potentially creating stronger areas of support or resistance.
Looking for Sweeps: ICT often uses these levels to look for times that the high and low are swept as potential areas of liquidity, indicating the start of potential continuations.
Time-Based Analysis: The time at which price interacts with these levels can also be significant in ICT. The indicator provides options to extend the range lines to specific times (e.g., 3 hours, 6 hours, 10 hours, 12 hours, or a custom defined time) after midnight, allowing traders to focus on specific periods of the trading day.
Indicator Settings Explained:
Time Zone (TZ): Defines the time zone used for calculating the midnight range. The default is "America/New_York".
Range High Color, Range Low Color, Range Mid Color: Customize the colors of the high, low, and mid-range lines.
Range Fill Color: Sets the fill color for the area between the range high and low.
Line Style: Choose the style of the range lines (solid, dashed, dotted).
Range Line Thickness: Adjust the thickness of the range lines for better visibility.
Show Fibonacci Levels: Enable or disable the display of Fibonacci deviation levels.
Fib Up Color, Fib Down Color: Customize the colors of the Fibonacci levels above (up) and below (down) the midnight range.
Show Trendline: Enables a trendline that plots the close price, colored according to whether the price is above the high, below the low, or within the midnight range.
Show Range Lines, Show Range Labels: Toggles the visibility of the range lines and their associated labels.
Label Size: Adjust the size of the labels for better readability.
Hide Prices: Option to display only the deviation values on labels, hiding price values.
Place Fibonacci Labels on Left Side: Option to switch label position from right side to left side.
Extend Range To (Hours from Midnight): This section gives you a wide variety of options on how far you want to extend the range to, you can do 3,6,10,12, and 23 hours. Alternatively, you can select the "Use Custom Length" and set a specific time in hours.
Additional Fib Levels: This section allows the trader to set additional deviation points in increments of .5 deviations from .5 all the way up to 12 deviations
TradingView Community Guidelines Compliance:
This indicator description adheres to the TradingView community guidelines by:
Being educational: It explains the ICT methodology and how the indicator can be used in trading.
Being transparent: It clearly describes all the indicator's settings and their purpose.
Providing credit: It acknowledges Lex-FX as the original author of the concept.
Avoiding misleading claims: It does not guarantee profits or imply that the indicator is a "holy grail."
Disclaimer: Usage of this indicator and the information provided is at your own risk. The author is not responsible for any losses incurred as a result of using this indicator.
Important Considerations:
This indicator is intended for educational purposes and to assist in applying the ICT methodology.
It should not be used as a standalone trading system.
Always combine this indicator with other forms of technical analysis and risk management techniques.
Backtest thoroughly on your chosen market and timeframe before using in live trading.
Trading involves risk. Only trade with capital you can afford to lose.
IME's Community First Presented FVGsIME's Community First Presented FVGs v1.5 - Advanced Implementation
ORIGINALITY & INNOVATION
This indicator advances beyond basic Fair Value Gap detection by implementing a sophisticated 24-hour FVG lifecycle management system aligned with institutional trading patterns. While many FVG indicators simply detect gaps and extend them indefinitely, this implementation introduces temporal intelligence that mirrors how institutional algorithms actually manage these inefficiencies.
Key Innovations that set this apart:
- 24-Hour Lifecycle Management: FVGs extend dynamically until 16:59, then freeze until removal at 17:00 next day
- Institutional Day Alignment: Recognizes 18:00-16:59 trading cycles vs standard calendar days
- Multi-Session Detection: Simultaneous monitoring of Midnight, London, NY AM, and NY PM sessions
- Advanced Classification System: A.FVG detection with volume imbalance analysis vs classic FVG patterns
- Volatility Settlement Logic: Blocks contamination from opening mechanics (3:01+, 0:01+, 13:31+ rules)
- Visual Enhancement System: C.E. lines, contamination warnings, dark mode support with proper transparency handling
BASED ON ICT CONCEPTS
This indicator implements First Presented Fair Value Gap methodology taught by ICT (Inner Circle Trader). The original F.P. FVG concepts, timing rules, and session-based detection are credited to ICT's educational material. This implementation extends those foundational concepts with advanced lifecycle management and institutional alignment features.
ICT's Core F.P. FVG Rules Implemented:
- First clean FVG after session opening (avoids opening contamination)
- 3-candle pattern requirement for valid detection
- Session-specific timing windows and volatility settlement
- Consequent Encroachment level identification
IME's Advanced Enhancements:
- Automated lifecycle management with institutional day recognition
- Multi-session simultaneous monitoring with proper isolation
- Advanced visual system with transparency states for aged FVGs
- A.FVG classification with volume imbalance detection algorithms
HOW IT WORKS
Core Detection Engine
The indicator monitors four key institutional sessions using precise timing windows:
- Midnight Session: 00:01-00:30 (blocks 00:00 contamination)
- London Session: 03:01-03:30 (blocks 03:00 contamination)
- NY AM Session: 09:30-10:00 (configurable 9:30 detection)
- NY PM Session: 13:31-14:00 (blocks 13:30 contamination)
During each session window, the algorithm scans for the first valid FVG pattern using ICT's 3-candle rule while applying volatility settlement principles to avoid false signals from opening mechanics.
Advanced Classification System
Classic FVG Detection:
Standard 3-candle wick-to-wick gap where candle 1 and 3 don't overlap, creating an inefficiency that institutions must eventually fill.
A.FVG (Advanced FVG) Detection:
Enhanced pattern recognition that includes volume imbalance analysis (deadpool detection) to identify more significant institutional inefficiencies. A.FVGs incorporate both the basic gap plus additional price imbalances between candle bodies, creating larger, more significant levels.
24-Hour Lifecycle Management
Phase 1 - Dynamic Extension (Creation Day):
From detection until 16:59 of creation day, FVGs extend in real-time as new bars form, maintaining their relevance as potential support/resistance levels.
Phase 2 - Freeze Period (Next Day):
At 16:59, FVGs stop extending and "freeze" at their final size, remaining visible as reference levels but no longer growing. This prevents outdated levels from contaminating fresh analysis.
Phase 3 - Cleanup (17:00 Next Day):
Exactly 24+ hours after creation, FVGs are automatically removed to maintain chart clarity. This timing aligns with institutional trading cycle completion.
Institutional Day Logic
The algorithm recognizes that institutional trading days run from 18:00-16:59 (not midnight-midnight). This alignment ensures FVGs are managed according to institutional timeframes rather than arbitrary calendar boundaries.
Contamination Avoidance System
Volatility Settlement Principle:
Opening mechanics create artificial volatility that can produce false FVG signals. The indicator automatically blocks detection during exact session opening times (X:00) and requires settlement time (X:01+) before identifying clean institutional inefficiencies.
Special NY AM Handling:
Provides configurable 9:30 detection for advanced users who want to capture potential opening range FVGs, with clear visual warnings about contamination risk.
VISUAL SYSTEM
Color Intelligence
- Current Day FVGs: Full opacity with session-specific colors
- Previous Day FVGs: 70% transparency for historical reference
- Special Timing (9:30): Dedicated warning color with alert labels
- Dark Mode Support: Automatic text/line color adaptation
Enhanced Visual Elements
C.E. (Consequent Encroachment) Lines:
Automatically calculated 50% levels within each FVG, representing the most likely fill point based on institutional behavior patterns. These levels extend and freeze with their parent FVG.
Contamination Warnings:
Visual alerts when FVGs are detected during potentially contaminated timing, helping traders understand signal quality.
Session Identification:
Clear labeling system showing FVG type (FVG/A.FVG), session origin (NY AM, London, etc.), and creation date for easy reference.
HOW TO USE
Basic Setup
1. Session Selection: Enable/disable specific sessions based on your trading strategy
2. FVG Type: Choose between Classic FVGs or A.FVGs depending on your analysis preference
3. Visual Preferences: Adjust colors, text size, and enable dark mode if needed
Trading Applications
Intraday Reference Levels:
Use current day FVGs as potential support/resistance for price action analysis. The dynamic extension ensures levels remain relevant throughout the trading session.
Multi-Session Analysis:
Monitor how price interacts with FVGs from different sessions to understand institutional flow and market structure.
C.E. Level Trading:
Focus on the 50% consequent encroachment levels for high-probability entry points when price approaches FVG zones.
Historical Context:
Previous day FVGs (shown with transparency) provide context for understanding market structure evolution across multiple trading days.
Advanced Features
9:30 Special Detection:
For experienced traders, enable 9:30 FVG detection to capture opening range inefficiencies, but understand the contamination risks indicated by warning labels.
A.FVG vs Classic Toggle:
Switch between detection modes based on market conditions - A.FVGs for trending environments, Classic FVGs for ranging conditions.
Best Practices
- Use on 1-minute to 15-minute timeframes for optimal session detection
- Combine with other institutional concepts (order blocks, liquidity levels) for comprehensive analysis
- Pay attention to transparency states - current day FVGs are more actionable than previous day references
- Consider C.E. levels as primary targets rather than full FVG fills
TECHNICAL SPECIFICATIONS
Platform: Pine Script v6 for optimal performance and reliability
Timeframe Compatibility: All timeframes (optimized for 1M-15M)
Market Compatibility: 24-hour markets (Forex, Crypto, Futures)
Session Management: Automatic trading day detection with weekend handling
Memory Management: Intelligent capacity limits with automatic cleanup
Performance: Optimized algorithms for smooth real-time operation
CLOSED SOURCE JUSTIFICATION
This indicator is published as closed source to protect the proprietary algorithms that enable:
- Precise 24-hour lifecycle timing calculations with institutional day alignment
- Advanced A.FVG classification with sophisticated volume imbalance detection
- Complex multi-session coordination with contamination filtering
- Optimized memory management preventing performance degradation
- Specialized visual state management for transparency and extension logic
The combination of these advanced systems creates a unique implementation that goes far beyond basic FVG detection, warranting protection of the underlying computational methods while providing full transparency about functionality and usage.
PERFORMANCE CHARACTERISTICS
Real-Time Operation: Smooth performance with minimal resource usage
Accuracy: Precise session detection with timezone consistency
Reliability: Robust error handling and edge case management
Scalability: Supports multiple simultaneous FVGs without performance impact
This advanced implementation represents significant evolution beyond basic FVG indicators, providing institutional-grade analysis tools for serious traders while maintaining the clean visual presentation essential for effective technical analysis.
IMPORTANT DISCLAIMERS
Past performance does not guarantee future results. This indicator is an educational tool based on ICT's Fair Value Gap concepts and should be used as part of a comprehensive trading strategy. Users should understand the risks involved in trading and consider their risk tolerance before making trading decisions. The indicator identifies potential support/resistance levels but does not predict market direction with certainty.
2 days ago
Release Notes
IME's Community First Presented FVGs v1.5.2 - Critical Bug Fixes
Bug Fixes:
v1.5.1 - Fixed 9:30 Contamination Blocking:
Issue: When 9:30 detection toggle was OFF, script still detected 9:30 candles as F.P. FVGs
Fix: Added proper contamination blocking logic that prevents 9:30 middle candle detection when toggle is OFF
Result: Toggle OFF now correctly shows clean F.P. FVGs at 9:31+ (proper ICT volatility settlement)
v1.5.2 - Fixed A.FVG Box Calculation Accuracy:
Issue: A.FVG boxes incorrectly included ALL body levels even when no actual deadpool existed between specific candles
Fix: Implemented selective body level inclusion - only adds body prices where actual volume imbalances exist
Result: A.FVG boxes now accurately represent only areas with real institutional volume imbalances
Impact:
More Accurate Detection: 9:30 contamination properly blocked when disabled
Precise A.FVG Zones: Boxes only include levels with actual deadpools/volume imbalances
Institutional Accuracy: Both fixes align detection with true institutional trading principles
Technical Details:
Enhanced contamination blocking checks middle candle timing in normal mode
A.FVG calculation now selectively includes body levels based on individual deadpool existence
Maintains backward compatibility with all existing features and settings
These fixes ensure the indicator provides institutionally accurate FVG detection and sizing for professional trading analysis.
Custom V2 KillZone US / FVG / EMAThis indicator is designed for traders looking to analyze liquidity levels, opportunity zones, and the underlying trend across different trading sessions. Inspired by the ICT methodology, this tool combines analysis of Exponential Moving Averages (EMA), session management, and Fair Value Gap (FVG) detection to provide a structured and disciplined approach to trading effectively.
Indicator Features
Identifying the Underlying Trend with Two EMAs
The indicator uses two EMAs on different, customizable timeframes to define the underlying trend:
EMA1 (default set to a daily timeframe): Represents the primary underlying trend.
EMA2 (default set to a 4-hour timeframe): Helps identify secondary corrections or impulses within the main trend.
These two EMAs allow traders to stay aligned with the market trend by prioritizing trades in the direction of the moving averages. For example, if prices are above both EMAs, the trend is bullish, and long trades are favored.
Analysis of Market Sessions
The indicator divides the day into key trading sessions:
Asian Session
London Session
US Pre-Open Session
Liquidity Kill Session
US Kill Zone Session
Each session is represented by high and low zones as well as mid-lines, allowing traders to visualize liquidity levels reached during these periods. Tracking the price levels in different sessions helps determine whether liquidity levels have been "swept" (taken) or not, which is essential for ICT methodology.
Liquidity Signal ("OK" or "STOP")
A specific signal appears at the end of the "Liquidity Kill" session (just before the "US Kill Zone" session):
"OK" Signal: Indicates that liquidity conditions are favorable for trading the "US Kill Zone" session. This means that liquidity levels have been swept in previous sessions (Asian, London, US Pre-Open), and the market is ready for an opportunity.
"STOP" Signal: Indicates that it is not favorable to trade the "US Kill Zone" session, as certain liquidity conditions have not been met.
The "OK" or "STOP" signal is based on an analysis of the high and low levels from previous sessions, allowing traders to ensure that significant liquidity zones have been reached before considering positions in the "Kill Zone".
Detection of Fair Value Gaps (FVG) in the US Kill Zone Session
When an "OK" signal is displayed, the indicator identifies Fair Value Gaps (FVG) during the "US Kill Zone" session. These FVGs are areas where price may return to fill an "imbalance" in the market, making them potential entry points.
Bullish FVG: Detected when there is a bullish imbalance, providing a buying opportunity if conditions align with the underlying trend.
Bearish FVG: Detected when there is a bearish imbalance, providing a selling opportunity in the trend direction.
FVG detection aligns with the ICT Silver Bullet methodology, where these imbalance zones serve as probable entry points during the "US Kill Zone".
How to Use This Indicator
Check the Underlying Trend
Before trading, observe the two EMAs (daily and 4-hour) to understand the general market trend. Trades will be prioritized in the direction indicated by these EMAs.
Monitor Liquidity Signals After the Asian, London, and US Pre-Open Sessions
The high and low levels of each session help determine if liquidity has already been swept in these areas. At the end of the "Liquidity Kill" session, an "OK" or "STOP" label will appear:
"OK" means you can look for trading opportunities in the "US Kill Zone" session.
"STOP" means it is preferable not to take trades in the "US Kill Zone" session.
Look for Opportunities in the US Kill Zone if the Signal is "OK"
When the "OK" label is present, focus on the "US Kill Zone" session. Use the Fair Value Gaps (FVG) as potential entry points for trades based on the ICT methodology. The identified FVGs will appear as colored boxes (bullish or bearish) during this session.
Use ICT Methodology to Manage Your Trades
Follow the FVGs as potential reversal zones in the direction of the trend, and manage your positions according to your personal strategy and the rules of the ICT Silver Bullet method.
Customizable Settings
The indicator includes several customization options to suit the trader's preferences:
EMA: Length, source (close, open, etc.), and timeframe.
Market Sessions: Ability to enable or disable each session, with color and line width settings.
Liquidity Signals: Customization of colors for the "OK" and "STOP" labels.
FVG: Option to display FVGs or not, with customizable colors for bullish and bearish FVGs, and the number of bars for FVG extension.
-------------------------------------------------------------------------------------------------------------
Cet indicateur est conçu pour les traders souhaitant analyser les niveaux de liquidité, les zones d’opportunité, et la tendance de fond à travers différentes sessions de trading. Inspiré de la méthodologie ICT, cet outil combine l'analyse des moyennes mobiles exponentielles (EMA), la gestion des sessions de marché, et la détection des Fair Value Gaps (FVG), afin de fournir une approche structurée et disciplinée pour trader efficacement.
[TA] Breaker BlocksDescription:
The Breaker Blocks Finder is a sophisticated tool designed for traders who seek to identify key market structures algorithmically. This indicator meticulously scans for both bullish and bearish breaker blocks, visually delineating them on the chart for easy identification.
Exploring ICT Breaker Blocks: Enhancing Your Trading with Precision
Understanding ICT Breaker Blocks: ICT Breaker Blocks are a nuanced trading concept that leverages market liquidity and manipulation to identify potential breakout points. This strategy is particularly effective in pinpointing moments where the market is poised for a significant directional move.
Mechanics of ICT Breaker Blocks: The essence of this strategy lies in detecting manipulation phases where liquidity is being accumulated, typically around critical market highs or lows. This setup leads to a Stop Hunt, a tactical move to trigger stop orders and fuel a breakout in the opposite direction.
Detailed Breakdown of Breaker Block Types:
Bullish Breaker Blocks:
• Bullish Order Block: The precursor to a bullish breakout, setting the stage for a potential upward move.
• Bullish Breaker Candle: An upward-closing candle that forms just before breaking past an old low, signaling a bullish reversal.
• Confirmation: Achieved when the price dips below the prior low and subsequently rises above the high of the swing, solidifying the bullish breakout.
• Identification: Look for a failed bearish order block, indicated by an initial drop in prices that ultimately reverses, hinting at a bullish shift.
• Key Elements: Monitor the pattern of lows and highs (low, high, lower low, higher high), which suggests an emerging bullish trend.
Bearish Breaker Blocks:
• Bearish Breaker Candle: A downward-closing candle that appears right before an old high is surpassed, indicating a bearish reversal.
• Confirmation: Occurs when prices climb above the previous high and then descend below the swing's low, confirming the bearish move.
• Identification: Initiate by identifying a failed bullish order block, where initial upward price momentum falters and reverses, signaling bearish potential.
• Key Elements: Focus on the sequence of highs and lows (high, low, higher high, lower low), which may denote a looming bearish trend.
Spotting High Probability Breaker Blocks: To enhance the reliability of breaker block identification, incorporate patterns that exhibit a Fair Value Gap (FVG), which typically indicates a stronger likelihood of a successful breakout.
Leveraging ICT Breaker Blocks in Trading: Our Inner Circle Trading mentorship delves into these concepts and more, providing you with comprehensive education and weekly market insights.
By mastering ICT Breaker Blocks, you're equipped with a powerful tool to navigate the intricacies of the market, making informed and strategic trading decisions.
This channel provides you with comprehensive education and weekly market insights. If you enjoyed this thread, like, share, and follow. Join us for an in-depth exploration of advanced trading strategies, and elevate your trading proficiency.
Still confused about Breaker Blocks?
Follow these steps for Bullish Breaker Blocks and reverse them for Bearish Breaker Blocks.
Think:
Bullish BB = Low, High, Lower Low, then Higher High
Bearish BB = High, Low, Higher High, then Lower Low
While this tool is a powerful addition to your trading strategy, it's important to note that it is not an autotrader. Traders should use this indicator as part of a comprehensive trading plan, considering other market factors and personal risk tolerance.
Risk Disclaimer:
Trading financial markets involves significant risk and can result in the loss of your invested capital. You should not invest more than you can afford to lose and should ensure that you fully understand the risks involved. Before trading, please take into consideration your level of experience, investment objectives, and seek independent financial advice if necessary. This indicator is provided as-is without any guarantees or warranty. Use of this indicator is at your own risk, and the creator is not responsible for any financial losses or damages.
Separators & Liquidity [K]Separators & Liquidity
This indicator offers a unified visual framework for institutional price behaviour, combining calendar-based levels, intraday session liquidity, and opening price anchors. It is specifically designed for ICT-inspired traders who rely on time-of-day context, prior high/low sweeps, and mitigation dynamics to structure their trading decisions.
Previous Day, Week, and Month Highs/Lows
These levels are dynamically updated and optionally stop projecting forward once mitigated. Mitigation is defined as a confirmed price interaction (touch or break), and labels visually adjust upon confirmation.
Intraday Session Liquidity Zones
Includes:
Asia Session (18:00–02:30 EST)
London Session (02:00–07:00 EST)
New York AM Session (07:00–11:30 EST)
New York Lunch Session (11:30–13:00 EST)
Each session tracks its own high/low with mitigation logic and duplicate filtering to avoid plotting overlapping levels when values are identical to previous session or daily levels.
Opening Price Anchors
Plots key opens:
Midnight (00:00 EST) (Customizable)
New York Open (09:30 EST) (Customizable)
PM Session Open (13:30 EST) (Customizable)
Weekly Open
Monthly Open
These levels serve as orientation for daily range expansion/contraction and premium/discount analysis.
Time Labels
Includes weekday markers and mid-month labels for better visual navigation on intraday and higher timeframes.
All components feature user-defined controls for visibility, line extension, color, label size, and plotting style. Filtering logic prevents redundant lines and maintains chart clarity.
Originality and Justification
While elements such as daily highs/lows and session ranges exist in other indicators, this script combines them under a fully mitigation-aware, duplicate-filtering, and session-synchronized logic model. Each level is tracked and managed independently, but drawn cooperatively using a shared visual and behavioral control system.
This script is not a mashup but an integrated tool designed to support precise execution timing, market structure analysis, and liquidity-based interpretation within ICT-style trading frameworks.
This version does not reuse any code from open-source scripts, and no built-in indicators are merged. The logic is independently constructed for real-time tracking and multi-session visualization.
Inspiration
This tool is inspired by core ICT concepts and time-based session structures commonly discussed in educational content and the broader ICT community.
It also draws conceptual influence from the TFO Killzones & Pivots script by tradeforopp, particularly in the spirit of time-based liquidity tracking and institutional session segmentation. This script was developed independently but aligns in purpose. Full credit is given to TFO as an inspiration source, especially for traders using similar timing models.
Intended Audience
Designed for traders studying or applying:
ICT’s core market structure principles
Power of Three (PO3) setups
Session bias models (e.g., AM reversals, London continuations)
Liquidity sweep and mitigation analysis
Time-of-day-based confluence planning
The script provides structural levels—not signals—and is intended for visual scaffolding around discretionary execution strategies.
Price Action Analyst [OmegaTools]Price Action Analyst (PAA) is an advanced trading tool designed to assist traders in identifying key price action structures such as order blocks, market structure shifts, liquidity grabs, and imbalances. With its fully customizable settings, the script offers both novice and experienced traders insights into potential market movements by visually highlighting premium/discount zones, breakout signals, and significant price levels.
This script utilizes complex logic to determine significant price action patterns and provides dynamic tools to spot strong market trends, liquidity pools, and imbalances across different timeframes. It also integrates an internal backtesting function to evaluate win rates based on price interactions with supply and demand zones.
The script combines multiple analysis techniques, including market structure shifts, order block detection, fair value gaps (FVG), and ICT bias detection, to provide a comprehensive and holistic market view.
Key Features:
Order Block Detection: Automatically detects order blocks based on price action and strength analysis, highlighting potential support/resistance zones.
Market Structure Analysis: Tracks internal and external market structure changes with gradient color-coded visuals.
Liquidity Grabs & Breakouts: Detects potential liquidity grab and breakout areas with volume confirmation.
Fair Value Gaps (FVG): Identifies bullish and bearish FVGs based on historical price action and threshold calculations.
ICT Bias: Integrates ICT bias analysis, dynamically adjusting based on higher-timeframe analysis.
Supply and Demand Zones: Highlights supply and demand zones using customizable colors and thresholds, adjusting dynamically based on market conditions.
Trend Lines: Automatically draws trend lines based on significant price pivots, extending them dynamically over time.
Backtesting: Internal backtesting engine to calculate the win rate of signals generated within supply and demand zones.
Percentile-Based Pricing: Plots key percentile price levels to visualize premium, fair, and discount pricing zones.
High Customizability: Offers extensive user input options for adjusting zone detection, color schemes, and structure analysis.
User Guide:
Order Blocks: Order blocks are significant support or resistance zones where strong buyers or sellers previously entered the market. These zones are detected based on pivot points and engulfing price action. The strength of each block is determined by momentum, volume, and liquidity confirmations.
Demand Zones: Displayed in shades of blue based on their strength. The darker the color, the stronger the zone.
Supply Zones: Displayed in shades of red based on their strength. These zones highlight potential resistance areas.
The zones will dynamically extend as long as they remain valid. Users can set a maximum number of order blocks to be displayed.
Market Structure: Market structure is classified into internal and external shifts. A bullish or bearish market structure break (MSB) occurs when the price moves past a previous high or low. This script tracks these breaks and plots them using a gradient color scheme:
Internal Structure: Short-term market structure, highlighting smaller movements.
External Structure: Long-term market shifts, typically more significant.
Users can choose how they want the structure to be visualized through the "Market Structure" setting, choosing from different visual methods.
Liquidity Grabs: The script identifies liquidity grabs (false breakouts designed to trap traders) by monitoring price action around highs and lows of previous bars. These are represented by diamond shapes:
Liquidity Buy: Displayed below bars when a liquidity grab occurs near a low.
Liquidity Sell: Displayed above bars when a liquidity grab occurs near a high.
Breakouts: Breakouts are detected based on strong price momentum beyond key levels:
Breakout Buy: Triggered when the price closes above the highest point of the past 20 bars with confirmation from volume and range expansion.
Breakout Sell: Triggered when the price closes below the lowest point of the past 20 bars, again with volume and range confirmation.
Fair Value Gaps (FVG): Fair value gaps (FVGs) are periods where the price moves too quickly, leaving an unbalanced market condition. The script identifies these gaps:
Bullish FVG: When there is a gap between the low of two previous bars and the high of a recent bar.
Bearish FVG: When a gap occurs between the high of two previous bars and the low of the recent bar.
FVGs are color-coded and can be filtered by their size to focus on more significant gaps.
ICT Bias: The script integrates the ICT methodology by offering an auto-calculated higher-timeframe bias:
Long Bias: Suggests the market is in an uptrend based on higher timeframe analysis.
Short Bias: Indicates a downtrend.
Neutral Bias: Suggests no clear directional bias.
Trend Lines: Automatic trend lines are drawn based on significant pivot highs and lows. These lines will dynamically adjust based on price movement. Users can control the number of trend lines displayed and extend them over time to track developing trends.
Percentile Pricing: The script also plots the 25th percentile (discount zone), 75th percentile (premium zone), and a fair value price. This helps identify whether the current price is overbought (premium) or oversold (discount).
Customization:
Zone Strength Filter: Users can set a minimum strength threshold for order blocks to be displayed.
Color Customization: Users can choose colors for demand and supply zones, market structure, breakouts, and FVGs.
Dynamic Zone Management: The script allows zones to be deleted after a certain number of bars or dynamically adjusts zones based on recent price action.
Max Zone Count: Limits the number of supply and demand zones shown on the chart to maintain clarity.
Backtesting & Win Rate: The script includes a backtesting engine to calculate the percentage of respect on the interaction between price and demand/supply zones. Results are displayed in a table at the bottom of the chart, showing the percentage rating for both long and short zones. Please note that this is not a win rate of a simulated strategy, it simply is a measure to understand if the current assets tends to respect more supply or demand zones.
How to Use:
Load the script onto your chart. The default settings are optimized for identifying key price action zones and structure on intraday charts of liquid assets.
Customize the settings according to your strategy. For example, adjust the "Max Orderblocks" and "Strength Filter" to focus on more significant price action areas.
Monitor the liquidity grabs, breakouts, and FVGs for potential trade opportunities.
Use the bias and market structure analysis to align your trades with the prevailing market trend.
Refer to the backtesting win rates to evaluate the effectiveness of the zones in your trading.
Terms & Conditions:
By using this script, you agree to the following terms:
Educational Purposes Only: This script is provided for informational and educational purposes and does not constitute financial advice. Use at your own risk.
No Warranty: The script is provided "as-is" without any guarantees or warranties regarding its accuracy or completeness. The creator is not responsible for any losses incurred from the use of this tool.
Open-Source License: This script is open-source and may be modified or redistributed in accordance with the TradingView open-source license. Proper credit to the original creator, OmegaTools, must be maintained in any derivative works.
Key Levels Cheat Sheet🎯 Overview
The Key Levels Cheat Sheet is a comprehensive TradingView indicator that displays 25+ critical price levels in a clean, organized table format. Inspired by professional trading platforms, this indicator eliminates chart clutter by
consolidating all essential support and resistance levels into a single, real-time updating reference table.
Perfect for day traders, swing traders, and scalpers who need instant visibility of key levels without drawing multiple lines on their charts.
📊 Features
Volume-Based Levels
- Session VWAP - Current day's volume weighted average price
- Weekly VWAP - Longer-term institutional trading level
- VWAP Bands (1σ, 2σ, 3σ) - Standard deviation bands showing price extension levels
Session-Based Levels (ICT Concepts)
- True Day Open - Midnight EST opening (ICT methodology)
- Futures Session Open - 6 PM EST futures market open
- Asia Session (9 PM - 1 AM EST) - Asian market high/low
- London Session (3 AM - 6 AM EST) - European market high/low
- NY AM Session (9:30 AM - 11 AM EST) - New York morning high/low
- NY PM Session (1:30 PM - 4 PM EST) - New York afternoon high/low
- Opening Range - Customizable 5/15/30-minute opening range
Historical Levels
- Prior Day/Week/Month - Previous period high/low levels
- 52-Week High/Low - Yearly extremes
- All-Time High/Low - Historical extremes
- Current Day High/Low - Today's range
Smart Money Structure
- Advanced Swing Detection - Market structure-based swing highs/lows
- Swept Range Detection - Automatically hides mitigated levels
- Real-Time Updates - Dynamic level detection
Technical Indicators
- EMAs (9, 21, 50) - Exponential moving averages
- SMAs (20, 50, 200) - Simple moving averages
Expected Move Calculation
- VIX-Based Range - Live VIX data integration
- Multiple Anchors - Calculate from True Day Open, NY Open, or Session Start
- Options Trading - Perfect for probability-based strategies
🎨 Display Features
Smart Table Design
- Auto-Sorting - Levels sorted from highest to lowest
- Color Coding - Green above price, red below price
- Distance Display - Shows percentage or points from current price
- 9 Position Options - Place table anywhere on chart
- Customizable Size - Adjustable text and opacity
Intelligent Filtering
- Hide Swept Ranges - Automatically removes broken levels
- Toggle Individual Levels - Show only what you need
- Clean Interface - No chart clutter
💡 Use Cases
Day Trading
- Track key intraday levels without cluttering charts
- Monitor session highs/lows for breakout trades
- Use VWAP and bands for mean reversion
- Opening range breakout strategies
Swing Trading
- Monitor weekly/monthly levels for position entries
- Track 52-week highs/lows for momentum plays
- Use prior period levels for support/resistance
Options Trading
- VIX-based expected move for strike selection
- Probability zones for credit spreads
- Key levels for pin risk assessment
Scalping
- Quick reference for immediate support/resistance
- VWAP bands for quick reversals
- Session levels for range trading
📚 Educational Value
Every setting includes detailed tooltips explaining:
- ICT (Inner Circle Trader) concepts
- Session trading strategies
- VWAP and standard deviation usage
- Expected move calculations
- Smart money structure
Perfect for traders learning advanced concepts while getting practical trading levels.
⚙️ Customization
Smart Defaults
- Essential levels enabled by default
- Less common levels disabled to reduce clutter
- Swept range hiding enabled for clean display
Full Control
- Toggle any level on/off
- Choose percentage or points display
- Adjust table position and appearance
- Customize for your trading style
🚀 Getting Started
1. Add to Chart - Works on any timeframe and instrument
2. Position Table - Choose from 9 positions
3. Enable Levels - Turn on levels relevant to your strategy
4. Start Trading - All levels update in real-time
📈 Why Use This Indicator?
- Save Time - No more drawing levels manually
- Stay Organized - All levels in one place
- Trade Better - Never miss a key level
- Learn Concepts - Educational tooltips included
- Professional Tool - Institutional-grade level tracking
🎓 Tips for Best Results
- Use on 1-15 minute charts for day trading
- Enable session levels for futures/forex trading
- Use expected move for options strategies
- Combine with your existing strategy for confluence
- Hide swept ranges to focus on active levels
---
The Key Levels Cheat Sheet transforms how you view and use support/resistance levels. Stop cluttering your charts with lines and start trading with clarity.
Tags: #levels #support #resistance #vwap #sessions #daytrading #scalping #options #expectedmove #smartmoney #ict #tradingview
Breaker & Mitigation Blocks# Breaker & Mitigation Blocks (ICT Concepts)
## Description
This indicator automatically identifies and displays **Breaker Blocks (BB)** and **Mitigation Blocks (MB)** based on ICT (Inner Circle Trader) market structure concepts.
### ICT Definitions:
- **Breaker Block (+BB/-BB)**: A failed order block that price breaks through, converting it from support to resistance (or vice versa)
- **Mitigation Block (+MB/-MB)**: The last opposing candle before a market structure shift, representing unmitigated orders
### How It Works:
The indicator uses zigzag-based market structure analysis to:
1. Identify market structure breaks using a proprietary algorithm
2. Locate the last opposing directional candle before structure shifts
3. Automatically label blocks as either Breakers or Mitigations based on price action
4. Track and update blocks in real-time as price interacts with levels
### Key Features:
- **Smart Level Management**: Control the number of active bullish/bearish levels displayed
- **Flexible Extensions**: Choose between custom bars, current bar, or extended projections
- **Auto-Cleanup**: Removes invalidated levels when price breaks through
- **Real-time Alerts**: Notifies when price enters BB/MB zones
### Labels:
- **+BB** = Bullish Breaker Block
- **-BB** = Bearish Breaker Block
- **+MB** = Bullish Mitigation Block
- **-MB** = Bearish Mitigation Block
Perfect for traders following ICT concepts who want automated, clean identification of key institutional levels without manual markup.
AI Strat ATR Dinamico + ADX + Trend Adaptivo (No Repaint)Below is a fully self-contained, English-language description of every input, function, and logical block inside the “AI Strat ATR Dinamico + ADX + Trend Adaptivo (No Repaint)” indicator. You can copy and paste this into TradingView’s “Description” field when you publish, without exposing any Pine code.
---
## Indicator Name and Purpose
**Name (Short Title):**
AI Strat Adaptive v3 (NoRepaint)
**Overview:**
This indicator combines multiple technical tools—RSI, EMA, ATR (with a dynamic multiplier), ADX/DI, and an “AI‐style” scoring mechanism—to generate trend-filtered and reversal signals. It also optionally confirms signals on a higher timeframe, dynamically adjusts its sensitivity based on volatility, and plots intrabar stop‐loss (SL) and take‐profit (TP) levels derived from ATR. Special care has been taken to ensure that no signals “repaint” (i.e., once drawn on a closed bar, they never disappear or shift).
---
## 1. Main Inputs
All of the inputs appear in the Settings dialog for the published indicator. Below is a detailed explanation of each input, grouped by logical category.
### A. RSI & EMA Base Parameters
1. **RSI Length (Base)**
* **Input type:** Integer (default 14)
* **Description:** Number of bars used to calculate the Relative Strength Index (RSI). A shorter RSI reacts more quickly to price changes; a longer RSI is smoother.
2. **RSI Overbought Threshold**
* **Input type:** Integer (default 60)
* **Description:** If the RSI value rises above this level, it contributes a “sell” signal component. You can adjust this (e.g., 70) to make your system more conservative.
3. **RSI Oversold Threshold**
* **Input type:** Integer (default 40)
* **Description:** If the RSI falls below this level, it contributes a “buy” signal component. Raising this threshold (e.g., 50) makes the strategy more aggressive in seeking reversals.
4. **EMA Length (Base)**
* **Input type:** Integer (default 20)
* **Description:** Number of bars for the Exponential Moving Average (EMA). A shorter EMA will produce more frequent crossovers, a longer EMA is smoother.
### B. ATR & Volatility Filter Parameters
5. **ATR Length (Base)**
* **Input type:** Integer (default 14)
* **Description:** Number of bars to calculate Average True Range (ATR). The ATR is used both for measuring volatility and for dynamic SL/TP levels.
6. **ATR SMA Length**
* **Input type:** Integer (default 50)
* **Description:** Number of bars to compute a Simple Moving Average of the ATR itself. This gives a baseline of “normal” volatility. If ATR rises significantly above this SMA, the indicator treats the market as “high volatility.”
7. **ATR Multiplier Base**
* **Input type:** Float (default 1.2, step 0.1)
* **Description:** Base multiplier for ATR when filtering for volatility. The actual threshold is computed as `ATR_SMA × (ATR_Multiplier Base) × sqrt(current_ATR / ATR_SMA)`. In other words, the multiplier becomes larger if volatility is rising, and smaller if volatility is falling.
8. **Disable Volatility Filter**
* **Input type:** Boolean (default false)
* **Description:** If enabled (true), the indicator will ignore any volatility‐based filtering, using signals regardless of ATR behavior. If disabled (false), signals only fire when ATR > (ATR\_SMA × dynamic multiplier).
### C. Price-Change & “AI Score” Parameters
9. **Price Change Period (bars)**
* **Input type:** Integer (default 3)
* **Description:** The number of bars back to measure percentage price change. Used to ensure that a “trend” signal is accompanied by a sufficiently positive (for longs) or negative (for shorts) price movement over this many bars.
10. **Base AI Score Threshold**
* **Input type:** Float (default 0.1)
* **Description:** The indicator computes a composite “AI-style” score by combining the RSI signal (overbought/oversold) and an EMA crossover signal. Only if the absolute value of that composite score exceeds this threshold will a trend signal be eligible. Raising it makes signals rarer but (potentially) higher-conviction.
### D. SMA “ICT” Trend Filter Parameters
11. **ICT SMA Long Length (Base)**
* **Input type:** Integer (default 50)
* **Description:** Number of bars for the “long” Simple Moving Average (SMA) used in the internal trend filter. Typically, price must be above this SMA (and ADX must be strong) to confirm an uptrend, or below it (and ADX strong) to confirm a downtrend.
12. **ICT SMA Short1 Length (Base)**
* **Input type:** Integer (default 10)
* **Description:** Secondary “fast” SMA used both for reversal logic (e.g., price crossing above it can count as a bullish reversal) and part of the internal trend confirmation.
13. **ICT SMA Short2 Length (Base)**
* **Input type:** Integer (default 20)
* **Description:** A second “medium” SMA used for reversal triggers (e.g., crossovers or crossunders alongside RSI conditions).
### E. ADX & DI Parameters
14. **Base ADX Length**
* **Input type:** Integer (default 14)
* **Description:** Number of bars for the ADX (Average Directional Index) moving averages, which measure trend strength. The same length is used for +DI and –DI smoothing.
15. **Base ADX Threshold**
* **Input type:** Float (default 25.0, step 0.5)
* **Description:** If ADX > this threshold and +DI > –DI, we consider an uptrend; if ADX > this threshold and –DI > +DI, we consider a downtrend. Raising this value demands stronger trends to qualify.
### F. Sensitivity & Cooldown
16. **Sensitivity (0–1)**
* **Input type:** Float between 0.0 and 1.0 (default 0.5)
* **Description:** A general “mixture” parameter used internally to weight how aggressively the indicator leans into trend versus reversal. In practice, the code uses it to fine-tune exact thresholds for switching between trend and reversal conditions. You can leave it at 0.5 unless you want to bias more heavily toward either regime.
17. **Base Cooldown Bars Between Signals**
* **Input type:** Integer (default 5, min 0)
* **Description:** Once a long or short signal fires, the indicator will wait at least this many bars before allowing a new signal in the same direction. Prevents “signal flipping” on each bar. A higher number forces fewer, more spaced-out entries.
18. **Trend Confirmation Bars**
* **Input type:** Integer (default 3, min 1)
* **Description:** After the directional filters (+DI/–DI cross, price vs. SMA), the indicator still requires that price remains on the same side of the long SMA for at least this many consecutive bars before confirming “trend up” or “trend down.” Larger values smooth out false breakouts but may lag signals.
### G. Higher Timeframe Confirmation
19. **Use Higher Timeframe Confirmation**
* **Input type:** Boolean (default true)
* **Description:** If true, the indicator will request a block of values (SMA, +DI, –DI, ADX) from a higher timeframe (default 60 minutes) and require that the higher timeframe is also in agreement (strong uptrend or strong downtrend) before confirming your current-timeframe trend. This helps filter out lower-timeframe noise.
20. **Higher Timeframe (TF) for Confirmation**
* **Input type:** Timeframe (default “60”)
* **Description:** The chart timeframe (e.g., 5, 15, 60 minutes) whose trend conditions must also be true. It’s sent through a `request.security(..., lookahead=barmerge.lookahead_off)` call so that it never “paints ahead.”
### H. Dynamic TP/SL Parameters
21. **TP as ATR Multiple**
* **Input type:** Float (default 2.0, step 0.1)
* **Description:** When a trade is open, the “take-profit” price is determined by looking at the highest high (for longs) or lowest low (for shorts) observed since entry, and then plotting a cross (“X”) at that level when the trend finally flips. This is purely for display. However, separate from that, this parameter can be adapted if you want a strictly ATR–based TP. In the “Minimal” version, TP is ≈ (highest high) once trend inverts, but you could rewrite it to use `entry_price + ATR×TP_Multiplier`.
22. **SL as ATR Multiple**
* **Input type:** Float (default 1.0, step 0.1)
* **Description:** While in a trade, a trailing SL line is plotted each bar. Its value is always `entry_price ± (ATR × SL_Multiplier)`. When the trend inverts, the SL no longer updates, and you see it on the chart.
### I. Display and Mode Options
23. **Show Debug Lines**
* **Input type:** Boolean (default true)
* **Description:** When enabled, the indicator will plot all intermediate lines—ATR SMA, ATR Threshold, +DI, –DI, ADX (current and HTF), HTF SMA, etc.—so that you can diagnose exactly what’s happening. Turn this off to hide all debug information and only see entry/exit shapes.
24. **Enable Scalping Mode**
* **Input type:** Boolean (default false)
* **Description:** If true, many of the “base” parameters are halved (e.g., RSI length becomes 7 instead of 14, ATR length becomes 7 instead of 14, ADX length becomes 7, etc.), and the ADX threshold is multiplied by 0.8. This makes all oscillators and moving averages more reactive, suited for very short-term (scalping) setups.
---
## 2. Core Calculation Blocks
Below is a high-level description of each logical block (in code order), translated from Pine into conceptual steps.
### A. Adjust Inputs if “Scalping Mode” Is On
If **Scalping Mode** = true, then:
* `RSI_Length` becomes `max(1, round(Base_RSI_Length / 2))`
* `EMA_Length` becomes `max(1, round(Base_EMA_Length / 2))`
* `ATR_Length` becomes `max(1, round(Base_ATR_Length / 2))`
* `Price_Change_Period` becomes `max(1, round(Base_Price_Change_Period / 2))`
* `SMA_Long_Length`, `SMA_Short1_Length`, and `SMA_Short2_Length` are each halved (minimum 1).
* `ADX_Length` = `max(1, round(Base_ADX_Length / 2))`
* `ADX_Threshold` = `Base_ADX_Threshold × 0.8`
* `Cooldown_Bars` = `max(0, round(Base_Cooldown_Bars / 2))`
Otherwise, all adjusted lengths = their base values.
### B. RSI, EMA & “AI Score” on Current Timeframe
1. **Compute RSI:**
* Uses the (possibly adjusted) `RSI_Length`.
* Denote this as `RSI_Value`.
2. **Compute ATR & Its SMA:**
* `ATR_Value` = `ta.atr(ATR_Length)`.
* `ATR_SMA` = `ta.sma(ATR_Value, ATR_SMA_Length)`.
* Then define `Volatility_Increase` = (`ATR_Value > ATR_SMA`).
* If the volatility has increased, the weighting of RSI vs. EMA changes.
3. **Compute Weights:**
* If `Volatility_Increase == true`, then:
* `RSI_Weight = 0.7`
* `EMA_Weight = 0.3`
* Otherwise:
* `RSI_Weight = 0.3`
* `EMA_Weight = 0.7`
4. **RSI Signal Component (`RSI_Sig`):**
* If `RSI_Value > RSI_Overbought`, then `RSI_Sig = –1`.
* Else if `RSI_Value < RSI_Oversold`, then `RSI_Sig = +1`.
* Otherwise, `RSI_Sig = 0`.
5. **EMA Value & Signal Component (`EMA_Sig`):**
* `EMA_Value` = `ta.ema(close, EMA_Length)`.
* `EMA_Sig = +1` if the current close crosses **above** the EMA; `EMA_Sig = –1` if the current close crosses **below** the EMA; else `0`.
6. **Compute Raw “AI Score”:**
$$
Raw\_AI = (RSI\_Sig \times RSI\_Weight)\;+\;(EMA\_Sig \times EMA\_Weight)
$$
Then,
$$
AI\_Score = \frac{Raw\_AI}{(RSI\_Weight + EMA\_Weight)}
$$
(This normalization ensures the score always ranges between –1 and +1 if both weights sum to 1.)
### C. Dynamic ATR Multiplier & Volatility Filter
1. **Volatility Factor:**
$$
Volatility\_Factor = \frac{ATR\_Value}{ATR\_SMA}
$$
2. **Dynamic ATR Multiplier:**
$$
ATR\_Multiplier = ATR\_Multiplier\_Base \times \sqrt{Volatility\_Factor}
$$
3. **High Volatility Condition (`High_Volatility`):**
* If `Disable_Volatility_Filter == true`, then treat `High_Volatility = true` always.
* Else, `High_Volatility = (ATR_Value > ATR_SMA × ATR_Multiplier)`.
### D. Price Change Percentage
* **Compute Price Change:**
$$
Price\_Change = \frac{(Close - Close )}{Close } \times 100
$$
* This is the percent return from `Price_Change_Period` bars ago to now.
* For a valid long‐trend signal, we require `Price_Change > 0`; for a short trend, `Price_Change < 0`.
### E. Local SMAs for Trend/Reversal Filters
* `SMA_Close_Long` = `ta.sma(close, SMA_Long_Length)`.
* `SMA_Close_Short1` = `ta.sma(close, SMA_Short1_Length)`.
* `SMA_Close_Short2` = `ta.sma(close, SMA_Short2_Length)`.
These three SMAs help define the “local trend” and reversal breakout points:
* **Primary Trend Filter:**
* Price must be above `SMA_Close_Long` for an uptrend filter, or below `SMA_Close_Long` for a downtrend filter.
* **Reversal Filter:**
* A bullish reversal is detected if **(RSI < Oversold AND close crosses above EMA)** OR **(RSI < Oversold AND close crosses above SMA\_Close\_Short1)**.
* A bearish reversal is detected if **(RSI > Overbought AND close crosses below EMA)** OR **(RSI > Overbought AND close crosses below SMA\_Close\_Short1)**.
### F. Manual +DI, –DI & ADX on Current Timeframe
Instead of relying on the built-in `ta.adx`, the script calculates DI and ADX manually. This makes it easier to replicate the exact logic on a higher timeframe via `request.security`. The steps are:
1. **Directional Movement (DM) Components:**
* `Up_Move` = `high – high `
* `Down_Move` = `low – low`
* `Plus_DM` = `Up_Move` if (`Up_Move > Down_Move` AND `Up_Move > 0`), else `0`
* `Minus_DM` = `Down_Move` if (`Down_Move > Up_Move` AND `Down_Move > 0`), else `0`
2. **True Range (TR) Components:**
* `TR1` = `high – low`
* `TR2` = `abs(high – close )`
* `TR3` = `abs(low – close )`
* `True_Range` = `max(TR1, TR2, TR3)`
3. **Smoothed Averages (RMA):**
* `Sm_TR` = `ta.rma(True_Range, ADX_Length)`
* `Sm_Plus` = `ta.rma(Plus_DM, ADX_Length)`
* `Sm_Minus`= `ta.rma(Minus_DM, ADX_Length)`
4. **Compute DI%:**
$$
Plus\_DI = \frac{Sm\_Plus}{Sm\_TR} \times 100,\quad
Minus\_DI = \frac{Sm\_Minus}{Sm\_TR} \times 100
$$
5. **DX and ADX:**
$$
DX = \frac{|Plus\_DI - Minus\_DI|}{Plus\_DI + Minus\_DI} \times 100,\quad
ADX = ta.rma(DX, ADX_Length)
$$
These values are referred to as `(plus_di, minus_di, adx_val)` for the current timeframe.
---
## 3. Higher Timeframe (HTF) Confirmation Function
If **Use Higher Timeframe Confirmation** is enabled, the script calls a single helper (Pine) function `f_htf` with two parameters: the ADX length and the SMA length (both taken from the “base” or “scaled” values). Internally, `f_htf` simply reruns the manual DI/ADX logic (same as above) on the higher timeframe’s bar data, and also includes that timeframe’s closing price and its SMA for trend comparison.
* **Request.Security Call:**
```
= request.security(
syminfo.tickerid,
higher_tf,
f_htf(adx_length, sma_long_len),
lookahead=barmerge.lookahead_off
)
```
* `lookahead=barmerge.lookahead_off` ensures that no HTF value “paints” early; you always see only confirmed HTF bars.
* The returned tuple provides:
1. `ht_close` = HTF closing price
2. `ht_sma` = HTF SMA of length `sma_long_len`
3. `ht_pdi` = HTF +DI percentage
4. `ht_mdi` = HTF –DI percentage
5. `ht_adx` = HTF ADX value
---
## 4. Trend & Reversal Filters (Current & HTF)
### A. Current-Timeframe Trend Filter
1. **Uptrend\_Basic (Current TF)**
$$
(plus\_di > minus\_di)\;\land\;(adx\_val > ADX\_Threshold)\;\land\;(close > SMA\_Close\_Long)
$$
2. **Downtrend\_Basic (Current TF)**
$$
(minus\_di > plus\_di)\;\land\;(adx\_val > ADX\_Threshold)\;\land\;(close < SMA\_Close\_Long)
$$
3. **Trend Confirmation by Bars:**
* `Bars_Since_Below` = number of bars since `close <= SMA_Close_Long`.
* `Bars_Since_Above` = number of bars since `close >= SMA_Close_Long`.
* If `Uptrend_Basic == true` AND `Bars_Since_Below ≥ Trend_Confirmation_Bars` → mark `Uptrend_Confirm = true`.
* If `Downtrend_Basic == true` AND `Bars_Since_Above ≥ Trend_Confirmation_Bars` → mark `Downtrend_Confirm = true`.
### B. Reversal Filters (Current TF)
1. **Bullish Reversal (`Rev_Bullish`):**
* If `(RSI < RSI_Oversold AND close crosses above EMA_Value)` OR
`(RSI < RSI_Oversold AND close crosses above SMA_Close_Short1)`
→ then `Rev_Bullish = true`.
2. **Bearish Reversal (`Rev_Bearish`):**
* If `(RSI > RSI_Overbought AND close crosses below EMA_Value)` OR
`(RSI > RSI_Overbought AND close crosses below SMA_Close_Short1)`
→ then `Rev_Bearish = true`.
### C. Higher-Timeframe Trend Filter (HTF)
1. **HTF Uptrend (`HT_Uptrend`):**
$$
(ht\_pdi > ht\_mdi)\;\land\;(ht\_adx > ADX\_Threshold)\;\land\;(ht\_close > ht\_sma)
$$
2. **HTF Downtrend (`HT_Downtrend`):**
$$
(ht\_mdi > ht\_pdi)\;\land\;(ht\_adx > ADX\_Threshold)\;\land\;(ht\_close < ht\_sma)
$$
3. **Combine Current & HTF:**
* If **Use\_HTF\_Confirmation == true**, then:
* `Uptrend_Confirm := Uptrend_Confirm AND HT_Uptrend`
* `Downtrend_Confirm := Downtrend_Confirm AND HT_Downtrend`
* Otherwise, just use the current timeframe’s `Uptrend_Confirm` and `Downtrend_Confirm`.
4. **Define `CurrentTrend` (Integer):**
* `CurrentTrend = +1` if `Uptrend_Confirm == true`.
* `CurrentTrend = –1` if `Downtrend_Confirm == true`.
* Otherwise, `CurrentTrend = 0`.
5. **Reset “One Trade Per Trend”:**
* There is a persistent variable `LastTradeTrend`.
* Every time `CurrentTrend` flips (i.e., `CurrentTrend != CurrentTrend `), the code sets `LastTradeTrend := 0`.
* That allows one new entry once the detected trend has changed.
---
## 5. One‐Time “Cooldown” Logic
* **`LastSignalBar`**
* A persistent integer (initially undefined).
* After each confirmed long or short entry, `LastSignalBar` is set to the bar index where that signal fired.
* **`Bars_Since_Signal`**
* If `LastSignalBar` is undefined, treat as a very large number (so that initial signals are always allowed).
* Otherwise, `Bars_Since_Signal = bar_index – LastSignalBar`.
* **Cooldown Check:**
* A new long (or short) can only be generated if `(Bars_Since_Signal > Signal_Cooldown)`.
* This prevents multiple signals in rapid succession.
---
## 6. Entry Conditions (No Repaint)
All of the conditions below are calculated “intrabar,” but the script only actually registers a **signal** on **bar close** (`barstate.isconfirmed`) so that signals never repaint.
### A. Trend‐Based “Raw” Conditions
1. **Trend\_Long\_Raw:**
$$
(AI\_Score > AI\_Score\_Threshold)\;\land\;Uptrend\_Confirm\;\land\;High\_Volatility\;\land\;(Price\_Change > 0)
$$
2. **Trend\_Short\_Raw:**
$$
(AI\_Score < -AI\_Score\_Threshold)\;\land\;Downtrend\_Confirm\;\land\;High\_Volatility\;\land\;(Price\_Change < 0)
$$
### B. Reversal “Raw” Conditions
1. **Rev\_Long\_Raw:**
$$
Rev\_Bullish\;\land\;(CurrentTrend \neq +1)
$$
2. **Rev\_Short\_Raw:**
$$
Rev\_Bearish\;\land\;(CurrentTrend \neq -1)
$$
### C. Combine Raw Signals
* `Raw_Long = Trend_Long_Raw OR Rev_Long_Raw`.
* `Raw_Short = Trend_Short_Raw OR Rev_Short_Raw`.
### D. Confirmed Long/Short Signal Flags
On each new bar **close** (`barstate.isconfirmed == true`):
* **Long\_Signal\_Confirmed** can fire if:
1. `Raw_Long == true`
2. `LastTradeTrend != +1` (we haven’t already taken a long in this same trend)
3. `Bars_Since_Signal > Signal_Cooldown`
If all three hold, then on this bar close the code sets:
* `Long_Signal = true`
* `LastTradeTrend := +1`
* `LastSignalBar := bar_index`
Otherwise, `Long_Signal := false` on this bar.
* **Short\_Signal\_Confirmed** works the same way but with `Raw_Short`, `LastTradeTrend != -1`, etc.
If triggered, it sets `Short_Signal = true`, `LastTradeTrend := -1`, and `LastSignalBar := bar_index`. Otherwise `Short_Signal := false`.
* **Important:** If the bar is still forming (`else` branch of `barstate.isconfirmed`), then both `Long_Signal` and `Short_Signal` are forced to `false`. This guarantees that no shape or alert appears until the bar actually closes.
---
## 7. Plotting Entry/Exit Shapes
1. **Trend Long Signal (Triangle Up)**
* Condition: `Long_Signal == true` **AND** `Trend_Long_Raw == true`.
* Appearance: A small, semi-transparent lime green triangle drawn **below** the bar.
2. **Trend Short Signal (Triangle Down)**
* Condition: `Short_Signal == true` **AND** `Trend_Short_Raw == true`.
* Appearance: A small, semi-transparent maroon triangle drawn **above** the bar.
3. **Reversal Long Signal (Circle)**
* Condition: `Long_Signal == true` **AND** `Rev_Long_Raw == true`.
* Appearance: A tiny, more transparent green circle drawn **below** the bar.
4. **Reversal Short Signal (Circle)**
* Condition: `Short_Signal == true` **AND** `Rev_Short_Raw == true`.
* Appearance: A tiny, more transparent red circle drawn **above** the bar.
Since `Long_Signal` and `Short_Signal` only ever become true at bar close, these shapes are never repainted or removed once drawn.
---
## 8. Unified Alert Message
* As soon as a new bar closes with either `Long_Signal` or `Short_Signal == true`, an alert message is sent:
* If `Long_Signal`, then `alert_msg = "action=BUY"`.
* If `Short_Signal`, then `alert_msg = "action=SELL"`.
* If neither, `alert_msg = ""` (no alert).
* The code calls `alert(alert_msg, freq=alert.freq_once_per_bar)` only if `barstate.isconfirmed` and `alert_msg` is non‐empty. This ensures exactly one alert per confirmed bar, no intrabar pops.
---
## 9. Dynamic TP/SL Logic (Minimal Implementation)
Once a long or short position is “open,” the script tracks these variables:
1. **Persistent Flags and Prices** (all persist between bars until reset):
* `InLong` (Boolean)
* `InShort` (Boolean)
* `Long_Max` (Float)
* `Short_Min` (Float)
* `Entry_Price` (Float)
2. **On Bar Close:**
* If `Long_Signal == true` →
* Set `InLong := true`,
* `Entry_Price := close` of that bar,
* `Long_Max := high ` (last bar’s high, so that we’re not using “future” data).
* If `Short_Signal == true` →
* Set `InShort := true`,
* `Entry_Price := close`,
* `Short_Min := low `.
3. **While `InLong == true`:**
* Continuously update `Long_Max = max(Long_Max, current high)` on each bar (intrabar, but finalized each close).
* Compute a dynamic SL:
$$
SL_{Long} = Entry\_Price - (ATR \times SL\_ATR\_Multiplier).
$$
* If **current trend** flips to non-uptrend (`CurrentTrend != +1`), mark `ExitLong = true`.
* Then the routine plots `TP_Long = Long_Max` as a cross (“X”) at that level.
* Set `InLong := false` so that no further changes to `Long_Max` or `Entry_Price` happen on future bars.
4. **While `InShort == true`:**
* Continuously update `Short_Min = min(Short_Min, current low)`.
* Compute a dynamic SL:
$$
SL_{Short} = Entry\_Price + (ATR \times SL\_ATR\_Multiplier).
$$
* If trend flips to non-downtrend (`CurrentTrend != –1`), mark `ExitShort = true`.
* Then the routine plots `TP_Short = Short_Min`.
* Set `InShort := false` to freeze those values.
5. **Plotting TP/SL if “Show Debug” is On:**
* **TP Shapes:**
* When `ExitLong == true`, plot a solid lime “X” at `TP_Long` (highest high).
* When `ExitShort == true`, plot a solid maroon “X” at `TP_Short` (lowest low).
* **SL Lines:**
* If still `InLong`, draw a thin red line at `SL_Long` on each bar.
* If still `InShort`, draw a thin green line at `SL_Short`.
Thus, your charts visually show the highest‐high take-profit cross for longs, the lowest-low take-profit cross for shorts, and a continuously updating trailing SL until the trend flips. Because all of this is triggered on confirmed bars, nothing “jumps around” after the fact.
---
## 10. Debug‐Only Plot Lines (When Enabled)
When **Show Debug Lines** = true, the indicator will also plot:
1. **ATR SMA (Orange):**
* The simple moving average of ATR over `ATR_SMA_Length`.
2. **ATR Threshold (Yellow):**
* `ATR_SMA × ATR_Multiplier` (the dynamically scaled threshold).
3. **+DI & –DI (Current TF):**
* +DI plotted as a green line, –DI plotted as a red line (opacity \~70%).
4. **ADX (Current TF, Blue):**
* A blue line for the present timeframe’s ADX.
5. **ADX Threshold (Gray):**
* A horizontal gray line showing `ADX_Threshold`.
6. **+DI & –DI (HTF, Darker Colors):**
* If HTF confirmation is on, “HTF +DI” is a greener but more transparent line; “HTF –DI” is a redder but more transparent line.
7. **ADX (HTF, Blue but Transparent):**
* HTF ADX plotted in blue (high transparency).
8. **HTF SMA (Orange, Transparent):**
* The higher timeframe’s SMA (same length as `SMA_Long_Length`), drawn in fainter orange.
9. **Volatility Zone Fill (Yellow Tinted Area):**
* Fills the area between `ATR_SMA` and `ATR_SMA × ATR_Multiplier`.
* Indicates “normal” versus “high‐volatility” regimes.
These debug lines are purely visual aids. Disable them if you want a cleaner chart.
---
## 11. Putting It All Together — Step-By-Step Flow
1. **Read Inputs** (RSI lengths, EMA length, ATR settings, etc.).
2. **Optionally Halve All Lengths** if “Scalping Mode” is checked.
3. **Calculate Current TF Indicators:**
* RSI, ATR, ATR\_SMA, EMA, price change, various SMAs, DI/ADX.
4. **Compute “AI Score”** (weighted sum of RSI and EMA signals).
5. **Compute Dynamic ATR Multiplier** and decide if “High Volatility” is true.
6. **Compute Raw Trend/Reversal Conditions** on the current timeframe (without triggering yet).
7. **Fetch HTF Values** in one `request.security` call (SMAs, DI/ADX).
8. **Combine Current & HTF Trend Filters** to confirm `Uptrend_Confirm` or `Downtrend_Confirm`.
9. **Check Reversal Conditions** (price crossing EMA or SMA short, in overbought/oversold zones).
10. **Enforce “One Trade Per Trend”** (clear `LastTradeTrend` whenever `CurrentTrend` flips).
11. **Enforce Cooldown** (must wait at least `Signal_Cooldown` bars since the prior signal).
12. **On Bar Close:**
* If `Raw_Long` AND not already in a long trend AND cooldown met, then fire `Long_Signal`.
* Else if `Raw_Short` AND not already in a short trend AND cooldown met, then fire `Short_Signal`.
* Otherwise, no new signal on this bar.
13. **Plot Long/Short Entry Shapes** according to whether it was a Trend signal or a Reversal signal.
14. **Send Alert** (“action=BUY” or “action=SELL”) exactly once per confirmed bar.
15. **If New Long/Short Signal, Set `InLong`/`InShort`, Record Entry Price, Initialize `Long_Max`/`Short_Min`.**
16. **While `InLong` is true:** Update `Long_Max = max(previous Long_Max, current high)`. Compute `SL_Long`. If the current trend flips (no longer uptrend), set `ExitLong = true`, plot a “TP X,” and close the position logic.
17. **While `InShort` is true:** Similarly update `Short_Min`, compute `SL_Short`, and if trend flips, set `ExitShort = true`, plot a “TP X,” and close the position logic.
18. **Optionally Display Debug Lines** (ATR SMA, ATR threshold, DI/ADX, HTF DI/ADX, etc.).
---
## 12. How to Use in TradingView Community
When you publish this indicator to the TradingView community—choosing “Protected” or “Invite-only” visibility—you can paste the above description into the “Description” field. Users will see exactly what each input does, how signals are generated, and what the various plotted lines represent, **without ever seeing the script source**. In this way, the code itself remains hidden but the logic is fully documented.
1. **Go to “Create New Indicator”** on TradingView.
2. **Paste Your Pine Code** (the full indicator script) in the Pine editor and save it.
3. **Set Visibility = Protected** (or Invite-only).
4. **In the “Description” Text Box, paste the entirety of this document** (steps 1–11).
5. **Click “Publish Script.”**
Users who view your indicator will see its name (“AI Strat Adaptive v3 (NoRepaint)”), a list of all inputs (with default values), and the detailed English description above. They can then load it on any chart, adjust inputs, and see the plotted signals, TP/SL lines, and optional debug overlays—without accessing the underlying Pine code.
---
### Summary of Key Points
* **RSI, EMA, ATR, DI/ADX, and “AI Score”** work together to define “trend vs. reversal.”
* **Dynamic volatility filter** uses ATR and ATR\_SMA to adapt the weighting of RSI vs. EMA and decide whether “volatility is high enough” to permit a trend trade.
* **One trade per detected trend** and a **cooldown period** prevent over‐trading.
* **Higher timeframe confirmation** (optional) further filters out noise.
* **No-repaint logic**:
* All signals only appear at bar close (`barstate.isconfirmed`).
* HTF values are fetched with `lookahead=barmerge.lookahead_off`.
* **Entry shapes** (triangles and circles) clearly mark trend vs. reversal entries.
* **Dynamic TP/SL**: highest‐high (or lowest‐low) since entry is used as TP, ATR×multiplier as SL.
* **Debug mode** (optional) shows every intermediate line for full transparency.
Use this description verbatim (or adapt it slightly for your personal style) when publishing. That way, your community sees exactly how each component works—inputs, functions, filters—while the Pine source code remains private.
CandelaCharts - Turtle Soup Model📝 Overview
The ICT Turtle Soup Model indicator is a precision-engineered tool designed to identify high-probability reversal setups based on ICT’s renowned Turtle Soup strategy.
The Turtle Soup Model is a classic reversal setup that exploits false breakouts beyond previous swing highs or lows. It targets areas where retail traders are trapped into breakout trades, only for the price to reverse sharply in the opposite direction.
Price briefly breaks a previous high (for short setups) or low (for long setups), triggering stop orders and pulling in breakout traders. Once that liquidity is taken, smart money reverses price back inside the range, creating a high-probability fade setup.
📦 Features
Liquidity Levels: Projects forward-looking liquidity levels after a Turtle Soup model is formed, highlighting potential price targets. These projected zones act as magnet levels—areas where price is likely to reach based on the liquidity draw narrative. This allows traders to manage exits and partials with more precision.
Market Structure Shift (MSS): Confirms reversal strength by detecting a bullish or bearish MSS after a sweep. Acts as a secondary confirmation to filter out weak setups.
Custom TF Pairing: Choose your own combination of entry timeframe and context timeframe. For example, trade 5m setups inside a 1h HTF bias — perfect for aligning microstructure with macro intent.
HTF & LTF PD Arrays: Displays HTF PD Arrays (e.g., Fair Value Gaps, Inversion Fair Value Gaps) to serve as confluence zones.
History: Review and backtest past Turtle Soup setups directly on the chart. Toggle historical models on/off to study model behavior across different market conditions.
Killzone Filter: Limit signals to specific trading sessions or time blocks (e.g., New York AM, London, Asia, etc). Avoid signals in low-liquidity or choppy environments.
Standard Deviation: Calculates and projects four levels of standard deviation from the point of model confirmation. These zones help identify overextended moves, mean-reversion opportunities, and confluence with liquidity or PD arrays.
Dashboard: The dashboard displays the active model type, remaining time of the HTF candle, current bias, asset name, and date—providing real-time context and signal clarity at a glance.
⚙️ Settings
Core
Status: Filter models based on status
Bias: Controls what model type will be displayed, bullish or bearish
Fractal: Controls the timeframe pairing that will be used
High Probability Models: Detects and plots only the high-probability models
Sweeps
Sweep: Shows the sweep that forms a model
I-sweep: Controls the visibility of invalidated sweeps
D-purge: Plots the double purge sweeps
S-area: Highlights the sweep area
Liquidity
Liquidity: Displays the liquidity levels that belong to the model
MSS
MSS: Displays the Market Structure Shift for a model
History
History: Controls the number of past models displayed on the chart
Filters
Asia: Filter models based on Asia Killzone hours
London: Filter models based on London Killzone hours
NY AM: Filter models based on NY AM Killzone hours
NY Launch: Filter models based on NY Launch Killzone hours
NY PM: Filter models based on NY PM Killzone hours
Custom: Filter models based on user Custom hours
HTF
Candles: Controls the number of HTF candles that will be visible on the chart
Candles T: Displays the model’s third timeframe candle, which serves as a confirmation of directional bias
NY Open: Display True Day Open line
Offset: Controls the distance of HTF from the current chart
Space: Controls the space between HTF candles
Size: Controls the size of HTF candles
PD Array: Displays ICT PD Arrays
CE Line: Style the equilibrium line of PD Array
Border: Style the border of the PD Array
LTF
H/L Line: Displays on the LTF chart the High and Low of each HTF candle
O/C Line: Displays on the LTF chart the Open and Close of each HTF candle
PD Array: Displays ICT PD Arrays
CE Line: Style the equilibrium line of PD Array
Border: Style the border of the PD Array
Standard Deviation
StDev: Controls standard deviation of available levels
Labels: Controls the size of standard deviation levels
Lines: Controls the line widths and color of standard deviation levels
Dashboard
Panel: Display information about the current model
💡 Framework
The Turtle Soup Model is designed to detect and interpret false breakout patterns by analyzing key price action components, each playing a vital role in identifying liquidity traps and generating actionable reversal signals.
The model incorporates the following timeframe pairing:
15s - 5m - 15m
1m - 5m - 1H
2m - 15m - 2H
3m - 30m - 3H
5m - 60m - 4H
15m - 1H - 8H
30m - 3H - 12H
1H - 4H - 1D
4H - 1D - 1W
1D - 1W - 1M
1W - 1M - 6M
1M - 6M - 12M
Below are the key components that make up the model:
Sweep
D-purge
MSS
Liquidity
Standard Deviation
HTF & LTF PD Arrays
The Turtle Soup Model operates through a defined lifecycle that identifies its current state and determines the validity of a trade opportunity.
The model's lifecycle includes the following statuses:
Formation (grey)
Invalidation (red)
Pre-Invalidation (purple)
Success (green)
By incorporating the phases of Formation, Invalidation, and Success, traders can effectively manage risk, optimize position handling, and capitalize on the high-probability opportunities presented by the Turtle Soup Model.
⚡️ Showcase
Introducing the Turtle Soup Model — a powerful trading tool engineered to detect high-probability false breakout reversals. This indicator helps you pinpoint liquidity sweeps, confirm market structure shifts, and identify precise entry and exit points, enabling more confident, informed, and timely trading decisions.
LTF PD Array
LTF PD Arrays are essential for model formation—a valid Turtle Soup setup will only trigger if a qualifying LTF PD Array is present near the sweep zone.
HTF PD Array
HTF PD Arrays provide macro-level context and are used to validate the direction and strength of the potential reversal.
Timeframe Alignment
In the Turtle Soup trading model, timeframe alignment is an essential structural component. The model relies on multi-timeframe context to identify high-probability reversal setups based on failed breakouts.
High-Probability Model
A high-probability setup forms when key elements align: a Sweep, Market Structure Shift (MSS), LTF and HTF PD Arrays.
Killzone Filters
Filter Turtle Soup Models based on key market sessions: Asia, London, New York AM, New York Launch, and New York PM . This allows you to focus on high-liquidity periods where smart money activity is most likely to occur, improving both the quality and timing of your trade setups.
Unlock your trading edge with the Turtle Soup Model — your go-to tool for sharper insights, smarter decisions, and more confident execution in the markets.
🚨 Alerts
This script offers alert options for all model types. The alerts need to be set up manually from TradingView.
Bearish Model
A bearish model alert is triggered when a model forms, signaling a high sweep, MS,S and LTF PD Array.
Bullish Model
A bullish model alert is triggered when a model forms, signaling a low sweep, MSS and LTF PD Array.
⚠️ Disclaimer
These tools are exclusively available on the TradingView platform.
Our charting tools are intended solely for informational and educational purposes and should not be regarded as financial, investment, or trading advice. They are not designed to predict market movements or offer specific recommendations. Users should be aware that past performance is not indicative of future results and should not rely on these tools for financial decisions. By using these charting tools, the purchaser agrees that the seller and creator hold no responsibility for any decisions made based on information provided by the tools. The purchaser assumes full responsibility and liability for any actions taken and their consequences, including potential financial losses or investment outcomes that may result from the use of these products.
By purchasing, the customer acknowledges and accepts that neither the seller nor the creator is liable for any undesired outcomes stemming from the development, sale, or use of these products. Additionally, the purchaser agrees to indemnify the seller from any liability. If invited through the Friends and Family Program, the purchaser understands that any provided discount code applies only to the initial purchase of Candela's subscription. The purchaser is responsible for canceling or requesting cancellation of their subscription if they choose not to continue at the full retail price. In the event the purchaser no longer wishes to use the products, they must unsubscribe from the membership service, if applicable.
We do not offer reimbursements, refunds, or chargebacks. Once these Terms are accepted at the time of purchase, no reimbursements, refunds, or chargebacks will be issued under any circumstances.
By continuing to use these charting tools, the user confirms their understanding and acceptance of these Terms as outlined in this disclaimer.
CVD Candlestick - Milana TradesThe CVD Candlestick indicator visualizes Cumulative Volume Delta (CVD) in the form of candlesticks, providing a deeper insight into intrabar buying and selling pressure.
Instead of plotting CVD as a simple line, this indicator displays it as a candle chart, allowing traders to analyze the momentum of volume delta just like price action.
How it Works
Delta is calculated as the difference between the bar’s close and open: delta = close - open.
Divergence + ICT-Based Confirmation
This indicator can be used effectively to detect CVD-price divergences, which may signal early signs of weakness in the current trend. When integrated with ICT (Inner Circle Trader) concepts, it becomes a powerful tool for precision-based trading setups.
CVD Divergence Logic:
A bearish divergence occurs when price makes a higher high while CVD makes a lower high — suggesting weakening buyer aggression.
A bullish divergence occurs when price makes a lower low while CVD makes a higher low — signaling potential seller exhaustion.
ICT Confirmation Methods:
After identifying divergence on CVD, traders may look for confirmation using ICT techniques, such as:
1) Liquidity sweeps (e.g. price takes out a prior high/low into a divergence zone)
2) Breaker blocks or order blocks aligning with the divergence area
3) Market structure shifts following divergence
4) Optimal Trade Entry (OTE) levels confluencing with CVD-based signals
Example Setup:
Identify divergence between price and CVD.
Wait for liquidity sweep or market structure break in the same zone.
Confirm entry with lower time frame precision, if needed.
Data Candle
CVD is computed as the cumulative sum of delta over time.
For each bar, a synthetic candlestick is generated based on:
CVD Open = previous CVD value
CVD Close = current CVD value
High/Low = relative range based on Open/Close
Candlestick color indicates whether buyers (green) or sellers (red) dominated the bar.
Note : This implementation uses price-based delta for simplicity and works universally across assets. For bid/ask-based delta, a feed with order book data is required, which is not accessible in Pine Script.
Use Cases
Identify divergences between price and volume delta
Confirm or question breakouts and trend strength
Use in combination with VWAP, volume profile, or liquidity zones
Analyze intrabar sentiment in a candlestick format
Features
CVD represented as full candlesticks
Clear color distinction for delta direction
Works on all symbols and timeframes
Lightweight and responsive
Weekly Open (Current Week Only)📘 Indicator Name: Weekly Open (Current Week Only)
📝 Description:
This indicator plots a horizontal line representing the weekly open price, visible only during the current trading week. At the beginning of each new week (based on TradingView’s weekly time segmentation), the indicator captures the open price of the first candle and draws a constant line across the chart until the week ends. Once the new week begins, the line resets and updates with the new weekly open.
🎯 How to Use – ICT Concepts Integration (Weekly Profile):
This tool is designed to complement ICT (Inner Circle Trader) trading strategies, particularly within the weekly profile framework, by offering a clear and persistent visual of the weekly open, which is a critical reference point in ICT’s market structure theory.
✅ Use Cases:
Directional Bias:
According to ICT concepts, price trading above the weekly open suggests a bullish bias for the week, while trading below it implies bearish conditions.
Traders can use the weekly open line to align their intraweek trades with higher timeframe directional bias.
Dealing Ranges:
Weekly open helps frame the weekly dealing range, especially when combined with other levels like weekly high/low or previous week’s range.
It allows traders to identify potential liquidity pools or areas where price may seek to rebalance.
Mean Reversion Entries:
Price often reverts to or reacts from the weekly open. Traders may use this as a target or entry level, particularly during Monday/Tuesday setups.
Works well in conjunction with concepts like OTE (Optimal Trade Entry) and Judas Swings.
Risk Management:
Acts as a clean and visual anchor to structure stop losses or take-profits based on weekly bias shifts.