VIX Overnight Unch or Up AlertThis indicator alerts when VIX opens the day unchanged or higher on the day.  If in fact VIX opens up unchanged or higher, it will display near the first bar of the day, previous day's close time and level and the opening time and level.  The close time is typically 16:15 New York Time and the opening time is 09:30 or the first print a few minutes later.  I use TVC:VIX instead of CBOT because TVC for me is real time.  I also use the 1 minute chart and the script is coded as 1 minute.
지표 및 전략
BTC LL->HH Liquidity Sweep / BOS / Retest / 4H Bias v6_8BTC LL->HH Liquidity Sweep / BOS / Retest / 4H Bias v6_8
DM Price ActionHere’s a tight, rules-based playbook for trading with your DM Price Action (FVG + S/R + Order Blocks + VWAP + Auto PDH/PDL/PMH/PML). It’s educational, not financial advice—tune to your market & risk.
Core ideas (what each tool does for you)
VWAP → intraday trend/mean.
PDH/PDL → yesterday’s extremes; magnet & reversal/continuation levels.
PMH/PML → premarket extremes; first liquidity tests after the open.
FVG → imbalance zones for continuation entries.
Order Blocks (OBs) → origin of impulses; mitigation/breaks = structure shifts.
S/R → target rails and break alerts.
Setups (long/short mirror)
1) Bias + Pullback (FVG/OB) at Key Level
Bias (need 2+ conditions):
Price above VWAP (bulls) / below VWAP (bears)
Price above PDH/PMH (bulls) or below PDL/PML (bears)
Most recent Swing OB bias in your direction (script updates via crosses)
Entry (bullish example):
Wait for a Bullish FVG to form after we reclaim PMH or PDH.
Prefer FVG overlapping a Bullish OB or sitting just above Support.
Enter on retrace into FVG midline or first bullish reversal candle inside.
Stop: a few ticks below OB low (or FVG bottom, whichever is wider).
Targets:
T1: nearest Resistance or PDH/PMH if not yet tested.
T2: next HTF S/R or fixed 2R–3R.
Manage: to BE at 1R, trail under swing lows or VWAP on trend days.
Bearish mirror: below VWAP, below PDL/PML, Bearish FVG into Bearish OB / Resistance; stop above OB high.
2) Range Break & Retest at PDH/PDL (with OB confirmation)
Context: Price consolidates under PDH (or over PDL).
Trigger: Clean break of PDH/PDL with an OB breakout alert in the break direction.
Entry: On retest of PDH/PDL from the other side, look for a small FVG forming with the move → enter on the pullback.
Stop: beyond the retest wick or the OB edge.
Targets: next S/R, opposing day extreme (e.g., from PDH to PMH/HTF level) or 2R/3R.
3) Premarket Sweep Reversal (open-specific)
Setup: At/near the cash open, price sweeps PMH/PML (wick through) but closes back inside, then a counter-direction OB forms.
Entry: On first FVG in the reversal direction that overlaps that new OB.
Stop: beyond the sweep extreme (PMH/PML).
Targets: VWAP first, then PD midline levels/SR.
Confluence checklist (score ≥3 before clicking)
+1 Above/below VWAP in trade direction
+1 Trading from a PDH/PDL/PMH/PML reaction (reclaim or rejection)
+1 FVG overlaps an OB
+1 Entry at S/R (use the script’s lines)
+1 Fresh zone (recently formed OB/FVG)
+1 Higher-TF structure aligned (e.g., 1H trend)
Take the trade only if score ≥3; size up only at ≥4.
Execution framework (simple & repeatable)
Timeframes: 1H (bias) → 5–15m (execution).
Risk per trade: 0.25–1.0% of account (fixed).
Position size: Size = Risk $ / Stop distance.
Management:
Scale ½ at T1 (nearest SR/PD level), move stop to BE at 1R.
Let runner to T2 (2R–3R) or next PD level.
If VWAP flips against you and closes 2 bars opposite, exit remainder.
Using the inputs (what to tweak)
Order Blocks:
Scalping mode for intraday speed; Day Trade for cleaner swings.
Hide Internal OBs if noise is high; keep Swing OBs for structure.
FVG:
Keep Auto Threshold = ON.
If noisy, plot higher TF FVG (e.g., 15m FVG on 5m chart).
PDH/PDL/PMH/PML:
If chart is cluttered, keep “Show lines only on last bar” ON and labels ON.
Session markets (futures/US equities): use default 0400–0930 premarket; FX/crypto can disable PM lines if irrelevant.
Alerts to set (so you only act on confluence)
Create alerts for:
Bullish/Bearish FVG (execution zones)
Swing/Internal OB Breakout (structure shift)
Support/Resistance Broken (targets/continuation)
(Optional) Crossing PDH/PDL: use TV “Price crossing” with the plotted PDH/PDL values or visually monitor the labels
Workflow: Wait for ≥2 alerts to line up (e.g., Swing OB Breakout + Bullish FVG near PDH), then open the chart and execute the rule set.
Example trade (bullish)
Price reclaims PDH, holds above VWAP.
Bullish FVG prints overlapping a Bullish Internal OB just above PDH.
Limit at FVG midline, stop below OB low.
T1 = next Resistance; T2 = 2R. Move to BE at 1R; trail under new swing lows.
Adaptive Volatility Bands | AlphaNattAdaptive Volatility Bands (AVB) | AlphaNatt 
Professional-grade dynamic bands that adapt to market volatility and trend strength, featuring smooth gradient visualization for enhanced chart clarity.
 🎯 CORE CONCEPT 
