Systemic Net Liquidity (Macro Fuel for Crypto & Stocks)This indicator tracks Systemic Net Liquidity, the single most important macro factor for determining the long-term trend of risk assets like Bitcoin (BTC) and major indices (S&P 500). It measures the amount of actual cash available in the financial system to chase speculative assets, distinguishing between money that is circulating and money that is locked up at the Federal Reserve.
Mechanism (What It Measures)
The script uses direct data from the FRED (Federal Reserve Economic Data) to calculate the true state of market funding:
\text{Net Liquidity} = \text{Fed Assets (WALCL)} - \text{Treasury General Account (TGA)} - \text{Reverse Repo (RRP)}
1. Fed Assets (WALCL): The total balance sheet of the Fed (The overall supply of money).
2. Treasury General Account (TGA): Funds the US Treasury collects via bond issuance. When the TGA rises, liquidity is actively drained from the banking system (A major bearish pressure).
3. Overnight Reverse Repo (RRP): Cash parked by banks and money market funds at the Fed, effectively frozen and not contributing to market activity.
How to Interpret Signals
Treat the Net Liquidity line as the market's "Fuel Gauge":
📈 BULLISH SIGNAL (Liquidity Injection): When the Net Liquidity line is rising, money is flowing back into the system, signalling a tailwind for risk assets.
📉 BEARISH SIGNAL (Liquidity Drain): When the line is falling (often due to high TGA balances), cash is being removed. This signals major friction and pressure on price action.
⚠️ DIVERGENCE WARNING: A strong signal is generated when Price (e.g., BTC) rises, but Net Liquidity falls. This macro divergence strongly suggests a major trend reversal or correction is imminent.
Important Notes
Data Source: Data is directly sourced from FRED and updates daily/weekly. This tool is best used for macro analysis and identifying high-level cycles, not short-term scalping.
Disclaimer: Use this indicator as a confirmation tool within your broader strategy. It is not a standalone trading signal.
指標和策略
flotschgee gorge PDH/LBased on "PDHL Sweep + C123 (by Veronica)" but it shows the respective PDH/L for every day of the last week
MA Suite 10/50/150/200 + Legend (v6)ma 10 50 150 200 that i have made with chat gpt to help find moving avarage
GBPUSD Weekly Cross LinesThis indicator tracks 20/50 EMA crossovers on GBPUSD (Weekly timeframe) and displays the crossover points across all symbols and timeframes, allowing traders to visually align current price action with key historical turning points in GBPUSD.
The script works by detecting bullish (20 EMA crossing above 50 EMA) and bearish (20 EMA crossing below 50 EMA) signals since 2010, using request.security() to source data from GBPUSD weekly candles, even if the indicator is applied to AAPL, EURJPY, BTCUSD, or any other asset.
Each crossover is marked with a vertical line that persists across all charts, offering a powerful way to:
Compare current market context with GBPUSD’s historical trend shifts
Observe intermarket correlations
Align trading timing across multiple assets
Spot macro trend transitions that ripple across global markets
Session Breaker with Pivots and VWAP (Arjo)Session Breaker with Pivots and VWAP : A complete intraday trading toolkit in one clean indicator.
This indicator combines four powerful tools that help traders understand intraday bias with clarity and confidence.
It plots the previous day’s last 30-minute high/low box (IST: 15:00–15:30) , the first-hour anchored VWAP (IST: 09:15–10:15) , daily pivot levels , and ATR-based dynamic support/resistance .
Key Features:
• Custom Session High & Low (default 30-min opening range or any session you choose)
→ Visual colored box that instantly changes color when price breaks above the high (cyan) or below the low (purple)
→ The separate darker box shows the exact opening-range boundaries
• Previous Day Classic Pivot Points (PP, BC, TC) + previous session midpoint
→ Clean horizontal lines that auto-update every day
• Morning Session VWAP (default 09:15–10:15 or fully customizable)
→ Perfect reference for early trend strength
• Dynamic Support & Resistance channel based on 20 EMA ± 1×ATR
→ Shaded zones for quick visual context
How to use this tool
//---------------Morning behavior----------------------------
Scenario 1: Opening above previous 30-min high + above 1-hr VWAP
# Institutions were buying heavily in the last 30 minutes yesterday
# Fresh buying continues today above VWAP.
→ Strong bullish continuation day
Scenario 2: Opening inside yesterday's last 30 Mins range + rejecting 1-hr VWAP
# Price keeps oscillating around the first-hour VWAP
No strong buying/selling pressure
→ Expect sideways mean reversion
Scenario 3: Opening below yesterday's last 30-min low but reclaiming 1-hr VWAP.
Then moves towards yesterday’s midpoint or even high.
# Overnight panic selling is absorbed by institutions, then the market reverses. This is a high-probability reversal.
→ Short-covering rally
Scenario 4: Gap up into yesterday's last 30 Mins high and failing 1-hour VWAP
→ Ideal countertrend short.
Scenario 5: Opening below yesterday's last 30-minute low + below 1-hour VWAP
# Aggressive selling
# Staying below VWAP = no buyer strength
#Institutions are selling rallies into VWAP
→ Strong bearish continuation day
In Short:
1. Price opens ABOVE previous 30-min HIGH + stays ABOVE VWAP → TREND DAY UP
2. Price opens INSIDE the previous 30-min range + hovers around VWAP → RANGE / MEAN REVERSION DAY
3. Price opens BELOW previous 30-min LOW + reclaims VWAP → REVERSAL DAY UP (Short-Covering or Short Trap)
4. Gap up opens ABOVE previous 30-min HIGH + failing 1-hr VWAP → Countertrend short.
5. Price opens BELOW previous 30-min LOW + stays BELOW VWAP → TREND DAY DOWN
Disclaimer
This indicator is an analytical and educational tool . It does not provide buy/sell signals. Users may combine these concepts with their own trading approach and risk management.
Happy trading, ARJO.
Dual MACD With Pilot Background + + Stoch RSI Alert HELL 2macd 1 chart time macd 2 4x chart time with over bought and over sold stoc rsi alerts
Trend Rider EMA9/21 + SuperTrend (EN)Trend Rider EMA9/21 + SuperTrend (EN) helps you watch ema 9 and 21 together for a trend.
3 Fib Strategy – Automatic Trend Fib Extension ConfluenceWhat This Script Does
✔ Auto-detects swing highs and lows
Using pivot detection, adjustable by the user.
✔ Builds 3 independent trend-based Fib extension projections
Measures:
Wave 1 → Wave 2 → Wave 3
Wave 2 → Wave 3 → Wave 4
Wave 3 → Wave 4 → Wave 5
✔ Calculates the exact fib levels:
1.0 (1:1 extension)
1.236 extension
1.382 extension
✔ Detects confluence zones
When all 3 fib measurement sets overlap at the same target:
Green label = 1:1 confluence
Orange label = 1.236–1.382 confluence
✔ Draws long dotted lines across the chart
So you can visually track confluence zones.
Wavelet Alligator – Separate Entry/Exit Experts & Wavelets-V2
Wavelet Alligator – Strategy Explanation & How to Use
1. Concept Overview
The Wavelet Alligator strategy combines:
- Wavelet transforms (Daubechies, Haar, Symlet, Mexican Hat, Morlet)
- Fractional calculus kernels: Caputo-Fabrizio (CF) and Atangana-Baleanu (AB)
- Three-layer “alligator-like” wavelet smoothing (soft → medium → strong)
- Expert-based entry/exit routing (RAW, CF, AB, or Majority vote)
- Independent wavelets for ENTRY and EXIT
- Main trend defined by AB wavelet ordering
This creates a multi-structure, multi-kernel trend engine capable of capturing extended moves with high signal quality.
2. Wavelet Alligator Structure
Each source (RAW, CF, AB) is transformed into three wavelet layers:
Soft = fastest reaction
Medium = mid smoothing
Strong = trend backbone
Wavelets:
- Daubechies: stable trend
- Haar: fast impulse detection
- Symlet: balanced
- Mexican Hat: curvature and reversal detection
- Morlet: cyclic, oscillatory
3. Entry Logic
Long entry occurs when:
- AB wavelet shows bullish structure (soft > medium > strong, medium rising)
- Selected entry expert approves (RAW / CF / AB / Majority)
- Wavelet condition: soft > strong AND medium crosses above strong
4. Exit Logic
Exit is independent from entry:
- Controlled by chosen exit expert
- Wavelet reversal condition: soft < strong AND medium crosses below strong
- Forced exit when AB trend turns neutral or bearish
5. Background Color (Regime)
- Green: bullish AB regime
- Red: bearish AB regime
- Gray: neutral/transition
6. How to Use
Step 1 – Choose entry wavelet
Daubechies: stable trend
Haar: breakout scalping
Mexican Hat: early reversals
Symlet: balanced
Morlet: cyclic markets
Step 2 – Choose exit wavelet
Mexican Hat: best precision
Daubechies: smooth exits
Haar: aggressive exits
Step 3 – Select entry/exit experts
CF only – fast fractional trend
AB only – stable long-memory trend
RAW only – pure price structure
Majority – safest, noise-filtered
Step 4 – Run the strategy
Entries occur only during AB bullish trend.
Exits occur on wavelet reversal or AB trend failure.
7. Why This Strategy Works
It fuses:
- Fractional calculus (memory)
- Wavelets (shape/curvature)
- Alligator ordering (trend hierarchy)
Result: high-quality entries, strong trend holding, noise-resistant signals.
Uptrick: Dynamic Z-Score DivergenceIntroduction
Uptrick: Dynamic Z-Score Divergence is an oscillator that combines multiple momentum sources within a Z-Score framework, allowing for the detection of statistically significant mean-reversion setups, directional shifts, and divergence signals. It integrates a multi-source normalized oscillator, a slope-based signal engine, structured divergence logic, a slope-adaptive EMA with dynamic bands, and a modular bar coloring system. This script is designed to help traders identify statistically stretched conditions, evolving trend dynamics, and classical divergence behavior using a unified statistical approach.
Overview
At its core, this script calculates the Z-Score of three momentum sources—RSI, Stochastic RSI, and MACD—using a user-defined lookback period. These are averaged and smoothed to form the main oscillator line. This normalized oscillator reflects how far short-term momentum deviates from its mean, highlighting statistically extreme areas.
Signals are triggered when the oscillator reverses slope within defined inner zones, indicating a shift in direction while the signal remains in a statistically stretched state. These mean-reversion flips (referred to as TP signals) help identify turning points when price momentum begins to revert from extended zones.
In addition, the script includes a divergence detection engine that compares oscillator pivot points with price pivot points. It confirms regular bullish and bearish divergence by validating spacing between pivots and visualizes both the oscillator-side and chart-side divergences clearly.
A dynamic trend overlay system is included using a Slope Adaptive EMA (SA-EMA). This trend line becomes more responsive when Z-Score deviation increases, allowing the trend line to adapt to market conditions. It is paired with ATR-based bands that are slope-sensitive and selectively visible—offering context for dynamic support and resistance.
The script includes configurable bar coloring logic, allowing users to color candles based on oscillator slope, last confirmed divergence, or the most recent signal of any type. A full alert system is also built-in for key signals.
Originality
The script is based on the well-known concept of Z-Score valuation, which is a standard statistical method for identifying how far a signal deviates from its mean. This foundation—normalizing momentum values such as RSI or MACD to measure relative strength or weakness—is not unique to this script and is widely used in quantitative analysis.
What makes this implementation original is how it expands the Z-Score foundation into a fully featured, signal-producing system. First, it introduces a multi-source composite oscillator by combining three momentum inputs—RSI, Stochastic RSI, and MACD—into a unified Z-Score stream. Second, it builds on that stream with a directional slope logic that identifies turning points inside statistical zones.
The most distinctive additions are the layered features placed on top of this normalized oscillator:
A structured divergence detection engine that compares oscillator pivots with price pivots to validate regular bullish and bearish divergence using precise spacing and timing filters.
A fully integrated slope-adaptive EMA overlay, where the smoothing dynamically adjusts based on real-time Z-Score movement of RSI, allowing the trend line to become more reactive during high-momentum environments and slower during consolidation.
ATR-based dynamic bands that adapt to slope direction and offer real-time visual zones for support and resistance within trend structures.
These features are not typically found in standard Z-Score indicators and collectively provide a unique approach that bridges statistical normalization, structure detection, and adaptive trend modeling within one script.
Features
Z-Score-based oscillator combining RSI, StochRSI, and MACD
Configurable smoothing for stable composite signal output
Buy/Sell TP signals based on slope flips in defined zones
Background highlighting for extreme outer bands
Inner and outer zones with fill logic for statistical context
Pivot-based divergence detection (regular bullish/bearish)
Divergence markers on oscillator and price chart
Slope-Adaptive EMA (SA-EMA) with real-time adaptivity based on RSI Z-Score
ATR-based upper and lower bands around the SA-EMA, visibility tied to slope direction
Configurable bar coloring (oscillator slope, divergence, or most recent signal)
Alerts for TP signals and confirmed divergences
Optional fixed Y-axis scaling for consistent oscillator view
The full setup mode can be seen below:
Input Parameters
General Settings
Full Setup: Enables rendering of the full visual system (lines, bands, signals)
Z-Score Lookback: Lookback period for normalization (mean and standard deviation)
Main Line Smoothing: EMA length applied to the averaged Z-Score
Slope Detection Index: Used to calculate directional flips for signal logic
Enable Background Highlighting: Enables visual region coloring in
overbought/oversold areas
Force Visible Y-Axis Scale: Forces max/min bounds for a consistent oscillator range
Divergence Settings
Enable Divergence Detection: Toggles divergence logic
Pivot Lookback Left / Right: Defines the structure of oscillator pivot points
Minimum / Maximum Bars Between Pivots: Controls the allowed spacing range for divergence validation
Bar Coloring Settings
Bar Coloring Mode:
➜ Line Color: Colors bars based on oscillator slope
➜ Latest Confirmed Signal: Colors bars based on the most recent confirmed divergence
➜ Any Latest Signal: Colors based on the most recent signal (TP or divergence)
SA-EMA Settings
RSI Length: RSI period used to determine adaptivity
Z-Score Length: Lookback for normalizing RSI in adaptive logic
Base EMA Length: Base length for smoothing before adaptivity
Adaptivity Intensity: Scales the smoothing responsiveness based on RSI deviation
Slope Index: Determines slope direction for coloring and band logic
Band ATR Length / Band Multiplier: Controls the width and responsiveness of the trend-following bands
Alerts
The script includes the following alert conditions:
Buy Signal (TP reversal detected in oversold zone)
Sell Signal (TP reversal detected in overbought zone)
Confirmed Bullish Divergence (oscillator HL, price LL)
Confirmed Bearish Divergence (oscillator LH, price HH)
These alerts allow integration into automation systems or signal monitoring setups.
Summary
Uptrick: Dynamic Z-Score Divergence is a statistically grounded trading indicator that merges normalized multi-momentum analysis with real-time slope logic, divergence detection, and adaptive trend overlays. It helps traders identify mean-reversion conditions, divergence structures, and evolving trend zones using a modular system of statistical and structural tools. Its alert system, layered visuals, and flexible input design make it suitable for discretionary traders seeking to combine quantitative momentum logic with structural pattern recognition.
Disclaimer
This script is for educational and informational purposes only. No indicator can guarantee future performance, and trading involves risk. Always use risk management and test strategies in a simulated environment before deploying with live capital.
Basic Support and Resistance LinesAs the title says. These are some extremely basic support and resistance lines.
Otomatik Trend ÇizgileriOtomatik Trend Çizgileri çizen bu indikatörle zahmetsizce trendleri görebilirisiniz
Otomatik Destek ve Direnç (Pivot)Otomatik Destek ve Dirençleri gösteren bu indikatörler kolayca destek ve dirençleri görebilirsiniz.
Pair Cointegration & Static Beta Analyzer (v6)Pair Cointegration & Static Beta Analyzer (v6)
This indicator evaluates whether two instruments exhibit statistical properties consistent with cointegration and tradable mean reversion.
It uses long-term beta estimation, spread standardization, AR(1) dynamics, drift stability, tail distribution analysis, and a multi-factor scoring model.
1. Static Beta and Spread Construction
A long-horizon static beta is estimated using covariance and variance of log-returns.
This beta does not update on every bar and is used throughout the entire model.
Beta = Cov(r1, r2) / Var(r2)
Spread = PriceA - Beta * PriceB
This “frozen” beta provides structural stability and avoids rolling noise in spread construction.
2. Correlation Check
Log-price correlation ensures the instruments move together over time.
Correlation ≥ 0.85 is required before deeper cointegration diagnostics are considered meaningful.
3. Z-Score Normalization and Distribution Behavior
The spread is standardized:
Z = (Spread - MA(Spread)) / Std(Spread)
The following statistical properties are examined:
Z-Mean: Should be close to zero in a stationary process
Z-Variance: Measures amplitude of deviations
Tail Probability: Frequency of |Z| being larger than a threshold (e.g. 2)
These metrics reveal whether the spread behaves like a mean-reverting equilibrium.
4. Mean Drift Stability
A rolling mean of the spread is examined.
If the rolling mean drifts excessively, the spread may not represent a stable long-term equilibrium.
A normalized drift ratio is used:
Mean Drift Ratio = Range( RollingMean(Spread) ) / Std(Spread)
Low drift indicates stable long-run equilibrium behavior.
5. AR(1) Dynamics and Half-Life
An AR(1) model approximates mean reversion:
Spread(t) = Phi * Spread(t-1) + error
Mean reversion requires:
0 < Phi < 1
Half-life of reversion:
Half-life = -ln(2) / ln(Phi)
Valid half-life for 10-minute bars typically falls between 3 and 80 bars.
6. Composite Scoring Model (0–100)
A multi-factor weighted scoring system is applied:
Component Score
Correlation 0–20
Z-Mean 0–15
Z-Variance 0–10
Tail Probability 0–10
Mean Drift 0–15
AR(1) Phi 0–15
Half-Life 0–15
Score interpretation:
70–100: Strong Cointegration Quality
40–70: Moderate
0–40: Weak
A pair is classified as cointegrated when:
Total Score ≥ Threshold (default = 70)
7. Main Cointegration Panel
Displays:
Static beta
Log-price correlation
Z-Mean, Z-Variance, Tail Probability
Drift Ratio
AR(1) Phi and Half-life
Composite score
Overall cointegration assessment
8. Beta Hedge Position Sizing (Average-Price Based)
To provide a more stable hedge ratio, hedge sizing is computed using average prices, not instantaneous prices:
AvgPriceA = SMA(PriceA, N)
AvgPriceB = SMA(PriceB, N)
Required B per 1 A = Beta * (AvgPriceA / AvgPriceB)
Using averaged prices results in a smoother, more reliable hedge ratio, reducing noise from bar-to-bar volatility.
The panel displays:
Required B security for 1 A security (average)
This represents the beta-neutral quantity of B required to hedge one unit of A.
Overview of Classical Stationarity & Cointegration Methods
The principal econometric tools commonly used in assessing stationarity and cointegration include:
Augmented Dickey–Fuller (ADF) Test
Phillips–Perron (PP) Test
KPSS Test
Engle–Granger Cointegration Test
Phillips–Ouliaris Cointegration Test
Johansen Cointegration Test
Since these procedures rely on regression residuals, matrix operations, and distribution-based critical values that are not supported in TradingView Pine Script, a practical multi-criteria scoring approach is employed instead. This framework leverages metrics that are fully computable in Pine and offers an operational proxy for evaluating cointegration-like behavior under platform constraints.
References
Engle & Granger (1987), Co-integration and Error Correction
Poterba & Summers (1988), Mean Reversion in Stock Prices
Vidyamurthy (2004), Pairs Trading
Explanation structured with assistance from OpenAI’s ChatGPT
Regards.
PyraTime™ Lite
PyraTime™ Lite Indicator: Precision Time Analysis for Day Trading
The PyraTime™ Lite indicator is a free, high-utility Pine Script tool designed to introduce day traders to the power of time and frequency analysis, specifically on high-velocity charts.
Built around a unique Great Pyramid/Sacred Sequence pivot methodology, PyraTime™ Lite helps you visualize key temporal harmonics projected from a user-defined Origin Pivot (Golden Anchor). This allows for superior chart context and timing analysis.
📈 Key Features and Benefits (Lite Version)
This free version is explicitly configured for the most popular and volatile day-trading timeframes, helping you target short-term moves with precision:
⚡️ Focus on High-Activity Timeframes: The indicator is unlocked and optimized exclusively for the 15-minute and 1-hour charts. This focus ensures clean, relevant data for intra-day and swing trading strategies.
🎯 Identify Precise "Kill Zones": By mapping vertical time bands (up to 22 segments of the sacred sequence) across the chart, PyraTime™ Lite helps you identify high-probability Kill Zones—areas in time where market turning points or reversals are statistically more likely.
🕰️ Time the Market with Precision: Instead of relying solely on price, this indicator gives you a temporal edge, allowing you to anticipate market changes based on the recurring, cyclical nature of time itself.
📚 Educational Foundation: Experience the core functionality of advanced time-based analysis without any cost or obligation, offering a clear path to understanding cyclical trading methodologies.
👑 Unlock the Full Power: PyraTime™ Master
The PyraTime™ Lite is a powerful teaser, but it only scratches the surface of this proprietary system.
Upgrade to the PyraTime™ Master indicator for complete, unrestricted access to the full power of the PyraTime methodology:
🔓 All Timeframes Unlocked: Gain access to all Standard and Esoteric Timeframes (including 4m, 7m, 11m, 22m, 44m, Daily, and Weekly), essential for multi-timeframe confirmation and deeper analysis.
🌌 Full Sacred Sequence: Unlock the complete 108-line Sacred Sequence, providing full temporal projection into the future for long-term swing trading planning and macro cycle forecasting.
🎨 Full Customization: Unlock all settings, allowing you to fully customize colors, line styles, and all other input parameters.
Ready to master market timing?
Get PyraTime™ Master Lifetime Access Here: whop.com
Trader Dogout
“Trader Dogout — Official team template.
Combines EMA20, EMA200, and optimized volume for a clear read of trend, momentum, and decision zones.
Designed for traders who operate with precision, simplicity, and zero distractions.
Perfect for both day trading and swing trading.”
ICT Macro Slot Algo Event📊 Overview
A powerful multi-timeframe trading indicator that combines Institutional Macro Session Tracking identify optimal trading windows throughout the day. This tool helps traders align with institutional flow patterns and algorithmic activity across major sessions.
🎯 Key Features
1. Macro Algo Event Sessions
Tracks 6 key institutional time windows during NY Session:
NY Sweep (08:50-09:10) - Opening balance flows
Silver Bullet #1 (09:50-10:10) - First major macro move
Silver Bullet #2 (10:50-11:10) - Second chance/retest opportunity
Lunch Macro (11:50-12:10) - Mid-day repositioning
Post-Lunch Rebalance (13:10-13:40) - Post-lunch adjustments
NY Closing Macros (15:15-15:45) - End-of-day flows
Etwas31 Precision zones and trendTitle: Etwas31 Precision zones and trend
Overview: Get a complete market overview at a single glance. This script combines a comprehensive trend/volatility dashboard with automated, high-precision supply and demand zones. It filters out noise and highlights key market structures to improve your trading accuracy.
Key Features:
1. 📊 Advanced MTF Dashboard (5m - 1W)
Trend Monitor: Uses EMA 20 & 50 alignment to accurately detect Bullish, Bearish, or Neutral (Choppy) markets. No more guessing the trend.
Volatility Scanner: Utilizing ATR logic, it signals whether the market is active (High ⚡) or dormant (Low 💤) for each timeframe.
2. 🎯 Precision Support & Resistance Zones
Real Structure: Unlike simple lines, zones are drawn based on candle wicks (High to Body / Low to Body) to reflect the actual "thickness" of market interest.
Visual Hierarchy:
Weak Zones (15m, 30m): Displayed as Hollow/Dashed boxes. Ideal for scalping or short-term targets.
Strong Zones (1H, 4H, 1D, 1W): Displayed as Solid/Filled boxes. These are key levels for reversals and major trend continuation.
Auto-Extension: Zones automatically extend to the current price action for easy tracking.
3. ⚙️ Customizable & Clean
Fully customizable colors and visibility settings.
Optimized to prevent chart clutter while providing maximum information.
How to Use:
Use the Dashboard to align your trades with the higher timeframe trend (e.g., trade with the 4H trend).
Wait for Volatility (⚡) to confirm momentum.
Enter trades when price reacts at Solid Zones (Strong S/R) or use Hollow Zones for intraday scalp targets.
FVG – (auto close + age) GR V1.0FVG – Fair Value Gaps (auto close + age counter)
Short Description
Automatically detects Fair Value Gaps (FVGs) on the current timeframe, keeps them open until price fully fills the gap or a maximum bar age is reached, and shows how many candles have passed since each FVG was created.
Full Description
This indicator automatically finds and visualizes Fair Value Gaps (FVGs) using the classic 3-candle ICT logic on any timeframe.
It works on whatever timeframe you apply it to (M1, M5, H1, H4, etc.) and adapts to the current chart.
FVG detection logic
The script uses a 3-candle pattern:
Bullish FVG
Condition:
low > high
Gap zone:
Lower boundary: high
Upper boundary: low
Bearish FVG
Condition:
high < low
Gap zone:
Lower boundary: high
Upper boundary: low
Each detected FVG is drawn as a colored box (green for bullish, red for bearish in this version, but you can adjust colors in the inputs).
Auto-close rules
An FVG remains on the chart until one of the following happens:
Full fill / mitigation
A bullish FVG closes when any candle’s low goes down to or below the lower boundary of the gap.
A bearish FVG closes when any candle’s high goes up to or above the upper boundary of the gap.
Maximum bar age reached
Each FVG has a maximum lifetime measured in candles.
When the number of candles since its creation reaches the configured maximum (default: 200 bars), the FVG is automatically removed even if it has not been fully filled.
This keeps the chart cleaner and prevents very old gaps from cluttering the view.
Age counter (labels inside the boxes)
Inside every FVG box there is a small label that:
Shows how many bars have passed since the FVG was created.
Moves together with the right edge of the box and stays vertically centered in the gap.
This makes it easy to distinguish fresh gaps from older ones and prioritize which zones you want to pay attention to.
Inputs
FVG color – Main fill color for all FVG boxes.
Show bullish FVGs – Turn bullish gaps on/off.
Show bearish FVGs – Turn bearish gaps on/off.
Max bar age – Maximum number of candles an FVG is allowed to stay on the chart before it is removed.
Usage
Works on any symbol and any timeframe.
Can be combined with your own ICT / SMC concepts, order blocks, session ranges, market structure, etc.
You can also choose to only display bullish or only bearish FVGs depending on your directional bias.
Disclaimer
This script is for educational and informational purposes only and is not financial advice. Always do your own research and use proper risk management when trading.
Coinbase Premium Index (Custom Tickers)📊 Coinbase Premium Index (Auto Symbol Support)
1. Overview
The Coinbase Premium Index is a widely used indicator to gauge the sentiment difference between US institutional investors (Coinbase Pro) and global retail/futures traders (Binance).
This script calculates the percentage difference between the Coinbase (USD pair) price and the Binance (USDT pair) price.
2. Key Features
🔄 Auto Symbol Matching (New): You no longer need to manually change tickers when switching charts.
If you are looking at a SOL/USDT chart, the indicator automatically detects "SOL" and compares COINBASE:SOLUSD vs BINANCE:SOLUSDT.
🛠 Manual Mode: Includes a manual override option if you wish to compare specific fixed tickers (e.g., strictly BTC).
🎨 Dynamic Visuals:
Histogram: Color-coded bars (Green/Red) indicate positive or negative premiums.
Smart Label: Displays the real-time premium value on the chart. The label color adapts to the trend, and hovering over it shows a Tooltip confirming exactly which tickers are being compared.
3. How to Interpret
The premium indicates the flow of funds and buying pressure:
🟢 Positive Premium (Green Bar):
Coinbase Price > Binance Price
Interpretation: Strong buying pressure from US institutions or spot whales. Often considered a Bullish signal.
🔴 Negative Premium (Red Bar):
Coinbase Price < Binance Price
Interpretation: Strong selling from US investors, or overheated buying in the offshore futures market (Binance). Often considered a Bearish or mean-reversion signal.
4. Settings Guide
Ticker Mode:
Auto (Current Chart): Automatically sets the comparison based on your current chart's base currency (Recommended).
Manual (Custom): Uses the specific tickers defined in the manual input fields below.
Manual Inputs: Enter tickers here if using Manual Mode (Default: COINBASE:BTCUSD vs BINANCE:BTCUSDT).
Bar & Label Settings: Customize colors, transparency, and the vertical position (Y-Offset) of the data label to fit your chart layout.
SMC BOS/CHoCH + Auto Fib (5m/any TF) durane//@version=6
indicator('SMC BOS/CHoCH + Auto Fib (5m/any TF)', overlay = true, max_lines_count = 200, max_labels_count = 200)
// --------- Inputs ----------
left = input.int(3, 'Pivot Left', minval = 1)
right = input.int(3, 'Pivot Right', minval = 1)
minSwingSize = input.float(0.0, 'Min swing size (price units, 0 = disabled)', step = 0.1)
fib_levels = input.string('0.0,0.236,0.382,0.5,0.618,0.786,1.0', 'Fibonacci levels (comma separated)')
show_labels = input.bool(true, 'Show BOS/CHoCH labels')
lookbackHighLow = input.int(200, 'Lookback for structure (bars)')
// Parse fib levels
strs = str.split(fib_levels, ',')
var array fibs = array.new_float()
if barstate.isfirst
for s in strs
array.push(fibs, str.tonumber(str.trim(s)))
// --------- Find pivot highs / lows ----------
pHigh = ta.pivothigh(high, left, right)
pLow = ta.pivotlow(low, left, right)
// store last confirmed swings
var float lastSwingHighPrice = na
var int lastSwingHighBar = na
var float lastSwingLowPrice = na
var int lastSwingLowBar = na
if not na(pHigh)
// check min size
if minSwingSize == 0 or pHigh - nz(lastSwingLowPrice, pHigh) >= minSwingSize
lastSwingHighPrice := pHigh
lastSwingHighBar := bar_index - right
lastSwingHighBar
if not na(pLow)
if minSwingSize == 0 or nz(lastSwingHighPrice, pLow) - pLow >= minSwingSize
lastSwingLowPrice := pLow
lastSwingLowBar := bar_index - right
lastSwingLowBar
// --------- Detect BOS & CHoCH (simple robust logic) ----------
var int lastBOSdir = 0 // 1 = bullish BOS (price broke above), -1 = bearish BOS
var int lastBOSbar = na
var float lastBOSprice = na
// Look for price closes beyond last structural swings within lookback
// Bullish BOS: close > recent swing high
condBullBOS = not na(lastSwingHighPrice) and close > lastSwingHighPrice and bar_index - lastSwingHighBar <= lookbackHighLow
// Bearish BOS: close < recent swing low
condBearBOS = not na(lastSwingLowPrice) and close < lastSwingLowPrice and bar_index - lastSwingLowBar <= lookbackHighLow
bosTriggered = false
chochTriggered = false
if condBullBOS
bosTriggered := true
if lastBOSdir != 1
// if previous BOS direction was -1, this is CHoCH (change of character)
chochTriggered := lastBOSdir == -1
chochTriggered
lastBOSdir := 1
lastBOSbar := bar_index
lastBOSprice := close
lastBOSprice
if condBearBOS
bosTriggered := true
if lastBOSdir != -1
chochTriggered := lastBOSdir == 1
chochTriggered
lastBOSdir := -1
lastBOSbar := bar_index
lastBOSprice := close
lastBOSprice
// --------- Plot labels for BOS / CHoCH ----------
if bosTriggered and show_labels
if chochTriggered
label.new(bar_index, high, text = lastBOSdir == 1 ? 'CHoCH ↑' : 'CHoCH ↓', style = label.style_label_up, color = color.new(color.orange, 0), textcolor = color.white, yloc = yloc.abovebar)
else
label.new(bar_index, high, text = lastBOSdir == 1 ? 'BOS ↑' : 'BOS ↓', style = label.style_label_left, color = lastBOSdir == 1 ? color.green : color.red, textcolor = color.white, yloc = yloc.abovebar)
// --------- Auto Fibonacci drawing ----------
var array fib_lines = array.new_line()
var array fib_labels = array.new_label()
var int lastFibId = na
// Function to clear previous fibs
f_clear() =>
if array.size(fib_lines) > 0
for i = 0 to array.size(fib_lines) - 1
line.delete(array.get(fib_lines, i))
if array.size(fib_labels) > 0
for i = 0 to array.size(fib_labels) - 1
label.delete(array.get(fib_labels, i))
array.clear(fib_lines)
array.clear(fib_labels)
// Decide anchors for fib: if lastBOSdir==1 (bullish) anchor from lastSwingLow -> lastSwingHigh
// if lastBOSdir==-1 (bearish) anchor from lastSwingHigh -> lastSwingLow
if lastBOSdir == 1 and not na(lastSwingLowPrice) and not na(lastSwingHighPrice)
// bullish fib: low -> high
startPrice = lastSwingLowPrice
endPrice = lastSwingHighPrice
// draw
f_clear()
for i = 0 to array.size(fibs) - 1 by 1
lvl = array.get(fibs, i)
priceLevel = startPrice + (endPrice - startPrice) * lvl
ln = line.new(x1 = lastSwingLowBar, y1 = priceLevel, x2 = bar_index, y2 = priceLevel, xloc = xloc.bar_index, extend = extend.right, color = color.new(color.green, 60), width = 1, style = line.style_solid)
array.push(fib_lines, ln)
lab = label.new(bar_index, priceLevel, text = str.tostring(lvl * 100, '#.0') + '%', style = label.style_label_right, color = color.new(color.green, 80), textcolor = color.white, yloc = yloc.price)
array.push(fib_labels, lab)
if lastBOSdir == -1 and not na(lastSwingHighPrice) and not na(lastSwingLowPrice)
// bearish fib: high -> low
startPrice = lastSwingHighPrice
endPrice = lastSwingLowPrice
f_clear()
for i = 0 to array.size(fibs) - 1 by 1
lvl = array.get(fibs, i)
priceLevel = startPrice + (endPrice - startPrice) * lvl
ln = line.new(x1 = lastSwingHighBar, y1 = priceLevel, x2 = bar_index, y2 = priceLevel, xloc = xloc.bar_index, extend = extend.right, color = color.new(color.red, 60), width = 1, style = line.style_solid)
array.push(fib_lines, ln)
lab = label.new(bar_index, priceLevel, text = str.tostring(lvl * 100, '#.0') + '%', style = label.style_label_right, color = color.new(color.red, 80), textcolor = color.white, yloc = yloc.price)
array.push(fib_labels, lab)
// --------- Optional: plot lastSwing points ----------
plotshape(not na(lastSwingHighPrice) ? lastSwingHighPrice : na, title = 'LastSwingHigh', location = location.absolute, style = shape.triangledown, size = size.tiny, color = color.red, offset = 0)
plotshape(not na(lastSwingLowPrice) ? lastSwingLowPrice : na, title = 'LastSwingLow', location = location.absolute, style = shape.triangleup, size = size.tiny, color = color.green, offset = 0)
// --------- Alerts ----------
alertcondition(bosTriggered and lastBOSdir == 1, title = 'Bullish BOS', message = 'Bullish BOS detected on {{ticker}} @ {{close}}')
alertcondition(bosTriggered and lastBOSdir == -1, title = 'Bearish BOS', message = 'Bearish BOS detected on {{ticker}} @ {{close}}')
alertcondition(chochTriggered, title = 'CHoCH Detected', message = 'CHoCH detected on {{ticker}} @ {{close}}')
// End






















