Analyse de la tendance
AngleAura UTAngleAura UT is an advanced trading indicator built on top of the classic UT Bot concept, enhanced with modern risk‑management logic, next‑candle execution, and a clean visual interface.
The script uses a modified algorithm based on:
- ATR‑adjusted trailing levels
- EMA crossover logic
- Dynamic trend switching
This helps identify trend reversals with minimal noise.
Matrix OrderflowMatrix Orderflow Technical Documentation
Matrix Orderflow is a Pine Script v6 execution engine that integrates Machine Learning regime detection with real-time orderflow imbalance tracking.
1. Functional Logic
Matrix ML Regime Detection
The indicator calculates a prediction using the Matrix ML library.
Bullish Regime: Triggered when the prediction slope exceeds the positive threshold. Visualized by a Cyan line.
Bearish Regime: Triggered when the prediction slope falls below the negative threshold. Visualized by a Hot Pink line.
Micro-Momentum Gating: Signals are strictly gated by the rate of change (p_slope) of the ML prediction.
Smart Trend Fallback
In instances where the ML prediction is neutral (below slope thresholds), the engine switches to a Macro Trend fallback. Bias is determined by the relationship between the closing price and the selected Baseline (Matrix ML or EMA).
Persistent Liquidity Zones (FVG)
Detects Fair Value Gaps using confirmable bar logic.
Persistence: Boxes remain active on the chart until the price trades through the mid-point or the entire gap (mitigation).
Directional Bias: Active long FVGs provide a bullish bias; active short FVGs provide a bearish bias.
Footprint Imbalance Tracking
Scans for stacked imbalances within a single candle.
Bullish Imbalance: Aggressive buying clustered at specific price levels.
Bearish Imbalance: Aggressive selling clustered at specific price levels.
These clusters act as rejection zones for high-conviction entries.
Trap Detection
Identifies instances where price interacts with a liquidity zone (FVG) but fails to maintain the move, accompanied by opposing orderflow. These are marked with "X" symbols.
2. Signal Generation (Confluence)
Signals are generated based on a "Triple-Lock" alignment system:
Regime Alignment: Price must be on the correct side of the ML/Trend baseline.
Bias Alignment: Most recent FVG and Imbalance must agree with the directional trade.
Momentum Confirmation: The ML slope must be trending in the direction of the signal.
3. Visualization Guide
Cyan Shapes/Lines: Bullish confluence and aggressive buying.
Hot Pink Shapes/Lines: Bearish confluence and aggressive selling.
Yellow Circle: Point of Control (POC).
Yellow X: Trap detection / Potential exhaustion.
Triangles: High-conviction entry signals.
4. Input Configuration
Delta Sensitivity: Sets the minimum volume delta required for institutional force confirmation.
ML Sensitivity: Adjusts the slope thresholds for regime changes.
Baseline Type: Toggle between Matrix ML prediction and a standard EMA for trend tracking.
Table Controls: Configuration for the top-right dashboard display. village
CTR Weekly MA + 1D MA (v1)I built this simple pine script to help me trade on the lower timeframe (1d) while still showing my key weekly moving averages to help me trade with the macro trend.
Rules for trading...
Steps for taking a Short position:
1. Wait for all 3 weekly moving averages to be in alignment (8EMA<21SMA<50SMA). When these aligned the candles will change to bright red, meaning bearish.
2. Wait for a pullback to the 1 Day 21SMA. When a candle touches the 21SMA, that candle will change color to white. This will be your alert to get ready to enter into a short.
3. On the next candle you can then take a short position as long as that candle is below the 21SMA, if not, wait for the net daily candle to close. If that is below the 21SMA you can then enter into a short on the opening of the next daily candle.
I built this to trade the Bear Market but this same method can also work in a Bull Market but just do the opposite.
Pip Surgeon DeluxePip Surgeon Deluxe – Precision Trade Execution System
Pip Surgeon Deluxe is a proprietary, invite-only trading indicator designed for traders who demand clarity, structure, and precision. It blends multi-timeframe trend alignment with refined entry logic, partial profit management, trailing stops, and real-time market condition awareness.
Built for both scalping and swing trading, Pip Surgeon Deluxe adapts to changing market environments using EMA trend structure, VWAP positioning, RSI confirmation, and ADX-based market strength filtering — all presented through a clean on-chart dashboard.
Key Features
Scalp & Swing modes with automatic bias selection
Multi-timeframe confirmation (5m, 30m, 1H)
EMA trend-based structure with dynamic color cues
VWAP positional confirmation
Partial TP (TP1), final TP (TP2), and intelligent trailing stops
Automatic support & resistance levels
Real-time ADX market condition analysis
One-click master alert system (entries, TP, exits)
On-chart dashboard for instant decision-making
Best Used On
Forex, indices, and metals
5m & 15m execution charts
London and New York sessions
⚠️ Disclaimer: This indicator is for educational purposes only. Past performance does not guarantee future results. Trading involves risk, and users are solely responsible for their trading decisions.
Invite-only access. Source code is private and protected.
Relative Strength Leadership Engine v2.0Relative Strength Leadership Engine v2.0OverviewThe Relative Strength Leadership Engine v2.0 is a context-first diagnostic tool designed to identify true market leadership. Instead of simple ratio lines, this script employs a multi-layered scoring model to determine if a symbol is truly outperforming its benchmark (e.g., SPY) or simply riding market beta.The Problem It SolvesMany relative strength indicators fail to distinguish between idiosyncratic leadership and market correlation. A stock might look strong simply because it is a high-beta names moving in lockstep with a rising index. This engine uses Pearson Correlation Filtering and Volatility Normalization to decouple these factors.How It Works (The Math)To ensure full transparency for the TradingView community, the "Leadership Score" (0–100) is calculated based on four proprietary technical pillars:Baseline Alignment (30 pts): Measures if the $Price / Benchmark$ ratio is above its 21-period EMA.Volatility-Normalized Momentum (25 pts): We calculate a Z-score of the RS slope and divide it by the asset's ATR % of price. This ensures momentum is measured by "clean" price action rather than high-beta volatility spikes.Beta-Decoupling (20 pts): Using ta.correlation, the script penalizes "Market Huggers." Points are awarded when a stock shows strength independent of the benchmark's immediate fluctuations.Freshness & Highs (25 pts): Points are awarded for proximity to 252-day relative strength highs, identifying stocks entering a "Power Zone" of leadership.Interpreting the StatesThe dashboard in the bottom-right identifies three distinct permission states:ENGAGE (Score 80+): Full leadership permission. The asset is outperforming with idiosyncratic strength and clean momentum (See FDX example in the gallery).OBSERVE (Score 50–79): Leadership is present but aging or overly correlated to the market (See MU example in the gallery).STAND DOWN (Score <50): Leadership is broken; the asset is a relative laggard (See CBLL example in the gallery).Technical FeaturesMulti-Timeframe Validation: Optional Weekly/Monthly RS confirmation to filter out "noise."Benchmark Timing Filter: A built-in gate that checks if the broader market (Benchmark) is in a "Risk-Off" regime.Non-Repainting: All security calls use lookahead=barmerge.lookahead_off to ensure historical accuracy.Customizable UI: Toggle the dashboard on/off via the "Style" menu for a cleaner workspace.DisclaimerThis script is an informational diagnostic tool and does not generate trade signals, entries, or exits. Educational use only.
UCTB BTC[CoinTadpole]UCTB BTC
UCTB is a specialized RSI-based momentum indicator engineered for Bitcoin trading. It introduces a Sustainment Verification Architecture — a structured approach that filters premature signals by requiring RSI conditions to persist across multiple consecutive bars before generating alerts.
Unlike standard RSI threshold alerts that trigger immediately upon crossing, UCTB implements a principle-based filtering system with dual operational modes and configurable signal confidence levels. This architecture addresses the core challenge of volatile cryptocurrency markets: distinguishing between momentary noise and genuine momentum shifts.
🔶 WHAT MAKES THIS INDICATOR ORIGINAL
This is NOT another RSI threshold alert or delayed entry script.
While several RSI-based scripts exist that incorporate bar counting or delay mechanisms, UCTB introduces a fundamentally different approach through its Sustainment Verification Architecture.
The Key Differentiator — Sustainment vs. Delay:
Existing scripts like delayed RSI strategies simply wait N bars after a threshold cross before signaling. UCTB takes a different approach: it requires the RSI condition to be actively maintained throughout the verification period, not merely elapsed time since the initial cross.
How Different Approaches Compare:
Standard RSI signals on threshold cross, which produces many false signals from wicks. Delayed RSI signals N bars after cross, but still triggers on brief touches that bounce back. UCTB Sustainment signals only if the condition persists continuously for N bars, filtering brief touches entirely.
Example Scenario — RSI drops to 29, bounces to 35, then drops to 28 over 3 bars:
Standard RSI would generate 2 signals (Bar 1 and Bar 3). Delayed RSI with 3-bar delay would generate 1 signal after the initial cross plus delay. UCTB Conservative Mode would generate 0 signals because the condition was not sustained continuously — RSI exited the zone on Bar 2 when it bounced to 35.
This sustainment-based filtering represents a structural difference, not merely a parameter adjustment.
🔶 FOUR INTEGRATED COMPONENTS
1. Sustainment Verification Engine
The core innovation. Rather than counting bars since a threshold cross, the algorithm verifies that RSI , RSI , and RSI all remain within the threshold zone. This continuous zone maintenance requirement is what distinguishes sustainment from simple delay.
2. Adaptive Dual-Period System
Automatically selects RSI calculation period based on trading style. Scalping Mode uses RSI(14) for faster response to intraday movements. Swing Mode uses RSI(21) for smoother readings suitable for position trading. This is not simply a toggle between two presets — the entire signal generation logic adapts to the selected period's characteristics.
3. Signal Confidence Filtering
Two distinct verification requirements, not just sensitivity adjustment. Conservative Mode requires continuous zone maintenance where RSI must stay in zone for all 3 bars. Aggressive Mode requires only elapsed time since breach — 3 bars passed, regardless of intermediate exits. These modes apply fundamentally different verification logic, not just different threshold values.
4. Bar-Close Confirmation Protocol
All signals validate against barstate.isconfirmed before dispatch, ensuring that only finalized bar data triggers alerts.
🔶 THE SUSTAINMENT PRINCIPLE
Understanding the value of sustainment verification requires examining how RSI behaves in volatile markets.
The Problem with Threshold-Only Detection:
When RSI briefly touches 30 on a single bar, it often represents a momentary price wick extending beyond the candle body, temporary liquidity gaps that reverse within the same bar, or news-driven spikes that do not reflect underlying momentum. These brief threshold touches generate signals that lack follow-through. Price frequently reverses direction immediately after the touch, creating poorly-timed entries.
The Sustainment Solution:
Requiring RSI to remain below 30 (or above 70) for multiple consecutive bars applies three filtering principles.
Noise Filtering Principle — Random price fluctuations rarely maintain extreme RSI readings for 3+ consecutive bars. The probability of random noise sustaining an extreme condition decreases with each additional bar requirement.
Momentum Confirmation Principle — Sustained extreme RSI readings indicate that buying or selling pressure has persisted over multiple price intervals. A single-bar extreme may be noise; a multi-bar extreme suggests genuine momentum shift.
Signal Processing Foundation — Each additional bar of confirmation serves as an independent verification. This is analogous to requiring multiple sensor readings before triggering an alarm — it reduces false positives from transient spikes.
Practical Demonstration:
Consider this sequence: RSI = 29 → 35 → 28 over three bars. A delayed RSI script (3-bar delay after first crossing below 30) would still generate a signal, because it only checks if 3 bars have elapsed since the threshold was first crossed. UCTB Conservative mode generates no signal, because the RSI exited the zone on Bar 2 (RSI = 35 > 30), breaking the sustainment requirement. This distinction matters in choppy, ranging markets where RSI frequently oscillates around threshold boundaries.
🔶 WHY BITCOIN MARKETS REQUIRE THIS APPROACH
Bitcoin's market microstructure creates specific challenges that make sustainment verification particularly valuable.
High Wick-to-Body Ratio Characteristic:
Bitcoin candles frequently exhibit large wicks relative to their bodies, especially during high-volume periods and around key price levels. These wicks can briefly push RSI into extreme territory without representing genuine trend exhaustion. Sustainment verification filters these wick-driven signals by requiring the condition to persist beyond the initial spike.
Continuous Market Structure:
Unlike traditional markets with defined session breaks, Bitcoin trades 24/7/365. This continuous structure creates more low-liquidity periods (weekends, holidays) where brief RSI extremes occur without follow-through, and more opportunities for unsustained threshold touches during off-peak hours. The sustainment requirement helps filter signals that occur during these transient conditions.
Adaptive Period Rationale:
The dual-period system addresses different Bitcoin trading approaches. RSI(14) is more responsive, suitable for capturing Bitcoin's rapid intraday movements. RSI(21) is smoother, filtering out more short-term fluctuations for swing trading. Manual switching between periods is operationally inconvenient. The mode selector automates this based on declared trading style.
🔶 PRACTICAL VALUE PROPOSITION
What This Indicator Automates:
Manually implementing sustainment verification requires tracking when RSI first entered the threshold zone, whether RSI has remained in the zone for each subsequent bar, and applying different verification rules based on trading mode. Doing this across multiple timeframes while managing active positions is error-prone. UCTB automates this entire verification process.
Operational Benefits:
Reduced Alert Noise — Instead of receiving alerts on every RSI threshold cross (many of which reverse immediately), traders receive alerts only when the sustainment criteria are met.
Consistent Methodology — Human traders often apply confirmation checks inconsistently, sometimes waiting, sometimes not. UCTB applies identical verification logic every time, removing execution variability.
Mode-Based Flexibility — Conservative and Aggressive modes allow traders to adjust verification strictness based on current market conditions without manually reconfiguring parameters.
🔶 ALGORITHM SPECIFICATION
The indicator operates through a sequential verification process:
Step 1: RSI Calculation — Computes RSI using the adaptive period. Scalping mode uses ta.rsi(close, 14). Swing mode uses ta.rsi(close, 21).
Step 2: Threshold Breach Detection — Identifies when RSI transitions into oversold (≤30) or overbought (≥70) territory from outside the zone.
Step 3: Bar Counting — Tracks elapsed bars since the trigger using ta.barssince().
Step 4: Sustainment Verification — Applies mode-specific verification. Conservative Mode verifies that RSI , RSI , and RSI all remain within the threshold zone. Aggressive Mode only verifies that 3 bars have elapsed since initial breach.
Step 5: Signal Dispatch — Signals are generated only when barstate.isconfirmed is true, ensuring bar-close confirmation.
🔶 RECOMMENDED USAGE
Timeframe Selection:
For Scalping Mode, use 15-minute to 1-hour charts. For Swing Mode, use 4-hour to Daily charts.
Mode Selection Guide:
In high volatility conditions, Scalping with Conservative mode provides stricter filtering for noisy conditions. In trending markets, Swing with Conservative mode offers higher confidence entries on pullbacks. In ranging or consolidating markets, Scalping with Aggressive mode captures more signals for range-bound trading. In low volatility environments, either style with Aggressive mode works well since looser filtering is acceptable when noise is lower.
Integration Recommendations:
Combine with support/resistance analysis for entry refinement. Use with volume confirmation for additional validation. Apply standard position sizing and risk management protocols.
🔶 SIGNAL INTERPRETATION
🟢 BUY Signal
Generated when RSI has sustained below 30 for the verification period (mode-dependent). Indicates that selling pressure has persisted across multiple bars, suggesting potential momentum exhaustion. Important: This is NOT a guarantee of reversal. It identifies conditions where sustained RSI weakness may precede a bounce.
🔴 SELL Signal
Generated when RSI has sustained above 70 for the verification period. Indicates that buying pressure has persisted across multiple bars, suggesting potential distribution. Use for exit planning or short consideration, not as an automatic execution trigger.
🔶 NON-REPAINTING CONFIRMATION
This indicator does NOT repaint. All signals validate against barstate.isconfirmed before generation. Historical signals remain fixed once the bar closes. What appears on historical charts is exactly what was displayed in real-time. Intrabar fluctuations may show preliminary readings, but final signals confirm only at bar close.
🔶 IMPORTANT LIMITATIONS
This indicator identifies sustained RSI threshold conditions; it does not predict price direction. Signals indicate potential reversal zones, not guaranteed reversals. Strong trends can maintain oversold/overbought conditions for extended periods without reversing. The 3-bar verification period is optimized for typical Bitcoin volatility; different assets may require adjustment. Sustainment verification reduces signal frequency — traders seeking high-frequency signals may find this limiting. Always use in conjunction with other analysis methods. Past signal patterns do not guarantee future performance. This is an analysis tool, not a standalone trading system.
🔶 RISK DISCLAIMER
Trading cryptocurrencies involves substantial risk of loss and is not suitable for all investors. Bitcoin markets are highly volatile and can experience rapid price movements. This indicator is provided for educational and informational purposes only. It does not constitute financial, investment, or trading advice. Past performance does not guarantee future results. All trading decisions are entirely your own responsibility. Never risk more than you can afford to lose.
🔶 HOW TO GET ACCESS
This script is provided as Invite-Only. To request access, please check the links in my TradingView profile.
CTR Weekly MA TradingI built this simple pine script to help me trade on the lower timeframe (1d) while still showing my key weekly moving averages to help me trade with the macro trend.
Rules for trading...
Steps for taking a Short position:
1. Wait for all 3 weekly moving averages to be in alignment (8EMA<21SMA<50SMA). When these aligned the candles will change to bright red, meaning bearish.
2. Wait for a pullback to the 1 Day 21SMA. When a candle touches the 21SMA, that candle will change color to white. This will be your alert to get ready to enter into a short.
3. On the next candle you can then take a short position as long as that candle is below the 21SMA, if not, wait for the net daily candle to close. If that is below the 21SMA you can then enter into a short on the opening of the next daily candle.
I built this to trade the Bear Market but this same method can also work in a Bull Market but just do the opposite.
Weekly MAs + 1d 21 SMAThis indicator watches for weekly bullish and bearish alignment on your daily chart. It also triggers a long or short when price touches the 1 Day 21 SMA. It helps ensures a high quality trade setup by trading in a lower timeframe (the 1 Day) while working off stronger signals on the 1 Week timeframe, which are the 3 key moving averages (1W 8 EMA, 1W 21SMA, 1W 50SMA).
The trading rule is as followed:
Short Position:
1. Wait for the 1 week moving averages to align bearish (8 EMA < 21 SMA < 50 SMA). All daily candles will then turn bright red.
2. Wait for a pullback to the 1 Day 21 SMA. Once the wick or body touches this SMA, that candle will turn white. This is the signal that will alert you to be ready to enter into a short position.
3.a. If the candle that changed to white is below the 1 Day 21 SMA, you can enter a short position on the opening of the next daily candle.
3.b. If the candle that changed to white is above the 1Day 21 SMA, wait for the close of the next daily candle. If that candle is below the 21 SMA, enter into your short position at the opening of the next daily candle.
For long positions, you do the same as above but in opposite order.
UNIVERSAL Position Size Calculator ALL Brokers mobil brokers//@version=5
indicator("UNIVERSAL Risk & Position Size Calculator (ALL Brokers)", overlay=true)
// =====================
// USER INPUTS
// =====================
accountBalance = input.float(100000, "Account Balance")
riskPercent = input.float(1.0, "Risk % per Trade", step=0.1)
// =====================
// EXECUTION TYPE (ONE LINE – PINE SAFE)
// =====================
executionType = input.string("MT4 / MT5 / cTrader", "Execution Type", options= )
// =====================
// LOT / CONTRACT DEFINITION (MANUAL)
// =====================
lotDefinition = input.float(100000, "Units per Lot / Contract")
// =====================
// ENTRY & STOP
// =====================
entryPrice = input.float(0.0, "Entry Price")
stopPrice = input.float(0.0, "Stop Loss Price")
// =====================
// SYMBOL DATA (AUTO)
// =====================
tickSize = syminfo.mintick
tickValue = syminfo.pointvalue * syminfo.mintick
// =====================
// CORE CALCULATIONS
// =====================
riskAmount = accountBalance * (riskPercent / 100)
stopDistance = math.abs(entryPrice - stopPrice)
ticks = stopDistance / tickSize
riskPerUnit = ticks * tickValue
unitsAllowed = riskPerUnit > 0 ? riskAmount / riskPerUnit : na
rawPosition = unitsAllowed / lotDefinition
// Futures = whole contracts only
finalPosition = executionType == "Futures" ? math.floor(rawPosition) : rawPosition
// =====================
// DISPLAY PANEL
// =====================
var table t = table.new(position.top_right, 2, 13, border_width=1)
table.cell(t, 0, 0, "Execution Type")
table.cell(t, 1, 0, executionType)
table.cell(t, 0, 1, "Account Balance")
table.cell(t, 1, 1, str.tostring(accountBalance))
table.cell(t, 0, 2, "Risk %")
table.cell(t, 1, 2, str.tostring(riskPercent) + "%")
table.cell(t, 0, 3, "Risk Amount ($)")
table.cell(t, 1, 3, str.tostring(riskAmount))
table.cell(t, 0, 4, "Entry Price")
table.cell(t, 1, 4, str.tostring(entryPrice))
table.cell(t, 0, 5, "Stop Loss Price")
table.cell(t, 1, 5, str.tostring(stopPrice))
table.cell(t, 0, 6, "Stop Distance")
table.cell(t, 1, 6, str.tostring(stopDistance))
table.cell(t, 0, 7, "Risk per 1 Unit ($)")
table.cell(t, 1, 7, str.tostring(riskPerUnit))
table.cell(t, 0, 8, "Units Allowed")
table.cell(t, 1, 8, str.tostring(unitsAllowed, "#.##"))
table.cell(t, 0, 9, "Units per Lot / Contract")
table.cell(t, 1, 9, str.tostring(lotDefinition))
table.cell(t, 0, 10, "POSITION SIZE TO ENTER")
table.cell(t, 1, 10, str.tostring(finalPosition, "#.##"))
table.cell(t, 0, 11, "Broker Tip")
table.cell(t, 1, 11, "Copy this value into broker")
table.cell(t, 0, 12, "Symbol")
table.cell(t, 1, 12, syminfo.ticker)
UNIVERSAL Position Size Calculator ALL Brokers mobil//@version=5
indicator("UNIVERSAL Risk & Position Size Calculator (ALL Brokers)", overlay=true)
// =====================
// USER INPUTS
// =====================
accountBalance = input.float(100000, "Account Balance")
riskPercent = input.float(1.0, "Risk % per Trade", step=0.1)
// =====================
// EXECUTION TYPE (ONE LINE – PINE SAFE)
// =====================
executionType = input.string("MT4 / MT5 / cTrader", "Execution Type", options= )
// =====================
// LOT / CONTRACT DEFINITION
// (CHANGE THIS TO MATCH ANY BROKER)
// =====================
lotDefinition =
executionType == "MT4 / MT5 / cTrader" ? 100000 :
executionType == "CFD (Units)" ? 1 :
1
// =====================
// ENTRY & STOP
// =====================
entryPrice = input.float(0.0, "Entry Price")
stopPrice = input.float(0.0, "Stop Loss Price")
// =====================
// SYMBOL DATA (AUTO)
// =====================
tickSize = syminfo.mintick
tickValue = syminfo.pointvalue * syminfo.mintick
// =====================
// CORE CALCULATIONS
// =====================
riskAmount = accountBalance * (riskPercent / 100)
stopDistance = math.abs(entryPrice - stopPrice)
ticks = stopDistance / tickSize
riskPerUnit = ticks * tickValue
unitsAllowed = riskPerUnit > 0 ? riskAmount / riskPerUnit : na
rawPosition = unitsAllowed / lotDefinition
// Futures = whole contracts only
finalPosition = executionType == "Futures" ? math.floor(rawPosition) : rawPosition
// =====================
// DISPLAY PANEL
// =====================
var table t = table.new(position.top_right, 2, 13, border_width=1)
table.cell(t, 0, 0, "Execution Type")
table.cell(t, 1, 0, executionType)
table.cell(t, 0, 1, "Account Balance")
table.cell(t, 1, 1, str.tostring(accountBalance))
table.cell(t, 0, 2, "Risk %")
table.cell(t, 1, 2, str.tostring(riskPercent) + "%")
table.cell(t, 0, 3, "Risk Amount ($)")
table.cell(t, 1, 3, str.tostring(riskAmount))
table.cell(t, 0, 4, "Entry Price")
table.cell(t, 1, 4, str.tostring(entryPrice))
table.cell(t, 0, 5, "Stop Loss Price")
table.cell(t, 1, 5, str.tostring(stopPrice))
table.cell(t, 0, 6, "Stop Distance")
table.cell(t, 1, 6, str.tostring(stopDistance))
table.cell(t, 0, 7, "Risk per 1 Unit ($)")
table.cell(t, 1, 7, str.tostring(riskPerUnit))
table.cell(t, 0, 8, "Units Allowed")
table.cell(t, 1, 8, str.tostring(unitsAllowed, "#.##"))
table.cell(t, 0, 9, "Units per Lot / Contract")
table.cell(t, 1, 9, str.tostring(lotDefinition))
table.cell(t, 0, 10, "POSITION SIZE TO ENTER")
table.cell(t, 1, 10, str.tostring(finalPosition, "#.##"))
table.cell(t, 0, 11, "Broker Tip")
table.cell(t, 1, 11, "Use this value in broker")
table.cell(t, 0, 12, "Symbol")
table.cell(t, 1, 12, syminfo.ticker)
OB/OS Environment MTFThis indicator identifies overbought and oversold price environments — not reversal signals — using a multi-timeframe regime filter combined with volatility-adjusted stretch and confluence logic.
The goal is to highlight when price is objectively extended relative to trend, so traders can:
reduce chasing,
size appropriately,
manage risk,
or look for mean-reversion / pause scenarios without assuming a top or bottom.
How it works
1. Higher-Timeframe Regime (Stable)
Intraday charts → Daily regime
Daily charts → Weekly regime
Weekly charts → Monthly regime
Monthly charts → Monthly regime
Regime is determined using HTF close vs HTF EMA (optionally slope-filtered).
This keeps environments stable and avoids intrabar regime flipping.
2. Volatility-Adjusted Stretch
Price extension is measured as:
distance from EMA
normalized by ATR (z = (price − EMA) / ATR)
This allows the same logic to work across:
5m / 30m / 1h
Daily / Weekly / Monthly
3. Confluence Scoring (N-of-M)
An OB/OS environment only triggers when stretch and a minimum number of confirmations are present:
RSI extreme
Bollinger %B excursion
Stretch percentile vs its own history
Large candle relative to ATR
User-configurable confirmation count helps reduce noise.
4. Environment State (Sticky)
Once an overbought or oversold environment is detected:
the state persists until price decompresses or regime breaks
optional background shading visualizes the environment
arrows mark entry into the environment (not exits)
What this is / is not
This is:
an environment/context tool
multi-timeframe aware
volatility-normalized
designed to work across assets and timeframes
This is NOT:
a buy/sell signal
a reversal system
predictive of timing tops or bottoms
Strong trends can remain overbought/oversold for extended periods — by design.
Best use cases:
Risk management in strong trends
Avoiding late entries
Scaling decisions
Mean-reversion setups with confirmation
Context for options traders (IV, spreads, diagonals)
Feedback welcome
This is an early public release.
I’m specifically interested in feedback on:
confluence logic
regime behavior
parameter defaults by timeframe
false positives vs missed environments
If you have ideas or improvements, please comment — especially if you test across multiple markets or higher timeframes.
Position Size Calculator Forex Futures TW//@version=5
indicator("AUTO Risk & Position Size Calculator – Forex + Futures", overlay=true)
// === INPUTS ===
accountBalance = input.float(100000, "Account Balance")
riskPercent = input.float(1.0, "Risk % per Trade", step=0.1)
// === TRADE TYPE ===
// Forex/CFD = decimaler tilladt
// Futures = hele kontrakter
tradeType = input.string("Forex / CFD", "Market Type", options= )
// === ENTRY & STOP (MANUAL) ===
entryPrice = input.float(0.0, "Entry Price")
stopPrice = input.float(0.0, "Stop Loss Price")
// === SYMBOL DATA (AUTO FROM TRADINGVIEW) ===
tickSize = syminfo.mintick
tickValue = syminfo.pointvalue * syminfo.mintick
// === CALCULATIONS ===
riskAmount = accountBalance * (riskPercent / 100)
stopDistance = math.abs(entryPrice - stopPrice)
// ticks mellem entry & stop
ticks = stopDistance / tickSize
// risiko pr. 1 unit / lot / kontrakt
riskPerUnit = ticks * tickValue
// rå position size
rawPositionSize = riskPerUnit > 0 ? riskAmount / riskPerUnit : na
// === FINAL POSITION SIZE ===
finalPositionSize = tradeType == "Futures" ? math.floor(rawPositionSize) : rawPositionSize
// === DISPLAY ===
var table t = table.new(position.top_right, 2, 10, border_width=1)
table.cell(t, 0, 0, "Symbol")
table.cell(t, 1, 0, syminfo.ticker)
table.cell(t, 0, 1, "Market Type")
table.cell(t, 1, 1, tradeType)
table.cell(t, 0, 2, "Account Balance")
table.cell(t, 1, 2, str.tostring(accountBalance))
table.cell(t, 0, 3, "Risk %")
table.cell(t, 1, 3, str.tostring(riskPercent) + "%")
table.cell(t, 0, 4, "Risk Amount ($)")
table.cell(t, 1, 4, str.tostring(riskAmount))
table.cell(t, 0, 5, "Entry Price")
table.cell(t, 1, 5, str.tostring(entryPrice))
table.cell(t, 0, 6, "Stop Loss Price")
table.cell(t, 1, 6, str.tostring(stopPrice))
table.cell(t, 0, 7, "Risk per 1 Unit ($)")
table.cell(t, 1, 7, str.tostring(riskPerUnit))
table.cell(t, 0, 8, "Raw Position Size")
table.cell(t, 1, 8, str.tostring(rawPositionSize, "#.##"))
table.cell(t, 0, 9, "FINAL SIZE TO TRADE")
table.cell(t, 1, 9, str.tostring(finalPositionSize, "#.##"))
Volume Weighted LR Z ScoreThis indicator calculates the Volume Weighted Linear Regression
Z-Score (VWLRZS). Unlike a standard Z-Score which measures
deviation from a static mean, this oscillator measures the
statistical distance of price from a dynamic Volume-Weighted
Linear Regression Line (Analysis of Residuals).
Key Features:
1. **Volatility Decomposition:** The indicator separates volatility
based on the 'Estimate Bar Statistics' option.
- **Standard Mode (`Estimate Bar Statistics` = OFF):** Calculates
standard Regression Residuals using the selected `Source`
for both the regression line (baseline) and the signal.
- **Decomposition Mode (`Estimate Bar Statistics` = ON):**
Uses a hybrid statistical approach:
a) **The Model (Baseline):** Uses an estimator to calculate
the 'within-bar' mean and fits the Linear Regression
through these statistical centers. This creates a
stable, trend-following expectation model.
b) **The Signal (Observation):** Compares the actual `Source`
(e.g., Close) against this regression line.
(Result: A Z-Score that measures deviations from the current
trend slope rather than a flat average).
2. **Visual Decomposition Logic:** Total Standard Deviation (of
Residuals) is the primary metric displayed. Since Standard
Deviations are not linearly additive (sqrt(a+b) != sqrt(a)+sqrt(b)),
this indicator calculates the *exact* Total Z-Score and partitions
the area underneath based on the Variance Ratio. This ensures the
displayed total volatility remains mathematically accurate while
showing relative composition.
3. **Normalization (Exponential Regression):** Includes an optional
'Normalize' mode. When enabled, the indicator calculates the
Linear Regression on logarithmic data. Mathematically, this
transforms the baseline into an **Exponential Regression Curve**,
making it ideal for analyzing assets with compounding growth
characteristics (constant percentage trend).
4. **Full Divergence Suite (Class A, B, C):** The indicator's
primary feature is its integrated divergence engine. It
automatically detects and plots all three major divergence
classes between price and the Z-Score:
- Regular (A): Signals potential trend exhaustion and reversals.
- Hidden (B): Signals potential trend continuations during pullbacks.
- Exaggerated (C): Signals weakness at double tops/bottoms.
5. **Divergence Filtering and Visualization:**
- **Price Tolerance Filter:** Divergence detection is enhanced
with a percentage-based price tolerance (`pivPrcTol`) to
filter out insignificant market noise, leading to more
robust signals.
- **Persistent Visualization:** Divergence markers are plotted
for the entire duration of the signal and are visually
anchored to the oscillator level of the confirming pivot.
- **Flexible Pivot Algorithms:** Supports various underlying
mathematical models for pivot detection provided by the
core library
6. **Note on Confirmation (Lag):** Divergence signals rely on a
pivot confirmation method to ensure they do not repaint.
- The **Start** of a divergence is only detected *after* the
confirming pivot is fully formed (a delay based on
`Pivot Right Bars`).
- The **End** of a divergence is detected either instantly
(if the signal is invalidated by price action) or with
a delay (when a new, non-divergent pivot is confirmed).
7. **Multi-Timeframe (MTF) Capability:**
- **MTF Calculation:** The Z-Score line *itself* can be calculated on a
higher timeframe, with standard options to handle gaps
(`Fill Gaps`) and prevent repainting (`Wait for...`).
- **Limitation:** The Divergence detection engine (`pivDiv`)
is designed for the active timeframe. Using it in MTF mode
is not recommended as step-data can lead to inaccurate
pivot detection.
8. **Integrated Alerts:** Includes a comprehensive set of built-in
alerts for the Z-Score crossing the neutral line, the configured
Threshold levels, and the start/end of all divergence types.
---
**DISCLAIMER**
1. **For Informational/Educational Use Only:** This indicator is
provided for informational and educational purposes only. It does
not constitute financial, investment, or trading advice, nor is
it a recommendation to buy or sell any asset.
2. **Use at Your Own Risk:** All trading decisions you make based on
the information or signals generated by this indicator are made
solely at your own risk.
3. **No Guarantee of Performance:** Past performance is not an
indicator of future results. The author makes no guarantee
regarding the accuracy of the signals or future profitability.
4. **No Liability:** The author shall not be held liable for any
financial losses or damages incurred directly or indirectly from
the use of this indicator.
5. **Signals Are Not Recommendations:** The alerts and visual signals
(e.g., crossovers) generated by this tool are not direct
recommendations to buy or sell. They are technical observations
for your own analysis and consideration.
ICT Pro [KTY]Hi, I'm Kim Thank You 👋
KTY = Kim Thank You (김땡큐)
【ICT Pro】📊
Essential ICT tools for Smart Money trading.
5 core features to identify institutional order flow and high-probability trade setups.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 NEW TO THIS INDICATOR?
Open Settings and hover over the (i) icon on each feature for detailed tooltips.
Check the 📚 User Guide section at the bottom of Settings for quick reference.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 FEATURES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Order Block (OB)
Price zones where Smart Money executed large buy/sell orders, acting as strong support/resistance levels.
- Bullish OB: Last bearish candle before an up move → Support
- Bearish OB: Last bullish candle before a down move → Resistance
📈 Box Display Info
- Vol: Volume at OB formation
- (%): Upper/Lower volume balance ratio
- Closer to 100% = Balanced buy/sell
- Lower = Strong one-sided order flow → Stronger S/R zone
📍 OB Body Lines
- Dotted lines showing candle body position within OB
- Use for precise entry points
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Liquidity Zone
Areas where stop-loss orders are clustered around swing highs/lows, becoming targets for Smart Money.
- Buyside Liquidity: Stop-losses above highs where shorts get liquidated
- Sellside Liquidity: Stop-losses below lows where longs get liquidated
- Liquidity Sweep: Price hunts stops then reverses sharply
📈 Box Display Info
- (%): Relative size compared to recent volume
- Higher = More stop orders clustered
- More likely to be a major target for Smart Money
💡 Quick reversal after liquidity break = Reversal signal
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Fair Value Gap (FVG)
A gap created when price moves rapidly between 3 candles, where price tends to return to fill this zone.
- Bullish FVG: Forms during sharp rallies → Acts as support on pullbacks
- Bearish FVG: Forms during sharp drops → Acts as resistance on bounces
- CE (Consequent Encroachment): 50% level of FVG, key reaction level
📈 Box Display Info
- (%): Relative size compared to recent volume
- Higher = FVG formed by stronger move
- Acts as stronger S/R zone
💡 FVG overlapping with OB = Higher reliability
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Market Structure
Analyzes price swing highs/lows to identify current trend and reversal points.
- CHoCH (Change of Character): Trend reversal signal - first sign of direction change
- BOS (Break of Structure): Trend continuation signal - structure break in existing direction
⚙️ Structure Options
- INTERNAL: Short-term structure (fast reaction, more signals)
- EXTERNAL: Long-term structure (slower reaction, higher reliability)
- ALL: Display both internal + external structure
💡 CHoCH = Look for reversal | BOS = Trend continues
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Trend Candles
Candle colors change based on market structure (BOS/CHoCH) direction.
- Bullish Color: After bullish structure break
- Bearish Color: After bearish structure break
💡 Color change = Potential trend shift
💡 Quickly identify overall market direction at a glance
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 HIGHER RELIABILITY SETUPS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Higher timeframe = More reliable signals
- Multiple features pointing to same price zone
(e.g. OB + FVG overlap = Strong confluence)
- Trend Candles + Market Structure direction aligned
- Quick reversal after Liquidity sweep
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 TRADING TIPS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Identify Liquidity targets first
2. Wait for price to reach OB or FVG zone
3. Confirm with Market Structure (CHoCH/BOS)
4. Enter at OB body lines or FVG CE level
5. Stop loss below/above the zone
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ DISCLAIMER
This indicator is for educational purposes only.
Not financial advice. Always do your own research.
Past performance does not guarantee future results.
Bit Secure - Index Structure Engine ( Hybrid )Bit Secure – Index Structure Engine
( RSI Caution + No-Trade Range)
Bit Secure – Index Structure Engine is a structure-first intraday indicator designed for index traders (NIFTY / BANKNIFTY / FINNIFTY) who want clarity, discipline, and noise-free execution.
This tool focuses on EMA structure, VWAP context, priority opening moves, and intelligent RSI caution signals — without blocking valid trades.
🔹 Core Philosophy
“Trade structure first, momentum second, confirmation last.”
The indicator separates:
Trend entries (CORE & FAST)
Opening opportunity (PRIORITY)
Early reversal awareness (RSI Caution)
Sideways / no-trade zones (Manual Range Filter)
🚀 FEATURES
✅ EMA STRUCTURE ENGINE
EMA 9 & EMA 21 for core trend detection
EMA 5–21 fast entries (optional)
Clean crossover-based logic (no repaint)
⚡ CORE & FAST SIGNALS
BUY / SELL CORE → Main trend confirmation
FAST signals → Early continuation entries
Fully optional, toggle-controlled
🎯 PRIORITY OPENING ENTRY (09:15–09:45)
One-time high-probability retest / crossover entry
Designed for first 30 minutes volatility
Automatically resets every trading day
📉 VWAP NOISE FILTER (Optional)
Blocks trades when price is too close to VWAP
Helps avoid choppy & mean-reversion zones
⚠️ RSI CAUTION SIGNALS (NON-BLOCKING)
⚠️ These are alerts, NOT trade entries
RSI caution appears only when:
Cross happens inside OB / OS
Cross on zone exit
Cross just after zone exit
❌ No random mid-zone RSI noise
❌ No sideways false alerts
Perfect for:
Spotting early trend exhaustion
Managing open trades
Avoiding over-trading in trends
🚫 MANUAL NO-TRADE RANGE (Power Feature)
Manually define price range
ALL signals blocked inside this zone
(CORE / FAST / PRIORITY / RSI)
Range is visually highlighted on chart
Best use cases:
Event days
Option decay zones
Choppy consolidation areas
🎛️ FULL CONTROL
Every module is independently switchable:
FAST EMA
PRIORITY Entry
VWAP Filter
RSI Caution
Manual No-Trade Range
👉 Trade your style, not forced logic.
📊 BEST TIMEFRAMES
5-minute (Recommended)
Works on Index charts only
NIFTY
BANKNIFTY
FINNIFTY
⚠️ IMPORTANT NOTE
This is NOT a buy/sell recommendation
RSI signals are caution alerts, not entries
Use with proper risk management
💡 WHO IS THIS FOR?
✔️ Serious intraday traders
✔️ Price-action + structure followers
✔️ Traders tired of over-signals
✔️ Those who want clarity over complexity
🔒 Built for discipline.
🔥 Designed for structure.
🎯 Powered by context, not noise.
5S Scalper SignalClear long and short signals with pre-defined stoploss and target. Change the parameters if you want more or less signal.
Disable "Cloud 2", "Order Block", "Sweep", "CISD" in settings for clearer view.
Follow signals with your own risks. This is not a financial advice and you are fully responsible for your trading decisions.
Multi-Timeframe S&R V1The Multi-Timeframe S&R V1 is a clean and powerful technical indicator designed to visualize key Support and Resistance (S&R) levels from multiple timeframes directly on your chart.
Instead of drawing lines manually, this tool automates the process by plotting critical levels from the previous day, week, and month.
This indicator is ideal for traders focusing on Price Action, Market Structure (HH/HL), or Mean Reversion strategies.
Key Features:
Daily Levels (D): Displays yesterday's High and Low, along with the current Daily Open. Essential for intraday trading and identifying the daily bias.
Weekly Levels (W): Plots the High and Low from the previous week. These often act as major psychological levels where significant price reactions occur.
Monthly Levels (M): Shows the High and Low of the previous month for a macro perspective on the market.
Dynamic Labels: Each level is clearly labeled on the right side of the chart (e.g., "D-high", "W-low", "M-high") for instant identification.
Fully Customizable: Toggle the visibility of each timeframe (D, W, M) independently via the settings to keep your chart clean and focused.
Visual Hierarchy: Lines are distinguished by varying thicknesses and colors, allowing you to assess the importance of a level at a single glance.
How to Use:
Support & Resistance: Use these lines as potential bounce or breakout zones.
Trend Confirmation: Combine these levels with your own Market Structure analysis (Higher Highs / Higher Lows).
Targeting: Utilize weekly or monthly extremes as Take Profit targets or Stop Loss reference points.
LTF FVG + IFVG + HTF Liquidity + SessionsWhat this indicator does
This is a precision execution tool around Fair Value Gaps (FVG) and Inverted FVG (IFVG) with optional higher-timeframe confluence, HTF liquidity levels and session levels (Asia / London / Yesterday’s High–Low / Daily 50%).
By default it keeps things clean:
ON by default:
LTF FVG (nearest bullish & bearish)
LTF IFVG (inverted gaps that stay on the chart and freeze on second break)
OFF by default (you enable if you want):
HTF1 & HTF2 FVG layers
HTF liquidity levels (HTF swing highs/lows)
Asia & London session highs/lows
Yesterday’s high/low
Daily 50% line (D 50%)
Everything is time-anchored with xloc=bar_index, clamped to bar_index + 500, and trimmed by age / count so behaviour is stable in replay and on reload.
1. LTF FVG + IFVG (core engine)
Detection
Uses a 3-bar ICT-style pattern:
Bullish FVG: low > high and close > high
Bearish FVG: high < low and close < low
Runs on a Lower Timeframe (LTF):
Default: current chart timeframe
Optional: override via input.
Lifetime model
FVG lifetime is not hardcoded; it’s based on the timeframe:
Short TF → shorter lifetime in bars
Higher TF → proportionally longer lifetime
When lifetime is reached or price fully closes through the gap, the FVG is frozen:
Right edge stops where it should (expiry or break).
Zone is kept as historical structure, not deleted.
IFVG (Inverted FVG)
When an LTF FVG is broken back through:
It can spawn an Inverted FVG (IFVG) in the same price range.
Source must be younger than N LTF bars (configurable, default max age = 15).
Behaviour:
IFVGs are drawn with their own length (in bars) and color.
They stay on the chart even after being broken again.
On the next break in the opposite direction, the right side is cut:
The IFVG stops extending at that bar (second break = freeze).
Total number of IFVG boxes is capped for performance.
Visibility logic (LTF)
Indicator continuously tracks:
Nearest bearish FVG above price
Nearest bullish FVG below price
Only those two active LTF FVGs are visually highlighted (if enabled):
All other still-alive FVGs are tracked internally but muted.
Colours:
Bullish LTF zone color
Bearish LTF zone color
Separate color for IFVGs.
Result: You always see the closest upside and downside LTF imbalance + all IFVGs frozen where they were created and finally broken.
2. HTF1 & HTF2 FVG (optional)
Two higher-timeframe FVG layers for confluence:
HTF1
Timeframe:
Auto-mapped from the chart TF (e.g. 1m → 5m, 5m → 15m, 15m → 1h, 1h → 4h, 4h → Daily, etc.).
Manual override available.
Detection:
Same 3-bar FVG logic, but calculated on HTF and projected down.
Lifetime based on HTF bars, not LTF bars.
Visibility:
Only one bullish and one bearish HTF1 FVG is shown:
Nearest bearish above current price
Nearest bullish below current price
All others are tracked and culled by age/count.
HTF2
Second, higher layer (e.g. 1m → 1h, 5m → 1h, 1h → Daily, 4h → Weekly, etc.).
Same behaviour as HTF1:
FVG detection on HTF2
Lifetime in HTF2 bars
Only nearest bullish and bearish zones are drawn.
HTF visuals
HTF1
Bullish: yellow, ~20% opacity (subtle background)
Bearish: purple, ~20% opacity
HTF2
Bullish: yellow, ~40% opacity (stronger)
Bearish: purple, ~40% opacity
HTF HUD
Small two-column HUD at the bottom center:
Shows active TF for HTF1 and HTF2, e.g.
HTF1 FVG 15 | HTF2 FVG 60
If a layer is turned off, it shows HTF1 FVG: off / HTF2 FVG: off.
3. HTF Liquidity (pivot highs/lows) – optional
A separate module to track HTF liquidity levels:
HTF selection:
Auto-select HTF (mapping similar to FVG)
Or manual HTF via input.
Detection:
Uses pivot highs/lows with configurable left/right strength.
All pivots are pulled via request.security(..., lookahead_off) and anchored correctly on the LTF chart with xloc=bar_index.
Each liquidity level stores:
Price
Whether it’s a high or low
Creation bar index
Sweep status and sweep bar index.
Sweeps
A level is marked as swept when price wicks through it:
High level swept when high >= level price
Low level swept when low <= level price
Once swept:
The line is extended for a limited number of bars (configurable) and then frozen.
Sweep history:
High sweeps and low sweeps stored in arrays.
History is trimmed by bars back, not by random count – deterministic behaviour on reload.
You can turn the entire HTF Liquidity module on/off with LIQ: Show HTF Levels.
4. Sessions: Asia, London, Y-High/Y-Low, D 50% (optional)
All session features are OFF by default – you only enable what you actually want.
Asia & London highs/lows
Two time windows in Europe/Copenhagen time:
Asia session
London session
During each session:
Script tracks the session high and low plus their bar indices.
When a session ends and Show Asia/London High/Low is enabled:
A line is drawn from the session’s high/low with a label:
“Asia high”, “Asia low”, “London high”, “London low”.
Lines are anchored with xloc=bar_index, right side clamped.
Sweep behaviour
On the first sweep:
If price trades through a session high/low:
The line’s right edge is frozen at the sweep bar.
The label is also locked to that bar.
Line style switches to dashed, indicating the level has been taken.
Before sweep:
Lines & labels extend live with the chart (following the latest bar).
Yesterday’s High / Low
Tracks current day’s high & low, then rolls them into Y-high and Y-low at the new daily open.
When Show Y-high/Y-low is enabled:
Lines + labels for Y-high/Y-low are drawn from the rollover bar.
On sweep:
First touch through Y-high or Y-low:
Line is frozen at sweep bar and set to dashed.
Label is locked at that bar.
Before sweep, they extend live.
Daily Mid (D 50%)
Optional midpoint of the daily range ((dayHigh + dayLow) / 2).
Drawn as a dashed line with a “D 50%” label.
Always extends to the latest bar; not sweep-gated.
Session shading (debug)
Optional background shading when current bar is inside:
Asia session
London session
Purely visual; no effect on logic.
5. Design, performance & behaviour
All drawings are:
xloc = bar_index (sticky with scroll/zoom).
Right-clamped to bar_index + 500 to avoid runaway extensions.
Arrays and objects are trimmed:
FVG/IFVG, HTF FVG, HTF liquidity and session objects are all capped by bars back or max count.
This keeps the script stable even on long histories and in replay mode.
HTF data:
All HTF feeds use request.security(..., lookahead_off) for non-repainting behaviour.
Only preview/visual elements (HUD etc.) depend on last bar state.
TL;DR
You get:
A clean, non-spammy LTF FVG/IFVG engine that:
Shows only the nearest bullish and bearish LTF gaps,
Freezes IFVGs on second break instead of deleting them.
Optional HTF1 & HTF2 FVG context (nearest zones per direction).
Optional HTF liquidity from higher-timeframe pivot highs/lows.
Optional Asia/London session highs/lows, Yesterday’s High/Low, and D 50%, all with proper sweep freezing.
Turn on only the modules you actually trade with – the default setup is just FVG + IFVG, ready for intraday execution.
HY Smart VolumeHY Smart Volume is a custom volume analysis indicator that breaks total volume into three stacked layers to visualize market participation strength:
Retail volume (normal activity)
Medium volume (above-average activity)
Smart money volume (high-impact institutional activity)
The script splits each candle’s volume into layers:
1. Retail Volume
2. Medium Volume
3. Smart Money Volume
🟢 Retail Volume
Represents normal market activity
🟡 Medium Volume
Indicates increasing interest
🔴 Smart Money Volume
Red → Smart buying
Maroon → Smart selling






















