🟡 GOLD 4H HUD v8.9 — Loose ICT OB + Strong/Weak + FVG/HVN/LVNGOLD 4H HUD v8.9 is a clean, structured Smart Money Concepts (SMC)–based analysis tool designed exclusively for XAUUSD on the 4-hour timeframe.
It focuses on the three most important elements for institutional orderflow analysis:
✔ Loose ICT Order Blocks (Demand/Supply)
✔ Fair Value Gaps (FVG)
✔ Volume Profile Zones (HVN/LVN/POC)
The script builds a professional-style HUD that displays the key institutional regions and structural levels that matter most for gold traders.
📌 Key Features
1 — Market Structure Engine (HH/HL & BOS)
The indicator detects:
Minor swing Highs and Lows
Last confirmed HH / HL levels
Break of Structure (BOS) for directional bias
EMA-200 trend filter (UP / DOWN / NEUTRAL)
This gives traders a clean structural read without clutter or noise.
2 — Loose FVG Engine (Tolerance-Based ICT Gaps)
A soft-threshold FVG engine detects “loose” Fair Value Gaps using a 0.1% price tolerance.
This method ensures:
Fewer missed imbalances
Cleaner OB/FVG alignment
Higher accuracy on 4H gold displacement legs
FVGs automatically shift to the right side of the chart for clean visualization.
3 — Order Block Engine (Demand/Supply + Strong/Weak Classification)
A simplified ICT-style OB engine scans the past few candles whenever BOS is detected.
It identifies:
Demand OB during bullish BOS
Supply OB during bearish BOS
Strong OB if fully nested inside an active FVG
Weak OB otherwise
OB boxes include:
Clear color coding (strong vs. weak)
Price range labels inside each box
Automatic right-shift for visual clarity
4 — Volume Profile Engine (POC / HVN / LVN / VAH / VAL)
Based on a rolling window (default 120 bars), the script builds a lightweight volume distribution.
It displays:
POC (Point of Control)
HVN (High Volume Node)
LVN (Low Volume Node)
Value Area High / Low
HVN/LVN zones are shown as right-shifted colored boxes with price labels.
These zones help identify:
Institutional accumulation
Low-liquidity rejection points
Areas where price tends to react strongly
5 — Support / Resistance Mapping
The script automatically generates:
OB-based support/resistance
Swing-high/swing-low levels
HVN/LVN structural levels
These are displayed in the HUD for fast reference.
6 — Professional HUD Panel
A compact, easy-to-read HUD summarizes:
Trend direction
Latest HH/HL
OB ranges (Strong/Weak)
HVN/LVN price zones
POC
Multi-layer support & resistance
This turns the script into a fully functional analysis dashboard.
📌 What This Indicator Is NOT
To avoid misunderstanding:
It does not take entries or generate buy/sell signals
It does not auto-detect CHOCH, MSS, SMT, or sweeps
It is not a trading bot
This tool is designed as an institutional-style map and analysis HUD, not a strategy.
📌 Best Use Case
This indicator is ideal for traders who want to:
Read institutional structure on XAUUSD
Identify clean Demand/Supply zones
Visualize FVG/OB/HVN interactions
Track high-value liquidity levels
Build directional bias on 4H before dropping to execution timeframes
⚠ Important Note
This tool is designed exclusively for the 4H timeframe.
Using it on lower timeframes will display a warning.
Cari dalam skrip untuk "BOS"
Market Structure Trailing Stop MTF [Inspired by LuxAlgo]# Market Structure Trailing Stop MTF
**OPEN-SOURCE SCRIPT**
*208k+ views on original · Modified for MTF Support*
This indicator is a direct adaptation of the renowned **Market Structure Trailing Stop** by **LuxAlgo** (original script: [Market Structure Trailing Stop ]()). The core logic remains untouched, providing dynamic trailing stops based on market structure breaks (CHoCH/BOS). The **only modification** is the addition of **Multi-Timeframe (MTF) support**, allowing users to apply the trailing stops and structures from **higher timeframes (HTF)** directly on their current chart. This enhances usability for traders analyzing cross-timeframe confluence without switching charts.
**Special thanks to LuxAlgo** for releasing this powerful open-source tool under CC BY-NC-SA 4.0. Your contributions to the TradingView community have inspired countless traders—grateful for the solid foundation!
## 🔶 How the Script Works: A Deep Dive
At its heart, this indicator detects **market structure shifts** (bullish or bearish breaks of swing highs/lows) and uses them to generate **adaptive trailing stops**. These stops trail the price while protecting profits and acting as dynamic support/resistance levels. The MTF enhancement pulls this logic from user-specified higher timeframes, overlaying HTF structures and stops on the lower timeframe chart for seamless multi-timeframe analysis.
### Core Logic (Unchanged from LuxAlgo's Original)
1. **Pivot Detection**:
- Uses `ta.pivothigh()` and `ta.pivotlow()` with a user-defined lookback (`length`) to identify swing highs (PH) and lows (PL).
- Coordinates (price `y` and bar index/time `x`) are stored in persistent variables (`var`) for tracking recent pivots.
2. **Market Structure Detection**:
- **Bullish Structure (BOS/CHoCH)**: Triggers when `close > recent PH` (break above swing high).
- If `resetOn = 'CHoCH'`, resets only on major shifts (Change of Character); otherwise, on all breaks.
- Sets trend state `os = 1` (bullish) and highlights the break with a horizontal line (dashed for CHoCH, dotted for BOS).
- Initializes trailing stop at the local minimum (lowest low since the pivot) using a backward loop: `btm = math.min(low , btm)`.
- **Bearish Structure**: Triggers when `close < recent PL`, mirroring the bullish logic (`os = -1`, local maximum for stop).
- Structure state `ms` tracks the break type (1 for bull, -1 for bear, 0 neutral), resetting based on user settings.
3. **Trailing Stop Calculation**:
- Tracks **trailing max/min**:
- On new bull structure: Reset `max = close`.
- On new bear: Reset `min = close`.
- Otherwise: `max = math.max(close, max)` / `min = math.min(close, min)`.
- **Stop Adjustment** (the "trailing" magic):
- On fresh structure: `ts = btm` (bull) or `top` (bear).
- In ongoing trend: Increment/decrement by a percentage of the max/min change:
- Bull: `ts += (max - max ) * (incr / 100)`
- Bear: `ts += (min - min ) * (incr / 100)`
- This creates a **ratcheting effect**: Stops move favorably with the trend but never against it, converging toward price at a controlled rate.
- **Visuals**:
- Plots `ts` line colored by trend (teal for bull, red for bear).
- Fills area between `close` and `ts` (orange on retracements).
- Draws structure lines from pivot to break point.
4. **Edge Cases**:
- Variables like `ph_cross`/`pl_cross` prevent multiple triggers on the same pivot.
- Neutral state (`ms = 0`) preserves prior `max/min` until a new structure.
### MTF Enhancement (Our Addition)
- **request.security() Integration**:
- Wraps the entire core function `f()` in a security call for each timeframe (`tf1`, `tf2`).
- Returns HTF values (e.g., `ts1`, `os1`, structure times/prices) to the chart's context.
- Uses `lookahead=barmerge.lookahead_off` for accurate historical repainting-free data.
- Structures are drawn using `xloc.bar_time` to align HTF lines precisely on the LTF chart.
- **Multi-Output Handling**:
- Separate plots/fills/lines for each TF (e.g., `plot_ts1`, `plot_ts2`).
- Colors and toggles per TF to distinguish HTF1 (e.g., teal/red) from HTF2 (e.g., blue/maroon).
- **Benefits**: Spot HTF bias on LTF entries, e.g., enter longs only if both TF1 (1H) and TF2 (4H) show bullish `os=1`.
This keeps the script lightweight—**no repainting, max 500 lines**, and fully compatible with LuxAlgo's original behavior when TFs are set to the chart's timeframe.
## 🔶 SETTINGS
### Core Parameters
- **Pivot Lookback** (`length = 14`): Bars left/right for pivot detection. Higher = smoother structures, fewer signals; lower = more noise.
- **Increment Factor %** (`incr = 100`): Speed of stop convergence (0-∞). 100% = full ratchet (mirrors max/min exactly); <100% = slower trail, reduces whipsaws.
- **Reset Stop On** (`'CHoCH'`): `'CHoCH'` = Reset only on major reversals (dashed lines); `'All'` = Reset on every BOS/CHoCH (tighter stops).
### MTF Support
- **Timeframe 1** (`tf1 = ""`): HTF for first set (e.g., "1H"). Empty = current chart.
- **Timeframe 2** (`tf2 = ""`): Second HTF (e.g., "4H"). Enables dual confluence.
### Display Toggles
- **Show Structures** (`true`): Draws horizontal lines for breaks (per TF colors).
- **Show Trailing Stop TF1/TF2** (`true`): Plots the stop line.
- **Show Fill TF1/TF2** (`true`): Area fill between close and stop.
### Candle Coloring (Optional)
- **Color Candles** (`false`): Enables custom `plotcandle` for body/wick/border.
- **Candle Color Based On TF** (`"None"`): `"TF1"`, `"TF2"`, or none. Colors bull trend green, bear red.
- **Candle Colors**: Separate inputs for bull/bear body, wick, border (e.g., solid green body, transparent wick).
### Alerts
- **Enable MS Break Alerts** (`false`): Notifies on structure breaks (bull/bear per TF) **only on bar close** (`barstate.isconfirmed` + `alert.freq_once_per_bar_close`).
- **Enable Stop Hit Alerts** (`false`): Triggers on stop breaches (long/short per TF), using `ta.crossunder/crossover`.
### Colors
- **TF1 Colors**: Bullish (teal), Bearish (red), Retracement (orange).
- **TF2 Colors**: Bullish (blue), Bearish (maroon), Retracement (orange).
- **Area Transparency** (`80`): Fill opacity (0-100).
## 🔶 USAGE
Trailing stops shine in **trend-following strategies**:
- **Entries**: Use structure breaks as signals (e.g., long on bullish BOS from HTF1).
- **Exits**: Trail stops for profit-locking; alert on hits for automation.
- **Confluence**: Overlay HTF1 (e.g., 1H) for bias, HTF2 (e.g., Daily) for major levels—enter LTF only on alignment.
- **Risk Management**: Lower `incr` avoids early stops in chop; reset on `'All'` for aggressive trailing.
! (i.imgur.com)
*HTF1 shows bullish structure (teal line), trailing stop ratchets up—long entry confirmed on LTF pullback.*
! (i.imgur.com)
*TF1 (blue) bearish, TF2 (red) neutral—avoid shorts until alignment.*
! (i.imgur.com)
*Colored based on TF1 trend: Green bodies on bull `os=1`.*
Pro Tip: Test on demo—pair with LuxAlgo's other tools like Smart Money Concepts for full structure ecosystem.
## 🔶 DETAILS: Mathematical Breakdown
On bullish break:
- Local min: `btm = ta.lowest(n - ph_x)` (optimized loop equivalent).
- Stop init: `ts = btm`.
- Update: `Δmax = max - max `, `ts_new = ts + Δmax * (incr/100)`.
Bearish mirrors with `Δmin` (negative, so decrements `ts`).
In MTF: HTF `time` aligns lines via `line.new(htf_time, level, current_time, level, xloc.bar_time)`.
No logs/math libs needed—pure Pine v5 efficiency.
## Disclaimer
This is for educational purposes. Not financial advice. Backtest thoroughly. Original by LuxAlgo—modify at your risk. See TradingView's (www.tradingview.com). Licensed under CC BY-NC-SA 4.0 (attribution to LuxAlgo required).
Z-Score Bands + SignalsZ-Score Statistical Market Analyzer
A multi-dimensional market structure indicator based on standardized deviation & regime logic
English Description
Concept
This indicator builds a statistical model of price behaviour by converting every candle’s movement into a Z-score — how many standard deviations each close is away from its moving average.
It visualizes the normal distribution structure of returns and provides adaptive entry signals for both Mean Reversion and Breakout regimes.
Rather than predicting price direction, it measures statistical displacement from equilibrium and dynamically adjusts the decision logic according to the market’s volatility regime.
⚙️ Main Components
Z-Score Bands (±1σ, ±2σ, ±3σ)
– The core structure visualizes volatility boundaries based on rolling mean and standard deviation.
– Price outside ±2σ often indicates statistical extremes.
Dual Signal Systems
Mean Reversion (MRL / MRS): when price (or return z-score) crosses back inside ±2σ bands.
Breakout (BOL / BOS): when price continues to expand beyond ±2σ.
Volatility Regime Classification
The indicator detects whether the market is currently in a low-vol or high-vol regime using percentile statistics of σ.
Low vol → Mean Reversion preferred
High vol → Breakout preferred
🧠 Adaptive Switches
A. Freeze MA/σ - Use previous-bar stats to avoid repainting and lag.
B. Confirm on Close - Only generate signals once the base-timeframe bar closes (eliminates look-ahead bias).
C. Return-based Signal - Use log-return Z-score instead of price deviation — normalizes volatility across assets.
D. Outlier Filter - Exclude bars with abnormal single-bar returns (e.g., >20%). Reduces false spikes.
E. Regime Gating - Automatically switch between Mean Reversion and Breakout logic depending on volatility percentile.
Each module can be toggled individually to test different statistical behaviours or tailor to a specific market condition.
📊 Interpretation
When the histogram of returns approximates a normal distribution, mean-reversion logic is often more effective.
When price persistently drifts beyond ±2σ or ±3σ, the distribution becomes leptokurtic (fat-tailed) — a breakout structure dominates.
Hence, this tool can help you:
Identify whether an asset behaves more “Gaussian” or “fat-tailed”;
Select the correct trading regime (MR or BO);
Quantitatively measure market tension and volatility clusters.
🧩 Recommended Use
Works on any timeframe and any asset.
Best used on liquid instruments (e.g., XAU/USD, indices, major FX pairs).
Combine with volume, sentiment or structural filters to confirm signals.
For strategy automation, pair with the companion script:
🧠 “Z-Score Strategy • Multi-Source Confirm (MRL/MRS/BOL/BOS)”.
⚠️ Disclaimer
This script is designed for educational and research purposes.
Statistical deviation ≠ directional prediction — use with sound risk management.
Past distribution patterns may shift under new volatility regimes.
==================================================================================
中文说明(简体)
概念简介
该指标基于价格的统计分布原理,将每根 K 线的波动转化为标准化的 Z-Score(标准差偏离值),用于刻画市场处于均衡或偏离状态。
它同时支持 均值回归(Mean Reversion) 与 突破延展(Breakout) 两种逻辑,并可根据市场波动结构自动切换策略模式。
⚙️ 主要功能模块
Z-Score 通道(±1σ / ±2σ / ±3σ)
用滚动均值与标准差动态绘制的统计波动带,价格超出 ±2σ 区域通常意味着极端偏离。
双信号系统
MRL / MRS(均值回归多空):价格重新回到 ±2σ 以内时触发。
BOL / BOS(突破延展多空):价格持续运行在 ±2σ 之外时触发。
波动率分层
自动识别市场处于高波动还是低波动区间:
低波动期 → 适合均值回归逻辑;
高波动期 → 适合突破趋势逻辑。
🧠 A–E 模块说明
A. 固定统计参数:使用上一根 K 线的均值和标准差,防止重绘。
B. 收盘确认信号:仅在当前时间框架收盘后生成信号,避免前视偏差。
C. 收益率信号模式:采用对数收益率的 Z-Score,更具普适性。
D. 异常波过滤:忽略单根极端波动(如 >20%)的噪声信号。
E. 波动率调节逻辑:根据市场处于高/低波动区间,自动切换 MRL/MRS 或 BOL/BOS。
📊 应用解读
如果收益率分布接近正态分布 → 市场倾向震荡,MRL/MRS 效果较佳;
若价格频繁偏离 ±2σ 或 ±3σ → 市场呈现“肥尾”分布,趋势延展占主导。
因此,该指标的核心目标是:
识别当前市场的统计结构类型;
根据波动特征自动切换交易逻辑;
提供结构化、可量化的市场状态刻画。
💡 使用建议
适用于所有时间框架与金融品种。
建议结合成交量或结构性指标过滤。
若用于策略回测,可搭配同名 “Z-Score Strategy • Multi-Source Confirm” 策略脚本。
⚠️ 免责声明
本指标仅用于研究与教学,不构成任何投资建议。
统计偏离 ≠ 趋势预测,实际市场行为可能在不同波动结构下改变。
ICT PDA - Gold & BTC (QuickScalp Bias/FVG/OB/OTE + Alerts)What this script does
This indicator implements a complete ICT Price Delivery Algorithm (PDA) workflow tailored for XAUUSD and BTCUSD. It combines HTF bias, OTE zones, Fair Value Gaps, Order Blocks, micro-BOS confirmation, and liquidity references into a single, cohesive tool with early and final alerts. The script is not a mashup for cosmetic plotting; each component feeds the next decision step.
Why this is original/useful
Symbol-aware impulse filter: A dynamic displacement threshold kTune adapts to Gold/BTC volatility (body/ATR vs. per-symbol factor), reducing noise on fast markets without hiding signals.
Scalping preset: “Quick Clean” mode limits drawings to the most recent bars and keeps only the latest FVG/OB zones for a clear chart.
Three display modes: Full, Clean, and Signals-Only to match analysis vs. execution.
Actionable alerts: Early heads-up when price enters OTE in the HTF bias direction, and Final alerts once mitigation + micro-break confirm the setup.
How it works (high-level logic)
HTF Bias: Uses request.security() on a user-selected timeframe (e.g., 240m) and EMA filter. Bias = close above/below HTF EMA.
Dealing Range & OTE: Recent swing high/low (pivot length configurable) define the range; OTE (62–79%) boxes are drawn contextually for up/down ranges.
Displacement: A candle’s body/ATR must exceed kTune and break short-term structure (displacement up/down).
FVG: 3-bar imbalance (bull: low > high ; bear: high < low ). Latest gaps are tracked and extended.
Order Blocks: Last opposite candle prior to a qualifying displacement that breaks recent highs/lows; zones are drawn and extended.
Entry & Alerts:
Long: Bullish bias + price inside buy-OTE + mitigation of a bullish FVG or OB + micro BOS up → “PDA Long (Final)”.
Short: Bearish bias + price inside sell-OTE + mitigation of a bearish FVG or OB + micro BOS down → “PDA Short (Final)”.
Early Alerts: Trigger as soon as price enters OTE in the direction of the active bias.
Inputs & controls (key ones)
Bias (HTF): timeframe minutes, EMA length.
Structure: ATR length, Impulse Threshold (Body/ATR), swing pivot length, OB look-back.
OTE/FVG/OB/LP toggles: show/hide components.
Auto-Tune: per-symbol factors for Gold/BTC + manual tweak.
Display/Performance: View Mode, keep-N latest FVG/OB, limit drawings to last N bars.
Recommended usage (scalping)
Timeframes: Execute on M1–M5 with HTF bias from 120–240m.
Defaults (starting point): ATR=14, Impulse Threshold≈1.6; Gold factor≈1.05, BTC factor≈0.90; Keep FVG/OB=2; last 200–300 bars; View Mode=Clean.
Workflow: Wait for OTE in bias direction → see mitigation (FVG/OB) → confirm with micro BOS → manage risk to nearest liquidity (prev-day H/L or recent swing).
Alerts available
“PDA Early Long/Short”
“PDA Long (Final)” / “PDA Short (Final)”
Attach alerts on “Any alert() function call” or the listed conditions.
Chart & screenshots
Please include symbol and timeframe on screenshots. The on-chart HUD shows the script name and state to help reviewers understand context.
Limitations / notes
This is a discretionary framework. Signals can cluster during news or extreme volatility; use your own risk management. No guarantee of profitability.
Changelog (brief)
v1.2 QuickScalp: added Quick Clean preset, safer array handling, symbol-aware impulse tuning, display modes.
------------------------------
ملخص عربي:
المؤشر يطبق تسلسل PDA عملي للذهب والبتكوين: تحيز من فريم أعلى، مناطق OTE، فجوات FVG، بلوكات أوامر OB، وتأكيد micro-BOS، مع تنبيهات مبكرة ونهائية. تمت إضافة وضع “Quick Clean” لتقليل العناصر على الشارت وحساسية إزاحة تتكيّف مع الأصل. للاستخدام كسكالب: نفّذ على M1–M5 مع تحيز 120–240 دقيقة، وابدأ من الإعدادات المقترحة بالأعلى. هذا إطار سلوكي وليس توصية مالية.
Whale Fractal Levels (V1.0)What it does
This indicator plots Fractal Levels (Bill Williams pivots) as horizontal lines and prints clean signals for:
BO+ / BO− → Breakouts through the latest fractal high/low
SW↑ / SW↓ → Liquidity sweeps (wick pierces, close rejects)
RE+ / RE− → Retests of the broken level after a confirmed breakout
Cyan = support (fractal lows).
Lilac = resistance (fractal highs).
How it works
Detects fractals with Left/Right = lr. A pivot is confirmed after lr bars on the right → the level itself doesn’t repaint.
Each confirmed fractal spawns a horizontal line extended to the right. You can limit how many lines stay on chart and auto-expire old ones.
Signals reference the most recent fractal high/low only and are edge-triggered (crossover/crossunder) with a cooldown so you don’t get a marker on every bar near the level.
A small state machine remembers the last breakout to validate the next retest.
Inputs (Settings)
Fractals
Left/Right (BW fractal) — Sensitivity of pivots (lower = more reactive, higher = cleaner).
MAX number of levels to display — Keep only the most recent N lines.
Level lifetime (bars) — Auto-delete lines after N bars to declutter.
Signals
Cooldown between signals (bars) — Minimum spacing between markers (anti-spam).
Show Breakouts (BO±) — Toggle breakout markers.
Show Sweeps (SW↑/SW↓) — Toggle sweep markers.
Show Retests (RE±) — Toggle retest markers.
Display
Show fractal lines / Line width / Line transparency (0..100)
Alerts (ready to use)
BO+ (Fractal), BO- (Fractal)
SW↑ (Fractal), SW↓ (Fractal)
RE+ (Fractal), RE- (Fractal)
6FG Plan Checklist & Alerts - Final Version🧠 SCRIPT OVERVIEW: "6FG A+ SETUP - Simplified"
This script is designed to identify high-probability A+ trade setups in alignment with your personal 6FG trading plan, based on:
H1 Break of Structure (required)
4H trend confirmation
15M candle confirmation
Session filter
A+ Label & Visual Table Checklist
✅ KEY COMPONENTS
1. Toggle Inputs
These allow you to customize your view and filters without changing the code:
showSession: Only allow alerts inside Asian or NY sessions
show4hTrend: Include or ignore 4H directional bias
show15mConfirm: Include or ignore confirmation from 15M candles
showTable: Display checklist table on chart
showLabel: Display the “✅ A+” label on qualifying bars
2. Session Filter
Defines valid timeframes for trading (Asian or New York)
Helps avoid setups during low-liquidity hours
Controlled by showSession
3. 4H Trend (Confirmation Only)
Uses a 20-period SMA on 4H to detect general bias:
Bullish = Price above SMA
Bearish = Price below SMA
This trend is not mandatory for an alert if toggle is off
4. H1 Break of Structure (REQUIRED)
Looks at the highest high and lowest low of the last 10 candles on the 1H timeframe
Detects either:
Bullish BOS = Current close > highest high
Bearish BOS = Current close < lowest low
This is the core trigger for the A+ setup
If BOS doesn't happen, no entry is valid
5. 15M Confirmation Candles
(Optional - controlled by show15mConfirm)
Checks for one of three confirmation patterns:
Bullish Engulfing
Bearish Engulfing
Pin Bar
This adds confidence but can be toggled off
6. Entry Conditions (A+ Setup)
All the following must be true for entryOK = true:
✅ H1 BOS (required)
✅ Session is valid (if toggle is on)
✅ 15M confirmation pattern (if toggle is on)
✅ 4H trend (if toggle is on)
7. Visual Output
If entryOK = true:
✅ A green "A+" label appears below price
✅ A checklist table on the top-right shows:
Session status ✔️❌
4H bullish/bearish ✔️❌
H1 BOS ✔️❌
15M confirmation ✔️❌
Final Direction: Bullish / Bearish / —
A+ Setup: ✔️❌
8. Alerts
You will receive a TradingView alert when an A+ Setup is detected:
Contrarian Market Structure BreakMarket Structure Break application was inspired and adapted from Market Structure Oscillator indicator developed by Lux Algo. So much credit to their work.
This indicator pairs nicely with the Contrarian 100 MA and can be located here:
Indicator Description: Contrarian Market Structure BreakOverview
The "Contrarian Market Structure Break" indicator is a versatile tool tailored for traders seeking to identify potential reversal opportunities by analyzing market structure across multiple timeframes. Built on Institutional Concepts of Structure (ICT), this indicator detects Break of Structure (BOS) and Change of Character (CHoCH) patterns across short-term, intermediate-term, and long-term swings, plotting them with customizable lines and labels. It generates contrarian buy and sell signals when price breaks key swing levels, with a unique "Blue Dot Tracker" to monitor consecutive buy signals for trend confirmation. Optimized for the daily timeframe, this indicator is adaptable to other timeframes with proper testing, making it ideal for traders of forex, stocks, or cryptocurrencies.
How It Works
The indicator combines three key components to provide a comprehensive view of market dynamics: Multi-Timeframe Market Structure Analysis: It identifies swing highs and lows across short-term, intermediate-term, and long-term periods, plotting BOS (continuation) and CHoCH (reversal) events with customizable line styles and labels.
Contrarian Signal Generation: Buy and sell signals are triggered when the price crosses below swing lows (buy) or above swing highs (sell), indicating potential reversals in overextended markets.
Blue Dot Tracker: A unique feature that counts consecutive buy signals ("blue dots") and highlights a "Hold Investment" state with a yellow background when three or more buy signals occur, suggesting a potential trend continuation.
Signals are visualized as small circles below (buy) or above (sell) price bars, and a table in the bottom-right corner displays the blue dot count and recommended action (Hold or Flip Investment), enhancing decision-making clarity.
Mathematical Concepts Swing Detection: The indicator identifies swing highs and lows by comparing price patterns over three bars, ensuring robust detection of pivot points. A swing high occurs when the middle bar’s high is higher than the surrounding bars, and a swing low occurs when the middle bar’s low is lower.
Market Structure Logic: BOS is detected when the price breaks a prior swing high (bullish) or low (bearish) in the direction of the current trend, while CHoCH signals a potential reversal when the price breaks a swing level against the trend. These are calculated across three timeframes for a multi-dimensional perspective.
Blue Dot Tracker: This feature counts consecutive buy signals and tracks the entry price. If three or more buy signals occur without a sell signal, the indicator enters a "Hold Investment" state, marked by a yellow background, until the price exceeds the entry price or a sell signal occurs.
Entry and Exit Rules Buy Signal (Blue Dot Below Bar): Triggered when the closing price crosses below a swing low on either the intermediate-term or long-term timeframe, suggesting an oversold condition and potential reversal upward. Short-term signals can be enabled but are disabled by default to reduce noise.
Sell Signal (White Dot Above Bar): Triggered when the closing price crosses above a swing high on either the intermediate-term or long-term timeframe, indicating an overbought condition and potential reversal downward.
Blue Dot Tracker Logic: After a buy signal, the indicator increments a blue dot counter and records the entry price. If three or more consecutive buy signals occur (blueDotCount ≥ 3), the indicator enters a "Hold Investment" state, highlighted with a yellow background, suggesting a potential trend continuation. The "Hold Investment" state ends when the price exceeds the entry price or a sell signal occurs, resetting the counter.
Exit Rules: Traders can exit buy positions when a sell signal appears, the price exceeds the entry price during a "Hold Investment" state, or based on additional confirmation from BOS/CHoCH patterns or other technical analysis tools. Always use proper risk management.
Recommended Usage
The indicator is optimized for the daily timeframe, where it effectively captures significant reversal and continuation patterns in trending or ranging markets. It can be adapted to other timeframes (e.g., 1H, 4H, 15M) with careful testing of settings, particularly enabling/disabling short-term structure analysis to suit market conditions. Backtesting is recommended to optimize performance for your chosen asset and timeframe.
Customization Options Market Structure Display: Toggle short-term, intermediate-term, and long-term structures on or off, with customizable line styles (solid, dashed, dotted) and colors for bullish and bearish breaks.
Labels: Enable or disable BOS/CHoCH labels for each timeframe to reduce chart clutter.
Signal Visibility: Hide buy/sell signals if desired for a cleaner chart.
Blue Dot Tracker: Monitor the blue dot count and action (Hold or Flip Investment) via the table display, which is fully customizable in terms of position and appearance.
Why Use This Indicator?
The "Contrarian Market Structure Break" indicator offers a robust framework for identifying high-probability reversal and continuation setups using ICT principles. Its multi-timeframe analysis, clear signal visualization, and innovative Blue Dot Tracker provide traders with actionable insights into market dynamics. Whether you're a swing trader or a day trader, this indicator’s flexibility and intuitive design make it a valuable addition to your trading arsenal.
Note for TradingView Moderators
This script complies with TradingView's House Rules by providing an educational and transparent description without performance claims or guarantees. It is designed to assist traders in technical analysis and should be used alongside proper risk management and personal research. The code is original, well-documented, and includes customizable inputs and clear visual outputs to enhance the user experience.
Tips for Users:
Backtest thoroughly on your chosen asset and timeframe to validate signal reliability. Combine with other indicators or price action analysis for confirmation of entries and exits. Adjust timeframe settings and enable/disable short-term structures to match market volatility and your trading style.
Hope the "Contrarian Market Structure Break" indicator enhances your trading strategy and helps you navigate the markets with confidence! Happy trading!
Contrarian with 5 Levels5 Levels application was inspired and adapted from Predictive Ranges indicator developed by Lux Algo. So much credit to their work.
Indicator Description: Contrarian with 5 Levels
Overview
The "Contrarian with 5 Levels" indicator is a powerful tool designed for traders seeking to identify potential reversal points in the market by combining contrarian trading principles with dynamic support and resistance levels. This indicator overlays a Simple Moving Average (SMA) shadow and five adaptive price levels, integrating Institutional Concepts of Structure (ICT) such as Break of Structure (BOS) and Market Structure Shift (MSS) to provide clear buy and sell signals. It is ideal for traders looking to capitalize on overextended price movements, particularly on the daily timeframe, though it is adaptable to other timeframes with proper testing.
How It Works
The indicator operates on two core components:
Contrarian SMA Shadow: A shaded region between the SMA of highs and lows (default length: 100) acts as a dynamic zone to identify overbought or oversold conditions. When the price moves significantly outside this shadow, it signals potential exhaustion, aligning with contrarian trading principles.
Five Adaptive Levels: Using a modified ATR-based calculation, the indicator plots five key levels (two resistance, one average, and two support) that adjust dynamically to market volatility. These levels serve as critical zones for potential reversals.
ICT Structure Analysis: The indicator incorporates BOS and MSS logic to detect shifts in market structure, plotting bullish and bearish breaks with customizable colors for clarity.
Buy and sell signals are generated when the price crosses key levels while outside the SMA shadow, indicating potential reversal opportunities. The signals are visualized as small circles above (sell) or below (buy) the price bars, making them easy to interpret.
Mathematical Concepts
SMA Shadow: The indicator calculates the SMA of the highest highs and lowest lows over a user-defined period (default: 100). This creates a dynamic range that highlights extreme price movements, which contrarian traders often target for reversals.
Five Levels Calculation: The five levels are derived using a volatility-adjusted formula based on the Average True Range (ATR). The average level (central pivot) is calculated as a smoothed price, with two upper (resistance) and two lower (support) levels offset by a multiple of the ATR (default multiplier: 6.0). This adaptive approach ensures the levels remain relevant across varying market conditions.
ICT BOS/MSS Logic: The indicator identifies pivot highs and lows on a user-defined timeframe (default: daily) to detect structural breaks. A BOS occurs when the price breaks a prior pivot high (bullish) or low (bearish), while an MSS signals a shift in market direction, providing context for potential reversals.
Entry and Exit Rules
Buy Signal (Blue Dot Below Bar): Triggered when the closing price is below both the SMA shadow (smaLow) and the average level (avg), and the price crosses under either the first or second support level (prS1 or prS2). This suggests the market may be oversold, indicating a potential reversal upward.
Sell Signal (White Dot Above Bar): Triggered when the closing price is above both the SMA shadow (smaHigh) and the average level (avg), and the price crosses over either the first or second resistance level (prR1 or prR2). This suggests the market may be overbought, indicating a potential reversal downward.
Recommended Usage
This indicator is optimized for the daily timeframe, where it has been designed to capture significant reversal opportunities in trending or ranging markets. However, it can be adapted to other timeframes (e.g., 1H, 4H, 15M) with proper testing of settings such as SMA length, ATR multiplier, and structure timeframe. Users are encouraged to backtest and optimize parameters to suit their trading style and asset class.
Customization Options
SMA Length: Adjust the SMA period (default: 100) to control the sensitivity of the shadow.
Five Levels Length and Multiplier: Modify the length (default: 200) and ATR multiplier (default: 6.0) to fine-tune the support/resistance levels.
Timeframe Settings: Set separate timeframes for structure analysis and five levels to align with your trading strategy.
Color and Signal Display: Customize colors for BOS/MSS lines and toggle buy/sell signals on or off for a cleaner chart.
Why Use This Indicator?
The "Contrarian with 5 Levels" indicator combines the power of contrarian trading with dynamic levels and market structure analysis, offering a unique perspective for identifying high-probability reversal setups. Its intuitive design, customizable settings, and clear signal visualization make it suitable for both novice and experienced traders. Whether you're trading forex, stocks, or cryptocurrencies, this indicator provides a robust framework for spotting potential turning points in the market.
We hope you find the "Contrarian with 5 Levels" indicator a valuable addition to your trading toolkit! Happy trading!
Please leave feedback in the comments section.
Market Structure Confluence [AlgoAlpha]OVERVIEW
This script is called "Market Structure Confluence" and it combines classic market structure analysis with a dynamic volatility-based band system to detect shifts in trend and momentum more reliably. It tracks key swing points (higher highs, higher lows, lower highs, lower lows) to define the trend, then overlays a basis and ATR-smoothed volatility bands to catch rejection signals and highlight potential inflection points in the market.
CONCEPTS
Market structure is the foundation of price action trading, focusing on the relationship between successive highs and lows to understand trend conditions. Break of Structure (BOS) and Change of Character (CHoCH) events are important because they signal when a market might be shifting direction. This script enhances traditional structure by integrating volatility bands, which act like dynamic support/resistance zones based on ATR, allowing it to capture momentum surges and rejections beyond just structural shifts.
FEATURES
Swing Detection: It detects and labels Higher Highs (HH), Higher Lows (HL), Lower Highs (LH), and Lower Lows (LL) based on user-defined time horizons, helping traders quickly spot the trend direction.
BOS and CHoCH Lines: When a previous swing point is broken, the script automatically plots a Break of Structure (BOS) line. If the break represents a major trend reversal (a CHoCH), it is marked differently to separate simple breakouts from real trend changes.
Rejection Signals: Special arrows plot when price pierces a band and then pulls back, suggesting a potential trap move or rejection signal in the direction of the new structure.
Alerts: Built-in alerts for structure breaks, CHoCHs, swing points, rejections at bands, and trend flips make it easy to automate setups without manually watching the chart.
USAGE
Set your preferred swing detection size depending on your timeframe and trading style — smaller numbers for intraday, larger numbers for swing trading. Choose whether you want BOS/CHoCH confirmed by candle closes or by wick breaks. Use the volatility band settings to fine-tune how tightly or loosely the bands hug the price, adjusting sensitivity based on market conditions. When a BOS or CHoCH occurs, or when a rejection happens at the bands, the script will highlight it clearly and optionally trigger alerts. Watch for combinations where both structure breaks and volatility band rejections happen together — those are high-quality trade signals. This setup works best when used with basic trend filtering and higher timeframe confirmation.
PRO SMC Full Suite BY Mashrur“PRO SMC Full Suite BY Mashrur”
A Pine Script (v5) indicator for TradingView, focused on Smart Money Concepts (SMC). It overlays on price charts and provides visual tools for identifying key institutional trading behaviors.
🎯 Purpose
This script is designed to help traders analyze and trade using SMC principles by automatically detecting:
Order Blocks (OBs)
Fair Value Gaps (FVGs)
Breaks of Structure (BoS)
Liquidity Sweeps (Buy/Sell Side Liquidity Grabs)
Mitigation Entries
⚙️ Inputs / Settings
Show Fair Value Gaps: Toggle FVGs on/off
Higher Timeframe (HTF): Choose HTF for OB analysis
Use HTF OBs: Switch between current TF OBs and HTF OBs
Show Order Blocks: Toggle OBs on/off
Show OB Mitigation Entries: Toggle mitigation entry signals on/off
🧠 Core Logic Overview
🔹 1. Swing Points Detection
Identifies swing highs/lows using a 3-bar pattern (pivot-based structure).
🔹 2. Break of Structure (BoS)
A bullish BoS happens when price closes above the last swing high.
A bearish BoS occurs when price closes below the last swing low.
🔹 3. Order Block Detection
Upon BoS, the script marks the previous candle as the Order Block.
Uses either:
Current TF OBs (based on price action)
HTF OBs (based on candle body direction)
🔹 4. Mitigation Entry Logic
A mitigation occurs when price returns to the OB and reacts with confirmation:
Bullish: price dips into OB and closes above
Bearish: price wicks into OB and closes below
Plots entry markers for these mitigations.
🔹 5. Liquidity Sweeps
Detects equal highs/lows (liquidity zones)
Marks Buy SL when price dips below an equal low then closes above
Marks Sell SL when price breaks above an equal high then closes below
🔹 6. Fair Value Gaps (FVGs)
FVG Up: Gap between candle 3 and candle 1 (low > high )
FVG Down: Gap between candle 3 and candle 1 (high < low )
Plots highlighted boxes on these gaps
📊 Visual Elements
Boxes: For OB zones and FVGs
Shapes:
Labels: OB Buy/Sell entries
Triangles: Buy SL / Sell SL liquidity sweeps
Lines: Equal Highs and Lows
🔔 Alerts
Built-in alerts to notify when:
OB entries are confirmed
Liquidity sweeps happen
Helps in automation or active monitoring
✅ Ideal For
Traders using SMC, ICT concepts, Wyckoff, or institutional trading models
Anyone wanting to automate detection of structural elements on their chart
FluidTrades - SMC Lite
Price action and supply and demand is a key strategy use in trading. We wanted it to be easy and efficient for user to identify these zones, so the user can focus less on marking up charts and focus more on executing trades.
This indicator shows you supply and demand zones by using pivot points to show you the recent highs and the recent lows.
Features
This indicator includes some features relevant to SMC , these are highlighted below:
Full internal & swing market structure labeling in real-time
Swing Structure: Displays the swing structure labels & solid lines on the chart (BOS).
Supply & demand ( bullish & bearish )
Swing Points: Displays swing points labels on chart such as HH, HL, LH, LL.
Options to style the indicator to more easily display these concepts
White OB (supply): search for short opportunities
Blue OB (demand): search for long opportunities
Break of structure ( BOS )
For markets to move up and down a break in market structure must occur. A break in market structure occurs when the market begins to shift direction and break the previous HH and HL or HL and LL of the market. We also integrated the feature that you can see the BOS lines. In the indicator settings you can adjust the color of the label.
Settings
SwingHigh/Low Length: Allows the user to select Historical (default) or Present, which displays only recent data on the chart.
Supply/demand box width: Allows user to change the size of the supply and demand box
History to keep: allows the user to select how many most recent supply & demand box appear on the chart.
Visual settings
Show zig zag : allow user to see market patters within the market
Show price action labels: allow user to turn on/off the (swing points)
Supply box color : allow users to change the color of their supply box
Demand box color : allow users to change the color of their supply box
Bos label color : allow users to change the color of their BOS label
Poi label color : allow user to change the color of their POI label
Price action label : allow users to change the color of their swing points labels
Zig zag color : allow users to change the color of the zig/zag market patters
Warning
Never blindly take a trade on a supply/demand box - wait for a proper market structure to occur before considering a trade.
SMC IndicatorTitle: Smart Money Concepts Market Structure
Description: This is a technical analysis tool designed to map Market Structure using Smart Money Concepts (SMC) logic. Unlike standard ZigZag indicators that often clutter the chart with repainting lines, this script focuses on delivering a clean, objective view of Trend Structure (Highs/Lows) and Structural Breaks.
The Problem It Solves: Traders often struggle to identify the valid "Swing High" or "Swing Low" in real-time. This indicator automates that process using a non-repainting detection engine, helping traders objectively spot Trend Continuations (BoS) and Potential Reversals (CHoCH).
How It Works:
1. Pivot Detection (The ZigZag Engine): The script identifies Swing Points based on a user-defined Depth and Deviation %.
High (H): A peak is confirmed when price retraces by the deviation percentage.
Low (L): A trough is confirmed when price rallies by the deviation percentage.
Ghost Line: A dotted line connects the last confirmed pivot to the current live price, allowing you to visualize the developing structure before it locks in.
2. Structure Mapping: Once pivots are confirmed, the script analyzes price action relative to those points:
BoS (Break of Structure): Trend Continuation. Triggered when price breaks a confirmed pivot in the direction of the trend (e.g., breaking a Higher High in an uptrend).
CHoCH (Change of Character): Trend Reversal. Triggered when price breaks a major pivot in the opposite direction (e.g., breaking a Higher Low in an uptrend).
Visual Features:
Minimalist Design: Uses floating text labels (no background boxes) to keep price action visible.
Color Coded: Blue/Maroon for Continuation (BoS), Aqua/Orange for Reversal (CHoCH).
Settings Guide:
ZigZag Deviation %: Set this to 5.0 for Higher Timeframes (Daily/4H) or lower it to 0.2 - 0.5 for Intraday Scalping (1m/5m).
Ghost Line: Toggle on/off to see the real-time projection.
Alerts: Full alert support included for Bullish/Bearish BoS and CHoCH signals.
Credits: Logic based on standard Price Action and Market Structure theory.
SR & POI Indicator//@version=5
indicator(title='SR & POI Indicator', overlay=true, max_boxes_count=500, max_lines_count=500, max_labels_count=500)
//============================================================================
// SUPPLY/DEMAND & POI SETTINGS
//============================================================================
swing_length = input.int(10, title = 'Swing High/Low Length', group = 'Supply/Demand Settings', minval = 1, maxval = 50)
history_of_demand_to_keep = input.int(20, title = 'History To Keep', group = 'Supply/Demand Settings', minval = 5, maxval = 50)
box_width = input.float(2.5, title = 'Supply/Demand Box Width', group = 'Supply/Demand Settings', minval = 1, maxval = 10, step = 0.5)
show_price_action_labels = input.bool(false, title = 'Show Price Action Labels', group = 'Supply/Demand Visual Settings')
supply_color = input.color(color.new(#EDEDED,70), title = 'Supply', group = 'Supply/Demand Visual Settings', inline = '3')
supply_outline_color = input.color(color.new(color.white,75), title = 'Outline', group = 'Supply/Demand Visual Settings', inline = '3')
demand_color = input.color(color.new(#00FFFF,70), title = 'Demand', group = 'Supply/Demand Visual Settings', inline = '4')
demand_outline_color = input.color(color.new(color.white,75), title = 'Outline', group = 'Supply/Demand Visual Settings', inline = '4')
bos_label_color = input.color(color.white, title = 'BOS Label', group = 'Supply/Demand Visual Settings')
poi_label_color = input.color(color.white, title = 'POI Label', group = 'Supply/Demand Visual Settings')
swing_type_color = input.color(color.black, title = 'Price Action Label', group = 'Supply/Demand Visual Settings')
//============================================================================
// SR SETTINGS
//============================================================================
enableSR = input(true, "SR On/Off", group="SR Settings")
colorSup = input(#00DBFF, "Support Color", group="SR Settings")
colorRes = input(#E91E63, "Resistance Color", group="SR Settings")
strengthSR = input.int(2, "S/R Strength", 1, group="SR Settings")
lineStyle = input.string("Dotted", "Line Style", , group="SR Settings")
lineWidth = input.int(2, "S/R Line Width", 1, group="SR Settings")
useZones = input(true, "Zones On/Off", group="SR Settings")
useHLZones = input(true, "High Low Zones On/Off", group="SR Settings")
zoneWidth = input.int(2, "Zone Width %", 0, tooltip="it's calculated using % of the distance between highest/lowest in last 300 bars", group="SR Settings")
expandSR = input(true, "Expand SR", group="SR Settings")
//============================================================================
// SUPPLY/DEMAND FUNCTIONS
//============================================================================
// Function to add new and remove last in array
f_array_add_pop(array, new_value_to_add) =>
array.unshift(array, new_value_to_add)
array.pop(array)
// Function for swing H & L labels
f_sh_sl_labels(array, swing_type) =>
var string label_text = na
if swing_type == 1
if array.get(array, 0) >= array.get(array, 1)
label_text := 'HH'
else
label_text := 'LH'
label.new(bar_index - swing_length, array.get(array,0), text = label_text, style=label.style_label_down, textcolor = swing_type_color, color = color.new(swing_type_color, 100), size = size.tiny)
else if swing_type == -1
if array.get(array, 0) >= array.get(array, 1)
label_text := 'HL'
else
label_text := 'LL'
label.new(bar_index - swing_length, array.get(array,0), text = label_text, style=label.style_label_up, textcolor = swing_type_color, color = color.new(swing_type_color, 100), size = size.tiny)
// Function to check overlapping
f_check_overlapping(new_poi, box_array, atr) =>
atr_threshold = atr * 2
okay_to_draw = true
for i = 0 to array.size(box_array) - 1
top = box.get_top(array.get(box_array, i))
bottom = box.get_bottom(array.get(box_array, i))
poi = (top + bottom) / 2
upper_boundary = poi + atr_threshold
lower_boundary = poi - atr_threshold
if new_poi >= lower_boundary and new_poi <= upper_boundary
okay_to_draw := false
break
else
okay_to_draw := true
okay_to_draw
// Function to draw supply or demand zone
f_supply_demand(value_array, bn_array, box_array, label_array, box_type, atr) =>
atr_buffer = atr * (box_width / 10)
box_left = array.get(bn_array, 0)
box_right = bar_index
var float box_top = 0.00
var float box_bottom = 0.00
var float poi = 0.00
if box_type == 1
box_top := array.get(value_array, 0)
box_bottom := box_top - atr_buffer
poi := (box_top + box_bottom) / 2
else if box_type == -1
box_bottom := array.get(value_array, 0)
box_top := box_bottom + atr_buffer
poi := (box_top + box_bottom) / 2
okay_to_draw = f_check_overlapping(poi, box_array, atr)
if box_type == 1 and okay_to_draw
box.delete( array.get(box_array, array.size(box_array) - 1) )
f_array_add_pop(box_array, box.new( left = box_left, top = box_top, right = box_right, bottom = box_bottom, border_color = supply_outline_color,
bgcolor = supply_color, extend = extend.right, text = 'SUPPLY', text_halign = text.align_center, text_valign = text.align_center, text_color = poi_label_color, text_size = size.small, xloc = xloc.bar_index))
box.delete( array.get(label_array, array.size(label_array) - 1) )
f_array_add_pop(label_array, box.new( left = box_left, top = poi, right = box_right, bottom = poi, border_color = color.new(poi_label_color,90),
bgcolor = color.new(poi_label_color,90), extend = extend.right, text = 'POI', text_halign = text.align_left, text_valign = text.align_center, text_color = poi_label_color, text_size = size.small, xloc = xloc.bar_index))
else if box_type == -1 and okay_to_draw
box.delete( array.get(box_array, array.size(box_array) - 1) )
f_array_add_pop(box_array, box.new( left = box_left, top = box_top, right = box_right, bottom = box_bottom, border_color = demand_outline_color,
bgcolor = demand_color, extend = extend.right, text = 'DEMAND', text_halign = text.align_center, text_valign = text.align_center, text_color = poi_label_color, text_size = size.small, xloc = xloc.bar_index))
box.delete( array.get(label_array, array.size(label_array) - 1) )
f_array_add_pop(label_array, box.new( left = box_left, top = poi, right = box_right, bottom = poi, border_color = color.new(poi_label_color,90),
bgcolor = color.new(poi_label_color,90), extend = extend.right, text = 'POI', text_halign = text.align_left, text_valign = text.align_center, text_color = poi_label_color, text_size = size.small, xloc = xloc.bar_index))
// Function to change supply/demand to BOS if broken
f_sd_to_bos(box_array, bos_array, label_array, zone_type) =>
if zone_type == 1
for i = 0 to array.size(box_array) - 1
level_to_break = box.get_top(array.get(box_array,i))
if close >= level_to_break
copied_box = box.copy(array.get(box_array,i))
f_array_add_pop(bos_array, copied_box)
mid = (box.get_top(array.get(box_array,i)) + box.get_bottom(array.get(box_array,i))) / 2
box.set_top(array.get(bos_array,0), mid)
box.set_bottom(array.get(bos_array,0), mid)
box.set_extend( array.get(bos_array,0), extend.none)
box.set_right( array.get(bos_array,0), bar_index)
box.set_text( array.get(bos_array,0), 'BOS' )
box.set_text_color( array.get(bos_array,0), bos_label_color)
box.set_text_size( array.get(bos_array,0), size.small)
box.set_text_halign( array.get(bos_array,0), text.align_center)
box.set_text_valign( array.get(bos_array,0), text.align_center)
box.delete(array.get(box_array, i))
box.delete(array.get(label_array, i))
if zone_type == -1
for i = 0 to array.size(box_array) - 1
level_to_break = box.get_bottom(array.get(box_array,i))
if close <= level_to_break
copied_box = box.copy(array.get(box_array,i))
f_array_add_pop(bos_array, copied_box)
mid = (box.get_top(array.get(box_array,i)) + box.get_bottom(array.get(box_array,i))) / 2
box.set_top(array.get(bos_array,0), mid)
box.set_bottom(array.get(bos_array,0), mid)
box.set_extend( array.get(bos_array,0), extend.none)
box.set_right( array.get(bos_array,0), bar_index)
box.set_text( array.get(bos_array,0), 'BOS' )
box.set_text_color( array.get(bos_array,0), bos_label_color)
box.set_text_size( array.get(bos_array,0), size.small)
box.set_text_halign( array.get(bos_array,0), text.align_center)
box.set_text_valign( array.get(bos_array,0), text.align_center)
box.delete(array.get(box_array, i))
box.delete(array.get(label_array, i))
// Function to extend box endpoint
f_extend_box_endpoint(box_array) =>
for i = 0 to array.size(box_array) - 1
box.set_right(array.get(box_array, i), bar_index + 100)
//============================================================================
// SR FUNCTIONS
//============================================================================
percWidth(len, perc) => (ta.highest(len) - ta.lowest(len)) * perc / 100
//============================================================================
// SUPPLY/DEMAND CALCULATIONS
//============================================================================
atr = ta.atr(50)
swing_high = ta.pivothigh(high, swing_length, swing_length)
swing_low = ta.pivotlow(low, swing_length, swing_length)
var swing_high_values = array.new_float(5,0.00)
var swing_low_values = array.new_float(5,0.00)
var swing_high_bns = array.new_int(5,0)
var swing_low_bns = array.new_int(5,0)
var current_supply_box = array.new_box(history_of_demand_to_keep, na)
var current_demand_box = array.new_box(history_of_demand_to_keep, na)
var current_supply_poi = array.new_box(history_of_demand_to_keep, na)
var current_demand_poi = array.new_box(history_of_demand_to_keep, na)
var supply_bos = array.new_box(5, na)
var demand_bos = array.new_box(5, na)
// New swing high
if not na(swing_high)
f_array_add_pop(swing_high_values, swing_high)
f_array_add_pop(swing_high_bns, bar_index )
if show_price_action_labels
f_sh_sl_labels(swing_high_values, 1)
f_supply_demand(swing_high_values, swing_high_bns, current_supply_box, current_supply_poi, 1, atr)
// New swing low
else if not na(swing_low)
f_array_add_pop(swing_low_values, swing_low)
f_array_add_pop(swing_low_bns, bar_index )
if show_price_action_labels
f_sh_sl_labels(swing_low_values, -1)
f_supply_demand(swing_low_values, swing_low_bns, current_demand_box, current_demand_poi, -1, atr)
f_sd_to_bos(current_supply_box, supply_bos, current_supply_poi, 1)
f_sd_to_bos(current_demand_box, demand_bos, current_demand_poi, -1)
f_extend_box_endpoint(current_supply_box)
f_extend_box_endpoint(current_demand_box)
//============================================================================
// SR CALCULATIONS & PLOTTING
//============================================================================
rb = 10
prd = 284
ChannelW = 10
label_loc = 55
style = lineStyle == "Solid" ? line.style_solid : lineStyle == "Dotted" ? line.style_dotted : line.style_dashed
ph = ta.pivothigh(rb, rb)
pl = ta.pivotlow (rb, rb)
sr_levels = array.new_float(21, na)
prdhighest = ta.highest(prd)
prdlowest = ta.lowest(prd)
cwidth = percWidth(prd, ChannelW)
zonePerc = percWidth(300, zoneWidth)
aas = array.new_bool(41, true)
u1 = 0.0, u1 := nz(u1 )
d1 = 0.0, d1 := nz(d1 )
highestph = 0.0, highestph := highestph
lowestpl = 0.0, lowestpl := lowestpl
var sr_levs = array.new_float(21, na)
label hlabel = na, label.delete(hlabel )
label llabel = na, label.delete(llabel )
var sr_lines = array.new_line(21, na)
var sr_linesH = array.new_line(21, na)
var sr_linesL = array.new_line(21, na)
var sr_linesF = array.new_linefill(21, na)
var sr_labels = array.new_label(21, na)
if ph or pl
for x = 0 to array.size(sr_levels) - 1
array.set(sr_levels, x, na)
highestph := prdlowest
lowestpl := prdhighest
countpp = 0
for x = 0 to prd
if na(close )
break
if not na(ph ) or not na(pl )
highestph := math.max(highestph, nz(ph , prdlowest), nz(pl , prdlowest))
lowestpl := math.min(lowestpl, nz(ph , prdhighest), nz(pl , prdhighest))
countpp += 1
if countpp > 40
break
if array.get(aas, countpp)
upl = (ph ? high : low ) + cwidth
dnl = (ph ? high : low ) - cwidth
u1 := countpp == 1 ? upl : u1
d1 := countpp == 1 ? dnl : d1
tmp = array.new_bool(41, true)
cnt = 0
tpoint = 0
for xx = 0 to prd
if na(close )
break
if not na(ph ) or not na(pl )
chg = false
cnt += 1
if cnt > 40
break
if array.get(aas, cnt)
if not na(ph )
if high <= upl and high >= dnl
tpoint += 1
chg := true
if not na(pl )
if low <= upl and low >= dnl
tpoint += 1
chg := true
if chg and cnt < 41
array.set(tmp, cnt, false)
if tpoint >= strengthSR
for g = 0 to 40 by 1
if not array.get(tmp, g)
array.set(aas, g, false)
if ph and countpp < 21
array.set(sr_levels, countpp, high )
if pl and countpp < 21
array.set(sr_levels, countpp, low )
// Plot SR
var line highest_ = na, line.delete(highest_)
var line lowest_ = na, line.delete(lowest_)
var line highest_fill1 = na, line.delete(highest_fill1)
var line highest_fill2 = na, line.delete(highest_fill2)
var line lowest_fill1 = na, line.delete(lowest_fill1)
var line lowest_fill2 = na, line.delete(lowest_fill2)
hi_col = close >= highestph ? colorSup : colorRes
lo_col = close >= lowestpl ? colorSup : colorRes
if enableSR
highest_ := line.new(bar_index - 311, highestph, bar_index, highestph, xloc.bar_index, expandSR ? extend.both : extend.right, hi_col, style, lineWidth)
lowest_ := line.new(bar_index - 311, lowestpl , bar_index, lowestpl , xloc.bar_index, expandSR ? extend.both : extend.right, lo_col, style, lineWidth)
if useHLZones
highest_fill1 := line.new(bar_index - 311, highestph + zonePerc, bar_index, highestph + zonePerc, xloc.bar_index, expandSR ? extend.both : extend.right, na)
highest_fill2 := line.new(bar_index - 311, highestph - zonePerc, bar_index, highestph - zonePerc, xloc.bar_index, expandSR ? extend.both : extend.right, na)
lowest_fill1 := line.new(bar_index - 311, lowestpl + zonePerc , bar_index, lowestpl + zonePerc , xloc.bar_index, expandSR ? extend.both : extend.right, na)
lowest_fill2 := line.new(bar_index - 311, lowestpl - zonePerc , bar_index, lowestpl - zonePerc , xloc.bar_index, expandSR ? extend.both : extend.right, na)
linefill.new(highest_fill1, highest_fill2, color.new(hi_col, 80))
linefill.new(lowest_fill1 , lowest_fill2 , color.new(lo_col, 80))
if ph or pl
for x = 0 to array.size(sr_lines) - 1
array.set(sr_levs, x, array.get(sr_levels, x))
for x = 0 to array.size(sr_lines) - 1
line.delete(array.get(sr_lines, x))
line.delete(array.get(sr_linesH, x))
line.delete(array.get(sr_linesL, x))
linefill.delete(array.get(sr_linesF, x))
if array.get(sr_levs, x) and enableSR
line_col = close >= array.get(sr_levs, x) ? colorSup : colorRes
array.set(sr_lines, x, line.new(bar_index - 355, array.get(sr_levs, x), bar_index, array.get(sr_levs, x), xloc.bar_index, expandSR ? extend.both : extend.right, line_col, style, lineWidth))
if useZones
array.set(sr_linesH, x, line.new(bar_index - 355, array.get(sr_levs, x) + zonePerc, bar_index, array.get(sr_levs, x) + zonePerc, xloc.bar_index, expandSR ? extend.both : extend.right, na))
array.set(sr_linesL, x, line.new(bar_index - 355, array.get(sr_levs, x) - zonePerc, bar_index, array.get(sr_levs, x) - zonePerc, xloc.bar_index, expandSR ? extend.both : extend.right, na))
array.set(sr_linesF, x, linefill.new(array.get(sr_linesH, x), array.get(sr_linesL, x), color.new(line_col, 80)))
for x = 0 to array.size(sr_labels) - 1
label.delete(array.get(sr_labels, x))
if array.get(sr_levs, x) and enableSR
lab_loc = close >= array.get(sr_levs, x) ? label.style_label_up : label.style_label_down
lab_col = close >= array.get(sr_levs, x) ? colorSup : colorRes
array.set(sr_labels, x, label.new(bar_index + label_loc, array.get(sr_levs, x), str.tostring(math.round_to_mintick(array.get(sr_levs, x))), color=lab_col , textcolor=#000000, style=lab_loc))
hlabel := enableSR ? label.new(bar_index + label_loc + math.round(math.sign(label_loc)) * 20, highestph, "High Level : " + str.tostring(highestph), color=hi_col, textcolor=#000000, style=label.style_label_down) : na
llabel := enableSR ? label.new(bar_index + label_loc + math.round(math.sign(label_loc)) * 20, lowestpl , "Low Level : " + str.tostring(lowestpl) , color=lo_col, textcolor=#000000, style=label.style_label_up ) : na
Ind-Suite: The Ultimate Strategic Dashboard [Gap/Dow/MA/SR]概要 Ind-Suiteは、トレードに必要な4つの重要な要素(窓、市場構造、移動平均線、水平線)を1つのインジケーターに統合した包括的なトレーディング・スイートです。 このツールの目的は、単一のサインに頼るのではなく、複数の根拠が重なる「コンフルエンス(Confluence)」を視覚的に発見することにあります。
機能モジュール 設定画面の「⚡ MODULE TOGGLES ⚡」から、各モジュールのON/OFFを瞬時に切り替えられます。
Module A: Gaps (窓)
未埋めの窓(Gap)をボックスで表示します。
価格が引き寄せられるターゲットとして機能します。一定期間経過した窓は自動的に非表示になります。
Module B: Dow Structure (ダウ理論と構造)
ZigZagラインによる波の描画と、トレンド状態の判定。
BOS (Break of Structure): トレンド継続のブレイクポイントにラベルを表示。
下落トレンド時は背景色が変化し、視覚的にトレンドを把握できます。
Module C: Safe Scaffold (足場と勢い)
EMA (9/20) & VWAP: トレンドフォローのための主要な移動平均線。
Bollinger Bands: ボラティリティの確認用(ON/OFF可能)。
Signal: EMAクロスとバンド幅拡大(スクイーズからのエクスパンション)を検知したロングサインを表示。
Module D: S/R Guardian (水平線)
過去のPivot点をベースに、意識されやすいサポート・レジスタンスラインを自動描画します。
強度に基づいてラインが統合され、重要度が高い価格帯を可視化します。
推奨される使い方 すべてのモジュールを常にONにする必要はありません。チャートが情報過多にならないよう、必要な機能だけを選択して表示してください。 例えば、「S/Rライン」での反発、「Dow Structure」でのBOS、「Gap」の埋め完了など、3つ以上の根拠が重なるポイントは、優位性の高いエントリーポイントとなります。
--------------
Overview Ind-Suite is a comprehensive trading suite that integrates four essential elements (Gaps, Market Structure, Moving Averages, and Support/Resistance) into a single indicator. The goal of this tool is not to rely on a single signal, but to visually identify "Confluence" where multiple factors align.
Feature Modules You can instantly toggle each module ON/OFF via the "⚡ MODULE TOGGLES ⚡" in the settings.
Module A: Gaps
Highlights unclosed gaps with boxes.
These act as price magnets/targets. Old gaps are automatically hidden after a set period.
Module B: Dow Structure (Trend & Market Structure)
Draws ZigZag waves and determines trend status based on pivot points.
BOS (Break of Structure): Labels are displayed at key breakout points confirming trend continuation.
Background color changes during downtrends for instant visual recognition.
Module C: Safe Scaffold (Momentum & MAs)
EMA (9/20) & VWAP: Key moving averages for trend following.
Bollinger Bands: For volatility analysis (Toggle available).
Signal: Displays Long signals upon EMA crossover combined with BBW expansion (volatility breakout).
Module D: S/R Guardian (Support & Resistance)
Automatically draws S/R zones based on historical pivot points.
Levels are merged based on proximity, visualizing significant price zones.
Recommended Usage It is not necessary to keep all modules ON at all times. Toggle features as needed to keep your chart clean. High-probability setups are often found where multiple factors converge (Confluence). For example: A bounce off an "S/R Line," confirmed by a "BOS" in Dow Structure, coinciding with a "Gap" fill.
Session Breakout, Retest, Reversal + Large Move Alert## **Session Breakout, Retest, Reversal + Large Move Alert**
### Overview
A powerful multi-functional indicator designed for day traders and futures traders to identify session-based breakout opportunities, retest confirmations, and significant price movements across all futures contracts (Gold, E-mini S&P 500, Nasdaq, Crude Oil, and more).
### Key Features
**📊 Pre-Market Session Tracking**
- Automatically calculates pre-market/overnight session highs and lows
- Displays session ranges with customizable colors and styling
- Extends lines through the entire trading session for easy reference
- Supports overnight sessions (e.g., 4 PM – 7:30 AM for Gold futures)
**🚀 Breakout Detection**
- Identifies breakouts above/below pre-market highs and lows
- Uses close-price confirmation to filter false signals from wicks
- Displays "BO ↑" and "BO ↓" labels at breakout points
- Generates instant alerts when breakouts occur
**♻️ Retest Failed Tracking**
- Monitors price retests after breakouts
- Detects when retests fail to reach previous support/resistance
- Labels "RF" (Retest Failed) for high-probability trade setups
- Helps identify reversal opportunities
**📈 First 5-Minute Analysis**
- Captures first 5 minutes of market open (customizable timeframe)
- Tracks first 5-minute highs and lows separately
- Essential for mean-reversion and breakout confirmation strategies
- Blue lines extend through the trading session for easy tracking
**⚡ Large Move Alerts**
- Detects significant price movements based on point thresholds
- Individual thresholds for 5+ different symbols:
- GC (Gold): 15 points
- ES (E-mini S&P 500): 15 points
- NQ (E-mini Nasdaq): 50 points
- CL (Crude Oil): 1.5 points
- Custom: Fully adjustable
- Auto-detects symbol from chart ticker
- Labels show exact point movement and candle direction
### Customization Options
**Symbol Configuration**
- **Auto-Mode**: Automatically detects trading symbol from chart ticker
- **Manual-Mode**: Select specific symbol (GC, ES, NQ, CL, or Custom)
**Session Settings**
- Fully customizable pre-market session time (24-hour format)
- Adjustable market open time for first 5-minute window
- Market close hour and minute configuration
- Support for any timezone
**Point Move Thresholds by Symbol**
- Set independent thresholds for each of your trading symbols
- Quickly adjust settings when switching between different futures
- Includes helpful tooltips for recommended values
**Display & Styling**
- Toggle all visual elements on/off individually
- Customizable colors for all lines and labels:
- Pre-market high/low colors
- Breakout labels (up/down)
- Retest failed labels
- First 5-minute session lines
- Large move indicators
- Text size options: tiny, small, normal, large, huge
### How It Works
1. **Session Tracking**: The indicator identifies your pre-market session and marks the high and low with labeled lines (PH/PL)
2. **Breakout Signal**: Once the market opens, it monitors for close prices above/below the pre-market levels and alerts you with "BO ↑" or "BO ↓"
3. **Retest Confirmation**: After a breakout, it tracks retests and labels "RF" when the retest fails to reach the opposite extreme, confirming trade direction
4. **Large Move Detection**: Simultaneously monitors for significant point moves that exceed your symbol-specific thresholds
5. **Alert Triggers**: Get real-time alerts for:
- Breakout Up/Down
- Any Breakout
- Large Move events
### Alert Conditions
The indicator includes four alert conditions:
- **Breakout Up Alert**: Price closes above pre-market high
- **Breakout Down Alert**: Price closes below pre-market low
- **Any Breakout Alert**: Either breakout condition triggers
- **Large Move Alert**: Point movement exceeds threshold for current symbol
### Ideal For
- ✅ Day traders (breakout/retest strategies)
- ✅ Futures traders (Gold, Oil, Stock Index Contracts)
- ✅ Intraday scalpers (first 5-minute analysis)
- ✅ Swing traders (session-based levels)
- ✅ Multi-symbol traders (independent thresholds per symbol)
### Disclaimer
This indicator is designed for educational and informational purposes. Past performance does not guarantee future results. Always use proper risk management and position sizing. Test thoroughly on historical data before trading live.
F & W SMC Alerthis script is a custom TradingView indicator designed to combine elements of a trend‑following VWAP approach (inspired by the “Fabio” strategy) with a smart‑money‑concepts framework (inspired by Waqar Asim). Here’s what it does:
* **Directional bias:** It calculates a 15‑minute VWAP and compares the current 15‑minute close to it. When price is above the 15‑minute VWAP, the script assumes a long bias; when below, a short bias. This reflects the trend‑following aspect of the Fabio strategy.
* **Liquidity sweeps:** Using recent pivot highs and lows on the current timeframe, it identifies when price takes out a recent high (for potential longs) or low (for potential shorts). This represents a “liquidity sweep” — a fake breakout that collects stops and signals a possible reversal or continuation.
* **Break of structure (BOS):** After a sweep, the script confirms that price is breaking away from the swept level (i.e., higher than recent highs for longs or lower than recent lows for shorts). This BOS confirmation helps avoid false signals.
* **Entry filters:** For a long setup, the bias must be long, there must be a liquidity sweep followed by a BOS, and price must reclaim the current‑timeframe VWAP. For a short setup, the opposite conditions apply (short bias, sweep + BOS to the downside, and price rejecting the VWAP).
* **Alerts and plot:** It provides two alert conditions (“Fabio‑Waqar Long Setup” and “Fabio‑Waqar Short Setup”) that you can attach to notifications. It also plots the intraday VWAP on your chart for visual reference.
In short, this script watches for a confluence of trend direction, liquidity sweeps, structural shifts, and VWAP reclaim/rejection, and then notifies you when those conditions align. You can use it as an alerting tool to identify high‑probability setups based on these combined strategies.
Fabio + Waqar SMC AlertThis script is a custom TradingView indicator designed to combine elements of a trend‑following VWAP approach (inspired by the “Fabio” strategy) with a smart‑money‑concepts framework (inspired by Waqar Asim). Here’s what it does:
* **Directional bias:** It calculates a 15‑minute VWAP and compares the current 15‑minute close to it. When price is above the 15‑minute VWAP, the script assumes a long bias; when below, a short bias. This reflects the trend‑following aspect of the Fabio strategy.
* **Liquidity sweeps:** Using recent pivot highs and lows on the current timeframe, it identifies when price takes out a recent high (for potential longs) or low (for potential shorts). This represents a “liquidity sweep” — a fake breakout that collects stops and signals a possible reversal or continuation.
* **Break of structure (BOS):** After a sweep, the script confirms that price is breaking away from the swept level (i.e., higher than recent highs for longs or lower than recent lows for shorts). This BOS confirmation helps avoid false signals.
* **Entry filters:** For a long setup, the bias must be long, there must be a liquidity sweep followed by a BOS, and price must reclaim the current‑timeframe VWAP. For a short setup, the opposite conditions apply (short bias, sweep + BOS to the downside, and price rejecting the VWAP).
* **Alerts and plot:** It provides two alert conditions (“Fabio‑Waqar Long Setup” and “Fabio‑Waqar Short Setup”) that you can attach to notifications. It also plots the intraday VWAP on your chart for visual reference.
In short, this script watches for a confluence of trend direction, liquidity sweeps, structural shifts, and VWAP reclaim/rejection, and then notifies you when those conditions align. You can use it as an alerting tool to identify high‑probability setups based on these combined strategies.
Whale Breaker — HTF Order Blocks + Market Structure HUDWhale Breaker (Debug Edition) is an advanced Smart Money Concept (SMC) tool designed to project High Timeframe (HTF) order blocks onto your Lower Timeframe (LTF) charts while tracking market structure breaks (BOS / CHoCH).
This debug build adds extra transparency: the mini-HUD not only shows HTF trend, last signal, and active order blocks, but also explains why no new block was created (e.g. no HTF BOS, body not found, ATR filter too strict, max-per-side limit). This makes it easier to fine-tune your settings and understand the logic behind the indicator.
Key features:
- HTF order blocks (e.g. 1h) projected into LTF charts (e.g. 15m)
- Automatic right-extension until mitigation (MB)
- Mitigation detection: blocks shaded once filled
- ATR filter to remove insignificant micro-zones
- Per-side cap: limit the maximum active BU/B blocks
- Lookback-based pruning for clean charts
- BOS/CHoCH arrows on chart (▲ green = bullish, ▼ red = bearish)
- Compact HUD with trend, last signal, active OBs, legend, and debug reasons
Usage:
- Define your HTF (e.g. 1h) and trade entries on the LTF (e.g. 15m).
- Wait for a BOS in HTF direction, then target the projected order block.
- Stop Loss just beyond the OB, Take Profit at next opposite OB or using a fixed RRR.
Note: This is a debugging/educational version to understand order block creation logic.
For live trading, consider using the standard Whale Breaker.
Order Blocks + Order-Flow ProxiesOrder Blocks + Order-Flow Proxies
This indicator combines structural analysis of order blocks with lightweight order-flow style proxies, providing a tool for chart annotation and contextual study. It is designed to help users visualize where significant structural shifts occur and how simple volume-based signals behave around those areas. The script does not guarantee profitable outcomes, nor does it issue financial advice. It is intended purely for research, learning, and discretionary use.
Conceptual Background
Order Blocks
An “order block” is a term often used to describe a zone on the chart where price left behind a significant reversal or imbalance before continuing strongly in the opposite direction. In practice, this can mean the last bullish or bearish candle before a strong breakout. Traders sometimes study these regions because they believe that unfilled resting orders may exist there, or simply because they mark important pivots in price structure. This indicator detects such moments by scanning for breaks of structure (BOS). When price pushes above or below recent swing levels with sufficient displacement, the script identifies the prior opposite candle as the potential order block.
Break of Structure
A break of structure in this context is defined when the closing price moves beyond the highest high or lowest low of a short lookback window. The script compares the magnitude of this break to an ATR-based displacement filter. This helps ensure that only meaningful moves are marked rather than small, random fluctuations.
Order-Flow Proxies
Traditional order flow analysis may use bid/ask data, footprint charts, or volume profiles. Because TradingView scripts cannot access true order-book data, this indicator instead uses proxy signals derived from standard chart data:
Delta (proxy): Estimated imbalance of buying vs. selling pressure, approximated using bar direction and volume.
Imbalance ratio: Normalizes delta by total volume, ranging between -1 and +1 in theory.
Cumulative Delta (CVD): Running sum of delta over time.
Effort vs. Result (EvR): A comparison between volume and actual bar movement, highlighting cases where large effort produced little result (or vice versa).
These are not real order-flow measurements, but rather simple mathematical constructs that mimic some of its logic.
How the Script Works
Detecting Break of Structure
The user specifies a swing length. When price closes above the recent high (for bullish BOS) or below the recent low (for bearish BOS), a potential shift is recorded.
To qualify, the breakout must exceed a displacement filter proportional to the ATR. This helps filter out weak moves.
Locating the Order Block Candle
Once a BOS is confirmed, the script looks back within a short window to find the last opposite-colored candle.
The high/low or open/close of that candle (depending on user settings) is marked as the potential order block zone.
Drawing and Maintaining Zones
Each order block is represented as a colored rectangle extending forward in time.
Bullish zones are teal by default, bearish zones are red.
Zones extend until invalidated (price closing or wicking beyond them, depending on user preference) or until a user-defined lifespan expires.
A pruning mechanism ensures that only the most recent set number of zones remain, preventing chart overload.
Monitoring Touches
The script checks whether the current bar’s range overlaps any existing order block.
If so, the “closest” zone is considered touched, and a label may appear on the chart.
Confirmation Filters
Touches can optionally be confirmed by order-flow proxies.
For a bullish confirmation, the following must align:
Imbalance ratio above threshold,
Delta EMA positive,
Effort vs. Result positive.
For a bearish confirmation, the opposite holds true.
Optionally, a higher-timeframe EMA slope filter can gate these confirmations. For example, a bullish confirmation may only be accepted if the higher-timeframe EMA is sloping upward.
Alerts
Users may create alerts based on conditions such as “bullish touch confirmed” or “bearish touch confirmed.”
Alerts can be gated to only fire after bar close, reducing intrabar noise.
Standard alertcondition calls are provided, and optional inline alert() calls can be enabled.
Inputs and Customization
Structure & OB
Swing length: Defines how many bars back to check for BOS.
ATR length & displacement factor: Adjust sensitivity for structural breaks.
Body vs. wick reference: Choose whether zones are based on candle bodies or full ranges.
Invalidation rule: Pick between wick breach or close beyond the level.
Lifespan (bars): Limit how long a zone remains active.
Max keep: Cap the number of zones stored to reduce clutter.
Order-Flow Proxies
Delta mode: Choose between “Close vs Previous Close” or “Body” for delta calculation.
EMA length: Smooths the delta/imbalance series.
Z-score lookback: Defines the averaging window for EvR.
Confirmation thresholds: Adjust the imbalance levels required for long/short confirmation.
Higher Timeframe Filter
Enable HTF gate: Optional filter requiring higher-timeframe EMA slope alignment.
HTF timeframe & EMA length: Configurable for context alignment.
Style
Colors and transparency for bullish and bearish zones.
Border color customization.
Alerts
Enable inline alerts: Optional direct calls to alert().
Alerts on bar close only: Helps avoid multiple firings during bar formation.
Practical Use
This tool is best seen as a way to annotate charts and to study how simple volume-derived signals behave near important structural levels. Some users may:
Observe whether order blocks line up with later price reactions.
Study how imbalance or cumulative delta conditions align with these zones.
Use it in a discretionary workflow to highlight areas of interest for deeper analysis.
Because the proxies are based only on candle OHLCV data, they are approximations. They cannot replace true depth-of-market analysis. Similarly, order block detection here is one specific algorithmic interpretation; other traders may define order blocks differently.
Limitations and Disclaimers
This indicator does not predict future price movement.
It does not access real order book or tick-by-tick data. All signals are derived from bar OHLCV.
Past performance of signals or zones does not guarantee future results.
The script is for educational and informational purposes only. It is not financial advice.
Users should test thoroughly, adjust parameters to their own instruments and timeframes, and use it in combination with broader analysis.
Summary
The Order Blocks + Order-Flow Proxies script is an experimental study tool that:
Detects potential order blocks using a displacement-filtered break of structure.
Marks these zones as boxes that persist until invalidation or expiry.
Provides lightweight order-flow-style proxies such as delta, imbalance, CVD, and effort vs. result.
Allows confirmation of zone touches through these proxies and optional higher-timeframe context.
Offers flexible customization, alerting, and chart-style options.
It is not a trading system by itself but rather a framework for studying price/volume behavior around structurally significant areas. With careful exploration, it can give users new ways to visualize market structure and to understand how simple flow-like measures behave in those contexts.
Reversal Radars — Berk v2.0 (Bottom & Top)1) Combined script (Dip+Tepe)
Title:
Reversal Radars — Berk v2.0 (Bottom & Top)
Description (EN):
What it does
Two high-probability reversal detectors in one indicator: a Bottom Reversal Radar (long bias) and a Top Reversal Radar (short/hedge bias). Each radar aggregates multiple conditions into a single score and triggers when Score ≥ Threshold.
How it works
RSI regime shift: Bottom = recovery after oversold (touched 30, crosses up 35). Top = roll-over from overbought (touched 70, crosses down 65).
MACD cross: Bull (up) for bottoms, Bear (down) for tops.
EMA8 filter: Close above (bottom) / below (top) EMA(8).
Structure break (BOS): Close above recent swing high / below recent swing low (lookbackBars, using precomputed highest/lowest to avoid inconsistencies).
EMA200 proximity: Price within a configurable band (default −5% … +2%).
Volume expansion: Volume ≥ SMA(20) × multiplier (default 1.5×).
Divergence: Pivot-confirmed (3/3) bullish (bottom) or bearish (top) RSI divergence.
Scoring: RSI shift +2, divergence +2, MACD +1, EMA8 +1, BOS +1, Volume +1, EMA200 band +1.
Signals & Alerts
Bottom: label “DÖNÜŞ↑” and alert “Dipten Dönüş — Ana Sinyal” when scoreLong ≥ thrLong.
Top: label “DÖNÜŞ↓” and alert “Tepeden Dönüş — Ana Sinyal” when scoreShort ≥ thrShort.
Use Once per bar close for stable alerts.
Inputs
lenRSI, rsiOS=30, rsiRecover=35, rsiOB=70, rsiFall=65, volLen=20, volMult=1.5, lookbackBars=5, ema200 band (−5…+2%), thrLong/thrShort, toggles for Bottom/Top.
Timeframes & tips
Best on Daily/4H. Tighten thresholds (e.g., 4) and raise volume multiplier (1.8–2.0×) on lower TFs or thin liquidity.
No-repaint note
Evaluated on bar close; pivot divergences confirm with a natural ~3-bar delay.
Disclaimer
Educational use only. Not financial advice.
Tags: reversal, divergence, rsi, macd, ema, volume, trend, screener, stocks, crypto, bist
2) Bottom-only (Dip)
Title:
Bottom Reversal Radar — Berk v1.4
Description (EN):
Purpose
Scores bottoming conditions and triggers when Score ≥ Threshold (default 3).
Components
RSI recovery after oversold (30→35), MACD bull cross, close above EMA8, BOS above recent swing high, near-EMA200 band (−5…+2%), volume ≥ SMA(20)×1.5, and pivot-confirmed (3/3) bullish RSI divergence. Weights: RSI +2, Divergence +2, others +1.
Usage
Add to chart, set alert “Dipten Dönüş — Ana Sinyal”, Once per bar close. Works on any timeframe (need ≥200 bars for EMA200). Daily/4H recommended.
No-repaint
Bar-close evaluation; divergence confirms with ~3 bars.
Tags: bottom, reversal, rsi, macd, ema, volume, divergence
3) Top-only (Tepe)
Title:
Top Reversal Radar — Berk v1.0
Description (EN):
Purpose
Detects topping risk and triggers when Score ≥ Threshold (default 3) for exits/hedges.
Components
RSI roll-over from overbought (70→65), MACD bear cross, close below EMA8, BOS below recent swing low, near-EMA200 band, volume ≥ SMA(20)×1.5, and pivot-confirmed (3/3) bearish RSI divergence. Weights: RSI +2, Divergence +2, others +1.
Usage
Add to chart, set alert “Tepeden Dönüş — Ana Sinyal”, Once per bar close. Daily/4H preferred; tighten thresholds on lower TFs.
No-repaint
Bar-close evaluation; divergence confirms with ~3 bars.
Tags: top, reversal, rsi, macd, ema, volume, divergence
Ayman – Full Smart Suite Auto/Manual Presets + PanelIndicator Name
Ayman – Full Smart Suite (OB/BoS/Liq/FVG/Pin/ADX/HTF) + Auto/Manual Presets + Panel
This is a multi-condition trading tool for TradingView that combines advanced Smart Money Concepts (SMC) with classic technical filters.
It generates BUY/SELL signals, draws Stop Loss (SL) and Take Profit (TP1, TP2) levels, and displays a control panel with all active settings and conditions.
1. Main Features
Smart Money Concepts Filters:
Order Block (OB) Zones
Break of Structure (BoS)
Liquidity Sweeps
Fair Value Gaps (FVG)
Pin Bar patterns
ADX filter
Higher Timeframe EMA filter (HTF EMA)
Two Operating Modes:
Auto Presets: Automatically adjusts all settings (buffers, ATR multipliers, RR, etc.) based on your chart timeframe (M1/M5/M15).
Manual Mode: Fully customize all parameters yourself.
Trade Management Levels:
Stop Loss (SL)
TP1 – partial profit
TP2 – full profit
Visual Panel showing:
Current settings
Filter status
Trend direction
Last swing levels
SL/TP status
Alerts for BUY/SELL conditions
2. Entry Conditions
A BUY signal is generated when all these are true:
Trend: Price above EMA (bullish)
HTF EMA: Higher timeframe trend also bullish
ADX: Trend strength above threshold
OB: Price in a valid bullish Order Block zone
BoS: Structure break to the upside
Liquidity Sweep: Sweep of recent lows in bullish context
FVG: A bullish Fair Value Gap is present
Pin Bar: Bullish Pin Bar pattern detected (if enabled)
A SELL signal is generated when the opposite conditions are met.
3. Stop Loss & Take Profits
SL: Placed just beyond the last swing low (BUY) or swing high (SELL), with a small ATR buffer.
TP1: Partial profit target, defined as a ratio of the SL distance.
TP2: Full profit target, based on Reward:Risk ratio.
4. How to Use
Step 1 – Apply Indicator
Open TradingView
Go to your chart (recommended: XAUUSD, M1/M5 for scalping)
Add the indicator script
Step 2 – Choose Mode
AUTO Mode: Leave “Use Auto Presets” ON – parameters adapt to your timeframe.
MANUAL Mode: Turn Auto OFF and adjust all lengths, buffers, RR, and filters.
Step 3 – Filters
In the Filters On/Off section, enable/disable specific conditions (OB, BoS, Liq, FVG, Pin Bar, ADX, HTF EMA).
Step 4 – Trading the Signals
Wait for a BUY or SELL arrow to appear.
SL and TP levels will be plotted automatically.
TP1 can be used for partial close and TP2 for full exit.
Step 5 – Alerts
Set alerts via BUY Signal or SELL Signal to receive notifications.
5. Best Practices
Scalping: Use M1 or M5 with AUTO mode for gold or forex pairs.
Swing Trading: Use M15+ and adjust buffers/ATR manually.
Combine with price action confirmation before entering trades.
For higher accuracy, wait for multiple filter confirmations rather than acting on the first arrow.
6. Summary Table
Feature Purpose Can Disable?
Order Block Finds key supply/demand zones ✅
Break of Structure Detects trend continuation ✅
Liquidity Sweep Finds stop-hunt moves ✅
Fair Value Gap Confirms imbalance entries ✅
Pin Bar Price action reversal filter ✅
ADX Trend strength filter ✅
HTF EMA Higher timeframe confirmation ✅
Range Breakout [sgbpulse]Range Breakout
1. Overview
The "Range Breakout " indicator is a powerful tool designed to identify and visually display price ranges on your chart using pivot points. It dynamically draws two distinct boxes – an External Range and an Internal Range – helping traders pinpoint potential support and resistance zones. Beyond its visual representation, the indicator offers a comprehensive set of 12 unique breakout alerts, providing real-time notifications for significant price movements outside these defined ranges. Additionally, it integrates RSI and MFI metrics for momentum confirmation.
2. How It Works
The indicator operates by identifying pivot points based on user-defined "left" and "right" bar lengths. A high pivot is a bar with a specified number of lower highs both to its left and right, and similarly for a low pivot.
External Range: Calculated using longer pivot lengths (default: 15 bars left, 6 bars right). This range represents broader, more significant price consolidation areas.
Internal Range: Calculated using shorter pivot lengths (default: 4 bars left, 3 bars right). This range captures tighter, more immediate price consolidations within the broader trend.
The External Range will always be greater than or equal to the Internal Range, as it's based on a wider historical context. Both ranges are displayed as transparent boxes on your chart, dynamically adjusting as new pivots are formed.
3. Key Features and Settings
Customizable Pivot Lengths:
External Range (Left/Right Bars): Adjust sensitivity for identifying the broader price range. Longer lengths lead to more stable, but less frequent, range updates.
Internal Range (Left/Right Bars): Adjust sensitivity for the tighter, more immediate price range.
Tool Tips: Minimum 6 bars for the External Range, and minimum 2 bars for the Internal Range.
Customizable Range Colors: Easily change the background colors of the External and Internal Range boxes to match your chart's aesthetic.
Dynamic Range Display: The indicator automatically updates the range boxes as new pivot highs and lows are formed, always presenting the most current valid ranges.
RSI / MFI Settings:
Timeframe Source: Select the timeframe for RSI and MFI calculation.
- Chart: Calculation based on the current chart timeframe.
- Daily: Always calculated based on the daily ("D") timeframe, even if the chart is on a lower timeframe.
RSI Length: Period length for RSI calculation (default: 14).
RSI Overbought Level: Overbought level for RSI (default: 70.0).
RSI Oversold Level: Oversold level for RSI (default: 30.0).
MFI Length: Period length for MFI calculation (default: 14).
MFI Overbought Level: Overbought level for MFI (default: 80.0).
MFI Oversold Level: Oversold level for MFI (default: 20.0).
4. Synergy of Ranges & Breakout Strength
The interaction between the External and Internal Ranges provides deep insights into price movement and breakout strength:
Immediate Direction: The movement of the Internal Range (up or down) indicates the short-term directional bias within the broader framework of the External Range.
Strength Confirmation: A breakout of the External Range, followed by a breakout of the Internal Range, confirms the strength of the move and increases confidence in the breakout.
Strong Momentum ("Leaving" Ranges Behind): When price breaks out with exceptionally strong momentum, it continues to move aggressively and does not immediately form new pivots. In such situations, the existing ranges (External and Internal) remain in place while the candles "leave them behind." A "Full Candle" breakout, where the entire candle moves past both ranges, indicates a particularly powerful and decisive move.
Momentum (RSI / MFI) as Confirmation:
- RSI (Relative Strength Index): Measures the speed and change of price movements. Extreme values (above 70 or below 30) indicate overbought/oversold conditions respectively, confirming strong momentum in a breakout.
- MFI (Money Flow Index): Similar to RSI but incorporates volume. Extreme values (above 80 or below 20) indicate strong money flow in/out, reinforcing breakout confirmation.
- Importance of Confirmation: If a breakout occurs but momentum indicators do not confirm it (for example, an upside breakout while RSI is declining), this could signal weakness in the move and the risk of a false breakout (Fakeout).
5. Visuals
The indicator provides clear visual representations on the chart:
Range Boxes:
Two dynamic boxes are drawn on the chart: one for the External Range and one for the Internal Range.
These boxes update continuously, displaying the current range boundaries based on the latest pivots. They provide an immediate visual indication of support and resistance levels.
RSI/MFI Status Labels:
Small text labels appear to the right of the current bar, vertically centered.
They display the status of RSI and MFI: RSI OB (Overbought), RSI OS (Oversold), MFI OB, MFI OS, along with the exact value.
Important: The labels remain on the chart as long as the condition holds (indicator is above/below the level), unlike alerts which mark a singular crossover event.
Plotting of Key Values:
The indicator plots six invisible series on the chart, primarily to allow the user to view the exact numerical values of:
- The upper and lower bounds of the External Range (External High, External Low).
- The upper and lower bounds of the Internal Range (Internal High, Internal Low).
- The calculated RSI and MFI values (RSI, MFI).
These values are accessible for viewing through TradingView's Data Window and also via the Status Line when hovering over the relevant candle. This enables more precise quantitative analysis of range levels and momentum.
6. Comprehensive Breakout Alerts
The "Range Breakout " indicator provides 12 distinct alert conditions for breakouts, allowing you to select the required level of confirmation for each alert. All alerts are triggered only upon a fully confirmed bar close (barstate.isconfirmed) to minimize false signals and ensure reliability.
All breakout alerts are configured to detect a Crossover/Crossunder of the levels, meaning a specific event where the price moves from one side of the range to the other.
External Range Breakout UP
- Close: Price closes above the External Range.
- Real Body: The entire "real body" of the candle (min of open/close prices) closes above the External Range.
- Full Candle: The entire candle (the lowest point of the candle) closes above the External Range.
External Range Breakout DOWN
- Close: Price closes below the External Range.
- Real Body: The entire "real body" of the candle (max of open/close prices) closes below the External Range.
- Full Candle: The entire candle (the highest point of the candle) closes below the External Range.
Internal Range Breakout UP
- Close: Price closes above the Internal Range.
- Real Body: The "real body" of the candle closes above the Internal Range.
- Full Candle: The entire candle closes above the Internal Range.
Internal Range Breakout DOWN
- Close: Price closes below the Internal Range.
- Real Body: The "real body" of the candle closes below the Internal Range.
- Full Candle: The entire candle closes below the Internal Range.
7. Ideal Use Cases
This indicator is ideal for traders who:
Want to clearly identify and monitor price consolidation zones.
Seek confirmation for breakout strategies across various timeframes.
Require reliable and automated alerts for potential entry or exit points based on range expansion.
8. Complementary Indicator
For even more comprehensive market analysis, we highly recommend using this indicator in conjunction with Market Structure Support & Resistance External/Internal & BoS .
This powerful complementary indicator automatically and accurately identifies significant support and resistance levels by locating high and low pivot points, as well as key Pre-Market High/Low levels. Its strength lies in its dynamic adaptability to any timeframe and asset, providing precise and relevant real-time levels while maintaining a clean chart. It also identifies Break of Structure (BoS) to signal potential trend changes or continuations.
Using both indicators together provides a robust framework for identifying defined ranges and potential trend shifts, enabling more informed trading decisions.
View Market Structure Support & Resistance External/Internal & BoS Indicator
9. Important Note: Trading Risk
This indicator is intended for educational and informational purposes only and does not constitute investment advice or a recommendation for trading in any form whatsoever.
Trading in financial markets involves significant risk of capital loss. It is important to remember that past performance is not indicative of future results. All trading decisions are your sole responsibility. Never trade with money you cannot afford to lose.
S&P Power Hour Liquidity Sweep StrategyThis indicator is designed for intraday traders who want to take advantage of liquidity grabs, break of structure (BOS), and optimal entry points during the most volatile hours of the trading day: the NYSE Power Hours (09:30–10:30 AM and 02:30–04:00 PM EST).
Key Features:
Power Hour Detection:
Automatically identifies the two most liquid hours of the trading session.
Liquidity Sweep Detection:
Highlights when price sweeps a recent swing high or low — a common trap before reversals.
Break of Structure (BOS):
Confirms trend shift after a liquidity sweep with smart money-style BOS markers.
Fair Value Gap (FVG) Highlighting: (Optional)
Spot institutional imbalances between candles to fine-tune trade entries.
How It Works:
Wait for price to sweep a swing high or low during the power hours.
Look for a break of structure (BOS) in the opposite direction.
Enter on the next candle or FVG retest.
The indicator will plot a yellow circle for entry, a red line for stop, and a green line for the target (based on your RR setting).
Customizable Inputs:
Swing sensitivity (lookback bars)
Risk-to-reward ratio
Optional FVG visibility
Best Used With:
Higher timeframe bias (15m/1H)
Order blocks or volume analysis
Avoiding major news events
Whether you're a scalper or precision-based intraday trader, this tool helps you spot high-probability reversal setups with clean visuals and clear confirmations.






















