Golden Low-Volume Bar Strategy (Relaxed Version)This indicator highlights potential trend-turning points by identifying three key elements:
Golden Bar — a volume spike where current volume significantly exceeds its 30‑day average (adjustable multiplier).
Golden Line — the close price of the most recent Golden Bar, acting as a support/resistance anchor.
Golden Low‑Volume Bar — the lowest-volume bar within the last 30 days that occurs near (±X%) the Golden Line.
When a Golden Low‑Volume Bar is followed by a bullish bar with rising volume, a Buy Signal is generated.
Candlestick analysis
Jigsaw Premium Trend IndicatorThe Jigsaw Premium Trend Indicator is an exclusive tool designed for premium members, offering a sophisticated trend analysis with customizable EMAs (10, 21, 55, 200) and a 200-period MA. Featuring thinner lines for clarity, this indicator allows premium users to toggle visibility of each EMA, adjust positions manually with clickable editing, and track trends dynamically as the chart moves. Perfect for identifying key market trends, it’s a must-have for advanced trading strategies.
MOETION TRADNTM Bot Alpha – ICT x BOEOSMasters of Exchange TM _ ICT & EMA indicator
this is for moetion trading mentors
created by moewavi and samoedefi
BanShen MACD Ultimate[SpeculationLab]🧠 BanShen MACD Ultimate – Public Edition by SpeculationLab
这是 BanShen MACD 系统的公开版,一个完全从零开发的多信号综合技术分析工具包。
它融合了多个高级模块,帮助交易者实时识别关键的进出场位置和趋势动能。
✅ 内置核心模块:
MACD 背离识别
(支持基础背离和连续波峰/波谷背离识别)
RSI 背离信号模块
OBV 背离信号模块
Vegas 隧道趋势过滤器
吞没形态识别(Engulfing Pattern)
基于 ATR 的动态止损线系统
FVG(公平价值缺口)自动识别与绘制
多模块动态信号表格
自定义水印(图表品牌展示)
🔎 想要更轻量的版本?
可以尝试 **半神MACD究极指标 ** —— 极简设计,移动端也能流畅运行。
🚀 需要更高级的功能?
**BanShen MACD Pro** 即将推出,包含:
✅ Order Block 标记模块
✅ 未填补 CME 缺口(Unfilled Gaps)探测器
✅ 主力大单跟踪(Whale Order Tracker)
欢迎关注我以获得优先体验!
📬 加入我的 Telegram 群获取更多更新信息: (t.me)
=========================
This is the **Public Edition** of the BanShen MACD system — a fully integrated, multi-signal technical analysis toolkit developed entirely from scratch.
It combines multiple advanced modules to help traders identify key entry/exit zones and trend momentum in real time.
✅ Core Modules Included:
- MACD Divergence Detection
(Supports both basic and consecutive peak detection)
- **RSI Divergence Signal Module**
- **OBV Divergence Signal Module**
- **Vegas Tunnel Trend Filter**
- **Engulfing Pattern**
- **ATR-Based Dynamic Stop Loss Finder**
- **FVG (Fair Value Gap) Auto Detection & Plotting**
- **Smart Signal Table** showing multi-module output
- **Custom Watermark** for chart branding
🔎 Looking for a lighter version?
Try **BanShen MACD Basic** – minimal and mobile-friendly.
🚀 Want even more features?
**BanShen MACD Pro** is coming soon, featuring:
- Order Block Detection
- Unfilled CME Gap Finder
- Whale Order Tracker
Follow for early access!
📬 Join my Telegram for more updates: (t.me)
=========================
⚠️ **免责声明 / Disclaimer / 免責事項**
本脚本仅供学习与参考用途,所有交易行为风险自负。作者不对任何因使用本指标而产生的损失负责。本指标中的所有逻辑均为原创,未经许可,禁止复制、转载或商用。
This script is for educational and informational purposes only. All trading decisions are made at your own risk. The author is not responsible for any financial losses resulting from the use of this indicator. All code is original. Redistribution, resale, or reproduction without permission is strictly prohibited.
このスクリプトは学習および情報提供のみを目的としています。すべての取引は自己責任で行ってください。本インジケーターの使用による損失について、作者は一切の責任を負いません。コードはすべてオリジナルであり、無断転載、再配布、商用利用は禁止されています。
Optimized Bayesian Network Signal (Tunable)Built for short set-up in the NY Session. it uses a bayesian network with adjustable candlestick look-back period.
MACD
RSI
Volume sensitivity settings.
MOETION TRADNTM Bot Alpha – ICT x BOEOSMasters of Exchange TM - LuxAlgo inspired trading indicator
Built completely by SamoeDefi
One of many,,, stay tuned.
EMA BREAKS BOS BREAKS OB BREAKS ICT CONCEPT with volume displacement scalps and reads
Bullish & Bearish Reversal Scanner_KSPBullish & Bearish Reversal Scanner_KSP
Bullish & Bearish Reversal Scanner_KSP
Bullish & Bearish Reversal Scanner_KSP
7 EMA + Fractal + Volume V1-6.29E// 7 EMA + Fractal + Volume — User Guide
//
// 1. Parameter Settings:
// - You can customize the period, color, name, and enable/disable status for all 7 EMAs.
// - Main parameters:
// * Fractal Test Count (N): Number of consecutive fractals required for a signal.
// * Entry Zone Percentage (zone_pct): Allowed price range for entry.
// * Fractal Tolerance (zone_tol): Permitted deviation for fractal mean.
// * Volume MA Length (vol_len): Number of bars for volume moving average.
// * Volume Decline Length (vol_decline_len): Number of bars to check for volume decline.
// * Volume Spike/Shrink Multiplier: Only affects chart markers, not entry logic.
//
// 2. Long/Short Signal Logic:
// - Bullish Signal (bullish_exhaustion):
// * EMA in bearish order
// * Sufficient consecutive bottom fractals, and close within entry zone
// * Volume declining
// * Fractal strength > 0
// - Bearish Signal (bearish_exhaustion):
// * EMA in bullish order
// * Sufficient consecutive top fractals, and close within entry zone
// * Volume declining
// * Fractal strength > 0
// - Long/short logic is fully symmetric, only direction is different.
//
// 3. Chart Display:
// - Support/Resistance Zones: Dynamically drawn based on enabled EMAs (max/min).
// - Entry Signals:
// * pullback_long/short: Triangles at fractal zone trigger points.
// * bullish_exhaustion/bearish_exhaustion: Labels showing fractal mean and entry zone, with extra notes for volume spikes/shrinkage.
// - Volume Anomaly: Small dots at the bottom for volume spike/shrinkage alerts.
//
// 4. Notes:
// - The number and distribution of signals will vary with market structure, fractal distribution, and volume changes.
// - All parameters can be adjusted to fit your trading style.
// - This indicator is for decision support only. Please use with risk management and your own judgment.
EMA 9 vs EMA 150 Cross Indicator//@version=5
indicator("EMA 9 vs EMA 150 Cross Indicator", overlay=true)
// Input EMAs
shortEmaLen = input.int(9, title="Short EMA (Fast)")
longEmaLen = input.int(150, title="Long EMA (Slow)")
// Calculate EMAs
emaShort = ta.ema(close, shortEmaLen)
emaLong = ta.ema(close, longEmaLen)
// Detect Crosses
bullishCross = ta.crossover(emaShort, emaLong)
bearishCross = ta.crossunder(emaShort, emaLong)
// Plot EMAs
plot(emaShort, title="EMA 9", color=color.gray)
emaColor = emaShort > emaLong ? color.green : color.red
plot(emaLong, title="EMA 150", color=emaColor, linewidth=2)
// Plot Arrows
plotshape(bullishCross, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.small)
plotshape(bearishCross, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.small)
X HL QA market structure tool designed to frame price action within a defined context of prior session dynamics. It accomplishes this by anchoring a set of reference levels to the high, low, and open prices of a user-specified higher timeframe (e.g., 4H, 1D, etc.) and projecting those levels onto the current chart for ongoing analysis.
At its core, the indicator establishes a reference range—derived from the previous completed instance of the selected timeframe—and overlays this on the current timeframe. This range serves as a foundational structure for price interpretation in the current session.
Building upon this framework, the script constructs a set of symmetrical quadrants (or deviation zones) both inside and outside of the prior range. These include:
The midpoint (EQ) of the prior range
Levels at ±0.25x, ±0.75x, ±1.0x, ±1.5x, and ±2.0x the range height
These levels act as contextual zones that traders can use to interpret price behavior—whether it's consolidating within the prior range, approaching fair value (EQ), or expanding into directional continuation or reversal zones beyond the range.
The script operates in both real-time and historical contexts. On live bars, it dynamically updates the key levels to provide an evolving view of current price positioning. Simultaneously, it supports the display of historical levels for past sessions, enabling robust backtesting and comparative analysis of price behavior relative to previous quadrant structures.
Ultimately, this tool serves as a positional map, helping traders assess where price is trading relative to significant levels from the prior session, offering insights into potential support/resistance, overextension, or mean reversion scenarios.
Key Technical Features
Multi-Timeframe Support:
request.security() is used to pull data from a user-defined higher timeframe regardless of the current chart interval.
Visual Flexibility:
Toggle between "line" and "channel" mode.
Line color, width, and visibility are all user-controlled.
Anchoring Options:
Deviation levels can be calculated from either the previous period's open or its EQ (midpoint), giving flexibility depending on analytical preference.
Efficient Labeling:
Labels are only rendered on the last bar and are automatically cleared and redrawn to prevent duplication.
Label style, size, text color, and background color are all user-configurable.
Trading Application
This indicator is especially suited for:
1. Mean Reversion Strategies
When price moves beyond +1.0 or +1.5 deviations from the EQ or open, it may signal overextension and a potential snap back to the midpoint or range.
2. Breakout Confirmation
Sustained price action beyond ±1.0 levels may indicate trend strength or continuation beyond historical balance zones.
3. Contextual Range Awareness
EQ and Open provide structure from which traders can judge whether price is in a state of balance or imbalance.
Labels offer at-a-glance interpretation of key levels across any chosen timeframe.
4. Fractal and Multi-Session Analysis
Analysts can layer daily, weekly, and monthly versions of this indicator to observe confluence or divergence of higher timeframe structure.
Close Above Prev High / Below Prev LowIdentifies candles that close above the previous candle's high (bullish) and candles that close below the previous candle's low (bearish). Helps with decisions for entry and exit.
Perfect MA Touch – Full Setup 1,3,5,7,8,9 v2This indicator helps you track a precise candle countdown from a moving average touch, labeling key bars (1, 3, 5, 7, 8, 9) for timing entries and momentum setups — with optional coloring, alerts, and full customization.
What It Detects
1. MA Touch Trigger
The sequence starts when any selected moving average (up to 6 MAs, customizable) is touched by the candle's high/low range.
This "perfect touch" initiates the count and labels that candle as "1".
2. Candle Number Labels
After a perfect MA touch:
Candle 1 = the bar that touches the MA
Candle 3 = two bars after Candle 1
Candle 5 = the fifth bar after the touch
Candle 7 = third bar after Candle 5
Candle 8 = fourth bar after Candle 5
Candle 9 = fifth bar after Candle 5
It creates a time-based sequence you can use to anticipate reactions or momentum shifts.
3. Customization
You can:
Choose between EMA or SMA for each MA (6 total)
Set custom lengths for each MA (9, 20, 50, 100, 150, 200)
Choose which candle numbers (1, 3, 5, 7, 8, 9) to highlight
Pick font size and label color
4. Highlighting and Alerts
Highlight candles (with color) when certain bars (like 3, 5, 7) print
Alerts are available for all tracked bars (1, 3, 5, 7, 8, 9)
Use Case Example
Let’s say you want to enter trades on the 3rd candle after a perfect MA touch:
You set the script to highlight candle 3.
When a candle hits your chosen MA (say EMA 9), it’s labeled “1”.
Two bars later, bar 3 appears — giving you a timed signal to enter if price behavior aligns.
This method is especially useful when paired with:
Volume confirmation
Breakout or reversal patterns
Support/resistance or order block zones
🔔 5x Volume & 10% Price Spike AlertToms 5x Volume & 10% Price spike alert. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Mariam 5m Scalping Breakout StrategyPurpose
A 5-minute scalping breakout strategy designed to capture fast 3-5 pip moves with high probability, using premium/discount zone filters and market bias conditions. Developed for traders seeking consistent scalps with a proven win rate above 95–98% in optimal conditions.
How It Works
The script monitors price action in 5-minute intervals, forming a 15-minute high and low range by tracking the highs and lows of the first 3 consecutive 5-minute candles starting from a custom time. In the next 3 candles, it waits for a breakout above the 15m high or below the 15m low while confirming market bias using custom equilibrium zones.
Buy signals trigger when price breaks the 15m high while in a discount zone
Sell signals trigger when price breaks the 15m low while in a premium zone
The strategy simulates trades with fixed 3-5 pip take profit and stop loss values (configurable). All trades are recorded in a table with live trade results and an automatically updated win rate, typically achieving over 90–95% accuracy in favorable market conditions.
Features
Designed exclusively for the 5-minute timeframe
Custom 15-minute high/low breakout logic
Premium, Discount, and Equilibrium zone display
Built-in backtest tracker with live trade results, statistics, and win rate
Customizable start time, take profit, and stop loss settings
Real-time alerts on breakout signals
Visual markers for trade entries and failed trades
Consistent win rate exceeding 90–95% on average when following market conditions
Usage Tips
Use strictly on 5-minute charts for accurate signal performance. Avoid during high-impact news releases.
Important: Once a trade is opened, manually set your take profit at +3 to +5 pips immediately to secure the move, as these quick scalps often hit the target within a single candle. This prevents missed exits during rapid price action.
Zero Lag Trend Signals (MTF) [AlgoAlpha]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © AlgoAlpha
//@version=5
indicator("Zero Lag Trend Signals (MTF) ", shorttitle="AlgoAlpha - 0️⃣Zero Lag Signals", overlay=true)
length = input.int(70, "Length", tooltip = "The Look-Back window for the Zero-Lag EMA calculations", group = "Main Calculations")
mult = input.float(1.2, "Band Multiplier", tooltip = "This value controls the thickness of the bands, a larger value makes the indicato less noisy", group = "Main Calculations")
t1 = input.timeframe("5", "Time frame 1", group = "Extra Timeframes")
t2 = input.timeframe("15", "Time frame 2", group = "Extra Timeframes")
t3 = input.timeframe("60", "Time frame 3", group = "Extra Timeframes")
t4 = input.timeframe("240", "Time frame 4", group = "Extra Timeframes")
t5 = input.timeframe("1D", "Time frame 5", group = "Extra Timeframes")
green = input.color(#00ffbb, "Bullish Color", group = "Appearance")
red = input.color(#ff1100, "Bearish Color", group = "Appearance")
src = close
lag = math.floor((length - 1) / 2)
zlema = ta.ema(src + (src - src ), length)
volatility = ta.highest(ta.atr(length), length*3) * mult
var trend = 0
if ta.crossover(close, zlema+volatility)
trend := 1
if ta.crossunder(close, zlema-volatility)
trend := -1
zlemaColor = trend == 1 ? color.new(green, 70) : color.new(red, 70)
m = plot(zlema, title="Zero Lag Basis", linewidth=2, color=zlemaColor)
upper = plot(trend == -1 ? zlema+volatility : na, style = plot.style_linebr, color = color.new(red, 90), title = "Upper Deviation Band")
lower = plot(trend == 1 ? zlema-volatility : na, style = plot.style_linebr, color = color.new(green, 90), title = "Lower Deviation Band")
fill(m, upper, (open + close) / 2, zlema+volatility, color.new(red, 90), color.new(red, 70))
fill(m, lower, (open + close) / 2, zlema-volatility, color.new(green, 90), color.new(green, 70))
plotshape(ta.crossunder(trend, 0) ? zlema+volatility : na, "Bearish Trend", shape.labeldown, location.absolute, red, text = "▼", textcolor = chart.fg_color, size = size.small)
plotshape(ta.crossover(trend, 0) ? zlema-volatility : na, "Bullish Trend", shape.labelup, location.absolute, green, text = "▲", textcolor = chart.fg_color, size = size.small)
plotchar(ta.crossover(close, zlema) and trend == 1 and trend == 1 ? zlema-volatility*1.5 : na, "Bullish Entry", "▲", location.absolute, green, size = size.tiny)
plotchar(ta.crossunder(close, zlema) and trend == -1 and trend == -1 ? zlema+volatility*1.5 : na, "Bearish Entry", "▼", location.absolute, red, size = size.tiny)
s1 = request.security(syminfo.tickerid, t1, trend)
s2 = request.security(syminfo.tickerid, t2, trend)
s3 = request.security(syminfo.tickerid, t3, trend)
s4 = request.security(syminfo.tickerid, t4, trend)
s5 = request.security(syminfo.tickerid, t5, trend)
s1a = s1 == 1 ? "Bullish" : "Bearish"
s2a = s2 == 1 ? "Bullish" : "Bearish"
s3a = s3 == 1 ? "Bullish" : "Bearish"
s4a = s4 == 1 ? "Bullish" : "Bearish"
s5a = s5 == 1 ? "Bullish" : "Bearish"
if barstate.islast
var data_table = table.new(position=position.top_right, columns=2, rows=6, bgcolor=chart.bg_color, border_width=1, border_color=chart.fg_color, frame_color=chart.fg_color, frame_width=1)
table.cell(data_table, text_halign=text.align_center, column=0, row=0, text="Time Frame", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=0, text="Signal", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=0, row=1, text=t1, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=1, text=s1a, text_color=chart.fg_color, bgcolor=s1a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=2, text=t2, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=2, text=s2a, text_color=chart.fg_color, bgcolor=s2a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=3, text=t3, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=3, text=s3a, text_color=chart.fg_color, bgcolor=s3a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=4, text=t4, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=4, text=s4a, text_color=chart.fg_color, bgcolor=s4a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=5, text=t5, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=5, text=s5a, text_color=chart.fg_color, bgcolor=s5a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
/////////////////////////////////////////ALERTS FOR SMALL ARROWS (ENTRY SIGNALS)
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry Signal",
message="Bullish Entry Signal detected. Consider entering a long position.")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry Signal",
message="Bearish Entry Signal detected. Consider entering a short position.")
/////////////////////////////////////////ALERTS FOR TREND CONDITIONS
alertcondition(ta.crossover(trend, 0), "Bullish Trend")
alertcondition(ta.crossunder(trend, 0), "Bearish Trend")
alertcondition(ta.cross(trend, 0), "(Bullish or Bearish) Trend")
alertcondition(ta.crossover(s1, 0), "Bullish Trend Time Frame 1")
alertcondition(ta.crossunder(s1, 0), "Bearish Trend Time Frame 1")
alertcondition(ta.cross(s1, 0), "(Bullish or Bearish) Trend Time Frame 1")
alertcondition(ta.crossover(s2, 0), "Bullish Trend Time Frame 2")
alertcondition(ta.crossunder(s2, 0), "Bearish Trend Time Frame 2")
alertcondition(ta.cross(s2, 0), "(Bullish or Bearish) Trend Time Frame 2")
alertcondition(ta.crossover(s3, 0), "Bullish Trend Time Frame 3")
alertcondition(ta.crossunder(s3, 0), "Bearish Trend Time Frame 3")
alertcondition(ta.cross(s3, 0), "(Bullish or Bearish) Trend Time Frame 3")
alertcondition(ta.crossover(s4, 0), "Bullish Trend Time Frame 4")
alertcondition(ta.crossunder(s4, 0), "Bearish Trend Time Frame 4")
alertcondition(ta.cross(s4, 0), "(Bullish or Bearish) Trend Time Frame 4")
alertcondition(ta.crossover(s5, 0), "Bullish Trend Time Frame 5")
alertcondition(ta.crossunder(s5, 0), "Bearish Trend Time Frame 5")
alertcondition(ta.cross(s5, 0), "(Bullish or Bearish) Trend Time Frame 5")
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry")
bullishAgreement = s1 == 1 and s2 == 1 and s3 == 1 and s4 == 1 and s5 == 1
bearishAgreement = s1 == -1 and s2 == -1 and s3 == -1 and s4 == -1 and s5 == -1
alertcondition(bullishAgreement, "Full Bullish Agreement", message="All timeframes agree on bullish trend.")
alertcondition(bearishAgreement, "Full Bearish Agreement", message="All timeframes agree on bearish trend.")
RSI with Native Alerts//@version=5
indicator("RSI with Native Alerts", shorttitle="RSI Alerts", overlay=false)
// — INPUT
len = input.int(14, title="RSI Length")
// — CÁLCULO RSI
r = ta.rsi(close, len)
// — PLOT RSI y BANDAS
plot(r, title="RSI", color=#7E57C2)
hline(80, title="Overbought", color=color.red, linestyle=hline.style_dashed)
hline(50, title="Middle", color=color.gray, linestyle=hline.style_solid)
hline(20, title="Oversold", color=color.green, linestyle=hline.style_dashed)
// — ALERTAS INTERNAS (usa UNA sola ranura de alerta)
if ta.crossover(r, 80)
alert("🔔 RSI crossed above 80: " + str.tostring(r, format.mintick), alert.freq_once_per_bar)
if ta.crossunder(r, 20)
alert("🔔 RSI crossed below 20: " + str.tostring(r, format.mintick), alert.freq_once_per_bar)
RSI Alerts//@version=5
indicator("RSI Alerts", shorttitle="RSI Alerts", overlay=false)
// — INPUT
len = input.int(14, "RSI Length")
// — CÁLCULO
r = ta.rsi(close, len)
// — PLOT RSI Y BANDAS
plot(r, "RSI", color=#7E57C2)
hline(80, "Overbought", color=color.red, linestyle=hline.style_dashed)
hline(50, "Middle", color=color.gray, linestyle=hline.style_solid)
hline(20, "Oversold", color=color.green, linestyle=hline.style_dashed)
// — ALERTAS INTERNAS (usa UNA sola ranura de alerta)
if ta.crossover(r, 80)
alert("🔔 RSI cruzó por encima de 80: " + str.tostring(r, format.mintick), alert.freq_once_per_bar)
if ta.crossunder(r, 20)
alert("🔔 RSI cruzó por debajo de 20: " + str.tostring(r, format.mintick), alert.freq_once_per_bar)
KY CO KHOEThis powerful custom indicator is designed to help traders identify potential super stocks—those with exceptional momentum, trend alignment, and breakout behavior. By combining multiple proven techniques into a single view, this tool gives you a data-driven edge in spotting high-probability trade setups.
TRAPPER Volume Trigger + SMAs + Buy/Sell SplitThe TRAPPER TRIGGER is a precision-based volume spike indicator designed for intraday traders, scalpers, and swing traders who rely on key volume activity to anticipate sharp market movements. It operates on volume delta logic, detecting disproportionate buying or selling activity that signifies potential market reversals or breakouts.
How It Works:
Volume Spike Logic (Delta-Based)
The script calculates a dynamic volume threshold using a moving average of historical volume data.
It identifies a delta spike by comparing current volume against this threshold—when volume exceeds it significantly, it suggests abnormal activity.
If the candle closes higher than it opens (bullish), the script registers it as a Buy Spike ⚖️.
If the candle closes lower than it opens (bearish), it marks a Sell Spike 🏁.
These are not based on the candle’s body size but the volume differential (delta) between buy/sell pressure inferred from candle direction.
Trigger Labels
Only the most recent buy/sell spike is labeled for clarity, avoiding clutter.
Labels are color-coded to match the candle body (e.g., bright green for bullish, magenta for bearish).
Label style: ⚖️ for Buy Spikes, 🏁 for Sell Spikes.
SMA Suite (Fully Customizable):
Six SMAs: 5 (yellow), 10 (blue), 20 (green), 50 (orange), 100 (red), 200 (white).
Each can be toggled and customized in the script settings for visibility and styling.
Key Benefits
Clean, minimalistic charting — focuses only on high-probability events.
Provides delta-driven insights without requiring access to full L2 order book data.
Works across any timeframe — logic recalculates and resets zones per timeframe switch.
Designed for sniper-style entries—ideal for traders who prefer minimal noise and maximum signal clarity.
Easily extendable with SR zones, AVWAP, liquidity levels, or alerts if desired in future updates.
Who It’s For
Scalpers and intraday traders looking for clean triggers.
Swing traders wanting confirmation of institutional moves.
Volume profile enthusiasts who need a trigger alert system.
Developers who want a base volume framework to build more advanced tools on.
Disclaimer
This script is provided as-is and is intended for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any security or asset.
All trading involves risk. Users should perform their own due diligence and consult with a qualified financial advisor before making any trading decisions. The author of this script assumes no liability for any losses or damages arising from the use or reliance on this tool.
By using this script, you acknowledge and agree that you are solely responsible for your own trading decisions and outcomes.