Qullamaggie 3★ / 4★ / 5★ Setup Detector (Clean, Colored Labels)Qullamaggie 3★ / 4★ / 5★ Setup Detector (Clean, Colored Labels)-Thaha
Formacje wykresów
Liquidity Sweep + FVG Entry Model//@version=5
indicator("Liquidity Sweep + FVG Entry Model", overlay = true, max_labels_count = 500, max_lines_count = 500)
// Just to confirm indicator is loaded, always plot close:
plot(close, color = color.new(color.white, 0))
// ─────────────────────────────────────────────
// PARAMETERS
// ─────────────────────────────────────────────
len = input.int(5, "Liquidity Lookback")
tpMultiplier = input.float(2.0, "TP Distance Multiplier")
// ─────────────────────────────────────────────
// LIQUIDITY SWEEP DETECTION
// ─────────────────────────────────────────────
lowestPrev = ta.lowest(low, len)
highestPrev = ta.highest(high, len)
sweepLow = low < lowestPrev and close > lowestPrev
sweepHigh = high > highestPrev and close < highestPrev
// Plot liquidity levels
plot(lowestPrev, "Liquidity Low", color = color.new(color.blue, 40), style = plot.style_line)
plot(highestPrev, "Liquidity High", color = color.new(color.red, 40), style = plot.style_line)
// ─────────────────────────────────────────────
// DISPLACEMENT DETECTION
// ─────────────────────────────────────────────
bullDisp = sweepLow and close > open and close > close
bearDisp = sweepHigh and close < open and close < close
// ─────────────────────────────────────────────
// FAIR VALUE GAP (FVG)
// ─────────────────────────────────────────────
bullFVG = low > high
bearFVG = high < low
// we’ll store the last FVG lines
var line fvgTop = na
var line fvgBottom = na
// clear old FVG lines when new one appears
if bullFVG or bearFVG
if not na(fvgTop)
line.delete(fvgTop)
if not na(fvgBottom)
line.delete(fvgBottom)
// Bullish FVG box
if bullFVG
fvgTop := line.new(bar_index , high , bar_index, high , extend = extend.right, color = color.new(color.green, 60))
fvgBottom := line.new(bar_index , low, bar_index, low, extend = extend.right, color = color.new(color.green, 60))
// Bearish FVG box
if bearFVG
fvgTop := line.new(bar_index , low , bar_index, low , extend = extend.right, color = color.new(color.red, 60))
fvgBottom := line.new(bar_index , high, bar_index, high, extend = extend.right, color = color.new(color.red, 60))
// ─────────────────────────────────────────────
// ENTRY, SL, TP CONDITIONS
// ─────────────────────────────────────────────
var line slLine = na
var line tp1Line = na
var line tp2Line = na
f_deleteLineIfExists(line_id) =>
if not na(line_id)
line.delete(line_id)
if bullDisp and bullFVG
sl = low
tp1 = close + (close - sl) * tpMultiplier
tp2 = close + (close - sl) * (tpMultiplier * 1.5)
f_deleteLineIfExists(slLine)
f_deleteLineIfExists(tp1Line)
f_deleteLineIfExists(tp2Line)
slLine := line.new(bar_index, sl, bar_index + 1, sl, extend = extend.right, color = color.red)
tp1Line := line.new(bar_index, tp1, bar_index + 1, tp1, extend = extend.right, color = color.green)
tp2Line := line.new(bar_index, tp2, bar_index + 1, tp2, extend = extend.right, color = color.green)
label.new(bar_index, close, "BUY Entry FVG Retest SL Below Sweep",
style = label.style_label_up, color = color.new(color.green, 0), textcolor = color.white)
if bearDisp and bearFVG
sl = high
tp1 = close - (sl - close) * tpMultiplier
tp2 = close - (sl - close) * (tpMultiplier * 1.5)
f_deleteLineIfExists(slLine)
f_deleteLineIfExists(tp1Line)
f_deleteLineIfExists(tp2Line)
slLine := line.new(bar_index, sl, bar_index + 1, sl, extend = extend.right, color = color.red)
tp1Line := line.new(bar_index, tp1, bar_index + 1, tp1, extend = extend.right, color = color.green)
tp2Line := line.new(bar_index, tp2, bar_index + 1, tp2, extend = extend.right, color = color.green)
label.new(bar_index, close, "SELL Entry FVG Retest SL Above Sweep",
style = label.style_label_down, color = color.new(color.red, 0), textcolor = color.white)
IDLP – Intraday Daily Levels Pro [FXSMARTLAB]🔥 IDLP – Intraday Daily Levels Pro
IDLP – Intraday Daily Levels Pro is a precision toolkit for intraday traders who rely on objective daily structure instead of repainting indicators and noisy signals.
Every level plotted by IDLP is derived from one simple rule:
Today’s trading decisions must be based on completed market data only.
That means:
✅ No use of the current day’s unfinished data for levels
✅ No lookahead
✅ No hidden repaint behavior
IDLP reconstructs the previous trading day from the intraday chart and then projects that structure forward onto the current session, giving you a stable, institutional-style intraday map.
🧱 1. Previous Daily Levels (Core Structure)
IDLP extracts and displays the full previous daily structure, which you can toggle on/off individually via the inputs:
Previous Daily High (PDH)
Previous Daily Low (PDL)
Previous Daily Open
Previous Daily Close,
Previous Daily Mid (50% of the range)
Previous Daily Q1 (25% of the range)
Previous Daily Q3 (75% of the range)
All of these come from the day that just closed and are then locked for the entire current session.
What these levels tell you:
PDH / PDL – true extremes of yesterday’s price action (liquidity zones, breakout/reversal points).
Previous Daily Open / Close – how the market positioned itself between session start and end
Mid (50%) – equilibrium level of the previous day’s auction.
Q1 / Q3 (25% / 75%) internal structure of the previous day’s range, dividing it into four equal zones and helping you see if price is trading in the lower, middle, or upper quarter of yesterday’s range.
All these levels are non-repaint: once the day is completed, they are fixed and never change when you scroll, replay, or backtest.
🎯 2. Previous Day Pivot System (P, S1, S2, R1, R2)
IDLP includes a classic floor-trader pivot grid, but critically:
It is calculated only from the previous day’s high, low, and close.
So for the current session, the following are fixed:
Pivot P – central reference level of the previous day.
Support 1 (S1) and Support 2 (S2)
Resistance 1 (R1) and Resistance 2 (R2)
These levels are widely used by institutional desks and algos to structure:
mean-reversion plays, breakout zones, intraday targets, and risk placement.
Everything in this section is non-repaint because it only uses the previous day’s fully closed OHLC.
📏 3. 1-Day ADR Bands Around Previous Daily Open
Instead of a multi-day ADR, IDLP uses a pure 1-Day ADR logic:
ADR = Range of the previous day
ADR = PDH − PDL
From that, IDLP builds two clean bands centered around the previous daily Open:
ADR Upper Band = Previous Day Open + (ADR × Multiplier)
ADR Lower Band = Previous Day Open − (ADR × Multiplier)
The multiplier is user-controlled in the inputs:
ADR Multiplier (default: 0.8)
This lets you choose how “tight” or “wide” you want the ADR envelope to be around the previous day’s open.
Typical use cases:
Identify realistic intraday extension targets, Spot exhaustion moves beyond ADR bands, Frame reversals after reaching volatility extremes, Align trades with or against volatility expansion
Again, since ADR is calculated only from the completed previous day, these bands are totally non-repaint during the current session.
🔒 4. True Non-Repaint Architecture
The internal logic of IDLP is built to guarantee non-repaint behavior:
It reconstructs each day using time("D") and tracks:
dayOpen, dayHigh, dayLow, dayClose for the current day
prevDayOpen, prevDayHigh, prevDayLow, prevDayClose for the previous day
At the moment a new day starts:
The “current day” gets “frozen” into prevDay*
These prevDay* values then drive: Previous Daily Levels, Pivots, ADR.
During the current day:
All these “previous day” values stay fixed, no matter what happens.
They do not move in real time, they do not shift in replay.
This means:
What you see in the past is exactly what you would have seen live.
No fake backtests.
No illusion of perfection from repainting behavior.
🎯 5. Designed For Intraday Traders
IDLP – Intraday Daily Levels Pro is made for:
- Day traders and scalpers
- Index and FX traders
- Prop firm challenge trading
- Traders using ICT/SMC-style levels, liquidity, and range logic
- Anyone who wants a clean, institutional-style daily framework without noise
You get:
Previous Day OHLC
Mid / Q1 / Q3 of the previous range
Previous-Day Pivots (P, S1, S2, R1, R2)
1-Day ADR Bands around Previous Day Open
All calculated only from closed data, updated once per day, and then locked.
NoProcess Prior Month/Week/Day High/Low/EQ Prior Period Levels
Plots key support/resistance levels from previous timeframes: Day, Week, and Month.
Levels Displayed:
PDH/PDL/PDE — Prior Day High, Low, and Equilibrium (midpoint)
PWH/PWL/PWE — Prior Week High, Low, and Equilibrium
PMH/PML/PME — Prior Month High, Low, and Equilibrium
Features:
Toggle each timeframe independently
Single color control for clean chart aesthetics
Configurable right extension (1-50 bars)
Dotted line style with labels positioned at line endpoints
Use Case:
Reference levels for institutional order flow concepts. Prior period highs/lows act as liquidity pools; equilibriums mark fair value zones where price often rebalances. Works on any instrument and timeframe.
Prev Day ±1% BoundaryThis indicator plots dynamic intraday price bands based on the previous day’s close. It calculates a reference price using yesterday’s daily close and draws:
An upper boundary at +1% above the previous close
A lower boundary at –1% below the previous close
These levels are shown as horizontal lines across all intraday bars, with an optional shaded zone between them.
How to use:
Use the boundaries as intraday reference levels for potential support, resistance, or mean-reversion zones.
When price trades near the upper band, it may indicate short-term extension to the upside relative to the prior close.
When price trades near the lower band, it may indicate short-term extension to the downside.
The shaded region between the lines highlights a ±1% normal fluctuation zone around the previous day’s closing price.
This tool is especially useful for intraday traders on indices like SPX, providing quick visual context for how far price has moved relative to the prior session’s close.
Keltner Channels Strategy NewThe strategy is chenging the same as an original copy, but this one is for tests, so I will publish it and check results
ZKNZCN Önceki Bar H/L (Ayrı Kontrol)Bir önceki barın high & low noktalarını çizgi halinde görmeyi sağlar.
Strategia S&P 500 vs US10Y YieldThis strategy explores the macroeconomic relationship between the equity market (S&P 500) and the debt market (10-Year Treasury Yield). Historically, rapid spikes in bond yields often exert downward pressure on equity valuations, leading to corrections or bear markets.
The goal of this strategy is capital preservation. It attempts to switch to cash when yields are rising too aggressively and re-enter the stock market when the bond market stabilizes.
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)
Fanfans结构+极简合并增强版V2
中文:该指标整合Fanfans结构、高斯GWMA、动态摆动VWAP、MACD及极简交易信号,内置结构/GWMA/VWAP/EMA多维度过滤、成交量确认、动态ATR等优化功能。支持多空信号标注、止损止盈分层设置、信号质量评分,搭配图表信息面板与多级别警报共振机制,适用于1分钟等短周期交易,兼顾信号灵敏度与准确性。
English: This indicator integrates Fanfans structure, Gaussian GWMA, dynamic swing VWAP, MACD, and simple trading signals. It features multi-dimensional filters (structure/GWMA/VWAP/EMA), volume confirmation, dynamic ATR optimization. Supporting long/short signal labeling, layered SL/TP settings, signal quality scoring, it comes with a chart info panel and multi-level alert resonance. Suitable for short-term trading (e.g., 1-minute timeframe), balancing signal sensitivity and accuracy.
ONH / ONL Auto LevelsThis script automatically detects and plots the Overnight High (ONH) and Overnight Low (ONL) for each trading day.
It scans the entire overnight/Globex session (default: 18:00–09:30 EST for ES futures) and records the highest and lowest prices formed during that period.
At the start of the regular trading session (RTH), ONH and ONL levels remain on the chart as key liquidity zones.
These levels are commonly used for:
• Identifying liquidity sweeps
• Opening drive reversals
• Break-and-retest setups
• VWAP + ON levels confluence
• Scalping on 1m–5m charts
The script updates automatically every day and draws clean, minimal levels suitable for intraday traders.
Time settings can be adjusted to match any market or instrument.
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.
Stage 2 Pullback Swing indicatorThis scanner is built for swing traders who want high-probability pullbacks inside strong, established uptrends. It targets names in a confirmed Stage 2 bull phase (Weinstein model) that have pulled back 10–30% from a recent swing high on light selling volume, while still respecting fast EMAs.
Goal: find powerful uptrending stocks during controlled dips before the next leg higher.
What it looks for
Strong prior uptrend: price above the 50 and 200 SMAs, momentum positive over multiple timeframes
Confirmed Stage 2: price above a rising 30-week MA on the weekly chart
Pullback depth: 10–30% off recent swing highs—not too shallow, not broken
Pullback quality: range contained, no panic selling, trend structure intact
EMA behavior: price near EMA10 or EMA20 at signal time
Volume contraction: sellers fading throughout the pullback
Bullish shift: green candle back in trend direction
Why this matters
This setup hints at institutions defending positions during a temporary dip. Strong stocks pull back cleanly with declining volume, then resume the primary trend. This script alerts you when those conditions align.
Best way to use
Filter a strong universe before applying—quality tickers only
Pair with clear trade plans: risk defined by prior swing low or ATR
Trigger alerts instead of hunting charts manually
Intended for
Swing traders who want momentum continuation setups
Traders who prefer entering on controlled retracements
Anyone tired of chasing extended breakouts
RSI 40-60 Range (30 Bars)RSI 40-60 Range (30 Bars) test for pine screenner for detec rsi 40-60 during 30 days
猛の掟・本物っぽいTradingViewスクリーナー 完全版//@version=5
indicator("猛の掟・本物っぽいTradingViewスクリーナー 完全版", overlay=false, max_labels_count=500, max_lines_count=500)
// =============================
// 入力パラメータ
// =============================
emaLenShort = input.int(5, "短期EMA", minval=1)
emaLenMid = input.int(13, "中期EMA", minval=1)
emaLenLong = input.int(26, "長期EMA", minval=1)
macdFastLen = input.int(12, "MACD Fast", minval=1)
macdSlowLen = input.int(26, "MACD Slow", minval=1)
macdSignalLen = input.int(9, "MACD Signal", minval=1)
macdZeroTh = input.float(0.2, "MACDゼロライン近辺とみなす許容値", step=0.05)
volMaLen = input.int(5, "出来高平均日数", minval=1)
volMinRatio = input.float(1.3, "出来高倍率(初動判定しきい値)", step=0.1)
volStrongRatio = input.float(1.5, "出来高倍率(本物/三点シグナル用)", step=0.1)
highLookback = input.int(60, "直近高値の参照本数", minval=10)
pullbackMin = input.float(5.0, "押し目最小 ", step=0.5)
pullbackMax = input.float(15.0, "押し目最大 ", step=0.5)
breakLookback = input.int(15, "レジブレ後とみなす本数", minval=1)
wickBodyMult = input.float(2.0, "ピンバー:下ヒゲが実体の何倍以上か", step=0.5)
// 表示設定
showPanel = input.bool(true, "下パネルにスコアを表示する")
showTable = input.bool(true, "右上に8条件チェック表を表示する")
// =============================
// 基本指標計算
// =============================
emaShort = ta.ema(close, emaLenShort)
emaMid = ta.ema(close, emaLenMid)
emaLong = ta.ema(close, emaLenLong)
= ta.macd(close, macdFastLen, macdSlowLen, macdSignalLen)
volMa = ta.sma(volume, volMaLen)
volRatio = volMa > 0 ? volume / volMa : 0.0
recentHigh = ta.highest(high, highLookback)
prevHigh = ta.highest(high , highLookback)
pullbackPct = recentHigh > 0 ? (recentHigh - close) / recentHigh * 100.0 : 0.0
// ローソク足要素
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
// =============================
// A:トレンド条件
// =============================
emaUp = emaShort > emaShort and emaMid > emaMid and emaLong > emaLong
goldenOrder = emaShort > emaMid and emaMid > emaLong
aboveEma2 = close > emaLong and close > emaLong
trendOK = emaUp and goldenOrder and aboveEma2
// =============================
// B:MACD条件
// =============================
macdGC = ta.crossover(macdLine, macdSignal)
macdNearZero = math.abs(macdLine) <= macdZeroTh
macdUp = macdLine > macdLine
macdOK = macdGC and macdNearZero and macdUp
// =============================
// C:出来高条件
// =============================
volInitOK = volRatio >= volMinRatio // 8条件用
volStrongOK = volRatio >= volStrongRatio // 三点シグナル用
volumeOK = volInitOK
// =============================
// D:ローソク足パターン
// =============================
isBullPinbar = lowerWick > wickBodyMult * body and lowerWick > upperWick and close >= open
isBullEngulf = close > open and open < close and close > open
isBigBullCross = close > emaShort and close > emaMid and open < emaShort and open < emaMid and close > open
candleOK = isBullPinbar or isBullEngulf or isBigBullCross
// =============================
// E:価格帯(押し目&レジブレ)
// =============================
pullbackOK = pullbackPct >= pullbackMin and pullbackPct <= pullbackMax
isBreakout = close > prevHigh and close <= prevHigh
barsSinceBreak = ta.barssince(isBreakout)
afterBreakZone = barsSinceBreak >= 0 and barsSinceBreak <= breakLookback
afterBreakPullbackOK = afterBreakZone and pullbackOK and close > emaShort
priceOK = pullbackOK and afterBreakPullbackOK
// =============================
// 8条件の統合
// =============================
allRulesOK = trendOK and macdOK and volumeOK and candleOK and priceOK
// =============================
// 最終三点シグナル
// =============================
longLowerWick = lowerWick > wickBodyMult * body and lowerWick > upperWick
macdGCAboveZero = ta.crossover(macdLine, macdSignal) and macdLine > 0
volumeSpike = volStrongOK
finalThreeSignal = longLowerWick and macdGCAboveZero and volumeSpike
buyConfirmed = allRulesOK and finalThreeSignal
// =====================================================
// スクリーナー用スコア(0=なし, 1=猛, 2=確)
// =====================================================
score = buyConfirmed ? 2 : (allRulesOK ? 1 : 0)
// 色分け(1行で安全な書き方)
col = score == 2 ? color.new(color.yellow, 0) : score == 1 ? color.new(color.lime, 0) : color.new(color.gray, 80)
// -----------------------------------------------------
// ① 視覚用:下パネルのカラム表示
// -----------------------------------------------------
plot(showPanel ? score : na,
title = "猛スコア(0=なし,1=猛,2=確)",
style = plot.style_columns,
color = col,
linewidth = 2)
hline(0, "なし", color=color.new(color.gray, 80))
hline(1, "猛", color=color.new(color.lime, 60))
hline(2, "確", color=color.new(color.yellow, 60))
// -----------------------------------------------------
// ② Data Window 用出力(スクリーナー風)
// -----------------------------------------------------
plot(score, title="Score_0なし1猛2確", color=color.new(color.white, 100), display=display.data_window)
plot(allRulesOK ? 1 : 0, title="A_Trend_OK", color=color.new(color.white, 100), display=display.data_window)
plot(macdOK ? 1 : 0, title="B_MACD_OK", color=color.new(color.white, 100), display=display.data_window)
plot(volumeOK ? 1 : 0, title="C_Volume_OK", color=color.new(color.white, 100), display=display.data_window)
plot(candleOK ? 1 : 0, title="D_Candle_OK", color=color.new(color.white, 100), display=display.data_window)
plot(priceOK ? 1 : 0, title="E_Price_OK", color=color.new(color.white, 100), display=display.data_window)
plot(longLowerWick ? 1 : 0, title="F_Pin下ヒゲ_OK", color=color.new(color.white, 100), display=display.data_window)
plot(macdGCAboveZero ? 1 : 0, title="G_MACDゼロ上", color=color.new(color.white, 100), display=display.data_window)
plot(volumeSpike ? 1 : 0, title="H_出来高1.5倍", color=color.new(color.white, 100), display=display.data_window)
// -----------------------------------------------------
// ③ 右上に「8条件チェック表」を表示(最終バーのみ)
// -----------------------------------------------------
var table info = table.new(position.top_right, 2, 9,
border_width = 1,
border_color = color.new(color.white, 60))
// 1行分の表示用ヘルパー
fRow(string label, bool cond, int row) =>
color bg = cond ? color.new(color.lime, 70) : color.new(color.red, 80)
string txt = cond ? "達成" : "未達"
// 左列:条件名
table.cell(info, 0, row, label, text_color = color.white, bgcolor = color.new(color.black, 0))
// 右列:結果(達成 / 未達)
table.cell(info, 1, row, txt, text_color = color.white, bgcolor = bg)
if barstate.islast and showTable
// ヘッダー(2列とも黒背景)
table.cell(info, 0, 0, "猛の掟 8条件チェック", text_color = color.white, bgcolor = color.new(color.black, 0))
table.cell(info, 1, 0, "", text_color = color.white, bgcolor = color.new(color.black, 0))
fRow("A: トレンド", trendOK, 1)
fRow("B: MACD", macdOK, 2)
fRow("C: 出来高", volumeOK, 3)
fRow("D: ローソク", candleOK, 4)
fRow("E: 押し目/レジブレ", priceOK, 5)
fRow("三点: ヒゲ", longLowerWick, 6)
fRow("三点: MACDゼロ上", macdGCAboveZero,7)
fRow("三点: 出来高1.5倍", volumeSpike, 8)
Volume vs Body Alert.Vsa
"This VSA-based indicator identifies potential anomalies in price action by detecting candles that show a larger body size than the previous candle while simultaneously having lower volume. This 'more result with less effort' pattern can signal weakness, manipulation, or potential trend exhaustion. Visual signals and customizable alerts notify traders when these conditions occur."
Reversal ConfirmationReversal Confirmation (RC)
This indicator identifies potential price reversals using a simple but effective two-candle pattern. It detects when a trend exhausts and confirms the reversal when the next candle eclipses the close of the reversal candle.
How It Works
The indicator uses a two-step process to confirm reversals:
Reversal Candle (R) - The first candle that closes in the opposite direction after a sustained trend. This signals potential exhaustion of the current move.
Confirmation Candle (C) - The candle that eclipses (closes beyond) the close of the reversal candle. This confirms the reversal is underway.
For a bullish reversal, the confirmation candle must close above the close of the reversal candle. For a bearish reversal, the confirmation candle must close below the close of the reversal candle.
Key Features
Requires a significant prior trend before looking for reversals, filtering out choppy sideways markets
Uses ATR to measure move significance, adapting to current volatility
Clean two-candle pattern that's easy to understand and trade
Visual dashed line showing the reversal candle close level that must be eclipsed
Built-in alerts for all signal types
Settings
Trend Lookback - Number of candles to analyze for prior trend detection (default: 7)
Trend Strength - Percentage of lookback candles required in trend direction (default: 0.7 = 70%)
Minimum Move (ATR multiple) - How large the prior move must be before signaling (default: 2.0)
Show Bullish/Bearish - Toggle each signal type on or off
Mark Reversal Candles - Toggle visibility of the reversal candle markers
Visual Signals
"R" with small circle - Marks the reversal candle where the pattern begins
"C" with triangle - Marks the confirmation candle (your entry signal)
Dashed line - Shows the close level of the reversal candle that must be eclipsed
Alerts
Three alert options are available:
Bullish Confirmation
Bearish Confirmation
Any Confirmation
How To Set Up Alerts
Add the indicator to your chart
Right-click on the chart and select "Add Alert" (or press Alt+A)
In the Condition dropdown, select "Reversal Confirmation"
Choose your preferred alert type
Set notification preferences (popup, email, sound, webhook)
Click "Create"
Tips For Best Results
Signals appearing at key support/resistance levels tend to be more reliable
Combine with VWAP, moving averages, or prior day high/low for confluence
Use higher timeframe trend direction as a filter
Increase Minimum Move ATR in volatile conditions to reduce false signals
Adjust Trend Lookback based on your timeframe (higher values for longer timeframes)
The Logic Behind It
After a sustained move in one direction, the first candle to close in the opposite direction signals potential exhaustion. However, one candle alone isn't enough. When the next candle eclipses the close of that reversal candle, it confirms that buyers (or sellers) have truly taken control and the reversal is underway.
Note: This indicator is for informational purposes only and should not be used as the sole basis for trading decisions. Always use proper risk management and consider combining with other forms of analysis.
PRICE ACTION TRAKKERThis indicator isolates the core price-phase engine from the full Price Action Tracker (PAT) system.
It identifies and visualises structural phases of price, including:
Upper phase boundary (dynamic resistance)
Lower phase boundary (dynamic support)
Phase average (mean-reversion anchor)
Pivot markers (LPH, LPL, oLPH, oLPL)
The phase engine dynamically adapts to evolving market structure using pivot behaviour and structural breaks. This creates a real-time visual map of how price is organising itself — independent of time-based indicators and without the lag associated with classical moving averages.
This version focuses exclusively on price action structure, making it clean, fast, and ideal as a core tool on its own.
However, it is also designed as a foundation for more advanced analysis and will expand over time as additional modules are released.
This phase engine works exceptionally well in combination with my other indicators, such as moving-average structure tools, volume-weighted frameworks, and trend-strength models. Together, they provide a layered view of market behaviour:
phase structure → trend bias → volume confirmation → entry logic.
This makes the indicator valuable for:
Intra-day and swing traders
Wyckoff and liquidity-based traders
Mean-reversion and range-trading strategies
Understanding where accumulation/distribution behaviour is forming
Identifying when a phase is likely ending or breaking
Future updates will add modular expansion paths (trend scoring, VWAP phase weighting, multi-phase confluence, and signal logic), while maintaining the simplicity and reliability of this core engine.
Works Best With:
This indicator is part of a broader toolkit designed to analyse structure, trend, and behaviour.
When used alongside my other published tools — such as trend-strength MAs, VWMA frameworks, and higher-timeframe bias indicators — it provides a complete, multi-layered view of market conditions.
Price BoundariesThe Price Boundaries indicator plots two dynamic levels above and below the current market price. These levels help traders visualize a custom price band around the instrument, assisting with intraday bias, breakout zones, stop-loss planning, or scalp targets.
You can set the distance between the current price and each boundary using a user-defined input. For example, if the price is 6250 and the distance is set to 25, the indicator will automatically draw lines at 6275 (upper boundary) and 6225 (lower boundary). These levels update every candle based on the closing price.
This tool is useful for:
Marking expected movement ranges
Planning mean-reversion or breakout setups
Creating consistent distance-based zones
Visual reference for volatility compression or expansion
The indicator also optionally shades the area between the boundaries to make the zone easier to spot on the chart.
CRR Range Timer (Recarga)What this indicator does (CRR Range Timer – “Recarga”)
In simple words:
Defines a price range (your “reload zone”)
You set:
Zona Low → bottom of the range (e.g. 4210.0)
Zona High → top of the range (e.g. 4220.0)
Optional Tolerancia in ticks, to make the zone a bit wider.
The script automatically calculates zonaMin and zonaMax and checks if the current close is inside that zone.
Counts how long price stays inside that range
If close is inside the zone → enRango = true.
It counts consecutive bars inside the zone: barrasEnRango.
It converts that into time:
Uses your chart timeframe (timeframe.in_seconds(timeframe.period))
Calculates total seconds → minutes → then splits into:
Days (d)
Hours (h)
Minutes (m)
Example text: 2d 5h 30m means price has been stuck inside that range for 2 days, 5 hours and 30 minutes.
Shows a HUD table with the range information
It creates a small table (HUD) on the chart (position configurable: top/bottom left/center/right) with:
Header row
"CRR RANGE TIMER"
"Recarga"
Symbol (e.g. XAUUSD)
Row 2
"Estado" → status: "En RANGO" (inside) or "Fuera RANGO" (outside), with green/red color
The time it has been in range: Xd Yh Zm
Row 3
"Zona" → the exact price range zonaMin - zonaMax
"Barras: N" → number of bars inside the range
Draws a text label on the chart near price
When price is inside the zone and Mostrar texto sobre el precio is ON:
It shows a label like:
Recarga: 0d 3h 15m
Zona: 4210.00 - 4220.00
The label moves with the latest bar near the current price.
Optional background highlight
When mostrarBg is true and price is inside the range, the background of the chart in that bar is tinted (teal, very transparent).
This visually marks the “reload” area so you can see clearly when the market is stuck there.
How to use it to trade and “win” (trading logic idea)
This tool is not a buy/sell signal by itself.
It is a timer of accumulation / ranging in a specific price zone.
Think of it like this:
“The more time price spends inside a narrow zone, the stronger the potential move when it finally breaks out.”
Main use cases
Detect long consolidations before a big move
Choose an important zone: for example a NY range, a London range, or a zone between two key levels (support/resistance, supply/demand, OB, etc).
Set Zona Low and Zona High around that area.
Let the indicator count time:
If the HUD shows only a few minutes/bars, it’s a fresh range.
If the HUD shows many hours or even days, the market is “charging” (recargando) in that zone.
Trading idea:
You wait for a strong breakout of that zone after a good amount of “recarga” time.
The longer the recarga, the more aggressive the move can be when it finally escapes.
Filter bad trades inside dead ranges
Many traders lose money trading inside choppy ranges, especially in NY afternoon or Asia when the market is asleep.
With this indicator:
If you see the HUD saying En RANGO and 0d 2h 45m for example,
You know the market has been stuck almost 3 hours there.
You can create a rule for yourself:
“No new trades when price is inside my recarga box for more than X minutes/hours.”
That protects you from overtrading in low-volatility chop.
Objective measure of “how long it has been loading”
Instead of “it feels like it’s ranging”, you have a number:
On a 5m chart:
12 bars in range = 60 minutes
48 bars in range = 4 hours
On a 15m chart:
16 bars in range = 4 hours
The indicator does this math for you and displays it clearly.
Simple trading playbook example
You can adapt, but here’s a very simple way to use it:
Define your key zone
Use an important range: yesterday’s NY range, an accumulation box around a key level, or a consolidation before news.
Set Zona Low and Zona High to cover that area.
Optionally add Tolerancia (a few ticks) so small spikes don’t reset the timer.
Wait for recarga
Watch the HUD:
If time < 30–60 minutes → market still “loading”, small opportunities.
If time ≥ 2–4 hours (depending on timeframe and instrument) → stronger compression, potential for bigger breakout.
Plan your trade around the breakout
Don’t chase random candles inside the range.
Wait for:
A clear close above the high of the zone → bullish breakout idea.
A clear close below the low of the zone → bearish breakout idea.
Combine with your other tools (volume, structure, SMC, your CRR dashboard, etc) to confirm direction.
Risk management
Your stop can be placed:
Just inside the box (back inside the range = invalid breakout).
Target:
Previous swing levels, liquidity pools, or a multiple of your risk (1:2, 1:3, etc).
Vib ORB Range (Free)Vib ORB Range (Free) plots the Opening Range High and Low for the session based on a user-defined start time and duration.
This tool is designed for traders who want a clean, no-noise display of the ORB zone without extra indicators or automation.
Features:
Customizable Opening Range start time
Customizable Opening Range duration
Automatically resets daily
Plots ORB High, ORB Low, and optional ORB Midline
Shaded range zone for improved clarity
Works on all timeframes and markets
How to Use:
Set the ORB start time (default 9:30 New York)
Set the ORB duration (default 15 minutes)
The indicator will draw the ORB zone once the range completes
Use the outlines or shaded zone to visually identify potential breakout areas
This free tool is intended as a simple, reliable ORB visualizer without alerts, filters, or strategy logic.






