AVB creates self-adjusting bands around a customizable basis line, expanding during trending markets and contracting during consolidation. The gradient fill provides instant visual feedback on price position within the volatility envelope.
 ✨ KEY FEATURES 
 
 5 Basis Types:  Choose between SMA, EMA, ALMA, KAMA, or VWMA for the centerline calculation
 Adaptive Band Width:  Bands automatically widen in strong trends and tighten in ranging markets
 Smooth Gradient Fills:  10-layer gradient on each side for professional depth visualization
 Multiple Volatility Metrics:  ATR, Standard Deviation, or Range-based calculations
 Squeeze Detection:  Identifies Bollinger/Keltner squeeze conditions for breakout anticipation
 Dynamic Color States:  Cyan (#00F1FF) for bullish, Magenta (#FF019A) for bearish conditions
 
 📊 HOW IT WORKS 
 
 The basis line is calculated using your selected moving average type
 Volatility is measured using ATR, StDev, or Range
 Trend strength is quantified via linear regression
 Band width adapts based on normalized trend strength (when enabled)
 Gradient layers create smooth visual transitions from bands to basis
 Color state changes based on price position and basis direction
 
 🔧 PARAMETER GROUPS 
 Basis Configuration: 
 
 Basis Type:  Moving average calculation method
 Basis Length (20):  Period for centerline calculation
 ALMA Settings:  Offset (0.85) and Sigma (6) for ALMA basis
 
 Volatility Settings: 
 
 Volatility Method:  ATR, Standard Deviation, or Range
 Volatility Length (14):  Lookback for volatility calculation
 Band Multiplier (2.0):  Distance of bands from basis
 
 Adaptive Settings: 
 
 Enable Adaptive (true):  Toggle dynamic band adjustment
 Adaptation Period (50):  Trend strength measurement window
 
 Squeeze Detection: 
 
 BB/KC Parameters:  Settings for squeeze identification
 Expansion Threshold:  Multiplier for expansion signals
 
 📈 TRADING SIGNALS 
 Long Conditions: 
 
 Price crosses above basis
 Basis line is rising
 Band color shifts to cyan
 
 Short Conditions: 
 
 Price crosses below basis
 Basis line is falling
 Band color shifts to magenta
 
 💡 USAGE STRATEGIES 
 
 Trend Following:  Trade with the basis direction when bands are expanding
 Mean Reversion:  Fade moves to outer bands during squeeze conditions
 Breakout Trading:  Enter on expansion signals after squeeze periods
 Support/Resistance:  Use bands as dynamic S/R levels
 Position Sizing:  Wider bands suggest higher volatility - adjust size accordingly
 
 🎨 VISUAL ELEMENTS 
 
 Gradient Fills:  10 opacity layers creating smooth band transitions
 Dynamic Colors:  State-dependent coloring for instant trend recognition
 Basis Line:  Bold centerline changes color with trend state
 Band Lines:  Outer boundaries with matching state colors
 
 ⚡ BEST PRACTICES 
 
The AVB indicator works optimally on liquid instruments with consistent volume. The adaptive feature performs best in trending markets but can generate false signals during choppy conditions. Consider using alongside momentum indicators for confirmation. The gradient visualization helps identify price position within the volatility envelope at a glance.
 
 🔔 ALERTS INCLUDED 
 
 Long/Short Signals
 Squeeze Conditions
 Expansion Breakouts
 Band Touch Events
 
 Version 6 | Pine Script™ | © AlphaNatt
Supernova IndicatorTim Sykes Supernova Indicator. This indicator will look for spikes in trading looking for a supernova.
Velocity Pressure Index | AlphaNattVelocity Pressure Index (VPI) | AlphaNatt 
A sophisticated momentum oscillator that combines price velocity analysis with volume pressure dynamics to identify high-probability trading opportunities.
 📊 KEY FEATURES 
 
 Dual Analysis System:  Merges price velocity measurement with volume pressure analysis for comprehensive market momentum assessment
 Dynamic Normalization:  Automatically scales values between -100 and +100 for consistent readings across all market conditions
 Adaptive Zones:  Self-adjusting overbought/oversold levels based on recent price history
 Multi-Layer Confirmation:  Combines momentum, acceleration, and crossover signals for robust trade identification
 Volume-Weighted Pressure:  Differentiates between bullish and bearish volume to gauge true market sentiment
 
 📈 HOW IT WORKS 
The VPI calculates price velocity using linear regression of price changes, then weights this velocity by the difference between bullish and bearish volume pressure. This creates a momentum reading that accounts for both price movement speed and the volume conviction behind it.
 Signal Generation: 
 
 Price velocity is measured over the specified period
 Volume is separated into bullish (close > open) and bearish (close < open) pressure
 Velocity is amplified or dampened based on volume pressure differential
 The resulting index is normalized to oscillate between -100 and +100
 A signal line smooths the oscillator for crossover detection
 
 🎯 TRADING SIGNALS 
 Long Signals (Cyan #00F1FF): 
 
 Strong Bull: VPI > Signal with positive momentum and acceleration
 Crossover Bull: VPI crosses above signal while above oversold zone
 Divergence: Price makes lower low while VPI makes higher low
 
 Short Signals (Magenta #FF019A): 
 
 Strong Bear: VPI < Signal with negative momentum and deceleration
 Crossover Bear: VPI crosses below signal while below overbought zone
 Divergence: Price makes higher high while VPI makes lower high
 
 ⚙️ CUSTOMIZABLE PARAMETERS 
 Velocity Settings: 
 
 Velocity Period (14):  Lookback for price velocity calculation
 Pressure Period (21):  Volume analysis window
 Smoothing Factor (3):  Final oscillator smoothing
 
 Signal Configuration: 
 
 Signal Type:  Choose between SMA, EMA, or DEMA
 Signal Length (9):  Signal line smoothing period
 Normalization Period (50):  Range calculation window
 
 Dynamic Zones: 
 
 Zone Lookback (100):  Period for adaptive overbought/oversold calculation
 Percentiles:  80th/20th percentiles for dynamic zones
 
 📐 VISUAL COMPONENTS 
 
 Main Oscillator:  Color-coded line showing current momentum state
 Signal Line:  White line for crossover detection
 Momentum Histogram:  Shows velocity differential at 50% scale
 Dynamic Zones:  Self-adjusting overbought/oversold bands
 Extreme Levels:  ±50 dotted lines marking extreme conditions
 Background Shading:  Subtle highlighting of overbought/oversold regions
 
 💡 USAGE TIPS 
 
 Trend Trading:  Use strong bull/bear signals in trending markets for continuation entries
 Range Trading:  Focus on crossovers near extreme zones for reversal trades
 Divergence Trading:  Watch for price/oscillator divergences at market extremes
 Multi-Timeframe:  Combine with higher timeframe VPI for directional bias
 Volume Confirmation:  Stronger signals occur with aligned volume pressure
 
 ⚠️ BEST PRACTICES 
 
The VPI works best in liquid markets with reliable volume data. For optimal results, combine with price action analysis and use appropriate risk management. The indicator is most effective during trending conditions but can identify reversals when divergences occur at extremes.
 
 🔔 ALERTS AVAILABLE 
 
 VPI Long/Short Signals
 Bullish/Bearish Crossovers
 Extreme Overbought/Oversold Conditions
 
 Version 6 | Pine Script™ | © AlphaNatt
2-Period RSI Extreme One-Bar CrossIndicates when a 2 period rsi crosses from oversold of 10 or less to 50 and vice versa will indicate when the 2 period rsi crosses from overbought of 90 and above to 50.
天干地支标注(当前视窗范围 + 居中标签)🇨🇳 中文说明
天干地支标注(自动匹配周期)
本指标会根据图表的时间周期(年、月、日、小时、分钟)自动计算并在每根 K 线上方显示对应的天干地支。
	•	自动识别图表周期(年/月/日/时/分)
	•	仅显示当前视窗内的柱子,性能高、不卡顿
	•	可自定义每隔 N 根显示一次(默认每根)
	•	支持居中矩形标签(label.style_label_center),清晰易读
	•	无需区分暗黑/亮色主题,自动兼容所有图表样式
可作为金融时间序列与中国传统历法(干支纪时)结合的参考工具,
在时间周期研究、风水、气运周期、江恩时间分析等领域有辅助价值。
⸻
🇬🇧 English Description (for international visibility)
Heavenly Stems & Earthly Branches Marker (Auto-Adaptive Version)
This indicator automatically calculates and displays the corresponding Chinese Heavenly Stems and Earthly Branches (Ganzhi) for each candlestick, based on the chart’s timeframe (Year, Month, Day, Hour, or Minute).
	•	Auto-detects chart timeframe
	•	Draws only within the current visible window (optimized performance)
	•	Adjustable display interval (e.g., show every N bars)
	•	Uses centered label style for clarity
	•	Compatible with both dark and light themes
Useful for combining Chinese calendar cycles with financial time analysis, time-cycle studies, or Gann-style timing models.
Bitcoin ETF Cumulative Net InflowIndicator Description:
This indicator calculates and plots the cumulative net inflow (in billions of USD) for selected Bitcoin ETFs on the main price chart. It uses AUM data from TradingView to estimate daily net flows, adjusted for BTC price changes, and accumulates them over time. The line is overlaid on the price chart (e.g., BTCUSD) with a right scale for better visibility, helping to identify correlations between ETF inflows and Bitcoin price movements.
Key Features:
Supports selection of 10 major Bitcoin ETFs (IBIT, FBTC, ARKB, etc.) via inputs.
Cumulative inflow line (purple, linewidth=2) for trend analysis.
Data sourced from request.financial("AUM", "D") for accuracy.
ICOptimizerLibrary   "ICOptimizer" 
Library for IC-based parameter optimization
 findOptimalParam(testParams, icValues, currentParam, smoothing) 
  Find optimal parameter from array of IC values
  Parameters:
     testParams (array) : Array of parameter values being tested
     icValues (array) : Array of IC values for each parameter (same size as testParams)
     currentParam (float) : Current parameter value (for smoothing)
     smoothing (simple float) : Smoothing factor (0-1, e.g., 0.2 means 20% new, 80% old)
  Returns:   New parameter value, its IC, and array index
 adaptiveParamWithStarvation(opt, testParams, icValues, smoothing, starvationThreshold, starvationJumpSize) 
  Adaptive parameter selection with starvation handling
  Parameters:
     opt (ICOptimizer) : ICOptimizer object
     testParams (array) : Array of parameter values
     icValues (array) : Array of IC values for each parameter
     smoothing (simple float) : Normal smoothing factor
     starvationThreshold (simple int) : Number of updates before triggering starvation mode
     starvationJumpSize (simple float) : Jump size when in starvation (as fraction of range)
  Returns:   Updated parameter and IC
 detectAndAdjustDomination(longCount, shortCount, currentLongLevel, currentShortLevel, dominationRatio, jumpSize, minLevel, maxLevel) 
  Detect signal imbalance and adjust parameters
  Parameters:
     longCount (int) : Number of long signals in period
     shortCount (int) : Number of short signals in period
     currentLongLevel (float) : Current long threshold
     currentShortLevel (float) : Current short threshold
     dominationRatio (simple int) : Ratio threshold (e.g., 4 = 4:1 imbalance)
     jumpSize (simple float) : Size of adjustment
     minLevel (simple float) : Minimum allowed level
     maxLevel (simple float) : Maximum allowed level
  Returns:  
 calcIC(signals, returns, lookback) 
  Parameters:
     signals (float) 
     returns (float) 
     lookback (simple int) 
 classifyIC(currentIC, icWindow, goodPercentile, badPercentile) 
  Parameters:
     currentIC (float) 
     icWindow (simple int) 
     goodPercentile (simple int) 
     badPercentile (simple int) 
 evaluateSignal(signal, forwardReturn) 
  Parameters:
     signal (float) 
     forwardReturn (float) 
 updateOptimizerState(opt, signal, forwardReturn, currentIC, metaICPeriod) 
  Parameters:
     opt (ICOptimizer) 
     signal (float) 
     forwardReturn (float) 
     currentIC (float) 
     metaICPeriod (simple int) 
 calcSuccessRate(successful, total) 
  Parameters:
     successful (int) 
     total (int) 
 createICStatsTable(opt, paramName, normalSuccess, normalTotal) 
  Parameters:
     opt (ICOptimizer) 
     paramName (string) 
     normalSuccess (int) 
     normalTotal (int) 
 initOptimizer(initialParam) 
  Parameters:
     initialParam (float) 
 ICOptimizer 
  Fields:
     currentParam (series float) 
     currentIC (series float) 
     metaIC (series float) 
     totalSignals (series int) 
     successfulSignals (series int) 
     goodICSignals (series int) 
     goodICSuccess (series int) 
     nonBadICSignals (series int) 
     nonBadICSuccess (series int) 
     goodICThreshold (series float) 
     badICThreshold (series float) 
     updateCounter (series int)
IC optimiser libLibrary   "IC optimiser lib" 
Library for IC-based parameter optimization
 findOptimalParam(testParams, icValues, currentParam, smoothing) 
  Find optimal parameter from array of IC values
  Parameters:
     testParams (array) : Array of parameter values being tested
     icValues (array) : Array of IC values for each parameter (same size as testParams)
     currentParam (float) : Current parameter value (for smoothing)
     smoothing (simple float) : Smoothing factor (0-1, e.g., 0.2 means 20% new, 80% old)
  Returns:   New parameter value, its IC, and array index
 adaptiveParamWithStarvation(opt, testParams, icValues, smoothing, starvationThreshold, starvationJumpSize) 
  Adaptive parameter selection with starvation handling
  Parameters:
     opt (ICOptimizer) : ICOptimizer object
     testParams (array) : Array of parameter values
     icValues (array) : Array of IC values for each parameter
     smoothing (simple float) : Normal smoothing factor
     starvationThreshold (simple int) : Number of updates before triggering starvation mode
     starvationJumpSize (simple float) : Jump size when in starvation (as fraction of range)
  Returns:   Updated parameter and IC
 detectAndAdjustDomination(longCount, shortCount, currentLongLevel, currentShortLevel, dominationRatio, jumpSize, minLevel, maxLevel) 
  Detect signal imbalance and adjust parameters
  Parameters:
     longCount (int) : Number of long signals in period
     shortCount (int) : Number of short signals in period
     currentLongLevel (float) : Current long threshold
     currentShortLevel (float) : Current short threshold
     dominationRatio (simple int) : Ratio threshold (e.g., 4 = 4:1 imbalance)
     jumpSize (simple float) : Size of adjustment
     minLevel (simple float) : Minimum allowed level
     maxLevel (simple float) : Maximum allowed level
  Returns:  
 calcIC(signals, returns, lookback) 
  Parameters:
     signals (float) 
     returns (float) 
     lookback (simple int) 
 classifyIC(currentIC, icWindow, goodPercentile, badPercentile) 
  Parameters:
     currentIC (float) 
     icWindow (simple int) 
     goodPercentile (simple int) 
     badPercentile (simple int) 
 evaluateSignal(signal, forwardReturn) 
  Parameters:
     signal (float) 
     forwardReturn (float) 
 updateOptimizerState(opt, signal, forwardReturn, currentIC, metaICPeriod) 
  Parameters:
     opt (ICOptimizer) 
     signal (float) 
     forwardReturn (float) 
     currentIC (float) 
     metaICPeriod (simple int) 
 calcSuccessRate(successful, total) 
  Parameters:
     successful (int) 
     total (int) 
 createICStatsTable(opt, paramName, normalSuccess, normalTotal) 
  Parameters:
     opt (ICOptimizer) 
     paramName (string) 
     normalSuccess (int) 
     normalTotal (int) 
 initOptimizer(initialParam) 
  Parameters:
     initialParam (float) 
 ICOptimizer 
  Fields:
     currentParam (series float) 
     currentIC (series float) 
     metaIC (series float) 
     totalSignals (series int) 
     successfulSignals (series int) 
     goodICSignals (series int) 
     goodICSuccess (series int) 
     nonBadICSignals (series int) 
     nonBadICSuccess (series int) 
     goodICThreshold (series float) 
     badICThreshold (series float) 
     updateCounter (series int)
Sigma Volatility BandsThis indicator models and displays bands of potential future price based on historic realized volatility.  
 This can be used for finding price target where there is no past price action. 
The price bands are derived from Standard Deviations based on input bars back of historic volatility.
More Inputs:
Lookback = Number of bars considered
Forward Bars = Number of bars to project bands forward
There are two display modes:
Forward shifted envelopes = (see below) Draws bands of price from the Standard Deviation
Forward for Anchor Lines = Draws a wedge out number of bars forward
(Vibe coded.  Message me for suggested updates and improvements)
Midnight Lines for Tokyo, London, New Yorkممتاز 👌 إليك **تعريفًا محدثًا وكاملًا للمؤشر باللغتين العربية والإنجليزية**، مع إدراج توضيح دقيق لتعامل المؤشر مع **تغيّر التوقيت الصيفي والشتوي (DST)** في لندن ونيويورك:
---
## 🇬🇧 **English Description (with DST behavior)**
**Indicator name:** *Midnight Lines for Tokyo, London, and New York*
**Purpose:**
This indicator automatically draws **vertical lines** on the chart at **midnight (00:00)** for the three major global trading sessions:
* **Tokyo**
* **London**
* **New York**
### 🔹 How it works:
1. The script checks each candle’s time using the built-in TradingView time zone function:
   * `"Asia/Tokyo"`
   * `"Europe/London"`
   * `"America/New_York"`
2. When it detects **00:00** in any of these zones, it draws:
   * A **vertical dotted line** that extends from the top to the bottom of the chart.
   * A **label** at the top with the session name (e.g., “Tokyo Midnight”).
3. Each session has its own color for clarity:
   * **Blue** → Tokyo Midnight
   * **Green** → London Midnight
   * **Red** → New York Midnight
### 🕒 Automatic Daylight Saving Time (DST) Adjustment:
The indicator automatically adapts to **Daylight Saving Time changes** in both **London** and **New York**:
* When London switches between **GMT and GMT+1**, the midnight line shifts automatically to remain accurate.
* When New York switches between **EST and EDT**, the script also updates accordingly.
* Tokyo does **not** observe DST, so its timing stays constant year-round.
### 🎯 Purpose:
Helps traders visually track the start of each new trading day in the major sessions and analyze:
* Session overlaps (e.g., London–New York overlap)
* Session-based trading strategies
* Price movement behavior at each new day open
---
## 🇸🇦 **الوصف بالعربية (مع إدراج تغير التوقيت)**
**اسم المؤشر:** خطوط منتصف الليل لجلسات طوكيو، لندن، ونيويورك
**الهدف:**
يقوم هذا المؤشر تلقائيًا برسم **خطوط عمودية** على الرسم البياني عند **منتصف الليل (00:00)** لكل من الجلسات الثلاث الرئيسية:
* **جلسة طوكيو**
* **جلسة لندن**
* **جلسة نيويورك**
### 🔹 كيفية العمل:
1. يستخدم المؤشر دوال TradingView لحساب الوقت الفعلي لكل مدينة:
   * `"Asia/Tokyo"` لطوكيو
   * `"Europe/London"` للندن
   * `"America/New_York"` لنيويورك
2. عند وصول الساعة إلى **00:00** بتوقيت أي مدينة، يرسم المؤشر:
   * **خطًا عموديًا متقطعًا** يمتد من أعلى إلى أسفل الرسم البياني.
   * **تسمية (Label)** أعلى الخط باسم الجلسة (مثل “Tokyo Midnight”).
3. كل جلسة لها لون مختلف:
   * **أزرق** → منتصف طوكيو
   * **أخضر** → منتصف لندن
   * **أحمر** → منتصف نيويورك
### 🕒 التعامل مع تغيّر التوقيت الصيفي والشتوي (DST):
يتكيّف المؤشر تلقائيًا مع تغيّر التوقيت في لندن ونيويورك:
* عندما تنتقل لندن بين **التوقيت الشتوي (GMT)** و**التوقيت الصيفي (GMT+1)**، يتحرك الخط تلقائيًا ليبقى في الساعة 00:00 المحلية.
* وعندما تنتقل نيويورك بين **EST** و**EDT**، يتم تعديل الخط كذلك تلقائيًا.
* أما طوكيو فلا تعتمد التوقيت الصيفي، لذا يبقى وقتها ثابتًا دائمًا على الساعة **00:00 JST**.
### 🎯 الفائدة:
يساعد المتداولين على تحديد **بداية كل جلسة تداول رئيسية**، ومراقبة:
* **تداخل الجلسات** مثل لندن ونيويورك
* **تحركات السعر عند بداية اليوم الجديد**
* **استراتيجيات التداول الزمنية حسب الجلسة**
---
IFVG (Inverted Fair Value Gap) Finder Detects standard Fair Value Gaps (3-candle definition) on any timeframe.
Tracks those FVG zones on the chart.
Marks Inverted Fair Value Gaps (IFVGs) when price breaches (invalidates) an FVG and later retests it from the other side.
Draws the zones and plots clear entry arrows when a retest is detected (so you can use them to enter trades).
Has alertconditions you can enable for automated alerts.
Price–Volume Anomaly DetectorDescription 
This indicator identifies unusual relationships between price strength and trading volume. By analyzing expected intraday volume behavior and comparing it with current activity, it highlights potential exhaustion, absorption, or expansion events that may signal changing market dynamics.
 How It Works 
The script profiles average volume by time of day and compares current volume against this adaptive baseline. Combined with normalized price movement (ATR-based), it detects conditions where price and volume diverge:
 
 Exhaustion:  Strong price move on low volume (potential fade)
 Absorption:  Weak price move on high volume (potential reversal)
 Expansion:  Strong price move on high volume (momentum continuation)
 
 Key Features 
 
 Adaptive time-based volume normalization
 Configurable sensitivity thresholds
 Optional visibility for each anomaly type
 Adjustable label transparency and offset
 Light Mode support: label text automatically adjusts for dark or light chart backgrounds
 Lightweight overlay design
 
 Inputs Overview 
 
 Volume Profile Resolution:  Defines time bucket size for expected volume
 [* ]Lookback Days:  Controls how quickly the profile adapts
 Price / Volume Thresholds:  Tune anomaly sensitivity
 Show Expansion / Exhaustion / Absorption:  Toggle specific labels
 Label Transparency & Offset:  Adjust chart visibility
 
 How to Use: 
 
 Apply the indicator to any chart or timeframe.
 Observe where labels appear:
🔴 Exhaustion: strong price, weak volume
🔵 Absorption: weak price, strong volume
🟢 Expansion: strong price, strong volume
 Use these as context clues, not trade signals — combine with broader volume or trend analysis.
 
 How It Helps 
 
 Reveals hidden price–volume imbalances
 Highlights areas where momentum may be fading or strengthening
 Enhances understanding of market behavior beyond raw price action
 
⚠️Disclaimer:
This script is provided for educational and informational purposes only. It is not financial advice and should not be considered a recommendation to buy, sell, or hold any financial instrument. Trading involves significant risk of loss and is not suitable for every investor. Users should perform their own due diligence and consult with a licensed financial advisor before making any trading decisions. The author does not guarantee any profits or results from using this script, and assumes no liability for any losses incurred. Use this script at your own risk.
DTR & ATR with live zonesThis indicator is designed to help traders gauge the day's volatility in real-time. It compares the current Daily True Range (DTR)—the distance between the session's high and low—to the historical Average True Range (ATR).
The main purpose is to project potential price levels where the market might reach based on its average volatility. These levels (100% ATR, 150%, 200%, etc.) can be used as price targets. For instance, if you're in a long trade, you might consider taking partial or full profits as the price approaches these upper ATR extension levels. The indicator is highly customisable, allowing you to control the appearance of the ATR lines, zones, and labels to fit your charting preferences.
 Core Concepts: ATR and DTR 
To use this indicator effectively, it's important to understand its two main components:
 
 Average True Range (ATR): This is a classic technical analysis indicator that measures market volatility. It calculates the average range of price movement over a specific period (e.g., 14 days). A higher ATR means the price is, on average, moving more, while a low ATR indicates less volatility. This script uses a higher timeframe ATR (e.g., Daily) to establish a stable volatility baseline for the current trading day.
 Daily True Range (DTR): This is simply the difference between the current trading session's highest high and lowest low (session high - session low). It tells you how much the price has actually moved so far today.
 
The indicator's logic revolves around comparing the live, unfolding DTR to the historical, baseline ATR. An on-screen table conveniently shows this comparison as a percentage, to show how volatile the day has been.
 How It Works: The Dynamic & Locked Mechanism 
The most clever part of this indicator is how it draws the ATR levels. It operates in two distinct phases during the trading session:
 Phase 1:  Dynamic Expansion (Before DTR meets ATR)
At the start of the session, the DTR is small. The indicator calculates the remaining range needed to "complete" the 100% ATR level (difference = avg_atr - dtr). It then adds this remaining amount to the session high and subtracts it from the session low. This creates a "floating" 100% ATR range that expands dynamically as the session high or low is extended.
 Phase 2:  The Lock-in (After DTR meets or exceeds ATR)
Once the day's range (DTR) becomes equal to or greater than the avg_atr, the day has met its "expected" volatility. At this point, the levels lock in place. The indicator intelligently determines the anchor point for the locked range.
Once this primary 100% ATR range is established (either dynamically or locked), the script projects the other levels (150%, 200%, 250%, and 300%) by adding or subtracting multiples of the avg_atr from this base.
 How to Use It for Trading  
The primary use of this indicator is to set logical, volatility-based price targets.
 Setting Profit Targets:  If you enter a long position, the upper ATR levels (100%, 150%, 200%) serve as excellent areas to consider taking profits. A move to the 200% or 250% level often signifies an overextended or "exhaustion" move, making it a high-probability exit zone. For short positions, the lower ATR levels serve the same purpose.
 Assessing Intraday Momentum:  The on-screen table tells you how much of the expected daily range has been used. If it's early in the session and the DTR is only at 30% of the ATR, you can anticipate more significant price movement is likely to come. Conversely, if the DTR is already at 150% of ATR, the bulk of the day's move may already be complete.
 Mean Reversion Signals:  If the price pushes to an extreme level (e.g., 250% ATR) and shows signs of stalling (e.g., bearish divergence on an oscillator), it could signal a potential reversal or pullback, offering an opportunity for a counter-trend trade.
 Key Settings 
 
 ATR Length & Smoothing Type:  These settings control how the baseline ATR is calculated. The default 14 period and RMA smoothing are standard, but you can adjust them to your preference.
 Session Settings:  This is crucial. You must set the Market Session and Time Zone to match the primary trading hours of the asset you are analysing (e.g., "0930-1600" for the NYSE session).
 Show Lines / Show Labels / Show Zones:  The script gives you full control over the visual display. You can toggle each ATR level's lines, labels, and background zones individually to avoid a cluttered chart and focus only on the levels that matter to your strategy.
Renko BandsThis is renko without the candles, just the endpoint plotted as a line with bands around it that represent the brick size. The idea came from thinking about what renko actually gives you once you strip away the visual brick format. At its core, renko is a filtered price series that only updates when price moves a fixed amount, which means it's inherently a trend-following mechanism with built-in noise reduction. By plotting just the renko price level and surrounding it with bands at the brick threshold distances, you get something that works like regular volatility bands while still behaving as a trend indicator.
The center line is the current renko price, which trails actual price based on whichever brick sizing method you've selected. When price moves enough to complete a brick in the renko calculation, the center line jumps to the new brick level. The bands sit at plus and minus one brick size from that center line, showing you exactly how far price needs to move before the next brick would form. This makes the bands function as dynamic breakout levels. When price touches or crosses a band, you know a new renko brick is forming and the trend calculation is updating.
What makes this cool is the dual-purpose nature. You can use it like traditional volatility bands where the outer edges represent boundaries of normal price movement, and breaks beyond those boundaries signal potential trend continuation or exhaustion. But because the underlying calculation is renko rather than standard deviation or ATR around a moving average, the bands also give you direct insight into trend state. When the center line is rising consistently and price stays near the upper band, you're in a clean uptrend. When it's falling and price hugs the lower band, downtrend. When the center line is flat and price is bouncing between both bands, you're ranging.
The three brick sizing methods work the same way as standard renko implementations. Traditional sizing uses a fixed price range, so your bands are always the same absolute distance from the center line. ATR-based sizing calculates brick range from historical volatility, which makes the bands expand and contract based on the ATR measurement you chose at startup. Percentage-based sizing scales the brick size with price level, so the bands naturally widen as price increases and narrow as it decreases. This automatic scaling is particularly useful for instruments that move proportionally rather than in fixed increments.
The visual simplicity compared to full renko bricks makes this more practical for overlay use on your main chart. Instead of trying to read brick patterns in a separate pane or cluttering your price chart with boxes and lines, you get a single smoothed line with two bands that convey the same information about trend state and momentum. The center line shows you the filtered trend direction, the bands show you the threshold levels, and the relationship between price and the bands tells you whether the current move has legs or is stalling out.
From a trend-following perspective, the renko line naturally stays flat during consolidation and only moves when directional momentum is strong enough to complete bricks. This built-in filter removes a lot of the whipsaw that affects moving averages during choppy periods. Traditional moving averages continue updating with every bar regardless of whether meaningful directional movement is happening, which leads to false signals when price is just oscillating. The renko line only responds to sustained moves that meet the brick size threshold, so it tends to stay quiet when price is going nowhere and only signals when something is actually happening.
The bands also serve as natural stop-loss or profit-target references since they represent the distance price needs to move before the trend calculation changes. If you're long and the renko line is rising, you might place stops below the lower band on the theory that if price falls far enough to reverse the renko trend, your thesis is probably invalidated. Conversely, the upper band can mark levels where you'd expect the current brick to complete and potentially see some consolidation or pullback before the next brick forms.
What this really highlights is that renko's value isn't just in the brick visualization, it's in the underlying filtering mechanism. By extracting that mechanism and presenting it in a more traditional band format, you get access to renko's trend-following properties without needing to commit to the brick chart aesthetic or deal with the complications of overlaying brick drawings on a time-based chart. It's renko after all, so you get the trend filtering and directional clarity that makes renko useful, but packaged in a way that integrates more naturally with standard technical analysis workflows.
10Y–2Y Treasury Yield Curve Spread & MES % Change📝 Description:
This indicator tracks the U.S. 10-Year minus 2-Year Treasury yield spread — a powerful macroeconomic signal often used by professional traders to gauge market sentiment and recession risk — and overlays an optional MES % change line to help intraday futures traders spot macro–price divergences in real time.
Features:
🏦 Plots the 10Y–2Y spread, with optional EMA smoothing.
📉 Highlights yield curve inversion (background turns red when spread < 0).
📊 Optional MES % change line from daily or RTH open for directional bias.
🔔 Alert conditions for:
Yield curve inversion / un-inversion.
Sudden spread spikes in basis points (customizable).
🧮 Optional correlation plot to visualize relationship strength between MES and the yield curve.
🧭 Z-score normalization allows both series to be viewed in one pane without scaling issues.
Why it matters:
A falling or inverted 2s10s spread often signals risk-off behavior and pressure on equities.
A steepening curve tends to support risk-on rallies.
Divergences between MES price action and the spread can provide early warning signals of reversals or fakeouts.
Best used with:
MES (MES1!) or MYM charts for intraday & swing bias.
Fed event days, CPI/NFP, or any macro-sensitive sessions.
VWAP or structure-based intraday trading strategies.
⚠️ Note: This indicator is for informational purposes only and does not constitute financial advice. Always combine macro context with your own trade plan and risk management.
Peter Brandt's 3-Day Trailing StopPeter Brandt's 3-day trailing stop rule is a trend-following exit strategy where a sell signal is triggered after a stock has reached a new high, followed by a close below the low of that high day, and then a break below the low of the next day, which is called the "setup day". The rule can be reversed to exit a short position. For long positions, Day 1 is the "high day" with a new price high, Day 2 is the "setup day" where the price closes below the low of Day 1, and Day 3 is the "trigger day" where a sell is executed if the price falls below the low of the setup day. 
Long exit signal
Day 1: High Day: — The stock makes a new high.
Day 2: Setup Day: — The stock closes below the low of Day 1. At this point, the exit signal is now active.
Day 3: Trigger Day: — A sell to close is triggered when the price breaks below the low of the "setup day" (Day 2). 
Short exit signal
Day 1: Low Day: — The stock makes a new low.
Day 2: Setup Day: — The stock closes above the high of Day 1.
Day 3: Trigger Day: — A buy to close is triggered when the price breaks above the high of the "setup day" (Day 2). 
Multi-Moving Average (4x)Configurable moving average indicator where user can select up to 4 MA and configure SMA or EMA , color and width.






















