Candlestick analysis
Trend zooming boxThis script clearly find trend.
You will be able to find areas where you get large impulsive moves in history easily. Not too much to describe.
Al Brooks - Bar CountIndicator Purpose:
This indicator displays bar counts on the chart to help traders identify important time nodes and cycle transitions
Features smart session filtering with automatic futures/stock detection and appropriate trading session counting
Core Features:
Smart asset detection: Auto-detect futures and stocks
Session filter toggle: Choose all-day or session-specific counting
Auto timezone handling: Chicago time for futures, NY time for stocks
Flexible display control: Customizable display frequency and label size
Session Settings:
8:30-15:15 (CT) / Futures mode: Chicago time 8:30-15:15 (CT)
9:30-16:00 (ET) / Stock mode: New York time 9:30-16:00 (ET)
All-day mode: Count from first bar of the day
Timeframe Correspondence:
Multiples of 3: Correspond to 15-minute chart update cycles
Multiples of 12: Correspond to 1-hour chart update cycles
18: Key nodes, important time turning points
new takesi_2Step_Screener_MOU_KAKU_FIXED4 (Visible)//@version=5
indicator("MNO_2Step_Screener_MOU_KAKU_FIXED4 (Visible)", overlay=true, max_labels_count=500)
// =========================
// Inputs
// =========================
emaSLen = input.int(5, "EMA Short (5)")
emaMLen = input.int(13, "EMA Mid (13)")
emaLLen = input.int(26, "EMA Long (26)")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
macdZeroTh = input.float(0.2, "MOU: MACD near-zero threshold", step=0.05)
volLookback = input.int(5, "Volume MA days", minval=1)
volMinRatio = input.float(1.3, "MOU: Volume ratio min", step=0.1)
volStrong = input.float(1.5, "Strong volume ratio (Breakout/KAKU)", step=0.1)
volMaxRatio = input.float(3.0, "Volume ratio max (filter)", step=0.1)
wickBodyMult = input.float(2.0, "Pinbar: lowerWick >= body*x", step=0.1)
pivotLen = input.int(20, "Resistance lookback", minval=5)
pullMinPct = input.float(5.0, "Pullback min (%)", step=0.1)
pullMaxPct = input.float(15.0, "Pullback max (%)", step=0.1)
breakLookbackBars = input.int(5, "Pullback route: valid bars after break", minval=1)
// --- Breakout route (押し目なし初動ブレイク) ---
useBreakoutRoute = input.bool(true, "Enable MOU Breakout Route (no pullback)")
breakConfirmPct = input.float(0.3, "Break confirm: close > R*(1+%)", step=0.1)
bigBodyLookback = input.int(20, "Break candle body MA length", minval=5)
bigBodyMult = input.float(1.2, "Break candle: body >= MA*mult", step=0.1)
requireCloseNearHigh = input.bool(true, "Break candle: close near high")
closeNearHighPct = input.float(25.0, "Close near high threshold (% of range)", step=1.0)
allowMACDAboveZeroInstead = input.bool(true, "Breakout route: allow MACD GC above zero instead")
// 表示
showEMA = input.bool(true, "Plot EMAs")
showMou = input.bool(true, "Show MOU label")
showKaku = input.bool(true, "Show KAKU label")
// ★ここを改善:デバッグ表はデフォルトON
showDebugTbl = input.bool(true, "Show debug table (last bar)")
// ★稼働確認ラベル(最終足に必ず出す)
showStatusLbl = input.bool(true, "Show status label (last bar always)")
locChoice = input.string("Below Bar", "Label location", options= )
lblLoc = locChoice == "Below Bar" ? location.belowbar : location.abovebar
// =========================
// EMA
// =========================
emaS = ta.ema(close, emaSLen)
emaM = ta.ema(close, emaMLen)
emaL = ta.ema(close, emaLLen)
plot(showEMA ? emaS : na, color=color.new(color.yellow, 0), title="EMA 5")
plot(showEMA ? emaM : na, color=color.new(color.blue, 0), title="EMA 13")
plot(showEMA ? emaL : na, color=color.new(color.orange, 0), title="EMA 26")
emaUpS = emaS > emaS
emaUpM = emaM > emaM
emaUpL = emaL > emaL
goldenOrder = emaS > emaM and emaM > emaL
above26_2days = close > emaL and close > emaL
// 勝率維持の土台(緩めない)
baseTrendOK = (emaUpS and emaUpM and emaUpL) and goldenOrder and above26_2days
// =========================
// MACD
// =========================
= ta.macd(close, macdFast, macdSlow, macdSignal)
macdGC = ta.crossover(macdLine, macdSig)
macdUp = macdLine > macdLine
macdNearZero = math.abs(macdLine) <= macdZeroTh
macdGCAboveZero = macdGC and macdLine > 0 and macdSig > 0
macdMouOK = macdGC and macdNearZero and macdUp
macdBreakOK = allowMACDAboveZeroInstead ? (macdMouOK or macdGCAboveZero) : macdMouOK
// =========================
// Volume
// =========================
volMA = ta.sma(volume, volLookback)
volRatio = volMA > 0 ? (volume / volMA) : na
volumeMouOK = volRatio >= volMinRatio and volRatio <= volMaxRatio
volumeStrongOK = volRatio >= volStrong and volRatio <= volMaxRatio
// =========================
// Candle patterns
// =========================
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
pinbar = (lowerWick >= wickBodyMult * body) and (lowerWick > upperWick) and (close >= open)
bullEngulf =
close > open and close < open and
close >= open and open <= close
bigBull =
close > open and
open < emaM and close > emaS and
(body > ta.sma(body, 20))
candleOK = pinbar or bullEngulf or bigBull
// =========================
// Resistance / Pullback route
// =========================
res = ta.highest(high, pivotLen)
pullbackPct = res > 0 ? (res - close) / res * 100.0 : na
pullbackOK = pullbackPct >= pullMinPct and pullbackPct <= pullMaxPct
brokeRes = ta.crossover(close, res )
barsSinceBreak = ta.barssince(brokeRes)
afterBreakZone = (barsSinceBreak >= 0) and (barsSinceBreak <= breakLookbackBars)
pullbackRouteOK = afterBreakZone and pullbackOK
// =========================
// Breakout route (押し目なし初動ブレイク)
// =========================
breakConfirm = close > res * (1.0 + breakConfirmPct / 100.0)
bullBreak = close > open
bodyMA = ta.sma(body, bigBodyLookback)
bigBodyOK = bodyMA > 0 ? (body >= bodyMA * bigBodyMult) : false
rng = math.max(high - low, syminfo.mintick)
closeNearHighOK = not requireCloseNearHigh ? true : ((high - close) / rng * 100.0 <= closeNearHighPct)
mou_breakout =
useBreakoutRoute and
baseTrendOK and
breakConfirm and
bullBreak and
bigBodyOK and
closeNearHighOK and
volumeStrongOK and
macdBreakOK
mou_pullback = baseTrendOK and volumeMouOK and candleOK and macdMouOK and pullbackRouteOK
mou = mou_pullback or mou_breakout
// =========================
// KAKU (Strict): 8条件 + 最終三点
// =========================
cond1 = emaUpS and emaUpM and emaUpL
cond2 = goldenOrder
cond3 = above26_2days
cond4 = macdGCAboveZero
cond5 = volumeMouOK
cond6 = candleOK
cond7 = pullbackOK
cond8 = pullbackRouteOK
all8_strict = cond1 and cond2 and cond3 and cond4 and cond5 and cond6 and cond7 and cond8
final3 = pinbar and macdGCAboveZero and volumeStrongOK
kaku = all8_strict and final3
// =========================
// Display (猛 / 猛B / 確)
// =========================
showKakuNow = showKaku and kaku
showMouPull = showMou and mou_pullback and not kaku
showMouBrk = showMou and mou_breakout and not kaku
plotshape(showMouPull, title="MOU_PULLBACK", style=shape.labelup, text="猛",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showMouBrk, title="MOU_BREAKOUT", style=shape.labelup, text="猛B",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showKakuNow, title="KAKU", style=shape.labelup, text="確",
color=color.new(color.yellow, 0), textcolor=color.black, location=lblLoc, size=size.small)
// =========================
// ★稼働確認:最終足に必ず出すステータスラベル
// =========================
var label status = na
if showStatusLbl and barstate.islast
label.delete(status)
statusTxt =
"MNO RUNNING " +
"MOU: " + (mou ? "YES" : "no") + " (pull=" + (mou_pullback ? "Y" : "n") + " / brk=" + (mou_breakout ? "Y" : "n") + ") " +
"KAKU: " + (kaku ? "YES" : "no") + " " +
"BaseTrend: " + (baseTrendOK ? "OK" : "NO") + " " +
"MACD(mou): " + (macdMouOK ? "OK" : "NO") + " / MACD(zeroGC): " + (macdGCAboveZero ? "OK" : "NO") + " " +
"Vol: " + (na(volRatio) ? "na" : str.tostring(volRatio, format.mintick)) + " " +
"Pull%: " + (na(pullbackPct) ? "na" : str.tostring(pullbackPct, format.mintick))
status := label.new(bar_index, high, statusTxt, style=label.style_label_left,
textcolor=color.white, color=color.new(color.black, 0))
// =========================
// Alerts
// =========================
alertcondition(mou, title="MNO_MOU", message="MNO: MOU triggered")
alertcondition(mou_breakout, title="MNO_MOU_BREAKOUT", message="MNO: MOU Breakout triggered")
alertcondition(mou_pullback, title="MNO_MOU_PULLBACK", message="MNO: MOU Pullback triggered")
alertcondition(kaku, title="MNO_KAKU", message="MNO: KAKU triggered")
// =========================
// Debug table (optional)
// =========================
var table t = table.new(position.top_right, 2, 14, border_width=1, border_color=color.new(color.white, 60))
fRow(_name, _cond, _r) =>
bg = _cond ? color.new(color.lime, 70) : color.new(color.red, 80)
tx = _cond ? "OK" : "NO"
table.cell(t, 0, _r, _name, text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, _r, tx, text_color=color.white, bgcolor=bg)
if showDebugTbl and barstate.islast
table.cell(t, 0, 0, "MNO Debug", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, 0, "", text_color=color.white, bgcolor=color.new(color.black, 0))
fRow("BaseTrend", baseTrendOK, 1)
fRow("MOU Pullback", mou_pullback, 2)
fRow("MOU Breakout", mou_breakout, 3)
fRow("Break confirm", breakConfirm, 4)
fRow("Break big body", bigBodyOK, 5)
fRow("Break close high", closeNearHighOK, 6)
fRow("Break vol strong", volumeStrongOK, 7)
fRow("Break MACD", macdBreakOK, 8)
fRow("KAKU all8", all8_strict, 9)
fRow("KAKU final3", final3, 10)
fRow("MOU any", mou, 11)
fRow("KAKU", kaku, 12)
VOLUME with DOUBLE MAA volume chart with dual moving averages. If you're looking for a volume chart with dual moving averages, this script is for you. By averaging the volume over two periods, you can discover more subtle relationships between price and volume.
BALA'S Indicator - Dynamic + 5-Min + Pre-Market LevelsINTRADAY Strategy on Nifty with 15min Candle Setup.
teril 1H EMA50 Harami Reversal Alerts BB Touch teril Harami Reversal Alerts BB Touch (Wick Filter Added + 1H EMA50)
teril Harami Reversal Alerts BB Touch (Wick Filter Added + 1H EMA50)
teril Harami Reversal Alerts BB Touch (Wick Filter Added + 1H EMA50)
teril Harami Reversal Alerts BB Touch (Wick Filter Added + 1H EMA50)
Terils 1hr HTF EMA Add-On EMA 50/100its EMA 50 and EMA 100 in 1 her time frame.
its EMA 50 and EMA 100 in 1 her time frame.
its EMA 50 and EMA 100 in 1 her time frame.
its EMA 50 and EMA 100 in 1 her time frame.
its EMA 50 and EMA 100 in 1 her time frame.
Swing HL**摆动点标注(Swing HL)**
本指标用于在价格图表上标示摆动高点与摆动低点,以辅助用户观察价格结构、波段节奏及潜在支撑/阻力区域。标注以圆点形式叠加在主图上,可通过参数灵活控制显示周期、敏感度及视觉样式,适合作为价格结构分析的辅助工具。
### 参数及用法说明
1. **最小显示时间框架(minSwingTf)**
* 用途:设定摆动点开始显示的最小周期。
* 当前图表周期小于该设置时,不显示任何摆动标注。
* 建议:
* 做中短线结构分析时,可设置为 240 分钟或更高;
* 若需要在更小周期观察结构,可适当降低该参数。
2. **left / right(leftBars / rightBars)**
* 用途:共同控制摆动高点、低点识别的“严格程度”和频率。
* 调整建议:
* 数值较小:标注更频繁,适合关注细节波动、短线结构;
* 数值较大:只保留更明显的摆动点,适合观察中期或波段结构;
* 当图表上摆动点过多、显得拥挤时,可适当增大这两个参数。
3. **标注颜色(dotColor)**
* 用途:设置摆动点圆标的颜色。
* 建议根据图表背景及主图颜色进行调整,以保证摆动点清晰可见但不过于抢眼。
4. **线宽(dotWidth)**
* 用途:控制圆点标注的线宽,从而影响圆点的视觉大小。
* 当需要在高密度数据或缩放较小时保持清晰,可适当增大该数值。
### 使用建议
* 可将本指标作为结构辅助层叠加在任何交易系统之上,用于直观划分价格的波段高低点。
* 进行多周期分析时,可在较大周期(如 4H、日线)上利用本指标确认整体结构,再配合小周期执行入场与风控。
* 当摆动点过多时,可通过提高 `minSwingTf` 或增加 `left` / `right` 参数,使结构标注更加简洁清晰。
* 本指标仅提供价格摆动结构的可视化标注,不直接构成完整的交易信号或策略规则,建议与个人既有分析方法结合使用。
---
**Swing HL – Swing High/Low Marker**
This indicator marks swing highs and swing lows on the price chart to assist in reading price structure, swing rhythm, and potential support/resistance zones. Markers are plotted as dots on the main chart, and display behavior can be fully controlled via user inputs such as minimum timeframe, sensitivity, and visual style. It is designed to serve as a structural overlay for discretionary or systematic analysis.
### Inputs and Usage
1. **Minimum Display Timeframe (minSwingTf)**
* Purpose: Defines the minimum timeframe on which swing markers will be shown.
* When the current chart timeframe is below this setting, all swing markers are hidden.
* Guidance:
* For swing or position-style structure analysis, consider using 4H or higher;
* For intraday structural work, you may lower this value as needed.
2. **left / right (leftBars / rightBars)**
* Purpose: Jointly control how strict and how frequent swing highs and lows are marked.
* Tuning:
* Smaller values: More frequent swings, suitable for detailed, lower-timeframe structure;
* Larger values: Only more pronounced swings are kept, suitable for higher-level trend and swing mapping;
* If the chart becomes crowded with markers, increasing these values will simplify the structure.
3. **Marker Color (dotColor)**
* Purpose: Sets the color of the swing markers.
* It is recommended to choose a color that contrasts with the background and main price plot while remaining visually unobtrusive.
4. **Line Width (dotWidth)**
* Purpose: Controls the line width of the dot markers, effectively adjusting their perceived size.
* On dense charts or when zoomed out, a larger value can help maintain readability.
### Practical Notes
* Use this indicator as a structural overlay to highlight swing highs and lows alongside your existing trading tools and methods.
* In multi-timeframe workflows, it can help outline the main structure on higher timeframes (e.g., 4H, Daily), which you then refine on lower timeframes for execution.
* If too many swing points appear, either increase `minSwingTf` or raise the `left` / `right` values to obtain a cleaner structural view.
* The script is intended as a visualization aid for price swings; it does not, by itself, define entry, exit, or risk management rules and should be integrated into a broader analytical framework.
ZKNZCN Önceki Bar H/L (Ayrı Kontrol)Bir önceki barın high & low noktalarını çizgi halinde görmeyi sağlar.
Dynamic Trend Channel - Adaptive Support & Resistance SystemA powerful trend-following indicator that adapts to market conditions in real-time. The Dynamic Trend Channel uses ATR-based volatility measurements to create intelligent support and resistance zones that adjust automatically to price action.
Key Features:
✓ Adaptive channel width based on market volatility (ATR)
✓ Color-coded trend identification (Green = Bullish, Red = Bearish)
✓ Smooth, flowing bands that reduce noise
✓ Breakout signals for high-probability entries
✓ Real-time info table showing trend status and price positioning
✓ Customizable settings for all timeframes
LoD dist.%Lod dist.% is to calculate the percentage distance between the lows of day price and the current price in real-time.
In addition, I also use 20 day ADR%, and based on the comparison to 20 day ADR%, I create the three color of Lod dist.% (green, yellow, and red), tells if the Lod dist.% is <=1/2 ADR% or >1/2 but <=1 ADR% or >1 ADR%.
This help me understand if the buy at the tight risk (green), or is it a chase (red).
MTF Switch Level (Single TF)Multi-timeframe Switch Level (Single TF)
This indicator marks the most recent “switch level” created by breakout / breakdown behaviour on the current timeframe.
How it works
– After a bullish breakout (close above the previous bar’s high), the script sets a bearish switch level at that previous high.
– After a bearish breakdown (close below the previous bar’s low), it sets a bullish switch level at that previous low.
– A single horizontal line extends from the latest switch level.
– The line and “S” label turn bullish when price is above the level and bearish when price is below it.
– Optional alerts fire when price crosses the active switch level.
Use-cases
– Visualise where breakout traders are likely trapped.
– Define a simple “above = bullish / below = bearish” bias line.
– Combine with higher-timeframe analysis or other tools for context.
Inputs
– Enable/disable bullish and bearish switch conditions.
– Line length, colour, style, thickness.
– Label position and offsets.
– Alert conditions for crosses.
Disclaimer
This tool is for charting and educational purposes only and is not financial advice or a signal service. Always do your own research and risk management.
(5+15+60min+1D)EMA20+Y'SH/L+count简介: 这是一个专为 5分钟图表 (5min Chart) 日内交易者设计的综合辅助工具。它结合了多周期趋势均线、美股核心交易时段的时间周期计数以及关键流动性位置(前一日高低点)的智能突破监测。该脚本针对美股个股及 24/7 交易的 BTC/ETH 进行了优化,强制锁定纽约时间进行运算。
核心功能:
1. 多周期 EMA 监控系统 (MTF EMAs)
5min EMA20 (蓝色):日内短期趋势核心线(默认开启)。
60min EMA20 (绿色):小时级别趋势参考(默认开启)。
15min EMA20 (红色) & 1D EMA20 (橙色):可选开启,用于捕捉更大周期的支撑阻力。
特点:所有均线采用最细线宽,平滑显示,右上角表格实时展示当前价格。
2. 美股时段 Bar Count 计数器
时间锚定:以纽约时间 (New York Time) 09:30 开盘为起点(Bar 0)。
显示规则:仅在 K 线底部显示 偶数 序号 (0, 2, 4, 6 ...),直至第 82 根 K 线停止。
关键时间窗 (Time Pivots):
Bar 18 (约 NY 10:55) 和 Bar 40 (约 NY 12:45) 会被自动高亮。
字体变为 蓝色粗体,且对应 K 线实体变为蓝色,提示潜在的变盘或宏观流动性注入时刻。
3. 智能 PDH/PDL 射线 (Smart Rays)
精确锚点:前一日高点 (PDH) 和低点 (PDL) 的射线不是从开盘画起,而是从昨日形成高低点的具体时间点射出,精确还原价格行为。
自动阻断 (Breakout Logic):一旦当前价格触碰或突破该射线,射线将自动停止延伸,直观展示“阻力/支撑已失效”。
自动清理:每日自动清除旧线,仅保留当天的参考线,保持图表整洁。
4. 视觉优化
每日分割线:自动绘制灰色虚线分隔交易日。
图表限制:脚本仅在 5分钟图表上可见,切换周期自动隐藏,避免干扰大周期分析。
设置说明:
可在设置面板中自由开关各周期 EMA 的显示。
可开关底部的计数数字显示。
English Version (for TradingView Publishing)
Title: 5min Intraday Precision Toolkit: MTF EMAs + NY Session Count + Smart Rays
Introduction: This is a comprehensive auxiliary tool designed specifically for 5-minute chart intraday traders. It combines multi-timeframe trend EMAs, time cycle counting based on the US Session, and smart breakout monitoring for key liquidity levels (Previous Day High/Low). Optimized for US Equities and Crypto (BTC/ETH) using New York Time.
Key Features:
1. Multi-Timeframe EMA System
5min EMA20 (Blue): Core short-term intraday trend (On by default).
60min EMA20 (Green): Hourly trend reference (On by default).
15min EMA20 (Red) & 1D EMA20 (Orange): Optional overlays for higher timeframe support/resistance.
Visuals: All EMAs are rendered with fine lines for a clean look, accompanied by a top-right dashboard table.
2. NY Session Bar Count
Time Anchor: Starts counting from 09:30 New York Time (Bar 0).
Display Logic: Displays only EVEN numbers (0, 2, 4...) at the bottom of the bars, stopping at count 82.
Time Pivots:
Bar 18 (~10:55 NY) and Bar 40 (~12:45 NY) are highlighted.
Labels turn Bold Blue, and the specific candles are colored Blue to indicate potential reversal or liquidity injection times.
3. Smart PDH/PDL Rays
Precise Origin: Rays for Previous Day High (PDH) and Previous Day Low (PDL) originate from the exact timestamp they were created yesterday, not just the daily open.
Breakout Stop Logic: Rays automatically stop extending once price touches or breaks them, clearly indicating that the level has been tested.
Auto-Clean: Automatically removes old rays from previous days to keep the chart clean.
4. Visual Optimization
Daily Separators: Automatic vertical dotted lines marking new days.
Visibility: All elements are hidden on non-5m charts to prevent clutter.
Settings:
Toggle visibility for individual EMAs.
Toggle visibility for the bottom bar counter.
Continuation Model by XausThis report summarizes the historical performance of the Institutional Daily Bias Probability Model on
EURUSD daily data for the 2025 calendar year. The model combines three components: 1.
Continuation bias around the previous day's high/low (PDH/PDL). 2. Reversal bias based on failed
continuation, failed breakouts, and exhaustion. 3. Neutral bias to identify liquidity-building days when no
directional trades should be taken. A fixed 25-pip stop loss (0.0025) is assumed for R-multiple
calculations. Trades are only taken when Neutral score < 50 and either Continuation or Reversal score
is at least 70, with Neutral overriding, then Reversal, then Continuation.
Exhaustion IndicatorThe ScalpSQZ indicator is designed to identify four critical market states using volatility structure, momentum behavior, and exhaustion conditions. It enhances scalping precision by visually marking transitions between consolidation, squeeze conditions, and momentum reversals through color-coded candles.
1. Squeeze Conditions (Orange Candles)
Orange candles highlight volatility compression, detected when Bollinger Bands contract inside the Keltner Channels. This structure signals that market volatility is tightening and a significant expansion move is likely to follow. The squeeze represents a pre-breakout environment and serves as the earliest warning of a potential directional shift.
2. Consolidation Conditions (Yellow Candles)
Yellow candles identify phases of low directional momentum. These conditions occur when RSI remains near neutral values, MACD histogram activity is minimal, and the Rate of Change stays muted. This combination indicates that the market is balanced and non-trending, often preceding a volatility spike or a new trend. Consolidation helps traders avoid low-probability entries during indecisive price action.
3. Momentum Exhaustion — Overbought Fade (White Candles)
White candles signal potential top-side exhaustion. This occurs when RSI enters overbought territory while the MACD histogram begins to weaken compared to the previous bar. This condition does not necessarily call a reversal but warns that bullish momentum is deteriorating and upside continuation may be limited. It is particularly useful for identifying trend fatigue and tightening stop-loss placement.
4. Momentum Exhaustion — Oversold Fade (Purple Candles)
Purple candles identify bottom-side exhaustion and appear when RSI reaches oversold levels, MACD momentum begins improving, and the current close shows buyer defense relative to the previous low. This condition suggests selling pressure is diminishing and a potential reversal or relief bounce may be forming. Purple candles serve as an early indication of bearish trend exhaustion.
Color Priority System
The indicator follows a fixed hierarchy to ensure clarity:
Squeeze (orange) has the highest priority, followed by consolidation (yellow). Exhaustion signals (white for tops, purple for bottoms) apply only when no squeeze or consolidation conditions are active. This structure ensures that the most critical market states are always highlighted first.
Purpose and Application
ScalpSQZ helps traders identify optimal environments for breakouts, anticipate trend exhaustion, and avoid low-quality trades during choppy or low-momentum conditions. It is suitable for scalping, day trading, and swing trading across any asset class or timeframe.
Smart Scalper V7 [Churn Filter]Indicator uses relative volume by time as well as ADX to highlight if volume is high to prevent trading in chop or being faked out.
Dec 1
Release Notes
How to Read the "Traffic Light" 🚦
You asked: "How do I work out if volume is higher or lower?" Look at the White Horizontal Line running across the indicator.
Height (Quantity):
Above the Line: Volume is High (The crowd is here).
Below the Line: Volume is Low (Everyone is at lunch).
Color (Quality):
🟢 Green: High Volume + Strong Trend. (Best for Entries).
🟡 Yellow: High Volume but NO Trend. This is usually a Reversal or a Trap. (Big fight, no winner yet).
🟠 Orange: Trending, but on Low Volume. The price is drifting. Don't trust it—it can snap back easily.
🔴 Red: Low Volume, No Trend. The "Kill Zone." Do not trade.
Fair Value Gap Signals [Kodexius]Fair Value Gap Signals is an advanced market structure tool that automatically detects and tracks Fair Value Gaps (FVGs), evaluates the quality of each gap, and highlights high value reaction zones with visual metrics and signal markers.
The script is designed for traders who focus on liquidity concepts, order flow and mean reversion. It goes beyond basic FVG plotting by continuously monitoring how price interacts with each gap and by quantifying three key aspects of each zone:
-Entry velocity inside the gap
-Volume absorption during tests
-Structural integrity and depth of penetration
The result is a dynamic, information rich visualization of which gaps are being respected, which are being absorbed, and where potential reversals or continuations are most likely to occur.
All visual elements are configurable, including the maximum number of visible gaps per direction, mitigation method (close or wick) and an ATR based filter to ignore insignificant gaps in low volatility environments.
🔹 Features
🔸 Automated Fair Value Gap Detection
The script detects both bullish and bearish FVGs based on classic three candle logic:
Bullish FVG: current low is strictly above the high from two bars ago
Bearish FVG: current high is strictly below the low from two bars ago
🔸 ATR Based Gap Filter
To avoid clutter and low quality signals, the script can ignore very small gaps using an ATR based filter.
🔸Per Gap State Machine and Lifecycle
Each gap is tracked with an internal status:
Fresh: gap has just formed and has not been tested
Testing: price is currently trading inside the gap
Tested: gap was tested and left, waiting for a potential new test
Rejected: price entered the gap and then rejected away from it
Filled: gap is considered fully mitigated and no longer active
This state machine allows the script to distinguish between simple touches, multiple tests and meaningful reversals, and to trigger different alerts accordingly.
🔸 Visual Ranking of Gaps by Metrics
For each active gap, three additional horizontal rank bars are drawn on top of the gap area:
Rank 1 (Vel): maximum entry velocity inside the gap
Rank 2 (Vol): relative test volume compared to average volume
Rank 3 (Dpt): remaining safety of the gap based on maximum penetration depth
These rank bars extend horizontally from the creation bar, and their length is a visual score between 0 and 1, scaled to the age of the gap. Longer bars represent stronger or more favorable conditions.
🔸Signals and Rejection Markers
When a gap shows signs of rejection (price enters the gap and then closes away from it with sufficient activity), the script can print a signal label at the reaction point. These markers summarize the internal metrics of the gap using a tooltip:
-Velocity percentage
-Volume percentage
-Safety score
-Number of tests
🔸 Flexible Mitigation Logic (Close or Wick)
You can choose how mitigation is defined via the Mitigation Method input:
Close: the gap is considered filled only when the closing price crosses the gap boundary
Wick: a full fill is detected as soon as any wick crosses the gap boundary
🔸 Alert Conditions
-New FVG formed
-Price entering a gap (testing)
-Gap fully filled and invalidated
-Rejection signal generated
🔹Calculations
This section summarizes the main calculations used under the hood. Only the core logic is covered.
1. ATR Filter and Gap Size
The script uses a configurable ATR length to filter out small gaps. First the ATR is computed:
float atrVal = ta.atr(atrLength)
Gap size for both directions is then measured:
float gapSizeBull = low - high
float gapSizeBear = low - high
If useAtrFilter is enabled, gaps smaller than atrVal are ignored. This ties the minimum gap size to the current volatility regime.
2. Fair Value Gap Detection
The basic FVG conditions use a three bar structure:
bool fvgBull = low > high
bool fvgBear = high < low
For bullish gaps the script stores:
-top as low of the current bar
-bottom as high
For bearish gaps:
-top as high of the current bar
-bottom as low
This defines the price range that is considered the imbalance area.
3. Depth and Safety Score
Depth measures how far price has penetrated into the gap since its creation. For each bar, the script computes a currentDepth and updates the maximum depth:
float currentDepth = 0.0
if g.isBullish
if l < g.top
currentDepth := g.top - l
else
if h > g.bottom
currentDepth := h - g.bottom
if currentDepth > g.maxDepth
g.maxDepth := currentDepth
The safety score expresses how much of the gap remains intact:
float depthRatio = g.maxDepth / gapSize
float safetyScore = math.max(0.0, 1.0 - depthRatio)
safetyScore near 1: gap is mostly untouched
safetyScore near 0: gap is mostly or fully filled
4. Velocity Metric
Velocity captures how aggressively price moves inside the gap. It is based on the body to range ratio of each bar that trades within the gap and rewards bars that move in the same direction as the gap:
float barRange = h - l
float bodyRatio = math.abs(close - open) / barRange
float directionBonus = 0.0
if g.isBullish and close > open
directionBonus := 0.2
else if not g.isBullish and close < open
directionBonus := 0.2
float currentVelocity = math.min(bodyRatio + directionBonus, 1.0)
The gap keeps track of the strongest observed value:
if currentVelocity > g.maxVelocity
g.maxVelocity := currentVelocity
This maximum is later used as velScore when building the velocity rank bar.
5. Volume Accumulation and Volume Score
While price is trading inside a gap, the script accumulates the traded volume:
if isInside
g.testVolume += volume
It also keeps track of the number of tests and the volume at the start of the first test:
if g.status == "Fresh"
g.status := "Testing"
g.testCount := 1
g.testStartVolume := volume
An average volume is computed using a 20 period SMA:
float volAvg = ta.sma(volume, 20)
The expected volume is approximated as:
float expectedVol = volAvg * math.max(1, (bar_index - g.index) / 2)
The volume score is then:
float volScore = math.min(g.testVolume / expectedVol, 1.0)
This produces a normalized 0 to 1 metric that shows whether the gap has attracted more or less volume than expected over its lifetime.
6. Rank Bar Scaling
All three scores are projected visually along the time axis as horizontal bars. The script uses the age of the gap in bars as the maximum width:
float maxWidth = math.max(bar_index - g.index, 1)
Then each metric is mapped to a bar length:
int len1 = int(math.max(1, maxWidth * velScore))
g.rankBox1.set_right(g.index + len1)
int len2 = int(math.max(1, maxWidth * volScore))
g.rankBox2.set_right(g.index + len2)
int len3 = int(math.max(1, maxWidth * safetyScore))
g.rankBox3.set_right(g.index + len3)
This creates an intuitive visual representation where stronger metrics produce longer rank bars, making it easy to quickly compare the relative quality of multiple FVGs on the chart.
Linechart + Wicks - by SupersonicFXThis is a simple indicator that shows the highs and lows (wicks) on the linechart.
You can vary the colors.
Nothing more to say.
Hope some of you find it useful.
Fanfans极简原版优化版### 中英文双语总结(300字内)
中文:该指标为Fanfans极简原版优化版,基于RSI和ATR构建核心交易信号,新增趋势(EMA)、成交量、时间、价格位置多维度过滤,及动态ATR倍数调整功能。含同方向订单间隔限制、多级止盈止损(支持阈值触发),内置信号质量评分、标签标注与警报推送,可自定义过滤规则和显示样式,通过多维度筛选降低无效信号,提升短周期交易信号准确性。
English: This is an optimized version of Fanfans' minimalist indicator, building core trading signals based on RSI and ATR. It adds multi-dimensional filters (trend/EMA, volume, time, price position) and dynamic ATR multiplier adjustment, includes same-direction order interval limits, multi-level SL/TP (supporting threshold triggers), built-in signal quality scoring, label annotation and alert push. Customizable filter rules and display styles reduce invalid signals via multi-dimensional screening, improving short-term trading signal accuracy.
Qullamaggie 3★ / 4★ / 5★ Setup Detector (Clean, Colored Labels)Qullamaggie 3★ / 4★ / 5★ Setup Detector (Clean, Colored Labels)-Thaha
cảnh báo Khi Nến M15 Đóngtoday timeframe today timeframe today timeframe today timeframe today timeframe





















