FVGs & CEs + Alerts: simple & efficient methodFair Value Gap indicator: Paints FVGs and their midlines (CEs). Stops painting when CE is hit, or when fully filled; user choice of threshold. This threshold is also used in the Alert conditions.
~~Plotted here on ES1! (CME), on the 15m timeframe~~
-A FVG represents a 'naked' body where the wicks/tails on either side do not meet. This can be seen as a type of 'gap', which price will have a tendency to want to re-fill (in part or in full).
-The midline (CE, or 'Consequent encroachment') of FVGs also tend to show price sensitivity.
-This indicator paints all FVGs until priced into, and should give an idea of which are more meaningful and which are best ignored (based on context: location, Time of day, market structure, etc).
-This is a simpler and more efficient method of painting Fair value gaps which auto-stop painting when price reaches them.
//Aims of Publishing:
-Education of ICT concepts of Fair Value Gaps and their midlines (CEs): To easily see via forward testing or backtesting, the sensitivity that price shows to these areas & levels.
-Demonstration of a much more efficient way of plotting FVGs which terminate at price, thanks to a modification of @Bjorgums's clever looping method referenced below.
//Settings:
-Toggle on/off upward and downward FVGs independently(blue and orange by default).
-Toggle on/off midline (CE).
-Standard color/line formatting options.
-Choose Threshold: CE of FVG or Full Fill of FVG: This will determine both the 'stop-painting' trigger and the 'Alert' trigger.
-Choose number of days lookback to control how many historical FVGs paint on chart.
//On alerts:
-Simple choice of 2 alerts:
~~One for price crossing into/above the nearest untouched 'premium' FVG above ( orange ). Trigger is user choice of CE or full fill.
~~Another for price crossing into/below the nearest untouched 'discount' FVG below (blue). Trigger is user choice of CE or full fill.
-Alerts set via the three dots in indicator status line.
//Cautionary notes:
-Do not use the alerts blindly to find trades. Wait until you have identified a good FVG above/below which you think price may show sensitivity to
-Usage on very low timeframes can cause unexpected results with alerts: due to new FVGs forming in realtime the Alert will always trigger at the most recent FVG above/ below having its threshold hit.
-Big thank you to @Bjorgum for his fantastic extendAndRemove method. Modified here for use with boxes and to integrate Alerts.
-Also Credit to ICT (inner circle trader) for the concepts used here: Fair value gaps and their Consequent Encroachment (CE).
在脚本中搜索"gaps"
ICT Implied Fair Value Gap (IFVG) [LuxAlgo]An Implied Fair Value Gap (IFVG) is a three candles imbalance formation conceptualized by ICT that is based on detecting a larger candle body & then measuring the average between the two adjacent candle shadows.
This indicator automatically detects this imbalance formation on your charts and can be extended by a user set number of bars.
The IFVG average can also be extended until a new respective IFVG is detected, serving as a support/resistance line.
Alerts for the detection of bullish/bearish IFVG's are also included in this script.
🔶 SETTINGS
Shadow Threshold %: Threshold percentage used to filter out IFVG's with low adjacent candles shadows.
IFVG Extension: Number of bars used to extend highlighted IFVG's areas.
Extend Averages: Extend IFVG's averages up to a new detected respective IFVG.
🔶 USAGE
Users of this indicator can primarily find it useful for trading imbalances just as they would for trading regular Fair Value Gaps or other imbalances, which aims to highlight a disparity between supply & demand.
For trading a bullish IFVG, users can find this imbalance as an area where price is likely to fill or act as an area of support.
In the same way, a user could trade bearish IFVGs by seeing it as a potential area to be filled or act as resistance within a downtrend.
Users can also extend the IFVG averages and use them as longer-term support/resistances levels. This can highlight the ability of detected IFVG to provide longer term significant support and resistance levels.
🔶 DETAILS
Various methods have been proposed for the detection of regular FVG's, and as such it would not be uncommon to see various methods for the implied version.
We propose the following identification rules for the algorithmic detection of IFVG's:
🔹 Bullish
Central candle body is larger than the body of the adjacent candles.
Current price low is higher than high price two bars ago.
Current candle lower shadow makes up more than p percent of its total candle range.
Candle upper shadow two bars ago makes up more than p percent of its total candle range.
The average of the current candle lower shadow is greater than the average of the candle upper shadow two bars ago.
where p is the user set threshold.
🔹 Bearish
Central candle body is larger than the body of the adjacent candles.
Current price high is higher than low price two bars ago.
Current candle upper shadow makes up more than p percent of its total candle range.
Candle lower shadow two bars ago makes up more than p percent of its total candle range.
The average of the candle lower shadow 2 bars ago is greater than the average of the current candle higher shadow.
where p is the user set threshold.
🔶 SUPPLEMENTARY MATERIAL
You can see our previously posted script that detects various imbalances as well as regular Fair Value Gaps which have very similar usability to Implied Fair Value Gaps here:
muh gap! [FAIR VALUE GAP FINDER]Change the colors of the indicator to contrast your chart! Make sure to also change the transparency for the colors.
---
This indicator finds fair value gaps which are inefficiencies in price delivery. Gaps can be used for entry or even bias.
I've included midpoints, lines, and boxes. Boxes have the greatest range with respect to historic PA so keep that in mind.
I will be updating this script in the future, potentially adding an MTF function, mitigation of gaps and alarms.
Let me know if you guys have any additional ideas.
Best,
P
VolatilityLibrary "Volatility"
Functions for determining if volatility (true range) is within or exceeds normal.
The "True Range" (ta.tr) is used for measuring volatility.
Values are normalized by the volume adjusted weighted moving average (VAWMA) to be more like percent moves than price.
current(len) Returns the current price adjusted volatitlity ratio.
Parameters:
len : Number of bars to get a volume adjusted weighted average price.
normal(len, maxDeviation, level, gapDays, spec, res) Returns the normal upper range of volatility. Compensates for overnight gaps within a regular session.
Parameters:
len : Number of bars to measure volatility.
maxDeviation : The limit of volatility before considered an outlier.
level : The amount of standard deviation after cleaning outliers to be considered within normal.
gapDays : The number of days in the past to measure overnight gap volaility.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
isNormal(len, maxDeviation, level, gapDays, spec, res) Returns true if the volatility (true range) is within normal levels. Compensates for overnight gaps within a regular session.
Parameters:
len : Number of bars to measure volatility.
maxDeviation : The limit of volatility before considered an outlier.
level : The amount of standard deviation after cleaning outliers to be considered within normal.
gapDays : The number of days in the past to measure overnight gap volaility.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
severity(len, maxDeviation, level, gapDays, spec, res) Returns ratio of the current value to the normal value. Compensates for overnight gaps within a regular session.
Parameters:
len : Number of bars to measure volatility.
maxDeviation : The limit of volatility before considered an outlier.
level : The amount of standard deviation after cleaning outliers to be considered within normal.
gapDays : The number of days in the past to measure overnight gap volaility.
spec : session.regular (default), session.extended or other time spec.
res : The resolution (default = '1440').
Higher TF - Repainting + Limiting backtest resultsThis strategy is for illustration purpose only. Do not use this as there is massive repainting.
As usual, I was experimenting with adding different entry/exit filters to my main strategy. Thought of adding higher frame filter, picked the code for getting higher time frame supertrend from someone else's script and copied it without thinking much about it.
security(syminfo.tickerid, f_multiple_resolution(HTFMultiplier), supertrend(SupertrendMult, SupertrendPd), lookahead = true, gaps=true)
Started getting better results with this result. I was very much impressed and while trying to enhance further, I started disabling my other entry and exit filters which I generally use.
That worked pretty well without any of my other filters. Hence, thought I will forward test this on a smaller timeframe.
To my surprise, even in forward testing, i was not able to notice repainting very much. It also appeared that smaller timeframes yielded better results. (This wasn't the case with any of my strategies)
Which then prompted me to study the security function and lookahead and gap parameters. Learned that lookahead and gap when set to true will lead to massive repainting - specially if you are using higher timeframes. Hence, these parameters are not advisable to use in strategies.
Further information here: www.tradingview.com
I added three repaint options to further illustrate how security function will work:
Yes : Use security with lookahead and merge set to true
No - set lookahead false : Use security with lookahead and merge set to false
No - do not use security : Falls back to original command on current timeframe. Switch timeframe to HTF resolution to compare the difference.
Conclusion : Always set lookahead and gaps to false when using security function in strategies.
PS: Script also contains code to limit backtesting to certain days/months/years. This can be used as is in other scripts.
Combined Advanced Trading BlueprintCombined Advanced Trading Blueprint
This all-in-one institutional trading suite integrates market structure, volume analysis, and automated target projection. It is designed to find high-probability "Blueprints" by combining PVSRA (Price, Volume, Storage, Resistance, and Support) with dynamic Fibonacci and ATR-based risk management.
🚀 Key Modules
1. Institutional Inflection Zones (Supply & Demand)
Identifies where major market participants are entering.
Supply & Demand: Automatically draws zones at key swing highs and lows.
IZ (Inflection Zones): Real-time labels marking the median of these zones.
BOS (Break of Structure): When a zone is breached, it transforms into a BOS line to signal trend continuation or reversal.
2. PVSRA & Vector Zones
The core of institutional volume analysis.
Climax Volume (Red/Green): Bars with volume >= 200% of average. These mark exhaustion or massive entry.
High Volume (Violet/Blue): Bars with volume >= 150% of average.
Automated Zones: The script draws boxes around these high-volume candles. Price returning to these zones often sees a sharp reaction.
3. Trader Daddy Intelligence
An automated layer for objective target setting.
Auto-Fibonacci: Dynamically calculates the current swing range and plots 0.236, 0.382, 0.5, 0.618 (Golden), 0.786, and extensions.
Volume Gaps (FVG): Detects Fair Value Gaps (FVGs) where price moved too fast. These acts as "magnets" that the market usually returns to fill.
ATR Targets: Dynamic Take Profit (TP1, TP2, TP3) and Stop Loss (SL) lines that adjust based on current market volatility.
4. Confluence Ribbon System
A multi-layered moving average and channel system.
The Ribbon: Uses 8 EMA (Red), 21 EMA (White), 34 EMA (Blue), 50 SMA (Orange), and 200 SMA (Dark Orange).
Keltner Channels: Three standard deviation bands to identify overbought/oversold conditions.
RSI Triggers: A fast 2-period RSI detects "stretches" outside the Keltner bands for precise entry timing.
VWAP: Includes anchored VWAP for Session, Weekly, and Monthly trends.
🎨 Visual Guide & Color Legend
Price Targets (Trader Daddy)
Green Dashed Lines: Take Profit levels (TP1, TP2, TP3).
Red Solid Line: ATR-based Stop Loss.
Cyan/Blue Labels: Fibonacci retracement levels. The Blue level often acts as a major institutional target or "Take Profit" area in a trending market.
Market Zones
Cyan Boxes: Active Demand (Buy) zones.
Grey/White Boxes: Active Supply (Sell) zones.
Purple/Fuchsia Areas: Vector Zones (High institutional volume).
🛠 How to Trade the Blueprint
Locate the Zone: Wait for price to enter a Supply/Demand box or a Purple Vector Zone.
Check the Market State: Look at the top-right info label to see if the trend is Bullish, Bearish, or Neutral.
Wait for Confluence: Look for an 8/21 EMA crossover or an RSI "Circle" trigger near the Keltner bands.
Execute: Use the ATR-generated TP and SL lines to manage your risk automatically.
Photon Price Action Scanner [JOAT]Photon Price Action Scanner - Multi-Pattern Recognition with Adaptive Filtering
Introduction and Purpose
Photon Price Action Scanner is an open-source overlay indicator that automates the detection of 15+ candlestick patterns while filtering them through multiple confirmation layers. The core problem this indicator solves is pattern noise: raw candlestick pattern detection produces too many signals, most of which fail because they lack context. This indicator addresses that by combining pattern recognition with trend alignment, volume-weighted strength scoring, velocity confirmation, and an adaptive neural bias filter.
The combination of these components is not arbitrary. Each filter addresses a specific weakness in standalone pattern detection:
Trend alignment ensures patterns appear in favorable market structure
Volume-weighted strength filters out weak patterns with low conviction
Velocity confirmation identifies momentum behind the pattern
Neural bias filter adapts to recent price behavior to avoid counter-trend signals
What Makes This Indicator Original
While candlestick pattern scanners exist, this indicator's originality comes from:
1. Multi-Layer Filtering System - Patterns must pass through trend, strength, velocity, and neural bias filters before generating signals. This dramatically reduces false positives compared to simple pattern detection.
2. Adaptive Neural Bias Filter - A custom momentum-adjusted EMA that learns from recent price action using a configurable learning rate. This is not a standard moving average but an adaptive filter that accelerates during trends and smooths during consolidation.
3. Pattern Strength Scoring - Each pattern receives a strength score based on volume ratio and body size, allowing traders to focus on high-conviction setups rather than every pattern occurrence.
4. Smart Cooldown System - Prevents signal overlap by enforcing minimum bar spacing between pattern labels, keeping charts clean even when "Show All Patterns" is enabled.
How the Components Work Together
Step 1: Pattern Detection
The indicator scans for 15 candlestick patterns using precise mathematical definitions:
// Example: Bullish Engulfing requires the current bullish candle to completely
// engulf the previous bearish candle with a larger body
isBullishEngulfing() =>
bool pattern = close < open and close > open and
open <= close and close >= open and
close - open > open - close
pattern
// Example: Three White Soldiers requires three consecutive bullish candles
// with each opening within the previous body and closing higher
isThreeWhiteSoldiers() =>
bool pattern = close > open and close > open and close > open and
close < close and close < close and
open > open and open < close and
open > open and open < close
pattern
Step 2: Strength Calculation
Each detected pattern receives a strength score combining volume and body size:
float volRatio = avgVolume > 0 ? volume / avgVolume : 1.0
float bodySize = math.abs(close - open) / close
float baseStrength = (volRatio + bodySize * 100) / 2
This ensures patterns with above-average volume and large bodies score higher than weak patterns on low volume.
Step 3: Trend Alignment
Patterns are checked against the trend direction using an EMA:
float trendEMA = ta.ema(close, i_trendPeriod)
int trendDir = close > trendEMA ? 1 : close < trendEMA ? -1 : 0
Bullish patterns in uptrends and bearish patterns in downtrends receive priority.
Step 4: Neural Bias Filter
The adaptive filter uses a momentum-adjusted EMA that responds to price changes:
neuralEMA(series float src, simple int period, simple float lr) =>
var float neuralValue = na
var float momentum = 0.0
if na(neuralValue)
neuralValue := src
float error = src - neuralValue
float adjustment = error * lr
momentum := momentum * 0.9 + adjustment * 0.1
neuralValue := neuralValue + adjustment + momentum
neuralValue
The learning rate (lr) controls how quickly the filter adapts. Higher values make it more responsive; lower values make it smoother.
Step 5: Velocity Confirmation
Price velocity (rate of change) must exceed the average velocity for strong signals:
float velocity = ta.roc(close, i_trendPeriod)
float avgVelocity = ta.sma(velocity, i_trendPeriod)
bool velocityBull = velocity > avgVelocity * 1.5
Step 6: Signal Classification
Signals are classified based on how many filters they pass:
Strong Pattern : Pattern + strength threshold + trend alignment + neural bias + velocity
Ultra Pattern : Strong pattern + gap in same direction + velocity confirmation
Watch Pattern : Pattern detected but not all filters passed
Detected Patterns
Classic Reversal Patterns:
Bullish/Bearish Engulfing - Complete body engulfment with larger body
Hammer - Long lower wick (2x body), small upper wick, bullish context
Shooting Star - Long upper wick (2x body), small lower wick, bearish context
Morning Star - Three-bar bullish reversal with small middle body
Evening Star - Three-bar bearish reversal with small middle body
Piercing Line - Bullish candle closing above midpoint of previous bearish candle
Dark Cloud Cover - Bearish candle closing below midpoint of previous bullish candle
Bullish/Bearish Harami - Small body contained within previous larger body
Doji - Body less than 10% of total range (indecision)
Advanced Patterns (Optional):
Three White Soldiers - Three consecutive bullish candles with rising closes
Three Black Crows - Three consecutive bearish candles with falling closes
Tweezer Top - Equal highs with reversal candle structure
Tweezer Bottom - Equal lows with reversal candle structure
Island Reversal - Gap isolation creating reversal structure
Dashboard Information
The dashboard displays real-time analysis:
Pattern - Current detected pattern name or "SCANNING..."
Bull/Bear Strength - Volume-weighted strength scores
Trend - UPTREND, DOWNTREND, or SIDEWAYS based on EMA
RSI - 14-period RSI for momentum context
Momentum - 10-period momentum reading
Volatility - ATR as percentage of price
Neural Bias - BULLISH, BEARISH, or NEUTRAL from adaptive filter
Action - ULTRA BUY/SELL, BUY/SELL, WATCH BUY/SELL, or WAIT
Visual Elements
Pattern Labels - Abbreviated codes (BE=Engulfing, H=Hammer, MS=Morning Star, etc.)
Neural Bias Line - Adaptive trend line showing filter direction
Gap Boxes - Cyan boxes highlighting price gaps
Action Zones - Dashed boxes around strong pattern areas
Velocity Markers - Small circles when velocity confirms direction
Ultra Signals - Large labels for highest conviction setups
How to Use This Indicator
For Reversal Trading:
1. Wait for a pattern to appear at a key support/resistance level
2. Check that the Action shows "BUY" or "SELL" (not just "WATCH")
3. Confirm the Neural Bias aligns with your trade direction
4. Use the strength score to gauge conviction (higher is better)
For Trend Continuation:
1. Identify the trend using the Trend row in the dashboard
2. Look for patterns that align with the trend (bullish patterns in uptrends)
3. Ultra signals indicate the strongest continuation setups
For Filtering Noise:
1. Keep "Show All Patterns" disabled to see only filtered signals
2. Increase "Pattern Strength Filter" to see fewer, higher-quality patterns
3. Enable "Velocity Confirmation" to require momentum behind patterns
Input Parameters
Scan Sensitivity (1.0) - Overall detection sensitivity multiplier
Pattern Strength Filter (3) - Minimum strength score for strong signals
Trend Period (20) - EMA period for trend determination
Show All Patterns (false) - Display all patterns regardless of filters
Advanced Patterns (true) - Enable soldiers/crows/tweezer detection
Gap Analysis (true) - Enable gap detection and boxes
Velocity Confirmation (true) - Require velocity for strong signals
Neural Bias Filter (true) - Enable adaptive trend filter
Neural Period (50) - Lookback for neural bias calculation
Neural Learning Rate (0.12) - Adaptation speed (0.01-0.5)
Timeframe Recommendations
1H-4H: Best balance of signal frequency and reliability
Daily: Fewer but more significant patterns
15m-30m: More signals, requires tighter filtering (increase strength threshold)
Limitations
Pattern detection is mechanical and does not consider fundamental context
Neural bias filter may lag during rapid trend reversals
Gap detection requires clean price data without after-hours gaps
Strength scoring favors high-volume patterns, which may miss valid low-volume setups
- Made with passion by officialjackofalltrades
Price Action Assistant V2All in One Assistant for Price Action Traders
1-Calculates and Displays the Opening Gap Relative to ADR.
2-Information Table Showing Yesterday’s and Today’s Range Plus Average Bar Range.
3-Displays Micro-Gaps (Fair Value Gaps).
4-Advanced Bar Numbering With an Option to Display at Custom Intervals, Using 9 or 12 Bar Color Multiples to Visualize the Closure of 45-Minute or 60-Minute Candles on an M5 Chart.
5-Plots Previous High, Low, and Close Levels Plus the Current Session Open.
6-Displays a 3-Bar Micro Channel in the Same Direction.
7-Includes Two Different Moving Averages.
8-Displays the Daily Date and Day-of-Week Label for Easy Journaling and Chart Archiving.
MA-MTF-12 Overlay📊 MA-MTF-12 Overlay — Indicator Description
■ Overview
MA-MTF-12 Overlay is a multi-timeframe moving average indicator that allows you to display up to 12 moving averages (SMA / EMA) simultaneously, calculated either from the current timeframe (Local) or from higher timeframes (MTF).
It is designed to help traders visualize short-term price action and higher-timeframe market structure on a single chart, enabling clearer trend context and better decision-making.
■ Key Features
✅ Up to 12 Moving Averages
Display MA1–MA12 independently
Choose SMA or EMA for each MA
Fully customizable length, color, and line width
✅ Per-MA Local / MTF Selection
Each moving average can be set individually to:
Local – calculated on the current chart timeframe
MTF – retrieved from a higher timeframe (e.g. 1H, 4H, Daily, Weekly, Monthly)
This allows you to clearly separate entry signals from higher-timeframe trend context.
✅ Confirmed Bar Mode (Repaint Control)
When using MTF, each MA supports Confirmed Bar Mode:
ON – updates only after the higher-timeframe bar is closed (minimal repaint, backtest-friendly)
OFF – follows the current higher-timeframe bar in real time (discretionary trading)
✅ Gap Handling Option
Gaps OFF – higher-timeframe values are filled smoothly (step-style, easier to read)
Gaps ON – values appear only when a higher-timeframe bar updates (theoretical accuracy)
✅ Lightweight & Efficient Design
Each MA includes separate:
Calculation ON / OFF
Display ON / OFF
Unused MAs can be completely disabled, preventing unnecessary calculations and keeping the indicator fast even with multiple MTF sources.
■ Example Use Case
MA1–MA3: Local timeframe MAs for short-term momentum
MA4–MA6: Higher-timeframe MAs (4H / Daily / Weekly) for trend structure
MA7–MA12: Optional layers, disabled by default
This setup makes it easy to understand where price is trading within the broader market context.
■ Who This Indicator Is For
Traders who rely on multi-timeframe trend analysis
Scalpers, day traders, and swing traders who want one-chart clarity
Users concerned about repainting and indicator performance
Anyone who uses moving averages as structural reference points, not just signals
■ Technical Notes
Pine Script v5
Overlay indicator (drawn on price chart)
Multi-timeframe support via request.security()
No alerts or shapes — pure visual analysis
📊 MA-MTF-12 Overlay – インジケーター解説
■ 概要
MA-MTF-12 Overlay** は、
最大12本の移動平均(SMA / EMA)を、現在足(Local)または上位足(MTF)から自由に組み合わせて表示できる**
マルチタイムフレーム対応の高機能MAインジケーターです。
短期足の値動きから、1時間・4時間・日足・週足・月足といった
上位足のトレンド環境を、1つのチャート上で同時に把握**することを目的に設計されています。
---
■ 主な特徴
✅ 最大12本のMAを同時表示
* MA1〜MA12を個別に設定可能
* SMA / EMA をMAごとに選択
* 期間・色・太さもすべて自由にカスタマイズ
---
✅ Local / MTF をMAごとに切替可能
各MAは以下を個別に選択できます。
Local:現在のチャート時間足で計算
MTF:指定した上位足(例:1H / 4H / D / W / M)から取得
👉
短期MAはLocal、
環境認識用MAはMTF、
という役割分担を1つのインジケーターで実現できます。
---
✅ 確定足モード(リペイント制御)
MTF使用時は、確定足モードをMAごとに設定可能。
ON:上位足が確定してから更新(リペイント最小・検証向き)
OFF:上位足の進行中の値もリアルタイムで反映(裁量トレード向き)
用途に応じて柔軟に使い分けられます。
---
✅ ギャップ表示 ON / OFF
OFF:上位足MAを階段状に補完表示(視認性重視)
ON:上位足更新点のみ表示(理論重視)
---
✅ 計算ON / 表示ON を分離した軽量設計
各MAには
計算ON / OFF
表示ON / OFF**
を個別に用意。
使わないMAは計算そのものを停止できるため、
MTFを多用しても**動作が重くなりにくい設計です。
---
■ 想定される使い方
* MA1〜MA3:Local(短期〜中期の勢い把握)
* MA4〜MA6:MTF(4H・日足・週足のトレンド環境)
* MA7〜MA12:必要に応じて追加(初期はOFF)
👉
「今どの時間軸のトレンドの中にいるのか」を
MAだけで直感的に把握できます。
---
■ こんな方におすすめ
* 上位足MAを使った環境認識を重視するトレーダー
* スキャル・デイトレ・スイングを1チャートで完結させたい方
* MTFインジケーターのリペイントや重さが気になる方
* MAを「本数・役割・時間軸」で整理して使いたい方
---
■ 技術仕様
* Pine Script v5
* overlay=true(価格チャート上に表示)
* MTF対応(request.security 使用)
* アラート・シェイプなし(純粋な分析用)
---
ICT-SMC ProMarket Structure** (Swing Highs/Lows, HH, HL, LH, LL)
- ✅ **Break of Structure (BOS)** — Trend continuation signals
- ✅ **Change of Character (CHoCH)** — Early reversal warnings
- ✅ **Order Blocks (OB)** — Institutional supply/demand zones
- ✅ **Fair Value Gaps (FVG)** — Price imbalances & magnets
- ✅ **Inverse Fair Value Gaps (iFVG)** — Validated support/resistance
- ✅ **Liquidity Pools (BSL/SSL)** — Stop hunt targets
- ✅ **Liquidity Sweeps** — Reversal confirmation signals
#BLTA - CARE 7891🔷 #BLTA - CARE 7891: Ny session toolkit + Risk box + Confirmed levels + Asia box + Structure + Imbalances
Description:
#BLTA - CARE 7891 is an overlay toolkit 🧭🛠️ built for structured discretionary trading preparation. Its main purpose is to keep your chart reading and pre-trade planning in one place by combining time context, confirmed reference levels, liquidity framing, manual risk sizing, and context overlays (structure + imbalances).
🚫 This script is an indicator, not a strategy. It does not place orders.
🧩 Why these modules are combined (and how they work together)
This is not a “mashup for the sake of mixing”. Each module supports a specific step of a practical workflow:
🕒 Time context (new york session mapping)
Background highlights mark precise NY-time windows (day division at 17:00, london blocks, and new york blocks).
This provides the timing framework for when you typically scan, plan, or execute.
📰📅 Confirmed reference levels (previous day/week highs & lows)
Instead of plotting live extremes, this script confirms levels at defined boundaries:
Trading day: 17:00 → 17:00 NY
Weekly boundary: Sunday 17:00 NY
Lines start exactly at the candle where the high/low occurred and extend forward.
Optional “stop on hit” 🧊 freezes a level once price touches it, keeping the chart clean and realistic for forward analysis.
🈵 Asian range liquidity box (session that can cross midnight)
A dedicated Asian range container tracks high/low and an optional 50% midline.
It uses NY timestamps and safely handles sessions that cross midnight (storing the correct session date).
This gives you a daily liquidity “frame” often used for sweeps, breaks, and invalidations.
💸 Manual risk planning (trade box + lot sizing + table)
You select Entry (EP) and Stop (SL) directly on the chart using input.price(..., confirm=true) and time anchors.
The script then calculates:
💰 cash at risk from balance and risk %
📏 stop distance in pips (forex-aware pip sizing)
📦 lot size using units-per-lot and account currency inputs
🎯 target price using a reward ratio
It draws a risk box + target box and shows a compact table for quick verification.
🔁 Re-confirm mode (wizard) is included to prevent “stale” anchor points after timeframe changes or when you want a clean reset. While enabled, the risk table is replaced with a step guide and temporary EP/SL markers.
📈 Market structure overlay (1H zigzag projected to any timeframe)
A zigzag swing engine is computed on 1H via request.security() and projected onto the current chart.
Opacity is automatically reduced on non-1H charts so it stays contextual, not dominant.
Optional live extension of the last leg helps you see the active swing in progress.
📊 Imbalance map (fvg / og / vi) + optional dashboard
The script detects and draws:
🤏 fair value gaps (fvg)
👐 opening gaps (og)
🔎 volume imbalances (vi)
Optional filters allow minimum width by points / % / atr, and each imbalance type can be extended forward.
A dashboard 📱 can summarize bullish/bearish frequency and fill rates for context review.
✅ Quick start (recommended order)
Turn on 🕒 session visualization to align with NY timing.
Enable 📰 pdh/pdl and 📅 weekly highs/lows to map confirmed reference liquidity.
Use 🈵 the asian range box to frame the early-session liquidity container.
Plan your trade with 💸 risk module (pick EP/SL, verify pips + lots + target).
Add 📈 zigzag structure and 📊 imbalances only as supporting context.
⚠️ Notes & limitations
This tool is for planning and chart reading, not automated execution.
Lot sizing is an estimate based on your inputs; always confirm broker contract specs.
Some modules draw many objects (boxes/lines/tables) 🧱, which may slow very small timeframes.
Smart Money Zones - Multi-Timeframe AnalysisA clean and efficient smart money concepts indicator designed for traders who follow institutional order flow and price imbalances.
Core Features:
Fair Value Gaps (FVG): Automatically detects bullish and bearish imbalances where price moved too fast, leaving gaps that often get filled
Order Blocks (OB): Identifies the last bearish candle before a bullish move (and vice versa) - institutional accumulation/distribution zones
Zone Strength Rating: Each zone is classified as Very Strong, Strong, Medium, or Weak based on size relative to ATR
Multi-Timeframe Trend Panel: Real-time dashboard showing bullish/bearish trend across 7 timeframes (1m, 5m, 15m, 30m, 1H, 4H, 1D)
Smart Features:
Zones automatically extend into the future
Mitigation tracking - zones fade when 50% filled or fully violated
Optional trend filter - only shows zones aligned with the trend
Customizable zone limits to keep your chart clean
Adjustable panel position (4 corners) and size
Color-Coded Zones:
🟢 Bullish FVG (Green) - Support zones
🔴 Bearish FVG (Red) - Resistance zones
🔵 Bullish OB (Blue) - Demand zones
🟠 Bearish OB (Orange) - Supply zones
Perfect for scalpers, day traders, and swing traders who trade reversals at key institutional levels. Combines smart money concepts with multi-timeframe confirmation for higher probability setups.
Wickless Candle Revisit TrackerWickless Candle Revisit Tracker
Identifies wickless candles (strong momentum candles) and tracks whether price revisits their opening level, providing statistical insights into price behavior patterns.
WHAT ARE WICKLESS CANDLES?
• Green wickless: Open = Low (no lower wick) - opened at the low and moved only upward
• Red wickless: Open = High (no upper wick) - opened at the high and moved only downward
These candles represent strong directional momentum, and their opening levels often act as support/resistance zones that price may revisit.
KEY FEATURES:
• Automatic Detection: Identifies wickless candles with configurable tolerance for broker spread
• Real-time Tracking: Monitors each wickless candle until price revisits its opening level
• Visual Indicators:
- Labels show "WL↑" or "WL↓" with bars count when revisited (or "N/A" if pending)
- Horizontal lines mark price levels (gray dashed = pending, green solid = revisited)
• Comprehensive Statistics Table:
- Total wickless candles detected
- Revisit rate percentage
- Min/Max/Average bars until revisit
- Pending count
• History Limit: Configure how far back to analyze (default: 500 bars)
• Customizable: Adjust colors, toggle labels/lines/table, reposition statistics
USE CASES:
• Identify potential support/resistance levels from momentum candles
• Measure how often price fills "fair value gaps" or inefficiencies
• Track mean reversion patterns after strong momentum moves
• Backtest the reliability of wickless candle levels as trading zones
SETTINGS:
• Wick Tolerance: Allow small wicks due to broker spread (e.g., 0.0001 for forex)
• History Limit: Number of bars to analyze (older candles are hidden)
• Visual Controls: Toggle labels, lines, and statistics table
• Color Customization: Adjust line colors for pending/revisited states
ALERTS:
Built-in alerts for wickless candle detection (green, red, or both).
Perfect for traders analyzing price inefficiencies, fair value gaps, and momentum-based support/resistance levels.
ES Multi-Timeframe SMC Entry SystemOverviewThis is a comprehensive Smart Money Concepts (SMC) trading strategy for ES1! (E-mini S&P 500) futures that provides simultaneous buy and sell signals across three timeframes: Daily, Weekly, and Monthly. It incorporates your complete entry checklists, confluence scoring system, and automated risk management.Core Features1. Multi-Timeframe Signal Generation
Daily Signals (D) - For intraday/swing trades (1-3 day holds)
Weekly Signals (W) - For swing trades (3-10 day holds)
Monthly Signals (M) - For position trades (weeks to months)
All three timeframes can trigger simultaneously (pyramiding enabled)
2. Smart Money Concepts ImplementationOrder Blocks (OB)
Automatically detects bullish and bearish order blocks
Bullish OB = Down candle before strong impulse up
Bearish OB = Up candle before strong impulse down
Validates freshness (< 10 bars = higher quality)
Visual boxes displayed on chart
Fair Value Gaps (FVG)
Identifies 3-candle imbalance patterns
Bullish FVG = Gap between high and current low
Bearish FVG = Gap between low and current high
Tracks unfilled gaps as targets/entry zones
Auto-removes when filled
Premium/Discount Zones
Calculates 50-period swing range
Premium = Upper 50% (short from here)
Discount = Lower 50% (long from here)
Deep zones (<30% or >70%) for higher quality setups
Visual shading: Red = Premium, Green = Discount
Liquidity Sweeps
Sell-Side Sweep (SSL) = False break below lows → reversal up
Buy-Side Sweep (BSL) = False break above highs → reversal down
Marked with yellow labels on chart
Valid for 10 bars after occurrence
Break of Structure (BOS)
Identifies when price breaks recent swing high/low
Confirms trend continuation
Marked with small circles on chart
3. Confluence Scoring SystemEach timeframe has a 10-point scoring system based on your checklist requirements:Daily Score (10 points max)
HTF Trend Alignment (2 pts) - 4H and Daily EMAs aligned
SMC Structure (2 pts) - OB in correct zone with HTF bias
Liquidity Sweep (1 pt) - Recent SSL/BSL occurred
Volume Confirmation (1 pt) - Volume > 1.2x 20-period average
Optimal Time (1 pt) - 9:30-12 PM or 2-4 PM ET (avoids lunch)
Risk-Reward >2:1 (1 pt) - Built into exit strategy
Clean Price Action (1 pt) - BOS occurred
FVG Present (1 pt) - Near unfilled fair value gap
Minimum Required: 6/10 (adjustable)Weekly Score (10 points max)
Weekly/Monthly Alignment (2 pts) - W and M EMAs aligned
Daily/Weekly Alignment (2 pts) - D and W trends match
Premium/Discount Correct (2 pts) - Deep zone + trend alignment
Major Liquidity Event (1 pt) - SSL/BSL sweep
Order Block Present (1 pt) - Valid OB detected
Risk-Reward >3:1 (1 pt) - Built into exit
Fresh Order Block (1 pt) - OB < 10 bars old
Minimum Required: 7/10 (adjustable)Monthly Score (10 points max)
Monthly/Weekly Alignment (2 pts) - M and W trends match
Weekly OB in Monthly Zone (2 pts) - OB in deep discount/premium
Major Liquidity Sweep (2 pts) - Significant SSL/BSL
Strong Trend Alignment (2 pts) - D, W, M all aligned
Risk-Reward >4:1 (1 pt) - Built into exit
Extreme Zone (1 pt) - Price <20% or >80% of range
Minimum Required: 8/10 (adjustable)4. Entry ConditionsDaily Long Entry
✅ Daily score ≥ 6/10
✅ 4H trend bullish (price > EMAs)
✅ Price in discount zone
✅ Bullish OB OR SSL sweep OR near bullish FVG
✅ NOT during avoid times (lunch/first 5 min)Daily Short Entry
✅ Daily score ≥ 6/10
✅ 4H trend bearish
✅ Price in premium zone
✅ Bearish OB OR BSL sweep OR near bearish FVG
✅ NOT during avoid timesWeekly Long Entry
✅ Weekly score ≥ 7/10
✅ Weekly trend bullish
✅ Daily trend bullish
✅ Price in discount
✅ Bullish OB OR SSL sweepWeekly Short Entry
✅ Weekly score ≥ 7/10
✅ Weekly trend bearish
✅ Daily trend bearish
✅ Price in premium
✅ Bearish OB OR BSL sweepMonthly Long Entry
✅ Monthly score ≥ 8/10
✅ Monthly trend bullish
✅ Weekly trend bullish
✅ Price in DEEP discount (<30%)
✅ Bullish order block presentMonthly Short Entry
✅ Monthly score ≥ 8/10
✅ Monthly trend bearish
✅ Weekly trend bearish
✅ Price in DEEP premium (>70%)
✅ Bearish order block present5. Automated Risk ManagementPosition Sizing (Per Entry)
Daily: 1.0% account risk per trade
Weekly: 0.75% account risk per trade
Monthly: 0.5% account risk per trade
Formula:
Contracts = (Account Equity × Risk%) ÷ (Stop Points × $50)
Minimum = 1 contractStop Losses
Daily: 12 points ($600 per contract)
Weekly: 40 points ($2,000 per contract)
Monthly: 100 points ($5,000 per contract)
Profit Targets (Risk:Reward)
Daily: 2:1 = 24 points ($1,200 profit)
Weekly: 3:1 = 120 points ($6,000 profit)
Monthly: 4:1 = 400 points ($20,000 profit)
Example with $50,000 AccountDaily Trade:
Risk = $500 (1% of $50k)
Stop = 12 points × $50 = $600
Contracts = $500 ÷ $600 = 0.83 → 1 contract
Target = 24 points = $1,200 profit
Weekly Trade:
Risk = $375 (0.75% of $50k)
Stop = 40 points × $50 = $2,000
Contracts = $375 ÷ $2,000 = 0.18 → 1 contract
Target = 120 points = $6,000 profit
Monthly Trade:
Risk = $250 (0.5% of $50k)
Stop = 100 points × $50 = $5,000
Contracts = $250 ÷ $5,000 = 0.05 → 1 contract
Target = 400 points = $20,000 profit
6. Visual Elements on ChartKey Levels
Previous Daily High/Low - Red/Green solid lines
Previous Weekly High/Low - Red/Green circles
Previous Monthly High/Low - Red/Green crosses
Equilibrium Line - White dotted line (50% of range)
Zones
Premium Zone - Light red shading (upper 50%)
Discount Zone - Light green shading (lower 50%)
SMC Markings
Bullish Order Blocks - Green boxes with "Bull OB" label
Bearish Order Blocks - Red boxes with "Bear OB" label
Bullish FVGs - Green boxes with "FVG↑"
Bearish FVGs - Red boxes with "FVG↓"
Liquidity Sweeps - Yellow "SSL" (down) or "BSL" (up) labels
Break of Structure - Small lime/red circles
Entry Signals
Daily Long - Small lime triangle ▲ with "D" below price
Daily Short - Small red triangle ▼ with "D" above price
Weekly Long - Medium green triangle ▲ with "W" below price
Weekly Short - Medium maroon triangle ▼ with "W" above price
Monthly Long - Large aqua triangle ▲ with "M" below price
Monthly Short - Large fuchsia triangle ▼ with "M" above price
7. Information TablesConfluence Score Table (Top Right)
┌──────────┬────────┬────────┬────────┐
│ TF │ SCORE │ STATUS │ SIGNAL │
├──────────┼────────┼────────┼────────┤
│ 📊 DAILY │ 7/10 │ ✓ PASS │ 🔼 │
│ 📈 WEEKLY│ 6/10 │ ✗ WAIT │ ━ │
│ 🌙 MONTH │ 9/10 │ ✓ PASS │ 🔽 │
├──────────┴────────┴────────┴────────┤
│ P&L: $2,450 │
└─────────────────────────────────────┘
Green scores = Pass (meets minimum threshold)
Orange/Red scores = Fail (wait for better setup)
🔼 = Long signal active
🔽 = Short signal active
━ = No signal
Entry Checklist Table (Bottom Right)
┌──────────────┬───┐
│ CHECKLIST │ ✓ │
├──────────────┼───┤
│ ━ DAILY ━ │ │
│ HTF Trend │ ✓ │
│ Zone │ ✓ │
│ OB │ ✗ │
│ Liq Sweep │ ✓ │
│ Volume │ ✓ │
│ ━ WEEKLY ━ │ │
│ W/M Align │ ✓ │
│ Deep Zone │ ✗ │
│ ━ MONTHLY ━ │ │
│ M/W/D Align │ ✓ │
│ Zone: Discount│ │
└──────────────┴───┘
Green ✓ = Condition met
Red ✗ = Condition not met
Real-time updates as market conditions change
8. Alert SystemIndividual Alerts:
"Daily Long" - Triggers when daily long setup appears
"Daily Short" - Triggers when daily short setup appears
"Weekly Long" - Triggers when weekly long setup appears
"Weekly Short" - Triggers when weekly short setup appears
"Monthly Long" - Triggers when monthly long setup appears
"Monthly Short" - Triggers when monthly short setup appears
Combined Alerts:
"Any Long Signal" - Catches any bullish opportunity (D/W/M)
"Any Short Signal" - Catches any bearish opportunity (D/W/M)
Alert Messages Include:
🔼/🔽 Direction indicator
Timeframe (DAILY/WEEKLY/MONTHLY)
Current confluence score
REM Algo - Earnings AlertsNot everyone wants to hold positions through earnings announcements — and if you’re evaluating a strategy, earnings-related gaps can distort performance metrics and make results harder to interpret.
This script helps you manage earnings risk by triggering alerts during an Earnings Blackout window. You can:
get an alert to close positions the day before earnings, and/or
receive a reminder not to open new positions on blackout days prior to the earnings announcement.
Add alerts to the stocks you trade. When a blackout day occurs, the script triggers at the hour and minute you choose in the settings. The Earnings Blackout period covers the day before and the day of the earnings announcement, adjusted for weekends and market holidays.
Use it as a standalone risk-control tool — or alongside your existing strategy — so earnings gaps don’t interfere with your trading rules or your backtest results.
ICT Unicorn Model [Kodexius]ICT Unicorn Model is a market structure and imbalance confluence tool that automatically detects high probability “Unicorn” setups by combining three key elements into a single, clean script:
-A first, clean break of that swing level (displacement style break)
-A Fair Value Gap that overlaps a breaker candle body range
Instead of plotting every pivot or every imbalance independently, the script waits for a specific sequence: price establishes a valid swing, breaks that swing for the first time, and prints a setup only when the resulting context aligns with a valid, volatility filtered FVG and a clearly defined breaker range.
Each detected setup is drawn directly on the chart with labeled zones (Breaker and FVG) and is then actively monitored. If price violates the breaker boundary based on your chosen invalidation basis (Close or Wick), the setup is marked inactive and can optionally be removed to keep the chart clean.
This indicator is designed for traders who work with ICT style concepts such as liquidity runs, displacement, breaker blocks, and imbalance reversion, and who want a structured, rules based visualization rather than discretionary drawing.
🔹 Features
🔸 Fair Value Gap Detection With Volatility Filtering
Bullish and bearish FVGs are detected using classic three candle imbalance logic. To avoid low quality gaps during compression, the script applies an ATR based minimum size filter using the “FVG Min Size (ATR Multiplier)” input. Only gaps larger than ATR * threshold are considered valid.
🔸 First Break Validation (Clean Break Logic)
A key part of the model is identifying a “first break” of a swing level. The script checks whether the swing price has already been invalidated between the swing bar and the current bar. If it has, the swing is ignored. This helps reduce repeated signals and focuses on fresh structural breaks.
🔸 Breaker and FVG Confluence With Overlap Requirement
After a valid break occurs, the script defines a breaker range using the body of the swing candle (open and close). A setup is only created if this breaker body range overlaps the detected FVG price range. This overlap requirement is what filters many “almost” conditions and keeps signals more selective.
Bullish Unicorn:
Bearish Unicorn:
🔸 Configurable Invalidation Basis (Close or Wick)
You can choose how a setup fails:
-Close: invalidation requires a candle close beyond the breaker boundary
-Wick: invalidation occurs as soon as any wick crosses beyond the breaker boundary
This allows the tool to adapt to different trading styles, from conservative confirmation to more sensitive risk control.
🔸 Automatic Cleanup of Failed Setups
If “Delete Invalidated Setups” is enabled, the script removes the breaker box, FVG box, and label as soon as the setup is invalidated. If disabled, the zones remain visible for review while the setup is marked inactive internally.
🔸 Clear Chart Visuals
Each setup plots:
-A labeled Breaker zone box
-A labeled FVG zone box
-A directional Unicorn label (Bull or Bear) that updates position as the chart advances
Colors for bullish and bearish structures are fully configurable.
🔸 Alert Conditions
Two alert conditions are provided:
-Bullish Unicorn Setup Detected
-Bearish Unicorn Setup Detected
Alerts trigger only on the bar a new setup is created.
🔹 Calculations
This section summarizes the main computations used internally. The goal here is to explain the model mechanics rather than reproduce every implementation detail.
1. Swing Detection (Pivot High / Pivot Low)
Swing levels are detected using a symmetric pivot definition with “Swing Length” bars on both sides:
float ph = ta.pivothigh(high, swingLength, swingLength)
float pl = ta.pivotlow(low, swingLength, swingLength)
When a pivot is confirmed, its price and originating bar index are stored:
-Swing High: price = pivot high, isHigh = true
-Swing Low: price = pivot low, isHigh = false
The script keeps a limited history (most recent swings) to stay efficient.
2. Fair Value Gap Detection
FVGs use the classic three candle displacement imbalance:
Bullish FVG condition
bool isBullFVG = high < low
Bullish gap range is defined as:
-Top = low
-Bottom = high
Bearish FVG condition
bool isBearFVG = low > high
Bearish gap range is defined as:
-Top = low
-Bottom = high
3. ATR Based Minimum Gap Filter
ATR is computed (length 14), then the gap size is compared against a user threshold:
float atr = ta.atr(14)
bool validBullFVG = isBullFVG and (bullFvgTop - bullFvgBot) > (atr * fvgThreshold)
bool validBearFVG = isBearFVG and (bearFvgTop - bearFvgBot) > (atr * fvgThreshold)
This prevents very small imbalances from generating setups in low volatility conditions.
4. “First Break” Check Using Level Invalidation Scan
Before accepting a swing break, the script scans forward from the swing bar to the current bar to confirm the level has not already been breached. The scan can be based on wick or close:
-Wick mode: uses high or low
-Close mode: uses close
Conceptually:
priceToCheck = mode == "Wick" ? (checkBelow ? low : high) : close
If a prior breach is found, the swing is treated as already invalidated and is ignored for setup creation.
5. Break Of Structure Condition
Bullish break requirement
A bullish setup requires breaking a stored swing high with bullish body intent:
-close > swingHighPrice
-open < close
Bearish break requirement
A bearish setup requires breaking a stored swing low with bearish body intent:
-close < swingLowPrice
-open > close
An additional proximity filter is applied in the bearish branch to reduce weak or overly extended breaks by requiring the prior close to be reasonably near the swing level.
6. Breaker Range Construction
Once a qualifying swing is found, the breaker range is derived from the body of the swing candle (the candle at the swing bar index). The body boundaries are:
float breakerTop = math.max(bOpen, bClose)
float breakerBot = math.min(bOpen, bClose)
This models the breaker as the candle body range rather than full wick range, which typically produces more practical invalidation boundaries.
7. Overlap Test Between Breaker and FVG
A setup is only created if the breaker body overlaps the FVG zone. Conceptually the script rejects cases where one range is fully above or fully below the other:
-If there is no overlap, no setup is created
-If overlap exists, the Unicorn setup is valid
8. Active Monitoring and Invalidation
Each setup remains active until invalidated. Invalidation is evaluated every bar using your selected basis:
-Close basis: compares close to breaker boundary
-Wick basis: compares high or low to breaker boundary
Bullish invalidation
Setup fails if price crosses below breaker bottom.
Bearish invalidation
Setup fails if price crosses above breaker top.
If deletion is enabled, all drawings related to that setup are removed immediately on invalidation.
9. Drawing Updates and Object Lifecycle
Breaker and FVG boxes are extended to the right while the setup is active to keep zones visible into the near future. The Unicorn label is also repositioned as new bars print so the most recent context stays readable.
Auto-Anchored Fibonacci Volume Profile [Custom Array Engine]Description:
1. The Theoretical Foundation: Structure vs. Participation In professional technical analysis, traders often struggle to reconcile two distinct datasets: Price Geometry (where price should go) and Market Participation (where money actually went).
Why Fibonacci? (The Structure) Fibonacci Retracements map the mathematical structure of a trend. They identify psychological and algorithmic "interest zones" (0.382, 0.5, 0.618) where a correction is statistically likely to terminate. However, Fibonacci levels are theoretical—they are "lines in the sand" that do not guarantee liquidity or reaction.
Why Volume Profile? (The Verification) Volume Profile maps the historical exchange of shares at specific price levels. It reveals "fair value" (High Volume Nodes) and "market imbalance" (Low Volume Nodes). It is the only tool that verifies if a specific price level was actually accepted by institutional participants.
2. Underlying Calculations (The Custom Engine) This script operates on a custom-built calculation engine that bypasses standard built-in functions entirely. It uses Pine Script Arrays to build a Volume Profile from scratch. Here is the breakdown of the proprietary code logic:
A. The "Smart-Fill" Distribution Algorithm (Solves Gapping)
The Problem: Standard volume scripts often assign a candle's entire volume to a single price row. In volatile markets or steep trends, this creates visual "gaps" or a "barcode" effect because price moved too fast to register on every row.
My Solution: I wrote a custom loop that calculates the vertical overlap of every candle against the profile grid.
The Math: Volume Per Bin = Total Candle Volume / Bins Touched.
The Result: If a single volatile candle spans 10 price rows (bins), the script mathematically divides that volume and distributes it equally into all 10 array indices. This generates a solid, continuous distribution curve that accurately reflects price action through the entire candle range, not just the close.
B. Dynamic Arrays & Split-Volume Logic The script initializes two separate floating-point arrays (buyVolArray and sellVolArray) sized to the user's resolution (up to 300 rows). It iterates through the specific time-window of the swing:
If Close >= Open, the calculated volume slice is injected into the Buy Array.
If Close < Open, it is injected into the Sell Array.
These arrays are then visually stacked to render the dual-color profile, allowing traders to see the "Delta" (Buyer vs. Seller aggression) at key structural levels.
C. Custom Garbage Collection (Performance) To enable the "Auto-Anchoring" feature without causing chart lag or visual artifacts ("ghosting"), the script includes a Garbage Collection System. Before drawing a new profile, the script iterates through a tracking array of all existing objects (box.delete, line.delete) and clears them from memory. This ensures the indicator remains lightweight and responsive even when dragging chart margins or switching timeframes.
3. The Synthesis: Why Combine Them? The core philosophy of this script is Confluence . A Fibonacci level without volume is merely a suggestion; a Fibonacci level backed by volume is a defensive wall. By algorithmically anchoring a Volume Profile to the exact coordinates of a Fibonacci swing, this tool allows traders to instantly answer critical questions:
"Is the Golden Pocket (0.618) supported by a High Volume Node (HVN), or is it a Low Volume Node (LVN) that price might slice through?"
"Is the Shallow Retracement (0.382) holding because of structural support, or just a lack of selling pressure?"
4. How to Read the Indicator
The Geometry: The script automatically detects the trend and draws standard Fib levels (0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0).
The Confluence Check: Look for the Point of Control (Red Line). If this High Volume Node aligns with a key Fib level (e.g., the 0.618), the probability of a reversal increases significantly.
The Imbalance Check: Look for "Valleys" in the profile (Low Volume Nodes). These gaps often act as "slippage zones" where price travels quickly between structural levels.
Buy/Sell Splits: The dual-color bars (Teal/Red) reveal the composition of the volume. A 0.618 level held up by dominant Buy Volume is a stronger bullish signal than one with mixed volume.
5. Settings & Customization
Lookback Length: Sensitivity of the swing detection (Default: 200 bars).
Resolution: Granularity of the profile rows (Default: 100). Higher values provide smoother definition.
Width (%): Responsive sizing that scales the profile relative to the trend's duration.
Extend Lines: Option to project structural levels infinitely to the right.
Disclaimer This script is an analytical tool for visualizing historical market data. It does not provide trade signals or financial advice.
GME Warrant Tracker [theUltimator5]The GME Warrant Tracker was designed to be used for GME warrants tracking. The theory behind this indicator is that warrants are priced similarly to options and generally follow the same Greeks. With that assumption, we can break down the price of the warrants by using known Greeks to estimate either the theoretical price, or even estimate Implied Volatility (IV).
The base settings for this indicator plot the calculated IV, the theoretical price (there are multiple methods of calculation which I will discuss later) and the current warrant price.
You can toggle on or off all of these plots to display only what you want to track.
For example, you can simply track the difference between the theoretical price and the current price to see if warrants are trading at a premium or a discount vs what the indicator calculates it to be.
Calculating implied volatility is extremely difficult and must be approximated.
The theoretical warrant price produced by this indicator depends primarily on the volatility input (σ) used in the Black–Scholes pricing model.
This script supports five distinct methods for approximating σ, each extracting different information from the market.
1) Close-to-Close Historical Volatility
Close-to-Close computes the standard deviation of daily close-to-close returns and uses a lookback window scaled to time-to-expiry. As the expiration approaches, the lookback window tightens, giving a more responsive volatility approximation relative to time-to-expiry.
This option produces conservative approximations for volatility, and may lag actual volatility intraday.
2) Parkinson High-Low Volatility
Parkinson High-Low volatility uses daily high and low prices to calculate intraday trading range for a more responsive estimation to volatility. It ignores opening and close gaps, so overnight volatility is not accounted for.
This option produces higher theoretical volatility during choppy price action and can over estimate actual volatility.
3) Garman–Klass Volatility
Garman–Klass volatility is a way to estimate how much price is fluctuating by using the open, high, low, and close for each period. Because it draws on multiple intraperiod price points (not just the range or close-to-close moves), it typically produces a tighter, more informative volatility estimate than simpler approaches. It’s often most helpful when gaps occur and when the open and close carry meaningful information about the session’s trading.
4)Yang–Zhang Volatility
The Yang–Zhang volatility estimator is designed to account for both opening jumps and price drift. It estimates volatility by combining overnight (close-to-open) variance, intraday (open-to-close) variance, and a weighted Rogers–Satchell component using OHLC data, often yielding a more robust measure than simpler close-to-close style estimators.
5) Option price
By default, the indicator uses the call option strike dated closest to the warrant expiration date. Since the Greeks for both the warrants and the
options are assumed to be equivalent with a minor difference in theta (time-to-expiry), the theoretical price of the warrants closely matches the trade price of the call strike chosen.
There is a table that can be enabled (off by default because it is large and fills entire screen on mobile) which shows all the configuration settings and Greeks.
You can also manually adjust the "dilution" factor for the warrants, which shifts the number of active warrants and moves the count into the shares outstanding for the underlying (GME). The reason for this is that as warrants get exercised, the total quantity of warrants in circulation decreases and the the total quantity of shares outstanding increases.
Since this indicator was built around the single warrant, ticker NYSE: GME/W, it is only meant to be used with NYSE:GME. Any other ticker will not work properly with this indicator.
Candle Pattern Library [1CG]Candle Pattern Library
A comprehensive and easy-to-use Pine Script™ library for detecting single, two, and three-candle patterns. This library provides detailed pattern analysis including size classification, direction validation, and specific pattern identification.
Quick Start
1. Import the Library
import OneCleverGuy/CandlePatternLibrary/1 as CPL
2. Analyze Candles
Use the main analysis functions to detect patterns. You can analyze the current forming candle or confirmed historical candles.
// 1. Analyze candles (Current , Previous , and the one before )
// Note: We use full variable names for clarity.
CandleData candleNewest = CPL.analyzeCandle(open, high, low, close, 250, 50, 10, 50, 85)
CandleData candleMiddle = CPL.analyzeCandle(open , high , low , close , 250, 50, 10, 50, 85)
CandleData candleOldest = CPL.analyzeCandle(open , high , low , close , 250, 50, 10, 50, 85)
// 2. Analyze multi-candle patterns
// Pass candles in chronological order: Oldest -> Newest
var twoCandleData = CPL.analyzeTwoCandlePattern(candleMiddle, candleNewest, 10, 85)
var threeCandleData = CPL.analyzeThreeCandlePattern(candleOldest, candleMiddle, candleNewest)
Enums Reference
These are the Enum Types exported by the library. When checking results, use the pattern Alias.EnumType.Value (e.g., CPL.CandlePattern.Hammer).
CandlePattern
Enum Type for single-candle formations.
Usage: CPL.CandlePattern.
Values:
Unknown : No specific pattern detected.
RegularBullish : A standard bullish candle.
RegularBearish : A standard bearish candle.
BullishMarubozu : Bullish candle with little to no wicks.
BearishMarubozu : Bearish candle with little to no wicks.
Hammer : Small body at the top of the range (bullish reversal).
ShootingStar : Small body at the bottom of the range (bearish reversal).
SpinningTop : Small body centered in the range.
Doji : Open and close are effectively equal.
LongLeggedDoji : Doji with long upper and lower wicks.
CrossDoji : Doji with the body in the upper section.
DragonflyDoji : Doji where open/close are at the high.
InvertedCrossDoji : Doji with the body in the lower section.
GravestoneDoji : Doji where open/close are at the low.
FourPriceDoji : Open, High, Low, and Close are all equal.
TwoCandlePattern
Enum Type for two-candle formations.
Usage: CPL.TwoCandlePattern.
Values:
None : No two-candle pattern detected.
BullishEngulfingWeak : Bullish candle engulfs the previous body (close does not engulf range).
BullishEngulfingStrong : Bullish candle completely engulfs the previous body close outside range.
BearishEngulfingWeak : Bearish candle engulfs the previous body.
BearishEngulfingStrong : Bearish candle completely engulfs the previous body.
InsideBar : The second candle is completely contained within the first.
TweezerTop : Two candles with matching highs (bearish reversal).
TweezerBottom : Two candles with matching lows (bullish reversal).
BullishRailRoad : Two opposite Marubozus (Down -> Up).
BearishRailRoad : Two opposite Marubozus (Up -> Down).
ThreeCandlePattern
Enum Type for three-candle formations.
Usage: CPL.ThreeCandlePattern.
Values:
None : No three-candle pattern detected.
ThreeWhiteSoldiers : Three consecutive bullish candles.
ThreeBlackCrows : Three consecutive bearish candles.
ThreeWhiteSoldiersWithBullishFVG : Three White Soldiers containing a Bullish FVG.
ThreeWhiteSoldiersWithBearishFVG : Three White Soldiers containing a Bearish FVG.
ThreeBlackCrowsWithBullishFVG : Three Black Crows containing a Bullish FVG.
ThreeBlackCrowsWithBearishFVG : Three Black Crows containing a Bearish FVG.
MorningStar : Bearish -> Small/Doji -> Bullish (Bullish Reversal).
EveningStar : Bullish -> Small/Doji -> Bearish (Bearish Reversal).
BullishAbandonedBaby : Morning Star with gaps between all candles.
BearishAbandonedBaby : Evening Star with gaps between all candles.
EngulfingSandwich : Bearish -> Bullish (Engulfing) -> Bearish (Inside).
BullishFairValueGap : A gap between Candle 1 High and Candle 3 Low.
BearishFairValueGap : A gap between Candle 1 Low and Candle 3 High.
CandleSize
Enum Type for candle size classification.
Usage: CPL.CandleSize.
Values:
Short
Normal
Long
CandleDirection
Enum Type for candle direction classification.
Usage: CPL.CandleDirection.
Values:
Bearish
Neutral
Bullish
Function Reference
Analysis Functions
analyzeCandle(_open, _high, _low, _close, _avgSize, _sizeThresholdPct, _equivTolerance, _bodyTolerance, _positionThreshold)
analyzeCandle - Analyzes a single candle's OHLC data to determine its size, direction, and single-candle pattern.
Parameters:
_open (float) : (float) - Candle open price.
_high (float) : (float) - Candle high price.
_low (float) : (float) - Candle low price.
_close (float) : (float) - Candle close price.
_avgSize (float) : (float) - Baseline size (wick range) to compare against.
_sizeThresholdPct (float) : (float) - % difference from average to be considered Long/Short (e.g., 50.0).
_equivTolerance (float) : (float) - Absolute price diff for Close to equal Open (Doji checks).
_bodyTolerance (float) : (float) - Absolute price diff for "Small Body" checks.
_positionThreshold (int) : (int) - Int (0-100) determining valid wick ratios for Hammers/Shooting Stars (e.g., 85).
Returns: (CandleData) - CandleData object containing CandlePattern, CandleSize, CandleDirection.
analyzeTwoCandlePattern(_candle1, _candle2, _equivTolerance, _positionThreshold)
analyzeTwoCandlePattern - Analyzes two consecutive candles to find pairs like Engulfing, Tweezers, or Inside Bars.
Parameters:
_candle1 (CandleData) : (CandleData) - The first (older) candle data (previous).
_candle2 (CandleData) : (CandleData) - The second (newer) candle data (current).
_equivTolerance (float) : (float) - Price tolerance for matching highs/lows (Tweezers).
_positionThreshold (int) : (int) - Threshold for wick validations.
Returns: (TwoCandleData) - TwoCandleData object containing TwoCandlePattern.
analyzeThreeCandlePattern(_candle1, _candle2, _candle3)
analyzeThreeCandlePattern - Analyzes three consecutive candles to find complex patterns like Morning Stars, Abandoned Babies, or Three White Soldiers.
Parameters:
_candle1 (CandleData) : (CandleData) - The first (oldest) candle data.
_candle2 (CandleData) : (CandleData) - The second (middle) candle data.
_candle3 (CandleData) : (CandleData) - The third (newest) candle data.
Returns: (ThreeCandleData) - ThreeCandleData object containing ThreeCandlePattern.
Naming Utilities
getPatternName(_pattern)
getPatternName - Returns the string name of a candle pattern.
Parameters:
_pattern (CandlePattern) : (CandlePattern) - The candle pattern enum value.
Returns: (string) - Human-readable pattern name (e.g., "Hammer").
getTwoCandlePatternName(_pattern)
getTwoCandlePatternName - Returns the string name of a two-candle pattern.
Parameters:
_pattern (TwoCandlePattern) : (TwoCandlePattern) - The two-candle pattern enum value.
Returns: (string) - Human-readable pattern name (e.g., "Bullish Engulfing").
getThreeCandlePatternName(_pattern)
getThreeCandlePatternName - Returns the string name of a three-candle pattern.
Parameters:
_pattern (ThreeCandlePattern) : (ThreeCandlePattern) - The three-candle pattern enum value.
Returns: (string) - Human-readable pattern name (e.g., "Morning Star").
getSizeName(_size)
getSizeName - Returns the string name of a candle size.
Parameters:
_size (CandleSize) : (CandleSize) - The candle size enum value.
Returns: (string) - Human-readable size name ("Short", "Normal", or "Long").
getDirectionName(_direction)
getDirectionName - Returns the string name of a candle direction.
Parameters:
_direction (CandleDirection) : (CandleDirection) - The candle direction enum value.
Returns: (string) - Human-readable direction name ("Bullish", "Bearish", or "Neutral").
Displacement## Displacement Indicator (Institutional Momentum Filter)
This indicator highlights **true price displacement** — candles where price moves with **abnormal force relative to recent volatility**.
It is designed to help traders distinguish **real momentum** from normal market noise.
Displacement often precedes:
- Breaks of structure
- Fair Value Gaps (FVGs)
- Strong continuation or meaningful pullbacks
This tool focuses on **confirmation**, not prediction.
---
### 🔍 How Displacement Is Defined
A candle is marked as *displacement* only when **all conditions are met**:
• Candle body is larger than a multiple of ATR (volatility-adjusted)
• Candle body makes up a high percentage of the full candle (strong close)
• Directional conviction (bullish or bearish close)
This filters out:
- Small or average candles
- Wick-heavy indecision
- Low-quality breakouts
---
### 🎯 What This Indicator Is Best Used For
✔ Confirming impulsive moves
✔ Validating structure breaks
✔ Anchoring Fair Value Gaps
✔ Filtering low-probability setups
✔ Identifying institutional participation
Works best on **M5, M15, and H1**, especially during **London and NY sessions**.
---
### ⚠️ Important Notes
• This is **not** a buy/sell signal by itself
• Best used with trend, structure, or liquidity context
• Not designed for ranging or low-volatility markets
Think of this indicator as a **momentum truth filter** —
if displacement is missing, conviction is likely missing too.
---
### ⚙️ Inputs Explained
• ATR Length – defines normal volatility
• ATR Multiplier – how aggressive displacement must be
• Minimum Body % – ensures strong candle closes
All inputs are adjustable to fit different markets and styles.
---
### 🧠 Philosophy
Displacement reflects **commitment**, not anticipation.
This tool helps you wait for **proof**, not hope.
---
If you want, I can:
- Tighten this for **ICT-style language**
- Rewrite for **beginner clarity**
- Add a **“How I personally use it”** section
- Optimize it for **TradingView algorithm visibility**
**Tell me which you want changed.**
Simple Candle Strategy# Candle Pattern Strategy - Pine Script V6
## Overview
A TradingView trading strategy script (Pine Script V6) that identifies candlestick patterns over a configurable lookback period and generates trading signals based on pattern recognition rules.
## Strategy Logic
The strategy analyzes the most recent N candlesticks (default: 5) and classifies their patterns into three categories, then generates buy/sell signals based on specific pattern combinations.
### Candlestick Pattern Classification
Each candlestick is classified as one of three types:
| Pattern | Definition | Formula |
|---------|-----------|---------|
| **Close at High** | Close price near the highest price of the candle | `(high - close) / (high - low) ≤ (1 - threshold)` |
| **Close at Low** | Close price near the lowest price of the candle | `(close - low) / (high - low) ≤ (1 - threshold)` |
| **Doji** | Opening and closing prices very close; long upper/lower wicks | `abs(close - open) / (high - low) ≤ threshold` |
### Trading Rules
| Condition | Action | Signal |
|-----------|--------|--------|
| Number of Doji candles ≥ 3 | **SKIP** - Market is too chaotic | No trade |
| "Close at High" count ≥ 2 + Last candle closes at high | **LONG** - Bullish confirmation | Buy Signal |
| "Close at Low" count ≥ 2 + Last candle closes at low | **SHORT** - Bearish confirmation | Sell Signal |
## Configuration Parameters
All parameters are adjustable in TradingView's "Settings/Inputs" tab:
| Parameter | Default | Range | Description |
|-----------|---------|-------|-------------|
| **K-line Lookback Period** | 5 | 3-20 | Number of candlesticks to analyze |
| **Doji Threshold** | 0.1 | 0.0-1.0 | Body size / Total range ratio for doji identification |
| **Doji Count Limit** | 3 | 1-10 | Number of dojis that triggers skip signal |
| **Close at High Proximity** | 0.9 | 0.5-1.0 | Required proximity to highest price (0.9 = 90%) |
| **Close at Low Proximity** | 0.9 | 0.5-1.0 | Required proximity to lowest price (0.9 = 90%) |
### Parameter Tuning Guide
#### Proximity Thresholds (Close at High/Low)
- **0.95 or higher**: Stricter - only very strong candles qualify
- **0.90 (default)**: Balanced - good for most market conditions
- **0.80 or lower**: Looser - catches more patterns, higher false signals
#### Doji Threshold
- **0.05-0.10**: Strict doji identification
- **0.10-0.15**: Standard doji detection
- **0.15+**: Includes near-doji patterns
#### Lookback Period
- **3-5 bars**: Fast, sensitive to recent patterns
- **5-10 bars**: Balanced approach
- **10-20 bars**: Slower, filters out noise
## Visual Indicators
### Chart Markers
- **Green Up Arrow** ▲: Long entry signal triggered
- **Red Down Arrow** ▼: Short entry signal triggered
- **Gray X**: Skip signal (too many dojis detected)
### Statistics Table
Located at top-right corner, displays real-time pattern counts:
- **Close at High**: Count of candles closing near the high
- **Close at Low**: Count of candles closing near the low
- **Doji**: Count of doji/near-doji patterns
### Signal Labels
- Green label: "✓ Long condition met" - below entry bar
- Red label: "✓ Short condition met" - above entry bar
- Gray label: "⊠ Too many dojis, skip" - trade skipped
## Risk Management
### Exit Strategy
The strategy includes built-in exit rules based on ATR (Average True Range):
- **Stop Loss**: ATR × 2
- **Take Profit**: ATR × 3
Example: If ATR is $10, stop loss is at -$20 and take profit is at +$30
### Position Sizing
Default: 100% of equity per trade (adjustable in strategy properties)
**Recommendation**: Reduce to 10-25% of equity for safer capital allocation
## How to Use
### 1. Copy the Script
1. Open TradingView
2. Go to Pine Script Editor
3. Create a new indicator
4. Copy the entire `candle_pattern_strategy.pine` content
5. Click "Add to Chart"
### 2. Apply to Chart
- Select your preferred timeframe (1m, 5m, 15m, 1h, 4h, 1d)
- Choose a trading symbol (stocks, forex, crypto, etc.)
- The strategy will generate signals on all historical bars and in real-time
### 3. Configure Parameters
1. Right-click the strategy on chart → "Settings"
2. Adjust parameters in the "Inputs" tab
3. Strategy will recalculate automatically
4. Backtest results appear in the Strategy Tester panel
### 4. Backtesting
1. Click "Strategy Tester" (bottom panel)
2. Set date range for historical testing
3. Review performance metrics:
- Win rate
- Profit factor
- Drawdown
- Total returns
## Key Features
✅ **Execution Model Compliant** - Follows official Pine Script V6 standards
✅ **Global Scope** - All historical references in global scope for consistency
✅ **Adjustable Sensitivity** - Fine-tune all pattern detection thresholds
✅ **Real-time Updates** - Works on both historical and real-time bars
✅ **Visual Feedback** - Clear signals with labels and statistics table
✅ **Risk Management** - Built-in ATR-based stop loss and take profit
✅ **No Repainting** - Signals remain consistent after bar closes
## Important Notes
### Before Trading Live
1. **Backtest thoroughly**: Test on at least 6-12 months of historical data
2. **Paper trading first**: Practice with simulated trades
3. **Optimize parameters**: Find the best settings for your trading instrument
4. **Manage risk**: Never risk more than 1-2% per trade
5. **Monitor performance**: Review trades regularly and adjust as needed
### Market Conditions
The strategy works best in:
- Trending markets with clear directional bias
- Range-bound markets with defined support/resistance
- Markets with moderate volatility
The strategy may underperform in:
- Highly choppy/noisy markets (many false signals)
- Markets with gaps or overnight gaps
- Low liquidity periods
### Limitations
- Works on chart timeframes only (not intrabar analysis)
- Requires at least 5 bars of history (configurable)
- Fixed exit rules may not suit all trading styles
- No trend filtering (will trade both directions)
## Technical Details
### Historical Buffer Management
The strategy declares maximum bars back to ensure enough historical data:
```pine
max_bars_back(close, 20)
max_bars_back(open, 20)
max_bars_back(high, 20)
max_bars_back(low, 20)
```
This prevents runtime errors when accessing historical candlestick data.
### Pattern Detection Algorithm
```
For each bar in lookback period:
1. Calculate (high - close) / (high - low) → close_to_high_ratio
2. If close_to_high_ratio ≤ (1 - threshold) → count as "Close at High"
3. Calculate (close - low) / (high - low) → close_to_low_ratio
4. If close_to_low_ratio ≤ (1 - threshold) → count as "Close at Low"
5. Calculate abs(close - open) / (high - low) → body_ratio
6. If body_ratio ≤ doji_threshold → count as "Doji"
Signal Generation:
7. If doji_count ≥ cross_count_limit → SKIP_SIGNAL
8. If close_at_high_count ≥ 2 AND last_close_at_high → LONG_SIGNAL
9. If close_at_low_count ≥ 2 AND last_close_at_low → SHORT_SIGNAL
```
## Example Scenarios
### Scenario 1: Bullish Signal
```
Last 5 bars pattern:
Bar 1: Closes at high (95%) ✓
Bar 2: Closes at high (92%) ✓
Bar 3: Closes at mid (50%)
Bar 4: Closes at low (10%)
Bar 5: Closes at high (96%) ✓ (last bar)
Result:
- Close at high count: 3 (≥ 2) ✓
- Last closes at high: ✓
- Doji count: 0 (< 3) ✓
→ LONG SIGNAL ✓
```
### Scenario 2: Skip Signal
```
Last 5 bars pattern:
Bar 1: Doji pattern ✓
Bar 2: Doji pattern ✓
Bar 3: Closes at mid
Bar 4: Doji pattern ✓
Bar 5: Closes at high
Result:
- Doji count: 3 (≥ 3)
→ SKIP SIGNAL - Market too chaotic
```
## Performance Optimization
### Tips for Better Results
1. **Use Higher Timeframes**: 15m or higher reduces false signals
2. **Combine with Indicators**: Add volume or trend filters
3. **Seasonal Adjustment**: Different parameters for different seasons
4. **Instrument Selection**: Test on liquid, high-volume instruments
5. **Regular Rebalancing**: Adjust parameters quarterly based on performance
## Troubleshooting
### No Signals Generated
- Check if lookback period is too large
- Verify proximity thresholds aren't too strict (try 0.85 instead of 0.95)
- Ensure doji limit allows for trading (try 4-5 instead of 3)
### Too Many False Signals
- Increase proximity thresholds to 0.95+
- Reduce lookback period to 3-4 bars
- Increase doji limit to 3-4
- Test on higher timeframes
### Strategy Tester Shows Losses
- Review individual trades to identify patterns
- Adjust stop loss and take profit ratios
- Change lookback period and thresholds
- Test on different market conditions
## References
- (www.tradingview.com)
- (www.tradingview.com)
- (www.investopedia.com)
- (www.investopedia.com)
## Disclaimer
**This strategy is provided for educational and research purposes only.**
- Not financial advice
- Past performance does not guarantee future results
- Always conduct thorough backtesting before live trading
- Trading involves significant risk of loss
- Use proper risk management and position sizing
## License
Created: December 15, 2025
Version: 1.0
---
**For updates and modifications, refer to the accompanying documentation files.**
Rainbow MA Width█ OVERVIEW
Rainbow MA Width is a companion indicator for Rainbow MA Cloud. It displays ribbon width as a normalized Z-Score, allowing traders to visualize trend momentum expansion and contraction relative to recent history.
█ CONCEPTS
Z-Score Normalization:
Rather than displaying raw width values (which vary by asset and timeframe),
this indicator normalizes the ribbon width using Z-Score calculation:
Z-Score = (Current Width - Average Width) / Standard Deviation
Z-Score Interpretation:
• 0 = Average width (mean)
• +1 to +2 = Expanding (above average, strong trend)
• -1 to -2 = Contracting (below average, weakening trend)
• Beyond ±2 = Extreme (statistical outlier, potential reversal)
Width Calculation Modes:
• Outer — Distance between fastest and slowest MA: |MA1 - MA8|
• Average Gap — Mean of all adjacent MA gaps
• Total Gap — Sum of all adjacent MA gaps
█ FEATURES
1 — Width Mode Selection
Three methods to calculate ribbon width.
"Outer" recommended for aligned trends.
2 — Z-Score Period
Configurable lookback for mean and standard deviation.
Default 20 bars; increase for smoother, less reactive readings.
3 — Zone Fill Coloring
Cyan fill when expanding (Z > 0).
Orange fill when contracting (Z < 0).
Yellow fill for extreme values (|Z| > 2) as warning.
4 — Alignment Background
Green background during bullish alignment.
Red background during bearish alignment.
Synced with Rainbow MA Cloud for consistency.
5 — Reference Lines
Horizontal lines at 0 (mean), ±1σ, and ±2σ levels.
Provides clear visual boundaries for interpretation.
6 — Raw Width Display
Optional secondary line showing original width percentage.
Useful for comparing normalized vs absolute values.
█ HOW TO USE
Trend Confirmation:
• Z-Score rising above 0 confirms trend acceleration
• Z-Score staying above +1 indicates sustained strong momentum
• Use alongside alignment background for confluence
Reversal Warning:
• Z-Score exceeding +2 suggests overextension (yellow warning zone)
• Z-Score dropping below -2 indicates extreme contraction
• Extreme readings often precede trend reversals or consolidation
Entry Timing:
• Enter trends when Z-Score crosses above 0 (expansion beginning)
• Avoid entries when Z-Score is at extreme highs (potential exhaustion)
• Consider exits when Z-Score peaks and begins declining
█ LIMITATIONS
• Z-Score is relative to lookback period; different periods give different readings
• Extreme zones (±2) are statistical guides, not guarantees
• Best used in conjunction with Rainbow MA Cloud for full context
█ ALERTS
Four built-in alert conditions:
• Z-Score crosses above/below zero
• Z-Score enters extreme high/low zones (±2)
Neosha Concept V4 (NY Time)
Imagine the financial market as a huge ocean. Millions of traders throw orders into it every second. But beneath all the noise, there is a powerful current that quietly controls where the waves move. That current is not a person, not a trader, and not random—it is an algorithm.
This algorithm is called the Interbank Price Delivery Algorithm (IPDA).
Think of it as the “navigation system” that guides price through the market.
IPDA has one job:
to move prices in a way that keeps the market efficient and liquid.
To do this, it constantly looks for two things:
1. Where liquidity is hiding
Liquidity is usually found above highs and below lows—where traders place stop losses. The algorithm moves price there first to collect that liquidity.
2. Where price became unbalanced
Sometimes price moves too fast and creates gaps or imbalances. IPDA returns to those areas later to “fix” the missing orders.
Once you start looking at the charts with this idea in mind, everything makes more sense:
Why price suddenly spikes above a high and crashes down
Why big moves leave gaps that price later fills
Why the market reverses right after taking stops
Why trends begin only after certain levels are hit
These are not accidents.
They are the algorithm doing its job.
Price moves in a repeating cycle:
Gather liquidity
Make a strong move (displacement)
Return to fix inefficiency
Deliver to the next target
Most beginners only see the candles.
But once you understand IPDA, you see the intention behind the candles.
Instead of guessing where price might go, you begin to understand why it moves there.
And once you understand the “why,” your trading becomes clearer, calmer, and far more accurate.






















