Previous Cycle Range [bilal]🧭 Previous Cycle Range
Inspired by ICT (Inner Circle Trader) concepts
description made by chatgpt
📝 Overview
The Previous Cycle Range indicator is a multi-timeframe tool designed to visualize key market structure levels derived from the previous trading cycle’s range — a concept heavily utilized in ICT-style analysis.
It helps traders identify equilibrium levels, liquidity zones, and potential premium/discount areas based on the prior day (or any chosen period) high and low.
⚙️ Features
Custom Cycle Length: Define your own cycle in minutes (e.g., 1440 = 1 day, 10080 = 1 week).
Previous High/Low: Automatically plots the previous cycle’s high and low levels.
Equilibrium (EQ): Optional 50% midpoint line to highlight the market’s equilibrium.
Quarter Levels: Adds 25% and 75% range lines for refined premium/discount analysis.
Extended Ranges: Optional extended levels (e.g., -100%, +200%) to identify continuation or retracement targets.
Fib Levels (1.272 & 1.618): Adds ICT-style Fibonacci extension levels for confluence zones.
Custom Styling: Full control over colors, line width, label style, and extension distance.
💡 How It Helps
This indicator aligns with ICT principles by making the previous day’s range visible and actionable:
The previous day’s high/low often act as liquidity pools.
The equilibrium (EQ) represents fair value — useful for spotting premium/discount zones.
Quarter levels and Fibonacci extensions add precision when mapping market structure and potential reaction points.
🔍 Example Uses
Identify where price is trading relative to the previous session’s range.
Use EQ and quarter levels to gauge premium vs. discount conditions.
Combine with other ICT-based tools (e.g., PD arrays, dealing ranges, or kill zones) for refined trade setups.
Поиск скриптов по запросу "ict"
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.
FVG and OB🧠 Concept Behind the “FVG and OB” Indicator
This indicator merges two core ICT (Inner Circle Trader) concepts — Fair Value Gaps (FVGs) and Order Blocks (OBs) — into one clean, dynamic visualization tool.
It is designed for professional price-action traders who want to track institutional imbalances and smart money footprints directly on the chart.
🟩 FAIR VALUE GAP (FVG)
An FVG represents an imbalance in price caused by aggressive buying or selling where the market fails to offer two-way liquidity.
It’s typically created when a strong candle leaves a visible “gap” between the previous candle’s high and the next candle’s low (for bullish FVG), or vice versa (for bearish FVG).
In this indicator:
🟢 Bullish FVGs are drawn when low > high
🔴 Bearish FVGs are drawn when high < low
Each gap box dynamically extends to the right until it is mitigated (partially or fully filled).
You can choose between two mitigation modes:
Boundary Touch (default): The FVG is considered mitigated once price touches the gap boundary.
Full Fill: The FVG remains active until the entire gap range is filled.
This gives you real-time awareness of whether liquidity has been rebalanced — a key ICT concept in identifying market turning points.
🟥 ORDER BLOCK (OB)
An Order Block represents the last opposing candle before a strong impulsive move.
It is where institutional traders likely executed large block orders, creating supply or demand zones that price often revisits.
In this script, an OB is automatically drawn:
🟥 Bearish OBs form after a strong down move (usually following a bearish FVG).
🟩 Bullish OBs form after a strong up move (usually following a bullish FVG).
Key features:
The indicator can detect OBs in two ways:
Only FVG’s First Candle: A stricter mode aligning OB formation directly with FVG events.
Classic (Last Opposite Color): A more traditional ICT-style detection that finds the last candle of the opposite color within a defined lookback range.
OBs auto-expand with the next candle’s wick, so any extra high/low beyond the original OB is included by default.
Each OB remains extended until mitigated — when price revisits and closes the imbalance.
⚙️ CONTROL & CUSTOMIZATION
You can control the entire behavior and visualization through the settings panel:
Display Mode: Show only FVGs, only OBs, or both simultaneously.
Mitigation Mode: Choose how strict the FVG closure logic should be.
Body-Only Option: Restrict OB calculation to candle bodies instead of wicks for cleaner structure.
Individual Color Settings: Customize border and fill colors for each block type.
Lookback Depth: Define how far back the system searches for valid OB structures.
The result is a clean, layered representation of institutional footprints — with automatic cleanup logic that prevents chart clutter and keeps only active zones visible.
📊 PRACTICAL APPLICATION
Use this indicator to:
Identify imbalances left by aggressive moves (potential retracement targets).
Confirm confluences between FVGs and OBs — the overlap areas often mark powerful reaction zones.
Track mitigation progress as price revisits those zones.
Refine entry timing when price reacts to unmitigated OBs or fills the last untested FVG.
🧩 TECHNICAL DESIGN
Built in Pine Script v5 with fully modular code architecture.
FVG and OB modules can be toggled or used independently.
Uses arrays for efficient management of multiple boxes.
Auto-updates in real-time and mitigates per-bar to minimize lag.
Designed for multi-timeframe backtesting compatibility.
💡 Summary
This tool visually bridges two of the most powerful Smart Money Concepts —
FVG = imbalance zones and OB = institutional origin blocks.
Together, they help traders map out liquidity flows, identify premium/discount zones, and anticipate where price is likely to react next.
🧑💻 Credits
Based on ICT & Smart Money Concepts, rewritten in modular PineScript with precision mitigation logic.
# For educational and analytical purposes only.
OSOK AMERICANA [TakingProphets]OVERVIEW
OSOK is an ICT-inspired execution framework designed to help traders map the interaction between Higher-Timeframe (HTF) liquidity sweeps, qualifying Order Blocks, and Current-Timeframe (CTF) confirmation signals — all within a single, structured workflow.
By sequencing an HTF CRT → Order Block → CTF CRT model and integrating IPDA 20 equilibrium context, this tool provides traders with a visual framework for aligning intraday execution decisions with higher-timeframe intent. All plotted elements — sweeps, blocks, open prices, and equilibrium levels — update continuously in real time.
-----------------------------------------------------------------------------------------------
Core Concepts (ICT-Based)
-----------------------------------------------------------------------------------------------
Candle Range Transition (CRT) Sweeps
Bullish CRT → The second candle runs below the first candle’s low and closes back inside its range.
Bearish CRT → The second candle runs above the first candle’s high and closes back inside its range.
These patterns are frequently associated with liquidity grabs and potential directional shifts.
HTF → CTF Alignment
-Detects valid HTF CRTs (e.g., Daily CRTs derived from H4 or Weekly CRTs derived from Daily).
-Locates a qualifying Order Block within HTF Candle-2 to identify areas of potential interest.
-Waits for a modified CRT confirmation on the current timeframe before signaling possible directional bias.
IPDA 20 Equilibrium
-Plots the midpoint of the daily highest and lowest prices over the last 20 periods.
-Provides a visual reference for premium and discount pricing zones.
-----------------------------------------------------------------------------------------------
How OSOK Works
-----------------------------------------------------------------------------------------------
Step 1 — HTF CRT Check
On each new HTF candle, the script scans for a clean CRT formation on the higher aggregation (e.g., H4 → D or D → W).
If found, it tags the candles as C1, C2, and C3 and optionally shades their backgrounds for clear visual parsing.
Step 2 — HTF Order Block Identification
Searches within HTF Candle-2 for a qualifying Order Block using a compact pattern filter.
Draws a persistent OB level with clear labeling for context.
Step 3 — CTF Confirmation (Modified CRT)
Monitors your current chart timeframe for a modified CRT in alignment with the HTF setup:
For bullish setups → waits for a bullish modified CRT and close above C1’s high zone.
For bearish setups → expects a bearish modified CRT and close below C1’s low zone.
Step 4 — Real-Time Maintenance
All labels, lines, and background spans update intrabar.
If the setup invalidates — for example, if implied targets are exceeded before entry — the layout resets and waits for the next valid sequence.
-----------------------------------------------------------------------------------------------
KEY FEATURES
-----------------------------------------------------------------------------------------------
HTF CRT Visualization
-Optional “×” markers on Daily/Weekly CRT sweeps.
-Independent background shading for C1, C2, and C3.
Order Block + Open Price Context
-Draws HTF Order Block levels and plots C3 Open Price (DOP) for additional directional reference.
CTF CRT Execution Cue
-Displays a modified CRT on your current timeframe when conditions align with the HTF narrative.
IPDA 20 Line + Label
-Plots a dynamic midpoint level with an optional label for quick premium/discount context.
Optimized Drawing Engine
-Lightweight, efficient use of chart objects ensures smooth performance without visual clutter.
INPUTS
-Higher Timeframe Settings
-Toggle markers for Daily/Weekly CRT sweeps.
-Enable and color C1, C2, and C3 background spans.
-IPDA Display Options
-Control visibility, color, and line style for IPDA 20 equilibrium levels.
-Sweep, OB, and Open Price Styles
-Per-element customization for colors, widths, and labels.
-----------------------------------------------------------------------------------------------
BEST PRACTICES
-----------------------------------------------------------------------------------------------
Start on H4 or Daily to identify valid HTF CRT formations.
Confirm a qualifying OB inside Candle-2.
Drop to your execution timeframe and wait for the modified CTF CRT confirmation before acting.
Use IPDA 20 equilibrium as a reference for premium vs. discount zones.
Combine with your ICT session bias and overall market context for optimal decision-making.
-----------------------------------------------------------------------------------------------
Important Notes
-----------------------------------------------------------------------------------------------
OSOK is not a buy/sell signal provider. It’s a visual framework for understanding ICT-based execution models.
All objects reset automatically when new HTF candles form or setups invalidate.
Works on any symbol and timeframe by default, with HTF mapping set to H4 → D and D → W.
Opening Range Gaps [TakingProphets]What is an Opening Range Gap (ORG)?
In ICT, the Opening Range Gap is defined as the price difference between the previous session’s close (e.g., 4:00 PM EST in U.S. indices) and the current day’s open (9:30 AM EST).
That gap is a liquidity void—an area where no trading occurred during regular hours.
Why ICT Traders Care About ORG
Liquidity Void (Gap Fill Logic)
-Because the gap is an untraded area, it naturally acts as a draw on liquidity.
-Price often seeks to rebalance by retracing into or fully filling this void.
Premium/Discount Sensitivity
-Once the ORG is defined, ICT treats it as a mini dealing range.
-Above EQ (Consequent Encroachment) = algorithmic premium (sell-sensitive).
-Below EQ = algorithmic discount (buy-sensitive).
-Price reaction at these levels gives a precise read on institutional intent intraday.
Support/Resistance from ORG
-If the session opens above prior close, the gap often acts as support until violated.
-If the session opens below prior close, the gap often acts as resistance until reclaimed.
Key ICT Concepts Anchored to ORG
Consequent Encroachment (CE): The midpoint of the gap. The algo is highly sensitive to CE as a decision point: reject → continuation; reclaim → reversal.
Draw on Liquidity (DoL): Price is algorithmically “pulled” toward gap fills, CE, or the opposite side of the ORG.
Order Flow Confirmation: If price ignores the gap and runs away from it, this signals strong institutional order flow in that direction.
Confluence with Other Tools: FVGs, OBs, and HTF PD arrays often overlap with ORG levels, strengthening setups.
Practical Application for Traders
Bias Formation:
Use ORG EQ as a line in the sand for intraday bias.
If price trades below ORG EQ after the open → look for short setups into the prior day’s low or external liquidity.
If price trades above ORG EQ → favor longs into highs/liquidity pools.
Execution Framework:
Wait for liquidity raids or market structure shifts at ORG edges (.00, .25, .50, .75).
Target: EQ, opposite quarter, or full gap fill.
Precision Reads:
ORG lines let traders anticipate where algorithms are likely to respond, providing mechanical invalidation and clear targets without clutter.
AMD [TakingProphets]Overview
The AMD indicator is a real-time, high-resolution tool designed for traders following ICT methodology who want a clear visualization of higher timeframe (HTF) candles directly on their lower timeframe charts.
It overlays current HTF structure, including open, high, low, and close projections, allowing traders to align intraday decisions with institutional price delivery — all without switching timeframes.
Concept & Background
In ICT concepts, market behavior often follows a pattern of accumulation, manipulation, and distribution. Understanding these phases is essential for anticipating when price is likely to expand or reverse.
AMD automates this process by:
-Overlaying HTF candles directly on your lower timeframe chart.
-Projecting live levels like the current open, high, low, and close to map out evolving bias.
-Helping traders see whether price is accumulating orders, engineering liquidity sweeps, or distributing aggressively.
Key Features
Live HTF Candle Overlay
-Displays the full HTF candle — body, wicks, and directional bias — on your active chart in real time.
-Perfect for traders aligning intraday setups with broader HTF context.
Dynamic HTF Price Projections
-Plots the evolving open, high, low, and close for the current HTF candle.
-Each projection can be customized by color, style, labels, and visibility to fit your workflow.
Full Customization Control
-Adjust candle body widths, wick styles, and transparency.
-Configure projection lines and time labels in both 12h and 24h formats.
-Includes an optional Info Box showing instrument, timeframe, and session context.
Session Timing & Labeling
-Smart timestamping marks the start and close of each HTF candle.
-Helps traders anticipate potential expansions or reversals during killzones or liquidity events.
How to Use It
Select Your HTF Context
-Choose any timeframe overlay (e.g., 1H, 4H, 1D) to match your trading model.
-Monitor Live HTF Levels
-Watch how price interacts with current HTF highs, lows, and equilibrium levels in real time.
-Integrate With ICT Concepts
-Use alongside tools like SMT divergence, Order Blocks, or Liquidity Levels for confirmation and context.
-Refine Intraday Entries
-Check whether price is expanding in your favor before entering positions.
Best Practices
Combine AMD with ICT killzone sessions to monitor HTF behavior during high-liquidity periods.
Use it alongside correlated SMT divergence tools for stronger directional bias confirmation.
Who It’s For
Scalpers anchoring quick entries to HTF sentiment.
Intraday traders syncing 5m/15m setups with 1H/4H context.
Swing traders monitoring HTF ranges without switching charts.
Educators & analysts needing clean visual overlays for teaching and content creation.
Why It’s Useful
AMD doesn’t provide trading signals or predictive guarantees. Instead, it offers a clean, structured view of HTF price delivery — enabling traders to understand institutional intent as it unfolds and manage their execution with greater confidence.
Scalp Sense AI# Scalp Sense AI (No Repaint)
**Adaptive trend & reversal detector with an AI-driven score, multi-timeframe confirmations, robust volume filters, and a purpose-built Scalping Mode.**
Signals are generated **only on bar close** (no repaint), include structured alert payloads for webhooks, and come with optional ATR-based TP/SL visualization for study and validation.
---
## What it is (in one paragraph)
**Scalp Sense AI** combines classic market structure (DI/ADX, EMA, SMA, Keltner, ATR) with a continuous **AI Score** that fuses RSI normalization, EMA distance (in ATR units), and DI edge into a single, volatility-aware signal. It adaptively gates **trend** and **reversal** entries, applies **HTF confirmation** without lookahead, and enforces **guard rails** (e.g., strong-trend reversal blocking) unless a high-confidence AI override and volume confirmation are present. **Scalping Mode** compresses reaction times and adds micro price-action cues (wick rejections, micro-EMA crosses, small engulfing) to surface more—but disciplined—opportunities.
---
## Non-Repainting Design
* All signals, markers, state, and alerts are computed **after bar close** using `barstate.isconfirmed`.
* HTF data are requested with `lookahead_off`.
* No “future-peeking” constructs are used.
* Result: signals do **not** change after the candle closes.
---
## How the engine works (pipeline overview)
1. **Base metrics**
* **RSI**, **EMA**, **ATR** (+ ATR SMA for regime/volatility), **SMA long & short**, **Keltner** (EMA ± ATR×mult).
* **Manual DI/ADX** for fine control (DM+, DM−, true range smoothing).
2. **Volatility regime**
* Compares ATR to its SMA and scales thresholds by √(ATR/ATR\_SMA) → robust “high\_vol” gating.
3. **Volume & flow**
* **Volume Z-score**, **OBV slope**, and **MFI** (all computed manually) to confirm impulses and filter weak reversals.
4. **Higher-Timeframe confirmation (optional)**
* Imports HTF **PDI/MDI/ADX** and **SMA** (no lookahead) to require alignment when enabled.
5. **AI Score**
* Weighted fusion of **RSI (normalized around 0)**, **EMA distance (in ATR)**, and **DI edge**.
* Smoothed; then its **mean (μ)** and **volatility (σ)** are estimated to form **adaptive bands** (hi/lo), with optional **hysteresis**.
* **Debounce** (M in N bars) avoids flicker; **bias state** persists until truly invalidated.
6. **Signal logic**
* **Trend entries** require AI bias + trend confirmations (DI/ADX/SMA, HTF if enabled), volatility OK, and **anti-breakout** filter.
* **Reversal entries** come in **core**, **early**, and **scalp** flavors (progressively more frequent), guarded by strong-trend blocks that an **AI+volume+ADX-cooling override** can bypass.
7. **Scalping Mode**
* Adaptive parameter contraction (shorter lengths), gentler guards, micro-patterns (wick/engulf/micro-EMA cross), and reduced cooldown to increase high-quality opportunities.
8. **Cooldown & state**
* One signal per side after a configurable spacing in bars; internal “last direction” avoids clustering.
9. **Visualization & alerts**
* **Triangles** for trend, **circles** for reversals (offset by ATR to avoid overlap).
* **Single-line alert payload** (BUY/SELL, reason, AI, volZ, ADX) ready for webhooks.
---
## Signals & visualization
* **Trend Long/Short** → triangle markers (above/below) when:
* AI bias aligns with trend confirmations (DI edge, ADX above threshold, price vs long SMA, optional HTF alignment).
* Volatility regime agrees; **anti-breakout** prevents entries exactly at lookback highs/lows.
* **Reversal Long/Short** → circular markers when:
* **Core**: AI near “loose” band, OBV/MFI/volZ supportive, ADX cooling, DI spread relaxed, PA confirms (crosses/div).
* **Early**: anticipatory patterns (Keltner exhaustion, simple RSI “quasi-divergence”).
* **Scalp**: micro-EMA cross, wick rejection, mini-engulfing, with relaxed guards but AI/volume still in the loop.
* **Markers appear only on the bar that actually emitted the signal** (no repaint); offsets use ATR so shapes don’t overlap.
---
## Alerts (ready for webhooks)
Enable “**Any alert() function call**” and you’ll receive compact, single-line payloads once per bar:
```
action=BUY;reason=reversal-early;ai=0.1375;volZ=0.82;adx=27.5
action=SELL;reason=trend;ai=-0.2210;volZ=0.43;adx=31.9
```
* `action`: BUY / SELL
* `reason`: `trend` | `reversal-core` | `reversal-early` | `reversal-scalp`
* `ai`: current smoothed AI Score at signal bar
* `volZ`: volume Z-score
* `adx`: current ADX
---
## Inputs (exhaustive)
### 1) Core Inputs
* **RSI Length (Base)** (`rsi_length_base`, int)
Base RSI lookback. Shorter = more reactive; longer = smoother.
* **RSI Overbought Threshold** (`rsi_overbought`, int)
Informational for context; RSI is used normalized in the AI fusion.
* **RSI Oversold Threshold** (`rsi_oversold`, int)
Informational; complements visual context.
* **EMA Length (Base)** (`ema_length_base`, int)
Primary adaptive mean; also used for Keltner mid and distance metric.
* **ATR Length (Base)** (`atr_length_base`, int)
Volatility unit for Keltner, SL/TP (debug), and regime detection.
* **ATR SMA Length** (`atr_sma_len`, int)
Smooth baseline for ATR regime; supports “high\_vol” logic.
* **ATR Multiplier Base** (`atr_mult_base`, float)
Scales volatility gating (sqrt-scaled); higher = tighter high-vol requirement.
* **Disable Volatility Filter** (`disable_volatility_check`, bool)
Bypass volatility gating if true.
* **Price Change Period (bars)** (`price_change_period_base`, int)
Simple momentum check (+/−% over N bars) used in trend validation.
* **Base Cooldown Bars Between Signals** (`signal_cooldown_base`, int ≥ 0)
Minimum bars to wait between signals (per side).
* **Trend Confirmation Bars** (`trend_confirm_bars`, int ≥ 1)
Require persistence above/below long SMA for this many bars.
* **Use Higher Timeframe Confirmation** (`use_higher_tf`, bool)
Turn on/off HTF alignment (no repaint).
* **Higher Timeframe for Confirmation** (`higher_tf`, timeframe)
E.g., “60” to confirm M15 with H1; used for HTF PDI/MDI/ADX and SMA.
* **TP as ATR Multiple** (`tp_atr_mult`, float)
For **visual debug** only (drawn after entries); not an order manager.
* **SL as ATR Multiple** (`sl_atr_mult`, float)
For visual debug only.
* **Enable Scalping Mode** (`scalping_mode`, bool)
Compresses lengths/thresholds, unlocks micro-PA modules, reduces cooldown.
* **Show Debug Lines** (`show_debug`, bool)
Plots AI bands, DI/ADX, EMA/SMA, Keltner, vol metrics, and TP/SL (debug).
### 2) AI Score & Thresholds
* **AI Score Smooth Len** (`ai_len`, int)
EMA smoothing over the raw fusion.
* **AI Volatility Window** (`ai_sigma_len`, int)
Window to estimate AI mean (μ) and standard deviation (σ).
* **K High (sigma)** (`ai_k_hi`, float)
Upper band width (σ multiplier) for strong threshold.
* **K Low (sigma)** (`ai_k_lo`, float)
Lower band width (σ multiplier) for loose threshold.
* **Debounce Window (bars)** (`ai_debounce_m`, int ≥ 1)
Rolling window length used by the confirm counter.
* **Min Bars>Thr in Window** (`ai_debounce_n`, int ≥ 1)
Minimum confirmations inside the debounce window to validate a state.
* **Use Hysteresis Thresholds** (`ai_hysteresis`, bool)
Requires crossing back past a looser band to exit bias → fewer whipsaws.
* **Weight DI Edge (0–1)** (`ai_weight_di`, float)
Importance of DI edge within the fusion.
* **Weight EMA Dist (0–1)** (`ai_weight_ema`, float)
Importance of EMA distance (in ATR units).
* **Weight RSI Norm (0–1)** (`ai_weight_rsi`, float)
Importance of normalized RSI.
* **Sensitivity (0–1)** (`sensitivity`, float)
Contracts/expands bands (higher = more sensitive).
### 3) Volume Filters
* **Volume MA Length** (`vol_ma_len`, int)
Baseline for volume Z-score.
* **Volume Z-Score Window** (`vol_z_len`, int)
Std-dev window for Z-score; larger = fewer volume “spikes”.
* **Reversal: Min Volume Z for confirm** (`vol_rev_min_z`, float)
Minimum Z required to validate reversals (adaptively relaxed in scalping).
* **OBV Slope Lookback** (`obv_slope_len`, int)
Rising/falling OBV over this window supports bull/bear confirmations.
* **MFI Length** (`mfi_len`, int)
Money Flow Index lookback (manual calculation).
### 4) Filters (Breakout / ADX / Reversal)
* **Enable Breakout Filter** (`enable_breakout_fil`, bool)
Avoid trend entries at lookback highs/lows.
* **Breakout Lookback Bars** (`breakout_lookback`, int ≥ 1)
Window for the anti-breakout guard.
* **Base ADX Length** (`adx_length_base`, int)
Lookback for DI/ADX smoothing (also adapted in Scalping Mode).
* **Base ADX Threshold** (`adx_threshold_base`, float)
Minimum ADX to validate trend context (scaled in Scalping Mode).
* **Enable Reversal Filter** (`enable_rev_filter`, bool)
Master switch for reversal logic.
* **Max ADX for Reversal** (`rev_adx_max`, float)
Hard cap: above this ADX, reversals are blocked (unless overridden by AI if allowed in Guards).
### 5) Reversal Guard (regime protection & overrides)
* **Strong Trend: ADX add-above Thr** (`guard_adx_add`, float)
Extra ADX above `adx_threshold` to mark “strong” trend.
* **Strong Trend: min DI spread** (`guard_spread_min`, float)
Minimum DI separation to consider a trend “dominant”.
* **Require ADX drop from window max (%)** (`guard_adx_drop_min_pct`, float 0–1)
ADX must drop at least this fraction from its window maximum to consider “cooling”.
* **Regime Window (bars)** (`guard_regime_len`, int ≥ 10)
Window over which ADX max is measured for the “cooling” check.
* **EMA Slope Lookback** (`guard_slope_len`, int ≥ 2)
EMA slope horizon used alongside Keltner for strong-trend identification.
* **Keltner Mult (ATR)** (`guard_kc_mult`, float)
Keltner width for strong trend bands and exhaustion checks.
* **HTF Reversal Block Mode** (`htf_block_mode`, string: `Off` | `On` | `AI-controlled`)
* `Off`: never block by HTF.
* `On`: block reversals whenever HTF is strong.
* `AI-controlled`: block **unless** AI+volume+ADX-cooling override criteria are met.
* **AI-controlled: allow AI override** (`ai_htf_override`, bool)
Enables the override mechanism in `AI-controlled` mode.
* **AI override multiplier (vs band\_hi)** (`ai_override_mult`, float)
Strength needed beyond the high band to count as “strong AI”.
* **AI override: min bars beyond strong thr** (`ai_override_min_bars`, int ≥ 1)
Debounce on the override itself.
### 6) Markers
* **Reversal Circle ATR Offset** (`rev_marker_offset_atr`, float ≥ 0)
Vertical offset for reversal circles; trend triangles use a separate (internal) offset.
### 7) Scalping Mode Tuning
* **Reversal aggressiveness (0–1)** (`scalp_rev_aggr`, float)
Higher = looser guards and stronger AI sensitivity.
* **Wick: body multiple (bull/bear)** (`scalp_wick_body_mult`, float)
Wick must be at least this multiple of body to count as rejection.
* **Wick: ATR multiple (min)** (`scalp_wick_atr_mult`, float)
Minimal wick length in ATR units.
* **Micro EMA factor (vs EMA base)** (`scalp_ema_fast_factor`, float 0.2–0.9)
Fast EMA length = base EMA × factor (rounded/int).
* **Relax breakout filter in scalping** (`scalp_breakout_relax`, bool)
Lets more trend entries through in scalping context.
### 8) ICT-style SMA (bases)
* **ICT SMA Long Length (Base)** (`sma_long_len_base`, int)
Long-term baseline for regime/trend.
* **ICT SMA Short1 Length (Base)** (`sma_short1_len_base`, int)
Short baseline for price-action crosses.
* **ICT SMA Short2 Length (Base)** (`sma_short2_len_base`, int)
Companion short baseline used in PA cross checks.
> **Adaptive “effective” values:** When **Scalping Mode** is ON, the script internally shortens multiple lengths (RSI/EMA/ATR/ADX/μσ windows, SMAs) and gently relaxes guards (ADX drop %, DI spread, volume Z, override thresholds), reduces cooldown/confirm bars, and optionally relaxes the breakout filter—so you get **more frequent but still curated** signals.
---
## Plots & debug (optional)
* DI+/DI−, ADX (curr + HTF), EMA, long SMA, Keltner up/down (when strong), AI Score, AI mean, AI bands (hi/lo; low plots only when hysteresis is on), Volume MA and Z-score, and ATR-based TP/SL guide (after entries).
* These are **study aids**; the indicator does not manage trades.
---
## Recommended use
* **Timeframes**:
* Scalping Mode: M1–M15.
* Standard Mode: M15–H1 (or higher).
* **Markets**: Designed for liquid FX, indices, metals, and large-cap crypto.
* **Chart type**: Standard candles recommended (Heikin-Ashi alters inputs and hence signals).
* **Alerts**: Use “Any alert() function call”. Parse the key/value payloads server-side.
---
## Good to know
* **Why some alerts don’t draw shapes retroactively**: markers are drawn **only on** the bar that emitted the signal (no repaint by design).
* **Why a reversal didn’t fire**: strong-trend guards + HTF block may have been active; check ADX, DI spread, Keltner position, EMA slope, and whether AI override criteria were met.
* **Too many / too few signals**: tune **Scalping Mode**, `signal_cooldown_base`, AI bands (`ai_k_hi/lo`, `sensitivity`), volume Z (`vol_rev_min_z`), and guards (`rev_adx_max`, `guard_*`).
---
## Disclaimer
This is an **indicator**, not a strategy or an execution system. It does not place, modify, or manage orders. Markets carry risk—validate on historical data and demo before any live decisions. No performance claims are made.
---
### Version
**Scalp Sense AI v11.5** — Adaptive AI bands with hysteresis/debounce, HTF no-lookahead confirmations, guarded reversal logic with AI override, full volume suite (Z, OBV slope, MFI), anti-breakout filter, and a dedicated Scalping Mode with micro-PA cues.
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.
Inner Circle Toolkit [TakingProphets]Inner Circle Toolkit — A Complete ICT Trading Companion
The Inner Circle Toolkit is a closed-source, all-in-one trading tool designed for traders following ICT (Inner Circle Trader) and Smart Money Concepts strategies. Every part of this script is built with purpose — not just a mashup of indicators, but a structured framework to help you follow price through the lens of institutional behavior and liquidity theory.
Let’s walk through what it does and how it can help you:
🕒 Session Liquidity Levels (Asia, London, New York, NY Lunch)
The indicator automatically marks the highs and lows of the major trading sessions:
-Asian Session
-London Session
-New York AM Session
-New York Lunch
These levels are important because price often returns to these points to grab liquidity before making a move. This gives traders clear areas to watch for potential sweeps, rejections, or reversals — without having to manually track session timings every day.
REQHs and REQLs — Equal Highs and Lows
This script detects Relatively Equal Highs and Lows (REQHs/REQLs), which are often used by institutions as stop-run targets.
It’s not just looking for copy-paste double tops or bottoms — it uses a tolerance-based algorithm that checks for clusters of similar highs or lows over a given time period. These are likely to hold stops and become magnets for price. When you see these on the chart, you’ll know where the “juice” is sitting.
Fair Value Gaps (FVG) — Multi-Timeframe
The script automatically plots Fair Value Gaps (FVGs) on both:
-Your current chart timeframe
-One or more higher timeframes (like H1 or H4)
These are three-candle gaps that form when price moves aggressively without filling in value. Price often comes back to these areas to rebalance. Seeing both local and higher-timeframe FVGs on your chart gives better context and helps with entries and exits.
The script is optimized so your chart doesn’t get messy — higher timeframe FVGs show up in a cleaner format with visual labels and lighter shading.
SMT Divergence — With Session Logic
This tool includes a real-time SMT divergence detector, based on the behavior of correlated markets like ES vs. NQ.
Here’s how it works:
If ES sweeps a liquidity level (like Asia Low), but NQ doesn’t, the script detects and marks that divergence.
This often signals institutional accumulation or distribution — a high-probability setup.
You won’t have to flip between charts or manually compare — the SMT logic runs automatically and only fires when it matters (at key session levels). It’s a smarter, more focused way to track intermarket divergences.
Daily Highs and Lows — Week-to-Week Structure
The indicator keeps track of the high and low for each day of the week — Monday through Friday — helping you understand how price is evolving across the week.
This helps build a weekly profile:
Did Monday set the high of the week?
Are we sweeping Tuesday’s low on Thursday?
These levels stay visible and labeled, helping you frame daily setups inside the bigger picture.
🕛 Midnight Open & 8:30 AM Open Levels
These two levels are core ICT concepts used to judge whether price is in premium or discount:
Midnight Open (00:00 EST): Used to determine daily bias
New York Open (08:30 EST): Often a launch point for key moves
Both are drawn automatically and extend throughout the day. This helps you align your trades with potential algorithmic bias, especially during NY session volatility.
⏰ 9:45 AM Vertical Marker — Macro Time Reminder
The script draws a subtle vertical line at 9:45 AM EST, which is the start of the NY AM macro session — one of the most likely times to see setups play out.
This is more than just a timer — it’s a visual cue that something important might be setting up soon, especially if you’re already watching SMT, FVGs, or liquidity zones from earlier.
How It All Connects — A Workflow, Not a Mashup
Every feature in this script is connected to the same goal: helping you trade with the Smart Money.
Here’s how the pieces work together:
Session levels → potential stop hunts
Equal highs/lows → targets
FVGs → entry points
SMT divergence → confirmation or warning
Daily highs/lows → Weekly structure frames bias
Open levels → premium vs. discount
Macro line → timing clue for execution
It’s built to help you flow with price action and trade the story, not just random signals.
Why It’s Closed Source — and Original
This script is closed-source because it contains:
A proprietary system for real-time SMT logic (with intermarket sweep detection)
Multi-timeframe FVG detection that auto-filters overlaps
Smart equal-high/low detection using range-based clustering
Optimized UI that shows a lot without overwhelming the chart
There are no moving averages, no public-domain indicators, and no mashup of standard tools. Everything here is purpose-built for traders who follow ICT strategies.
Let us know how we can improve!
Dynamic Customizable 50% Line & Daily High/Low + True Day OpenA Unique Indicator for Precise Market-Level Analysis
This indicator is a fully integrated solution that automates complex market-level calculations and visualizations, offering traders a tool that goes beyond the functionality of existing open-source alternatives. By seamlessly combining several trading concepts into a single script, it delivers efficiency, accuracy, and customization that cater to both novice and professional traders.
Key Features: A Breakdown of What Makes It Unique
1. Adaptive Daily Highs and Lows
Automatically detects and plots daily high and low levels based on the selected time frame, dynamically updating in real time.
Features session-based adjustments, allowing traders to focus on levels that matter for specific trading sessions (e.g., London, New York).
Fully customizable styling, visibility, and alerts tailored to each trader’s preferences.
How It Works:
The indicator calculates daily high and low levels directly from price data, integrating session-specific time offsets to account for global trading hours. These levels provide traders with clear visual markers for key liquidity zones.
2. Automated ICT 50% Range Line
A pioneering implementation of ICT’s mid-range concept, this feature dynamically calculates and displays the midpoint of the daily range.
Offers traders a visual guide to identify premium and discount zones, aiding in determining market bias and potential trade setups.
How It Works:
The script calculates the range between the day’s high and low, dividing it by two to generate the midline. This line updates in real-time, ensuring that traders always see the most current premium and discount levels as price action evolves.
3. Dynamic Market Open Levels
Plots session opens (e.g., Asia, London, New York) and the True Day Open to provide actionable reference points for intra-day trading strategies.
Enhances precision in identifying liquidity shifts and aligning trades with institutional price movements.
How It Works:
The indicator uses predefined session times to calculate and display the opening levels for key trading sessions. It dynamically adjusts for time zones, ensuring accuracy regardless of the trader’s location.
4. Custom Watermark for Enhanced Visualization
Includes an optional watermark feature that allows users to display custom text on their charts.
Ideal for personalization, branding, or highlighting session notes without disrupting the clarity of the chart.
Why This Indicator Stands Out
First-to-Market Automation:
While the ICT 50% range line is a widely recognized concept, this is the first script to automate its calculation, combining it with other pivotal trading levels in a single tool.
All-in-One Functionality:
Unlike open-source alternatives that focus on individual features, this script integrates daily highs/lows, mid-range levels, session opens, and customizable watermarks into one cohesive system. The consolidation reduces the need for multiple indicators and ensures a clean, efficient chart setup.
Dynamic Customization:
Every feature can be adjusted to align with a trader’s strategy, time zone, or aesthetic preferences. This level of adaptability is unmatched in existing tools.
Proprietary Logic:
The indicator’s underlying calculations are built from scratch, leveraging advanced programming techniques to ensure accuracy and reliability. These proprietary methods differentiate it from similar open-source scripts.
How to Use This Indicator
Apply the Indicator:
Add it to your TradingView chart from the library.
Configure Settings:
Use the intuitive settings panel to adjust plotted levels, colors, styles, and visibility. Tailor the indicator to your trading strategy.
Incorporate into Analysis:
Combine the plotted levels with your preferred trading approach to identify liquidity zones, establish market bias, and pinpoint potential reversals or entries.
Stay Focused:
With all key levels automated and updated in real time, traders can focus on execution rather than manual plotting.
Originality and Justification for Closed Source
This script is closed-source due to its unique combination of features and proprietary logic that automates complex trading concepts like the ICT 50% range line and session-specific levels. Open-source alternatives lack this level of integration and customization, making this indicator a valuable and original contribution to the TradingView ecosystem.
What Sets It Apart from Open-Source Scripts?
Unlike open-source tools, this indicator doesn’t just replicate individual features—it enhances and integrates them into a seamless, all-in-one solution that offers traders a more efficient and effective way to analyze the market.
Pure Price Action Structures [LuxAlgo]The Pure Price Action Structures indicator is a pure price action analysis tool designed to automatically identify real-time market structures.
The indicator identifies short-term, intermediate-term, and long-term swing highs and lows, forming the foundation for real-time detection of shifts and breaks in market structure.
Its distinctive/unique feature lies in its reliance solely on price patterns, without being limited by any user-defined input, ensuring a robust and objective analysis of market dynamics.
🔶 USAGE
Market structure is a crucial aspect of understanding price action. The script automatically identifies real-time market structure, enabling traders to comprehend market trends more easily. It assists traders in recognizing both trend changes and continuations.
Market structures are constructed from three sets of swing points, short-term swings, intermediary swings, and long-term swings. Market structures associated with longer-term swing points are indicative of longer-term trends.
A market structure shift (MSS), also known as a change of character (CHoCH), is a significant event in price action analysis that may signal a potential shift in market sentiment or direction. Conversely, a break of structure (BOS) is another significant event in price action analysis that typically indicates a continuation of the prevailing trend.
However, it's important to note that while an MSS can be the first indication of a trend reversal and a BOS signifies a continuation of the prevailing trend, they do not guarantee a complete reversal or continuation of the trend.
In some cases, MSS and BOS levels may also act as liquidity zones or areas of price consolidation, rather than indicating a definitive change in market direction or continuation. Traders should approach them with caution and consider additional factors to confirm the validity of the signal before making trading decisions.
🔶 DETAILS
🔹 Market Structures
Market structures are based on the analysis of price action and aim to identify key levels and patterns in the market, where swing point detection is one of the core concepts within ICT trading methodologies and teachings.
Swing points are automatically detected solely based on market movements, without any reliance on user-defined input.
🔹 Utilizing Swing Points
Swing points are not identified in real time as they occur. While short-term swing points may be displayed with a delay of at most one bar, the identification of intermediate and long-term swing points depends entirely on market movements. Furthermore, detection is not limited by any user-defined input but relies solely on pure price action. Consequently, swing points are not typically utilized in real-time trading scenarios.
Traders often analyze historical swing points to discern market trends and pinpoint potential entry and exit points for their trades. By identifying swing highs and lows, traders can:
Recognize Trends: Swing highs and lows help traders identify the direction of the trend. Higher swing highs and higher swing lows indicate an uptrend, while lower swing highs and lower swing lows indicate a downtrend.
Identify Support and Resistance Levels: Swing highs often serve as resistance levels, known in ICT terminology as Buyside Liquidity Levels, while swing lows function as support levels, also referred to in ICT terminology as Sellside Liquidity Levels. Traders can utilize these levels to strategize entry and exit points for their trades.
Spot Reversal Patterns: Swing points can form various reversal patterns, such as double tops or bottoms, head and shoulders patterns, and triangles. Recognizing these patterns can signal potential trend reversals, allowing traders to adjust their strategies accordingly.
Set Stop Loss and Take Profit Levels: In the context of ICT teachings, swing levels represent specific price levels where a concentration of buy or sell orders is anticipated. Traders can target these liquidity levels/pools to accumulate or distribute their positions, essentially using swing points to establish stop loss and take profit levels for their trades.
Overall, swing points provide valuable information about market dynamics and can assist traders in making more informed trading decisions.
🔶 SETTINGS
🔹 Structures
Swings and Size: Toggles the visibility of the structure's highs and lows, assigns an icon corresponding to the structures, and controls the size of the icons.
Market Structures: Toggles the visibility of the market structures.
Market Structure Labels: Controls the visibility of labels that highlight the type of market structure.
Line Style and Width: Customizes the style and width of the lines representing the market structure.
Swing and Line Colors: Customizes colors for the icons representing highs and lows, and the lines and labels representing the market structure.
🔶 RELATED SCRIPTS
Market-Structures-(Intrabar).
Buyside-Sellside-Liquidity.
Daye's Quarterly TheoryDaye's Quarterly Theory Indicator
Description
The Daye's Quarterly Theory Indicator divides trading time into smaller units to help traders identify potential accumulation, manipulation, distribution, and reversal/continuation phases within a day. It applies these time divisions to your charts, offering visual guidance aligned with ICT's PO3 concept:
Accumulation (A): The phase where positions are accumulated.
Manipulation (M): The phase where the market moves against the prevailing trend to trap traders.
Distribution (D): The phase where accumulated positions are distributed.
Reversal/Continuation (X): The phase indicating either a reversal or continuation of the trend.
This indicator breaks down time into quarters at different levels:
Daily Quarters:
Q1: 18:00 - 00:00 (Asia)
Q2: 00:00 - 06:00 (London)
Q3: 06:00 - 12:00 (NY AM)
Q4: 12:00 - 18:00 (NY PM)
90-Minute Quarters:
Q1: 18:00 - 19:30
Q2: 19:30 - 21:00
Q3: 21:00 - 22:30
Q4: 22:30 - 00:00
Micro Quarters (22.5 minutes) (Displayed on 7-minute TF or lower):
Q1: 18:00 - 18:22:30
Q2: 18:22:30 - 18:45
Q3: 18:45 - 19:07:30
Q4: 19:07:30 - 19:30
Features
Time Box Visualization: Highlights different quarters of the trading day to help visualize market phases.
Customizable Colors: Allows users to set different colors for daily, 90-minute, and micro quarters.
Flexible Settings: Designed to work out-of-the-box on both light and dark background charts.
ICT PO3 Alignment: Helps traders align their strategies with ICT's Accumulation, Manipulation, Distribution, and Reversal/Continuation phases.
Usage
Apply this indicator to your NQ1! or ES1! charts and observe the confluence with ICT's macro times. Use it to predict potential market phases and optimize your trading strategy by buying after manipulation down or selling after manipulation up.
Note: The indicator's display may vary based on the timeframe viewed and broker feeds. Back-test and research for best results on your preferred assets.
London Intraday Protraction (Normal + Delayed) [Pro+]The London Intraday Protraction° is an automatic market profiling tool designed from ICT Time and price parameters projected for London Session studies:
Time:
Central Bank Dealers Range (CBDR)
Asian Range (AR)
London Session
Price:
Central Bank Dealers Range Size (CBDR)
Central Bank Dealers Range (CBDR) Standard Deviations
Asian Range Size (AR)
Protraction (fake move, trap)
This tool allows you to keep your attention dialled into the Session harnessing the concepts listed above through historical data (statistics + previous sessions), and live visuals.
This tool automatically annotates your CBDR and AR reference points, and prints range values in pips as a label above the CBDR and AR; it also projects the CBDR deviations encompassed in London's Time opportunity – up to three standard deviations.
The range values for the Time-based ranges, and price action are filtered into conditional statements as taught in the Core Content from the Inner Circle Trader (ICT).
There are three profile types:
1) Normal Protraction – the high/low of the Day is anticipated in early London Session.
2) Delayed Protraction – due to invalid Price Parameters (Range Sizes) the Protraction is expected in the later stages of the London Session (this protraction may, or may not be, the high/low of the Day).
3) Normal Protraction Negated – due to invalid Time Parameters, the Protraction is expected in the later stages of the London Session (this protraction may, or may not be, the high/low of the Day).
Notice the color coding of the specific scenarios, as it always repeats – it will aid pattern recognition.
The statistical table shows the total number of viewable London Sessions on chart; it provides the total number of filtered Normal Protraction Sessions, and Delayed Protractions Sessions. It also indicates a percentage of how many filtered conditions held true and provided clean price action or narrative.
The true power of this tool lies in its specific window of Time opportunity, and solid conditional logic provided by ICT's teachings; having the London Session analysis automated, allows you to focus on price, and bias, rather than drawing predetermined ICT parameters.
Additional Features:
Customizable Colors
Auto-adapting Colors
Customizable Stat Table Position
Customizable Stat Table Size
These tools are available ONLY on the TradingView platform.
Terms and Conditions
These charting tools are products provided for informational and educational purposes only and do not constitute financial, investment, or trading advice. They are not designed to predict market movements or provide specific recommendations. Users should be aware that past performance is not indicative of future results and should not be relied upon for making financial decisions. By using these tools, the purchaser agrees that the seller and the creator are not responsible for any decisions made based on the information provided by these charting tools. The purchaser assumes full responsibility and liability for any actions taken and the consequences thereof, including any loss of money or investments that may occur as a result of using these products. Hence, by purchasing these charting tools, the customer accepts and acknowledges that the seller and the creator are not liable nor responsible for any unwanted outcome that arises from the development, the sale, or the use of these products. Finally, the purchaser indemnifies the seller from any and all liability.
By continuing to use these financial tools, the user acknowledges and agrees to the terms outlined in this legal disclaimer.
LANZ Origins🔷 LANZ Origins – Multi-Framework Liquidity, Structure & Risk Management Overlay
LANZ Origins is an advanced multi-framework visualization toolkit that unifies key institutional concepts into one efficient interface. Designed for professional traders, it merges session mapping, liquidity analysis, imbalance detection, multi-account risk control, and higher-timeframe candle tracing — all in a single overlay.
🧩 Core Components
🈵 Asian Range Liquidity
Automatically detects and projects the Asian session range (19:00–02:00 NY) with an optional mid-price line (50 %). This provides visual context for intraday liquidity and manipulation zones commonly referenced in ICT-style analysis.
📊 Imbalance Detector
Highlights Fair Value Gaps (FVG), Opening Gaps (OG), and Volume Imbalances (VI) directly on-chart, using separate color schemes for bullish and bearish inefficiencies. Each element can be customized by width, ATR filter, and extension length.
🕯️ Higher-Timeframe Candles (ICT Style)
Displays multi-timeframe candles (HTF1–HTF6) simultaneously — e.g., 5 m, 30 m, 1 h, 4 h, 1 D, 1 W — each rendered with independent wick, border, and fill settings. Includes remaining-time counters, timeframe labels, and optional imbalance shading between bodies.
📈 Market Structure (ZigZag 30 m)
Replicates 30-minute swing structure to all active timeframes, producing dynamic pivots with live extension. Ideal for contextualizing BOS/CHoCH events across multiple scales.
💸 Multi-Account Lot Size Panel
Calculates position size for up to five accounts simultaneously, using your defined capital, risk %, and fixed SL distance (in pips). Results appear in a clean table at the bottom-right corner of the chart.
🎨 Session Visualization
Colored backgrounds mark key trading phases:
🟢 Day division
🔴 No-action zone
🔵 Kill-zone
🟡 Hold session
⚙️ Customization & Performance
Every module can be toggled individually, with full color, opacity, and style control. The script is optimized for overlay use and supports up to 500 boxes, lines, and labels with efficient resource handling.
🧠 Best Use Case
LANZ Origins is ideal for traders who follow:
Smart Money Concepts / ICT methodology
Liquidity & Imbalance-based trading
Multi-timeframe confluence setups
Risk-based position sizing workflows
Use it to observe how price interacts with liquidity pools, higher-timeframe candles, and imbalances within key sessions — while monitoring lot size risk in real time.
📌 Recommended Setup
Timeframes: 30m - 5m – 3m
Pairs: FX
Session Timezone: New York (EST/EDT)
Combine with: LANZ Strategy series for execution and journaling
💬 Note
This indicator does not generate buy/sell signals. It’s a visual and analytical tool built to support your own decision-making process.
Liquidity On TimeIn ICT, liquidity means pools of orders resting in the market.
These are usually stop-losses or pending orders from retail traders.
Liquidity on time combines liquidity with the time-of-day element.
ICT teaches that markets deliver liquidity at specific trading sessions.
Main sessions: London Open (2–5 AM EST) and New York Open (7–10 AM EST).
These times concentrate order flow, creating high-probability moves.
Smart Money hunts liquidity at those hours, not randomly.
Example: During London Open, stops above Asian range = liquidity target.
New York session often sweeps London highs/lows before real move.
Thus, timing tells us when liquidity will likely be attacked.
"Liquidity on time" = confluence of where liquidity sits and when it’s taken.
It explains why moves often happen at precise clock times, not anytime.
Traders use it to avoid chasing price outside killzones.
ICT emphasizes “time & price” must agree for valid setups.
Price alone is incomplete; time confirms when Smart Money acts.
This prevents overtrading in quiet hours.
Example setup: Liquidity sweep at 9:30 AM NYSE open → entry trigger.
Liquidity on time also explains engineered stops runs before news.
The concept ties into Killzones, FVGs, and SMT divergence.
In short, Liquidity on Time = knowing WHEN liquidity will be raided.
Daily Separator & Killzone marker (L3J)The “Daily Separator (L3J)” is a tool built for day traders who want a clean intraday structure around key U.S. market times and a professional trading-day model. It visually segments trading days, marks critical intraday timestamps (pre-market, cash open, killzone), and aligns with routines inspired by ICT concepts.
Important note: internal code comments and notes are written in French.
What the script does
Draws clear, configurable vertical lines to separate each trading day.
Supports two trading-day models:
- CME 18:00–17:00 (anchored on the Asian session, common for indices/futures)
- Calendar 00:00–23:59 (midnight-to-midnight)
Plots four key intraday rays in UTC‑4:
- 08:30 — U.S. pre-market open
- 09:30 — U.S. cash market open
- 09:50 — killzone start (per my routine)
- 10:30 — killzone end (per my routine)
Smart display logic: each day’s marker stays visible until the time is reached, then auto-hides to keep charts clean.
Object-budget control: caps the number of historical separators to preserve performance.
Day trading strengths (ICT-friendly)
Robust CME anchoring: day switches at the Asian session start in UTC‑4, which better reflects U.S. liquidity flow than calendar midnight.
Focused killzone: highlights 09:50–10:30 for impulse setups, rebalancing, and liquidity events around the open.
Clean readability: fully customizable colors, styles, and widths; markers auto-remove after their window.
Inputs (end‑user labels in French)
- Timezone: choose the time zone (default UTC‑4) for session alignment.
- Day separator:
- Day type: “CME 18:00–17:00” or “Calendrier 00:00–23:59”
- Color, style (solid, dashed, dotted), width
- Max number of visible separators (performance control)
Session (CME): Asian session window used as the anchor (default 18:00–16:00 UTC‑4)
ndependent intraday markers:
- Pre‑Market Open 08:30
- Market Open 09:30
- Killzone Open 09:50
- Killzone Close 10:30
- Each with show/hide, color, style, and width settings
Best practices
U.S. indices ( CME_MINI:ES1! , CME_MINI:NQ1! ) and U.S. equities: favor the “CME 18:00–17:00” mode for a more liquidity‑centric read.
ICT day trading: form directional bias around 09:30, execute between 09:50–10:30 as initial volatility structures.
Multi‑timeframe use: keep it on execution charts (1–5 min) and context charts (15–60 min) for time alignment.
Technical notes
Created by L3J.
Pine Script v6, overlay=true, controlled object budget.
Deterministic time calculations via Pine built‑ins.
All times are expressed in UTC‑4 to align with U.S. practice; adjust the timezone input as needed.
- Internal code comments/notes are written in French.
If this script helps you structure your sessions better, consider leaving a like and sharing it with other intraday traders.
Happy trading, everyone!
TrueOpens [AY]¹ See how price reacts to key multi-day and monthly open levels—perfect for S/R-focused traders.
Experimental indicator for tracking multi-day openings and ICT True Month Open levels, ideal for S/R traders.
TrueOpens ¹ – Multi-Day & True Month Open Levels
This indicator is experimental and designed to help traders visually track opening price levels across multiple days, along with the ICT True Month Open (TMO).
Key Features:
Supports up to 12 configurable multi-day opening sessions, each with independent color, style, width, and label options.
Automatically detects the True Month Open using the ICT method (2nd Monday of each month) and plots it on the chart.
Lines can extend dynamically and are limited to a user-defined number of historical bars for clarity.
Fully customizable timezones, label sizes, and display options.
This indicator is ideal for observing how price interacts with key levels, especially for traders who favor support and resistance-based strategies.
Disclaimer: This is an analytical tool for observation purposes. It does not provide buy or sell signals. Users should combine it with their own analysis and risk management.
Fibs Has Lied 🌟 Fibs Has Lied - Indicator Overview 🌟
Designed for indices like US30, NQ, and SPX, this indicator highlights setups where price interacts with key EMA levels during specific trading sessions (default: 6:30–11:30 AM EST).
🌟 Key Features & Levels 🌟
🔹EMA Crossover Setups
The indicator uses the 100-period and 200-period EMAs to identify bullish and bearish setups:
- Bullish Setup: Triggers when the 100 EMA crosses above the 200 EMA, followed by two consecutive candles opening above the 100 EMA, with the low within a specified point distance (e.g., 20 points for US30).
- Bearish Setup: Triggers when the 100 EMA crosses below the 200 EMA, followed by two consecutive candles opening below the 100 EMA, with the high within the point distance.
- Signals are marked with green (buy) or red (sell) triangles and text, ensuring you don’t miss a setup. 📈
🔹 Reset Conditions for Re-Entries
After an initial setup, the indicator watches for “reset” opportunities:
- Buy Reset: If price moves below the 200 EMA after a bullish crossover, then returns with two consecutive candles where lows are above the 100 EMA (within point distance), a new buy signal is plotted.
- Sell Reset: If price moves above the 200 EMA after a bearish crossover, then returns with two consecutive candles where highs are below the 100 EMA (within point distance), a new sell signal is plotted.
This feature captures additional entries after liquidity grabs or fakeouts, aligning with ICT’s manipulation concepts. 🔄
🔹 Session-Based Filtering
Focus your trades during high-liquidity windows! The default session (6:30–11:30 AM EST, New York timezone) targets the London/NY overlap, where price often seeks liquidity or sets up for reversals. Toggle the time filter off for 24/7 signals if desired. 🕒
🔹Symbol-Specific Point Distance
Customizable entry zones based on your chosen index:
- US30: 20 points from the 100 EMA.
- NQ: 3 points from the 100 EMA.
- SPX: 2.5 points from the 100 EMA.
This ensures setups are tailored to the volatility of your market, maximizing relevance. 🎯
🔹 Market Structure Markers (Optional)
Visualize swing points with pivot-based labels:
- HH (Higher High): Signals uptrend continuation.
- HL (Higher Low): Indicates potential bullish support.
- LH (Lower High): Suggests weakening uptrend or reversal.
- LL (Lower Low): Points to downtrend continuation.
- Toggle these on/off to keep your chart clean while analyzing trend direction. 📊
🔹 EMA Visualization
Optionally plot the 100 EMA (blue) and 200 EMA (red) to see key levels where price reacts. These act as dynamic support/resistance, perfect for spotting liquidity pools or ICT’s Power of 3 setups. ⚖️
🌟 Customization Options 🌟
- Symbol Selection: Choose US30, NQ, or SPX to adjust point distance for entries.
- Time Filter: Enable/disable the 6:30–11:30 AM EST session to focus on high-liquidity periods.
- EMA Display: Toggle 100/200 EMAs on/off to reduce chart clutter.
- Market Structure: Show/hide HH/HL/LH/LL labels for cleaner analysis.
- Signal Markers: Green (buy) and red (sell) triangles with text are auto-plotted for easy identification.
🌟 Usage Tips 🌟
- Best Timeframes: Use on 3m for intraday scalping and 30m for swing trades.
- Combine with ICT Tools: Pair with order blocks, fair value gaps, or kill zones for stronger setups.
- Focus on Session: The default 6:30–11:30 AM EST session captures London/NY volatility—perfect for liquidity-driven moves.
- Avoid Overcrowding: Disable market structure or EMAs if you only want setup signals.
Weekly Range ProjectionsWeekly Range Projections
Inspired by toodegrees' excellent "ICT Friday's Asian Range" indicator
This indicator is a modified and enhanced version of the original Friday's Asian Range indicator created by toodegrees. While studying their brilliant work, I realized the concept could be expanded beyond just Friday's Asian session to create a more versatile tool for weekly price projections.
What's New?
I've transformed the original concept into a fully customizable range projection tool that allows traders to:
Select Any Day of the Week - Not limited to just Fridays anymore
Define Custom Time Ranges - Set your own start and end times to capture any session (Asian, London, New York, or custom ranges)
Flexible Deviation Levels - Choose between 1-9 standard deviations instead of the fixed 5
Toggle Body/Wick Ranges - Show or hide body and wick projections independently
Updated to Pine Script v6 - Taking advantage of the latest Pine Script features
How It Works
The indicator captures the price range (body and/or wick) during your specified time window on your chosen day, then projects standard deviation levels from that range. These levels often act as significant support/resistance throughout the week.
Use Cases
Weekly Opening Range - Capture Monday's opening range for week-long projections
Session-Based Analysis - Define any session on any day for targeted analysis
Multi-Timeframe Projections - Create different instances for various time ranges
ICT Concepts - Perfect for traders following ICT methodologies with customizable ranges
Credits
Huge thanks to toodegrees for creating the original Friday's Asian Range indicator and sharing it with the community. Their clean code structure and innovative approach to range projections inspired this modification. The core logic and visual presentation style remain true to their original vision, with added flexibility for broader applications.
If you find this useful, please also check out toodegrees' original indicators - they create fantastic tools for the TradingView community!
Settings Guide
Range Settings - Choose your day and define start/end times
Range Type - Toggle body and/or wick ranges
Deviations - Select how many standard deviation levels to display
Styling - Customize colors and line styles for both range types
Alerts - Set up alerts for price crossing specific deviation levels
Remember to use this on 5-minute or 15-minute charts as intended by the original design.
Note: This indicator follows the Mozilla Public License 2.0






















