PivotBoss VWAP Bands (Auto TF) - FixedWhat this indicator shows (high level)
The indicator plots a VWAP line and three bands above (R1, R2, R3) and three bands below (S1, S2, S3).
Band spacing is computed from STD(abs(VWAP − price), N) and multiplied by 1, 2 and 3 to form R1–R3 / S1–S3. The script is timeframe-aware: on 30m/1H charts it uses Weekly VWAP and weekly bands; on Daily charts it uses Monthly VWAP and monthly bands; otherwise it uses the session/chart VWAP.
VWAP = the market’s volume-weighted average price (a measure of fair value). Bands = volatility-scaled zones around that fair value.
Trading idea — concept summary
VWAP = fair value. Price above VWAP implies bullish bias; below VWAP implies bearish bias.
Bands = graded overbought/oversold zones. R1/S1 are near-term limits, R2/S2 are stronger, R3/S3 are extreme.
Use trend alignment + price action + volume to choose higher-probability trades. VWAP bands give location and magnitude; confirmations reduce false signals.
Entry rules (multiple strategies with examples)
A. Momentum breakout (trend-following) — preferred on trending markets
Setup: Price consolidates near or below R1 and then closes above R1 with above-average volume. Chart: 30m/1H (Weekly VWAP) or Daily (Monthly VWAP) depending on your timeframe.
Entry: Enter long at the close of the breakout bar that closes above R1.
Stop-loss: Place initial stop below the higher of (VWAP or recent swing low). Example: if price broke R1 at ₹1,200 and VWAP = ₹1,150, set stop at ₹1,145 (5 rupee buffer below VWAP) or below the last swing low if that is wider.
Target: Partial target at R2, full target at R3. Trail stop to VWAP or to R1 after price reaches R2.
Example numeric: Weekly VWAP = ₹1,150, R1 = ₹1,200, R2 = ₹1,260. Buy at ₹1,205 (close above R1), stop ₹1,145, target1 ₹1,260 (R2), target2 ₹1,320 (R3).
B. Mean-reversion fade near bands — for range-bound markets
Setup: Market is not trending (VWAP flatish). Price rallies up to R2 or R3 and shows rejection (pin bar, bearish engulfing) on increasing or neutral volume.
Entry: Enter short after a confirmed rejection candle that fails to sustain above R2 or R3 (prefer confirmation: close back below R1 or below the rejection candle low).
Stop-loss: Just above the recent high (e.g., 1–2 ATR or a fixed buffer above R2/R3).
Target: First target VWAP, second target S1. Reduce size if taking R3 fade as it’s an extreme.
Example numeric: VWAP = ₹950, R2 = ₹1,020. Price spikes to ₹1,025 and forms a bearish engulfing candle. Enter short at ₹1,015 after the next close below ₹1,020. Stop at ₹1,035, target VWAP ₹950.
C. Pullback entries in trending markets — higher probability
Setup: Price is above VWAP and trending higher (higher highs and higher lows). Price pulls back toward VWAP or S1 with decreasing downside volume and a reversal candle forms.
Entry: Long when price forms a bullish reversal (hammer/inside-bar) with a close back above the pullback candle.
Stop-loss: Below the pullback low (or below S2 if a larger stop is justified).
Target: VWAP then R1; if momentum resumes, trail toward R2/R3.
Example numeric: Price trending above Weekly VWAP at ₹1,400; pullback to S1 at ₹1,360. Enter long at ₹1,370 when a bullish candle closes; stop at ₹1,350; first target VWAP ₹1,400, second target R1 ₹1,450.
Exit rules and money management
Basic exit hierarchy
Hard stop exit — when price hits initial stop-loss. Always use.
Target exit — take partial profits at R1/R2 (for longs) or S1/S2 (for shorts). Use trailing stops for the remainder.
VWAP invalidation — if you entered long above VWAP and price returns and closes significantly below VWAP, consider exiting (condition depends on timeframe and trade size).
Price action exit — reversal patterns (strong opposite candle, bearish/bullish engulfing) near targets or beyond signals to exit.
Trailing rules
After price reaches R2, move stop to breakeven + a small buffer or to VWAP.
After price reaches R3, trail by 1 ATR or lock a defined profit percentage.
Position sizing & risk
Risk per trade: commonly 0.5–2% of account equity.
Determine position size by RiskAmount ÷ (EntryPrice − StopPrice).
If the stop distance is large (e.g., trading R3 fades), reduce position size.
Filters & confirmation (to reduce false signals)
Volume filter: For breakouts, require volume above short-term average (e.g., >20-period average). Breakouts on low volume are suspect.
Trend filter: Only take breakouts in the direction of the higher-timeframe trend (for example, use Daily/Weekly trend when trading 30m/1H).
Candle confirmation: Prefer entries on close of the confirming candle (not intrabar noise).
Multiple confirmations: When R1 break happens but RSI/plotted momentum indicator does not confirm, treat signal as lower probability.
Special considerations for timeframe-aware logic
On 30m/1H the script uses Weekly VWAP/bands. That means band levels change only on weekly candles — they are strong, structural levels. Treat R1/R2/R3 as significant and expect fewer, stronger signals.
On Daily, the script uses Monthly VWAP/bands. These are wider; trades should allow larger stops and smaller position sizes (or be used for swing trades).
On other intraday charts you get session VWAP (useful for intraday scalps).
Example: If you trade 1H and the Weekly R1 is at ₹2,400 while session VWAP is ₹2,350, a close above Weekly R1 represents a weekly-level breakout — prefer that for swing entries rather than scalps.
Example trade walkthrough (step-by-step)
Context: 1H chart, auto-mapped → Weekly VWAP used.
Weekly VWAP = ₹3,000; R1 = ₹3,080; R2 = ₹3,150.
Price consolidates below R1. A large bullish candle closes at ₹3,085 with volume 40% above the 20-bar average.
Entry: Buy at close ₹3,085.
Stop: Place stop at ₹2,995 (just under Weekly VWAP). Risk = ₹90.
Position size: If risking ₹900 per trade → size = 900 ÷ 90 = 10 units.
Targets: Partial take-profit at R2 = ₹3,150; rest trailed with stop moved to breakeven after R2 is hit.
If price reverses and closes below VWAP within two bars, exit immediately to limit drawdown.
When to avoid trading these signals
High-impact news (earnings, macro announcements) that can gap through bands unpredictably.
Thin markets with low volume — VWAP loses significance when volumes are extremely low.
When weekly/monthly bands are flat but intraday price is volatile without clear structure — prefer session VWAP on smaller timeframes.
Alerts & automation suggestions
Alert on close above R1 / below S1 (use the built-in alertcondition the script adds). For higher-confidence alerts, require volume filter in the alert condition.
Automated order rules (if you automate): use limit entry at breakout close plus a small slippage buffer, immediate stop order, and OCO for TP and SL.
Indicators and strategies
Thirdeyechart Volume Gold//@version=6
indicator("MT5 Style Quotes – Custom Pair Table", overlay=true, max_labels_count=500)
// ==== USER INPUTS ====
// Masukkan pair tambahan kat sini (pisahkan dengan koma)
extraPairsInput = input.string("XAUUSD,XAUJPY,USDJPY,EURJPY", "Custom Pairs (comma separated)")
// Convert input → array
string extraPairs = str.split(extraPairsInput, ",")
// Function kira % change
f_change(sym, tf) =>
o = request.security(sym, tf, open)
c = request.security(sym, tf, close)
pct = ((c - o) / o) * 100
pct
// Table setup
rowCount = array.size(extraPairs) + 1
var tbl = table.new(position.top_right, 4, rowCount, border_width=1)
// Header row
table.cell(tbl, 0, 0, "Symbol", bgcolor=color.new(color.white, 90))
table.cell(tbl, 1, 0, "Day %", bgcolor=color.new(color.white, 90))
table.cell(tbl, 2, 0, "H1 %", bgcolor=color.new(color.white, 90))
table.cell(tbl, 3, 0, "H4 %", bgcolor=color.new(color.white, 90))
// Loop setiap pair
for i = 0 to array.size(extraPairs)-1
sym = str.trim(array.get(extraPairs, i))
day = f_change(sym, "D")
h1 = f_change(sym, "60")
h4 = f_change(sym, "240")
col_day = day >= 0 ? color.blue : color.red
col_h1 = h1 >= 0 ? color.blue : color.red
col_h4 = h4 >= 0 ? color.blue : color.red
table.cell(tbl, 0, i+1, sym)
table.cell(tbl, 1, i+1, str.tostring(day, format.percent), text_color=col_day)
table.cell(tbl, 2, i+1, str.tostring(h1, format.percent), text_color=col_h1)
table.cell(tbl, 3, i+1, str.tostring(h4, format.percent), text_color=col_h4)
BTC GOD — DEFINITIVE BTC MULTI INDICATORBTC GOD — The Ultimate Bitcoin Cycle Indicator (2025 Edition)
The one indicator every serious BTC holder and trader has been waiting for.
A single script that perfectly combines the 5 most powerful and accurate Bitcoin indicators ever created — all 100 % official versions:
- Official Pi Cycle Top (LookIntoBitcoin) → in 2013, 2017 & 2021 (3/3 hits)
- Official MVRV Z-Score (Glassnode / LookIntoBitcoin) → every major bottom (2015, 2018–19, 2022)
- Dynamic Bull/Bear background (red bear-market when price drops X % from cycle ATH + monthly RSI filter)
- Monthly Golden/Death Cross (50-month EMA vs 200-week EMA) → huge, unmistakable signals
- SuperTrend + 200-week EMA + 50-month EMA
- Cycle ATH/ATL tracking with flashing alert in the table when new highs/lows are made
- Exact days to/from the next halving + optimal accumulation zone (200–750 days post-halving)
- Fully customizable inputs for experienced traders
Zero repainting. Zero errors. Works on every timeframe.
This is the indicator used by people who truly understand Bitcoin’s 4-year cycles.
If you could only keep ONE Bitcoin indicator for the rest of your life… this would be it.
Save it, test it, and you’ll instantly see why it’s called BTC GOD.
Built with love and obsession for Bitcoin cycles.
Last update: November 2025
ICT FVG & Swing Detector Basic by Trader Riaz//@version=6
indicator("ICT FVG & Swing Detector Basic by Trader Riaz", overlay=true)
// Display toggles for Bullish FVGs
show_bull_fvg = input.bool(true, "Show Bullish FVGs?")
// Input settings for Bullish FVGs
fvg_bull_count = input.int(1, "Number of Bullish FVGs to show", minval=1)
// Color settings for Bullish FVGs
bullish_fvg_color = input.color(color.green, "Bullish FVG Color")
// Bullish FVG Extend Options
bull_fvg_extendGroup = "Bullish FVG Extend Options"
bull_fvg_extendOption = input.string("Default", "Bullish FVG Extend Option", options= , group=bull_fvg_extendGroup)
bull_fvg_extendCandles = input.int(8, "Bullish FVG Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=bull_fvg_extendGroup)
// Display toggles for Bearish FVGs
show_bear_fvg = input.bool(true, "Show Bearish FVGs?")
// Input settings for Bearish FVGs
fvg_bear_count = input.int(1, "Number of Bearish FVGs to show", minval=1)
// Color settings for Bearish FVGs
bearish_fvg_color = input.color(color.red, "Bearish FVG Color")
// Bearish FVG Extend Options
bear_fvg_extendGroup = "Bearish FVG Extend Options"
bear_fvg_extendOption = input.string("Default", "Bearish FVG Extend Option", options= , group=bear_fvg_extendGroup)
bear_fvg_extendCandles = input.int(8, "Bearish FVG Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=bear_fvg_extendGroup)
// Display toggles for Swing Highs
show_swing_high = input.bool(true, "Show Swing Highs?")
// Input settings for Swing Highs
swing_high_count = input.int(2, "Number of Swing Highs to show", minval=1)
// Color settings for Swing Highs
swing_high_color = input.color(color.green, "Swing High Line & Label Color")
// Swing High Extend Options
swing_high_extendGroup = "Swing High Extend Options"
swing_high_extendOption = input.string("Default", "Swing High Extend Option", options= , group=swing_high_extendGroup)
swing_high_extendCandles = input.int(8, "Swing High Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=swing_high_extendGroup)
// Display toggles for Swing Lows
show_swing_low = input.bool(true, "Show Swing Lows?")
// Input settings for Swing Lows
swing_low_count = input.int(2, "Number of Swing Lows to show", minval=1)
// Color settings for Swing Lows
swing_low_color = input.color(color.red, "Swing Low Line & Label Color")
// Swing Low Extend Options
swing_low_extendGroup = "Swing Low Extend Options"
swing_low_extendOption = input.string("Default", "Swing Low Extend Option", options= , group=swing_low_extendGroup)
swing_low_extendCandles = input.int(8, "Swing Low Extend Candles (Limited Only)", minval=1, maxval=100, step=1, group=swing_low_extendGroup)
// Target Settings
showNextTarget = input.bool(true, "Show Next Target")
nextTargetHighColor = input.color(color.red, "Next Target High Color")
nextTargetLowColor = input.color(color.red, "Next Target Low Color")
// === Time Calculation ===
// Calculate one bar duration in milliseconds
barDuration = time - time
// Define reasonable extension period (4 bars into future)
extensionPeriod = barDuration * 4
// Arrays to store values with timestamps
var bull_fvg_data = array.new(0)
var bear_fvg_data = array.new(0)
var swing_high_data = array.new(0)
var swing_low_data = array.new(0)
var bull_fvg_labels = array.new(0)
var bear_fvg_labels = array.new(0)
var swing_high_labels = array.new(0)
var swing_low_labels = array.new(0)
var bull_fvg_midlines = array.new(0)
var bear_fvg_midlines = array.new(0)
var bull_fvg_tops = array.new(0)
var bull_fvg_bottoms = array.new(0)
var bear_fvg_tops = array.new(0)
var bear_fvg_bottoms = array.new(0)
// Get the last bar index
last_bar = last_bar_index + 3
// Function to determine right boundary based on extend option
get_right_boundary(option, extend_candles, default_right) =>
if option == "None"
bar_index - 2
else if option == "Limited"
bar_index - 2 + extend_candles
else
default_right
// Bullish FVG Detection
if high < low and show_bull_fvg
right_bar = get_right_boundary(bull_fvg_extendOption, bull_fvg_extendCandles, last_bar)
new_box = box.new(left=bar_index-2,
top=low,
right=right_bar,
bottom=high ,
bgcolor=color.new(bullish_fvg_color, 90),
border_color=bullish_fvg_color)
bull_mid = (low + high ) / 2
new_midline = line.new(bar_index-2, bull_mid, right_bar, bull_mid,
color=color.new(bullish_fvg_color, 50),
style=line.style_dashed)
new_label = label.new(right_bar-1, bull_mid, "Bullish FVG",
color=color.new(bullish_fvg_color, 100),
textcolor=bullish_fvg_color,
style=label.style_none,
textalign=text.align_right,
size=size.small)
array.unshift(bull_fvg_data, new_box)
array.unshift(bull_fvg_midlines, new_midline)
array.unshift(bull_fvg_labels, new_label)
array.unshift(bull_fvg_tops, low)
array.unshift(bull_fvg_bottoms, high )
if array.size(bull_fvg_data) > fvg_bull_count
box.delete(array.pop(bull_fvg_data))
line.delete(array.pop(bull_fvg_midlines))
label.delete(array.pop(bull_fvg_labels))
array.pop(bull_fvg_tops)
array.pop(bull_fvg_bottoms)
// Bearish FVG Detection
if low > high and show_bear_fvg
right_bar = get_right_boundary(bear_fvg_extendOption, bear_fvg_extendCandles, last_bar)
new_box = box.new(left=bar_index-2,
top=low ,
right=right_bar,
bottom=high,
bgcolor=color.new(bearish_fvg_color, 90),
border_color=bearish_fvg_color)
bear_mid = (low + high) / 2
new_midline = line.new(bar_index-2, bear_mid, right_bar, bear_mid,
color=color.new(bearish_fvg_color, 50),
style=line.style_dashed)
new_label = label.new(right_bar-1, bear_mid, "Bearish FVG",
color=color.new(bearish_fvg_color, 100),
textcolor=bearish_fvg_color,
style=label.style_none,
textalign=text.align_right,
size=size.small)
array.unshift(bear_fvg_data, new_box)
array.unshift(bear_fvg_midlines, new_midline)
array.unshift(bear_fvg_labels, new_label)
array.unshift(bear_fvg_tops, low )
array.unshift(bear_fvg_bottoms, high)
if array.size(bear_fvg_data) > fvg_bear_count
box.delete(array.pop(bear_fvg_data))
line.delete(array.pop(bear_fvg_midlines))
label.delete(array.pop(bear_fvg_labels))
array.pop(bear_fvg_tops)
array.pop(bear_fvg_bottoms)
// Swing High Detection
is_swing_high = high < high and high > high
if is_swing_high and show_swing_high
right_bar = get_right_boundary(swing_high_extendOption, swing_high_extendCandles, last_bar + 3)
new_line = line.new(bar_index - 1, high , right_bar, high ,
color=swing_high_color)
new_label = label.new(right_bar, high , "Swing High",
color=color.new(color.white, 30),
style=label.style_label_left,
textcolor=swing_high_color,
size=size.tiny)
array.unshift(swing_high_data, new_line)
array.unshift(swing_high_labels, new_label)
if array.size(swing_high_data) > swing_high_count
line.delete(array.pop(swing_high_data))
label.delete(array.pop(swing_high_labels))
// Swing Low Detection
is_swing_low = low > low and low < low
if is_swing_low and show_swing_low
right_bar = get_right_boundary(swing_low_extendOption, swing_low_extendCandles, last_bar + 3)
new_line = line.new(bar_index -1, low , right_bar, low ,
color=swing_low_color)
new_label = label.new(right_bar, low , "Swing Low",
color=color.new(color.white, 30),
style=label.style_label_left,
textcolor=swing_low_color,
size=size.tiny)
array.unshift(swing_low_data, new_line)
array.unshift(swing_low_labels, new_label)
if array.size(swing_low_data) > swing_low_count
line.delete(array.pop(swing_low_data))
label.delete(array.pop(swing_low_labels))
// Clean up if toggles are turned off
if not show_bull_fvg and array.size(bull_fvg_data) > 0
for i = 0 to array.size(bull_fvg_data) - 1
box.delete(array.get(bull_fvg_data, i))
line.delete(array.get(bull_fvg_midlines, i))
label.delete(array.get(bull_fvg_labels, i))
array.clear(bull_fvg_data)
array.clear(bull_fvg_midlines)
array.clear(bull_fvg_labels)
array.clear(bull_fvg_tops)
array.clear(bull_fvg_bottoms)
if not show_bear_fvg and array.size(bear_fvg_data) > 0
for i = 0 to array.size(bear_fvg_data) - 1
box.delete(array.get(bear_fvg_data, i))
line.delete(array.get(bear_fvg_midlines, i))
label.delete(array.get(bear_fvg_labels, i))
array.clear(bear_fvg_data)
array.clear(bear_fvg_midlines)
array.clear(bear_fvg_labels)
array.clear(bear_fvg_tops)
array.clear(bear_fvg_bottoms)
// === Swing High/Low Detection ===
var float swingHighs = array.new()
var int swingHighTimes = array.new()
var float swingLows = array.new()
var int swingLowTimes = array.new()
var line swingHighLines = array.new()
var label swingHighLabels = array.new()
var line swingLowLines = array.new()
var label swingLowLabels = array.new()
isSwingHigh = high > high and high > high
isSwingLow = low < low and low < low
if isSwingHigh
array.unshift(swingHighs, high )
array.unshift(swingHighTimes, time )
if isSwingLow
array.unshift(swingLows, low )
array.unshift(swingLowTimes, time )
// === Next Target Detection ===
var line currentTargetLine = na
var label currentTargetLabel = na
if showNextTarget
if not na(currentTargetLine)
line.delete(currentTargetLine)
if not na(currentTargetLabel)
label.delete(currentTargetLabel)
priceRising = close > open
priceFalling = close < open
// Use slightly longer extension for targets
targetExtension = barDuration * 8
if priceRising and array.size(swingHighs) > 0
for i = 0 to array.size(swingHighs) - 1
target = array.get(swingHighs, i)
targetTime = array.get(swingHighTimes, i)
if target > close
currentTargetLine := line.new(
x1=targetTime, y1=target,
x2=time + targetExtension, y2=target,
color=nextTargetHighColor, width=2,
style=line.style_dashed,
xloc=xloc.bar_time)
currentTargetLabel := label.new(
x=time + targetExtension, y=target,
text="Potential Target", size=size.tiny,
style=label.style_label_left,
color=nextTargetHighColor,
textcolor=color.white,
xloc=xloc.bar_time)
break
else if priceFalling and array.size(swingLows) > 0
for i = 0 to array.size(swingLows) - 1
target = array.get(swingLows, i)
targetTime = array.get(swingLowTimes, i)
if target < close
currentTargetLine := line.new(
x1=targetTime, y1=target,
x2=time + targetExtension, y2=target,
color=nextTargetLowColor, width=2,
style=line.style_dashed,
xloc=xloc.bar_time)
currentTargetLabel := label.new(
x=time + targetExtension, y=target,
text="Potential Target", size=size.tiny,
style=label.style_label_left,
color=nextTargetLowColor,
textcolor=color.white,
xloc=xloc.bar_time)
break
Position Sizer (FinPip)Position Sizer (FinPip)
The Position Sizer (FinPip) indicator is a crucial, all-in-one risk management tool designed to calculate the precise trade size required to limit your risk to a predetermined percentage of your total account capital.
This indicator helps you consistently execute sound risk management, regardless of the instrument's volatility or the trade's price levels.
Key Features:
Calculates Position Size: Based on your configurable Account Capital, desired Risk Percentage (default 2.5%), and the price distance between your Entry and Stop-Loss levels.
Visual Trade Planning: Plots three clear levels directly on the chart for easy visualization:
Entry Price (Blue)
Stop-Loss Price (SL) (Red)
Profit Target (Lime Green, calculated using the Reward:Risk Ratio).
Custom Risk Management: Easily adjust the Risk Percentage and the Reward:Risk Ratio (default 4.0) in the indicator's settings.
Heads-Up Display (HUD): A clean, fixed table in the bottom-left corner of the chart clearly displays all calculated metrics, including your Required Position Size (in units/shares/contracts), Risk Amount, and Potential Profit.
How to Use:
Enter your Account Capital and desired Risk % in the settings panel.
Set your desired Entry Price and Stop-Loss Price.
The indicator immediately calculates and displays the exact number of units you need to trade to maintain your risk limit.
Classic Dual Momentum – 12-Month Absolute Momentum - AntonacciThis indicator calculates the 12-month absolute momentum exactly as described in Gary Antonacci’s Dual Momentum framework.
It automatically adjusts the lookback period based on the chart’s timeframe:
Daily chart: 252 bars
Weekly chart: 52 bars
Monthly chart: 12 bars
Other timeframes: Estimated automatically using bar time difference
The script computes the 12-month rate of return and displays it as a color-coded column plot:
Green: Positive 12-month momentum
Red: Negative 12-month momentum
A customizable moving average is included to help visualize longer-term trends in the momentum signal.
How It’s Used (from Dual Momentum theory)
This indicator provides the absolute momentum filter used in classic Dual Momentum strategies:
If the 12-month return of an asset is above the risk-free return → trend is positive
If it is below the risk-free return → trend is negative
This absolute momentum check is a key component of the Global Equities Momentum (GEM) model presented in Gary Antonacci’s book Dual Momentum Investing.
Why This Indicator Exists
It gives traders a clean, accurate way to visualize the 12-month trend strength across any timeframe, without the distortions caused by bar length differences.
EMA 50/200 Strategy Signals - Axis.BhpEMA 50/200 Strategy
Plots EMA 50 and EMA 200
Displays arrows when a crossover occurs (signals)
Creates alerts for TradingView
Works for crypto, forex, and stocks
Reversal Candlestick Setups (Doji, Outside, Extreme, Wick)Reversal Candlestick Setups – Doji, Outside, Extreme & Wick
This indicator identifies four high-probability reversal candlestick patterns across all timeframes: Doji Reversals, Outside Reversals, Extreme Reversals, and Wick Reversals. Each setup is based on clearly defined quantitative rules, allowing traders to filter noise and focus on strong reversal signals instead of relying on subjective visual interpretation.
The tool automatically scans every candle, highlights qualifying patterns on the chart, and provides alert options for both bullish and bearish versions of all four setups. This makes it suitable for intraday traders, swing traders, and positional traders seeking early reversal confirmation.
Included Setups
1. Doji Reversal Setup
Identifies candles with extremely small bodies relative to their range, combined with a smaller-than-average bar size. Useful for spotting market indecision before a directional shift.
2. Outside Reversal Setup
Flags candles that engulf the previous candle’s high–low range and exceed the average range by a multiplier. This is designed to capture strong momentum reversals driven by aggressive buying or selling.
3. Extreme Reversal Setup
Highlights large-bodied candles that dominate their overall range and exceed twice the average bar size. These signals aim to catch climactic exhaustion and institutional-level reversals.
4. Wick Reversal Setup
Detects candles with long rejection wicks, small bodies, and closes near an extreme of the range, supported by above-average bar size. Ideal for identifying sharp intrabar rejections.
Key Features
• Automatically detects all four reversal setups
• Works on all timeframes and symbols
• Customizable variables for deeper testing and optimization
• Clear bullish and bearish labels directly on the chart
• Fully integrated alert conditions for real-time notifications
• Suitable for crypto, stocks, indices, forex, and commodities
Who This Indicator Is For
• Traders who want objective, rule-based reversal detection
• Price action traders looking to enhance accuracy
• Systematic traders wanting quantifiable candlestick criteria
• Beginners learning reversal structures with visual guidance
• Professionals integrating reversal patterns into algorithmic or discretionary systems
How to Use
Add the indicator to your chart and enable alerts for the specific setups you want to track (e.g., “Bullish Wick Reversal”). Combine these signals with market structure, trend filters, volume analysis, or momentum indicators for increased conviction.
Bitcoin Macro Fair Value [Structural]//@version=6
indicator("Bitcoin Macro Fair Value ", overlay=true)
// --- Model Coefficients (Derived from Python Analysis 2019-2025) ---
intercept = input.float(3.156434, "Intercept")
c_m2 = input.float(0.132827, "Real M2 Coef")
c_corp = input.float(0.742593, "Corp Spread Coef")
c_hy = input.float(-0.617968, "HY Spread Coef")
c_dxy = input.float(0.009772, "DXY Coef")
c_real30 = input.float(0.713311, "Real 30Y Coef")
c_be30 = input.float(-1.059273, "Breakeven 30Y Coef")
c_slope = input.float(0.402220, "Slope 10Y-2Y Coef")
// --- Data Fetching ---
m2 = request.security("FRED:M2SL", "M", close)
cpi = request.security("FRED:CPIAUCSL", "M", close)
real_m2 = m2 / cpi
corp = request.security("FRED:BAMLC0A0CM", "D", close)
hy = request.security("FRED:BAMLH0A0HYM2", "D", close)
dxy = request.security("TVC:DXY", "D", close)
real30 = request.security("FRED:DFII30", "D", close)
nom30 = request.security("FRED:DGS30", "D", close)
be30 = nom30 - real30
nom10 = request.security("FRED:DGS10", "D", close)
nom2 = request.security("FRED:DGS2", "D", close)
slope = nom10 - nom2
// --- Calculation ---
log_fv = intercept + (c_m2 * real_m2) + (c_corp * corp) + (c_hy * hy) + (c_dxy * dxy) + (c_real30 * real30) + (c_be30 * be30) + (c_slope * slope)
fair_value = math.exp(log_fv)
plot(fair_value, "Macro Fair Value", color=color.new(color.blue, 0), linewidth=2)
Hardwaybets' Protected Highs / Protected Lows TradingProtected Highs & Lows – Multi-Condition Structural Marker
This indicator identifies specific candle formations where price breaks a previous candle’s high or low, fails to maintain that break, and confirms the rejection with an additional condition involving prior candles. These marked locations offer a visual reference for areas where price attempted directional expansion but did not sustain it. All levels remain visible until later invalidated by price movement.
Protected High – Detection Logic
A Protected High is marked only when all three of the following conditions occur:
1. Break of Previous High
The current candle trades above the prior candle’s high.
2. Close Back Inside Range
The current candle closes within the high-to-low range of the previous candle, indicating the upward expansion was not sustained.
3. Reversal Through Prior Bullish Structure
After forming the high, price closes below the opening price of one or more bullish candles that were part of the upward movement into that high.
This reflects a shift away from the prior upward structure.
When all three conditions are met, the high of the candle that created the event is marked on the chart.
Protected Low – Detection Logic
A Protected Low is marked only when all three of the following conditions occur:
1. Break of Previous Low
The current candle trades below the prior candle’s low.
2. Close Back Inside Range
The current candle closes within the high-to-low range of the previous candle, indicating the downward expansion was not sustained.
3. Reversal Through Prior Bearish Structure
After forming the low, price closes above the opening price of one or more bearish candles that were part of the downward movement into that low.
This reflects a shift away from the prior downward structure.
When all three conditions are met, the low of the candle that created the event is marked on the chart.
Level Management
* Marked highs and lows remain active as long as price does not trade beyond them.
* If price moves past a marked level, that level is removed.
* Only active, unviolated structural reference points remain displayed.
Market Structure Context (Strictly Non-Signaling)
Protected highs and lows can help traders observe areas where:
* Price briefly exceeded a previous high or low
* That expansion was not maintained
* Price then moved back through recent candles associated with the prior direction
These observations can be used by traders to understand how price interacts with nearby structural reference points.
The indicator itself does not provide trade entries, exits, or directional guidance.
Customization Options
The indicator provides adjustable settings for:
* Marker style (labels or shapes)
* Shape type (circle, square, diamond, etc.)
* Colors for highs and lows
* Vertical spacing between markers and candles
These options help maintain clarity on different chart types and timeframes.
Intended Use
The indicator does not generate forecasts or trading signals.
Its purpose is to visually highlight multi-condition candle formations where price briefly exceeded a prior high or low, failed to sustain that expansion, and later reversed through nearby structural points.
Compatibility
Suitable for all assets and timeframes.
ITFI Lite — Smart Money Dashboard✅ ITFI Lite is now live — ITFI Pro (full confluence) coming soon 🔒
Follow to get early access.
This is the Lite version of the upcoming ITFI Pro system.
Designed for traders who want clean higher-timeframe context without clutter, complexity, or repainting.
Included in ITFI Lite:
• D1 & H4 bias (EMA-based)
• M15 equilibrium + premium/discount zones
• PB/BO Lite signals (no scoring)
• UTC session with volatility phase
• Compact dashboard for fast decision-making
Not included (Pro features):
• HTF FVG / OB mapping
• Scoring engine
• Ready / Wait / Blocked system
• Advanced liquidity model
• Entry timing assistant
• Full multi-timeframe confluence
📌 Pro version is currently in development — Coming Soon 🔒
Follow for updates and early access.
Support/Resistance (OI) + 9/20 EMA//@version=6
indicator("Support/Resistance (OI) + 9/20 EMA", overlay=true)
ema9 = ta.ema(close, 9)
ema20 = ta.ema(close, 20)
plot(ema9, color=color.blue, linewidth=2, title="EMA 9")
plot(ema20, color=color.orange, linewidth=2, title="EMA 20")
// Update these levels daily based on your OI analysis
s1 = 25850
s2 = 25800
s3 = 25500
r1 = 26000
r2 = 25950
r3 = 26100
// Use hline for persistent horizontal levels
hline(s1, 'Support 1', color=color.green, linestyle=hline.style_dashed, linewidth=2)
hline(s2, 'Support 2', color=color.green, linestyle=hline.style_dashed, linewidth=2)
hline(s3, 'Support 3', color=color.green, linestyle=hline.style_dashed, linewidth=2)
hline(r1, 'Resistance 1', color=color.red, linestyle=hline.style_dashed, linewidth=2)
hline(r2, 'Resistance 2', color=color.red, linestyle=hline.style_dashed, linewidth=2)
hline(r3, 'Resistance 3', color=color.red, linestyle=hline.style_dashed, linewidth=2)
Relative Performance Analyzer [AstrideUnicorn]Relative Performance Analyzer (RPA) is a performance analysis tool inspired by the data comparison features found in professional trading terminals. The RPA replicates the analytical approach used by portfolio managers and institutional analysts who routinely compare multiple securities or other types of data to identify relative strength opportunities, make allocation decisions, choose the most optimal investment from several alternatives, and much more.
Key Features:
Multi-Symbol Comparison: Track up to 5 different symbols simultaneously across any asset class or dataset
Two Performance Calculation Methods: Choose between percentage returns or risk-adjusted returns
Interactive Analysis: Drag the start date line on the chart or manually choose the start date in the settings
Professional Visualization: High-contrast color scheme designed for both dark and light chart themes
Live Performance Table: Real-time display of current return values sorted from the top to the worst performers
Practical Use Cases:
ETF Selection: Compare similar ETFs (e.g., SPY vs IVV vs VOO) to identify the most efficient investment
Sector Rotation: Analyze which sectors are showing relative strength for strategic allocation
Competitive Analysis: Compare companies within the same industry to identify leaders (e.g., APPLE vs SAMSUNG vs XIAOMI)
Cross-Asset Allocation: Evaluate performance across stocks, bonds, commodities, and currencies to guide portfolio rebalancing
Risk-Adjusted Decisions: Use risk-adjusted performance to find investments with the best returns per unit of risk
Example Scenarios:
Analyze whether tech stocks are outperforming the broader market by comparing XLK to SPY
Evaluate which emerging market ETF (EEM vs VWO) has provided better risk-adjusted returns over the past year
HOW DOES IT WORK
The indicator calculates and visualizes performance from a user-defined starting point using two methodologies:
Percentage Returns: Standard total return calculation showing percentage change from the start date
Risk-Adjusted Returns: Cumulative returns divided by the volatility (standard deviation), providing insight into the efficiency of performance. An expanding window is used to calculate the volatility, ensuring accurate risk-adjusted comparisons throughout the analysis period.
HOW TO USE
Setup Your Comparison: Enable up to 5 assets and input their symbols in the settings
Set Analysis Period: When you first launch the indicator, select the start date by clicking on the price chart. The vertical start date line will appear. Drag it on the chart or manually input a specific date to change the start date.
Choose Return Type: Select between percentage or risk-adjusted returns based on your analysis needs
Interpret Results
Use the real-time table for precise current values
SETTINGS
Assets 1-5: Toggle on/off and input symbols for comparison (stocks, ETFs, indices, forex, crypto, fundamental data, etc.)
Start Date: Set the initial point for return calculations (drag on chart or input manually)
Return Type: Choose between "Percentage" or "Risk-Adjusted" performance.
MACD No Consecutive Signals alfanetZecusdt 2min
Macd crossing signal with histogram try it and you don't regret
SE PRO — Clean ProfessionalSE PRO — Clean Professional is an advanced Smart Money Concepts (SMC) indicator designed for traders who want clean, accurate market structure, BOS/CHoCH detection, HTF trend filtering, liquidity identification, order block zones, and candlestick confirmation patterns — all in one optimized tool.
RSI5vsRSI14indicator("RSI5vsRSI14")
plot(ta.rsi(close, 14), color=color.red)
plot(ta.rsi(close, 5), color=color.green)
// plot(ta.rsi(close, 2), color=color.blue)
Grok/Claude Quantum Signal Pro * Grok/Claude X SeriesPro traders you are going to love this! Quantum Signal Pro is very much like the MoneyLine Fusion indicator but with a few additions. With Quantum Signal Pro you get a bullish/bearish Divergence indicator and signal filtering using a combination of RSI, Fisher Transform and the directional indicator ADX.
🎯 Key Features:
1. Dynamic ATR Bands with Smart Cloud
Adaptive bands that expand/contract with volatility
Color-coded cloud: 🟢 Green (uptrend) | 🔴 Red (downtrend) | 🟡 Yellow (neutral)
Basis line changes color to match market state
2. RSI Divergence Detection
Automatically spots bullish/bearish divergences
Bright cyan lines connect pivot points
Shows active divergences in info panel for 20 bars
Optional: Require divergence for signal confirmation
3. Triple-Filter Signal System
Signals trigger when ALL filters align:
✅ RSI (30/70 levels) - Oversold/Overbought
✅ Fisher Transform (±1.5) - Momentum exhaustion
✅ ADX (>20) - Trending market confirmation
Result: Fewer false signals, higher win rate!
4. Advanced Analytics Panel
Real-time 8-row display shows:
Fisher & RSI states with color coding
ATR status (Expanding/Contracting)
ADX trend strength (color-coded: white <15, orange 15-24, green >24)
DPO cycle position (±20% extremes highlighted)
Active divergence status
5. Detrended Price Oscillator (DPO)
Shows price deviation from detrended average:
>+20% = Lime (extreme overbought)
<-20% = Bright Red (extreme oversold)
Intensity-based color coding for all levels
🎨 Visual System:
Green = Bullish | Red = Bearish | Yellow = Neutral | Cyan = Divergences
Tiny arrows + price labels for clean chart
70% cloud opacity (visible but not obstructive)
📊 Trading Applications:
Trend Trading: Wait for colored cloud → pullback to bands → signal arrow
Reversal Trading: Divergence + extreme DPO → signal arrow confirmation
Range Trading: Yellow cloud → fade band extremes → exit on color change
🚨 Complete Alert System:
Signal alerts (Buy/Sell)
Setup building alerts (partial alignment)
Market state changes (Trending/Ranging)
Divergence detection (Bullish/Bearish)
💎 Why "Quantum"?
Multi-dimensional analysis: Price action + Momentum + Strength + Trend + Cycles + Divergence + Volatility = Complete trading system in one package!
🔗 Companion Indicator:
Fisher Momentum Bar - Separate pane histogram showing Fisher extremes without cluttering main chart
⚙️ Technical Specs:
Works on any timeframe (1m to 1M)
Max bars back: 5000
Stable table anchoring (no panning issues)
Pine Script v6
🎓 Pro Tips:
Divergence + DPO extreme = strongest reversal setups
Yellow cloud = wait for setup, don't force trades
ATR expanding = volatility breakout coming
ADX color tells you trend quality at a glance
If you loved MoneyLine Fusion's clarity, you'll love Quantum Signal Pro's intelligence and precision! 🚀
Part of the Grok/Claude X Series - Professional Trading Indicators
Mambo MA & HAMambo MA & HA is a combined trend-view indicator that overlays Heikin Ashi direction markers and up to eight customizable moving averages on any chart.
The goal is to give a clear, uncluttered visual summary of short-term and long-term trend direction using both regular chart data and Heikin Ashi structure.
This indicator displays:
Heikin Ashi (HA) directional markers on the chart timeframe
Optional Heikin Ashi markers from a second, higher timeframe
Up to eight different moving averages (SMA, EMA, SMMA/RMA, WMA, VWMA)
Adjustable colors and transparency for visual layering
Offset controls for HA markers to prevent overlap with price candles
It is designed for visual clarity without altering the underlying price candles.
Heikin Ashi Direction Markers (Chart Timeframe)
The indicator generates HA OHLC values internally and compares the HA open and close:
Green (bullish) HA candle → triangle-up marker plotted above the bar
Red (bearish) HA candle → triangle-down marker plotted above the bar
The triangles use soft pastel colors for minimal obstruction:
Up marker: light green (rgb 204, 232, 204)
Down marker: light red (rgb 255, 204, 204)
The “HA Offset (chart TF ticks)” input lets users shift the triangle vertically in price terms to avoid overlapping the real candles or MAs.
Heikin Ashi Markers from a Second Timeframe
An optional second timeframe (default: 60m) shows additional HA direction:
Green HA (higher timeframe) → tiny triangle-up below the bar
Red HA (higher timeframe) → tiny triangle-down below the bar
This allows a trader to see higher-timeframe HA structure without switching charts.
The offset for the second timeframe is independent (“HA Offset (extra TF ticks)”).
Custom Moving Averages (Up to Eight)
The indicator includes eight individually configurable MAs, each with:
On/off visibility toggle
MA type
SMA
EMA
SMMA / RMA
WMA
VWMA
Source
Length
Color (with preset 70% transparency for visual stacking)
The default MA lengths are: 10, 20, 50, 100, 150, 200, 250, 300.
All MA colors are slightly transparent by design to avoid obscuring price bars and HA markers.
Purpose of the Indicator
This tool provides a simple combined view of:
Immediate trend direction (chart-TF HA markers)
Higher-timeframe HA trend bias (extra-TF markers)
Overall moving-average structure from short to very long periods
It is particularly useful for:
Monitoring trend continuation vs. reversal
Confirming entries with multi-TF Heikin Ashi direction
Identifying pullbacks relative to layered moving averages
Viewing trend context without switching timeframes
There are no signals, alerts, or strategy components.
It is strictly a visual trend-context tool.
Key Features Summary
Two-timeframe Heikin Ashi direction
Separate offsets for HA markers
Eight fully configurable MAs
Clean color scheme with low opacity
Non-intrusive overlays
Compatible with all markets and chart types
Thirdeyechart Gold Simulation)The 8 XAU Global Trend Simulation Version is designed for gold traders who need a fast and accurate way to read overall market pressure across all major XAU pairs. This version monitors 8 different gold pairs at the same time and generates a clean, unified simulation that reflects the dominant directional force of gold in the global market.
By observing how all XAU pairs move collectively, the script produces a simplified trend simulation that highlights whether the market environment is showing strong momentum, weakening pressure, or shifting conditions. The goal is not to provide signals, but to offer a macro-level visual model of gold behaviour across multiple international markets.
Combined with enhanced total-average logic, this version provides a clearer representation of global strength versus weakness. Traders can quickly identify whether gold is experiencing broad alignment or mixed sentiment across the 8 pairs. Everything is displayed in a clean, boxed layout for maximum clarity and rapid decision-support.
This version is built for speed, simplicity, and accuracy—ideal for traders who rely on multi-pair confirmation to understand the true state of gold’s global trend.
Disclaimer
This tool is for educational and analytical purposes only. It does not provide trading signals or financial advice. Markets carry risk and all decisions remain the responsibility of the user.
KING DR. DAILY RANGE BOXES
Shows DR (entire session high/low) and IDR (opening range)
Displays from 7:30 PM to 6:00 PM next day
Customizable colors and styles for each day
⚡ 2. SWING VIOLATIONS
When price breaks DR high/low AND there was a prior swing point
Timing: 11:00 PM to 6:00 PM next day
Draws lines from swing points to show valid breakouts
📊 3. EXPANSION & VIOLATION STATS
Expansion: Pips moved beyond DR high/low (11 PM to 11 PM next day)
Violation: Pips moved during 11 PM to 11 PM period
Live updating statistics above/below DR levels
📅 SPECIAL FRIDAY HANDLING
Extends through weekend until Monday 11 PM
Tracks expansion and violations across the gap
Purpose: Identify valid breakouts, track range expansion, and measure price movement beyond session ranges with professional-grade accuracy.
[CT] ATR Chart Levels From Open ATR Chart Levels From Open is a volatility mapping tool that projects ATR based price levels directly from a user defined center price, most commonly the current session open, and displays them as clean horizontal levels across your chart. The script pulls an Average True Range from a higher timeframe, by default the daily, using a user selectable moving average type such as SMA, EMA, WMA, RMA or VWMA. That ATR value is then used as the unit of measure for all projected levels. You can choose the ATR length and timeframe so the bands can represent anything from a fast intraday volatility regime to a smoother multi week average range.
The core of the tool is the center line, which is treated as zero ATR. By default this center is the current session open, but you can instead anchor it to the previous close, previous open, previous high or low, or several blended prices such as HLC3, HL2, HLCC4 and OHLC4, including options that use the minimum or maximum of the previous close and current open. From this center, the indicator builds a symmetric grid of ATR based levels above and below the zero line. The grid size input controls the spacing in ATR units, for example a value of 0.25 produces levels at plus or minus 25, 50, 75, 100 percent of ATR and so on, while the number of grids each side determines how far out the bands extend. You can restrict levels to only the upper side, only the lower side, or draw both, which is useful when you want to focus on upside targets or downside expansion separately.
The levels themselves are drawn as horizontal lines on the main price chart, with configurable line style and width. Color handling is flexible. You can assign separate colors to the upper and lower levels, keep the center line in a neutral color, and choose how the colors are applied. The “Cool Towards Center” and “Cool Towards Outermost” modes apply smooth gradients that either intensify toward the middle or toward the outer bands, giving an immediate visual sense of how extended price is relative to its average range. Alternatively, the “Candle’s Close” mode dynamically colors levels based on whether the current close is above or below a given band, which can help highlight zones that are acting as resistance or support in real time.
Each level is optionally labeled at its right endpoint so you always know exactly what you are looking at. The center line label shows “Daily Open”, or more generally the chosen center, along with the exact price. All other bands show the percentage of ATR and the corresponding price, for example “+25% ATR 25999.90”. The label offset input lets you push those tags a user defined number of bars to the right of the current price action so the chart remains clean while still keeping the information visible. As new bars print, both the lines and their labels automatically extend and slide to maintain that fixed offset into the future.
To give additional context about current volatility, the script includes an optional table in the upper right corner of the chart. This table shows the latest single period ATR value on the chosen higher timeframe alongside the smoothed ATR used for the bands, clearly labeled with the timeframe and ATR length. When enabled, a highlight color marks the table cells whenever the most recent ATR reading exceeds the average, making it easy to see when the market is operating in an elevated volatility environment compared to its recent history.
In practical trading terms, ATR Chart Levels From Open turns the abstract concept of “average daily range” into specific, actionable intraday structure. The bands can be used to frame opening range breakouts, define realistic intraday profit targets, establish volatility aware stop placement, or identify areas where price has moved an unusually high percentage of its average range and may be vulnerable to mean reversion or responsive flow. Because the ATR is computed on a higher timeframe yet projected on whatever chart you are trading, you can sit on a one minute or five minute chart and still see the full higher timeframe volatility envelope anchored from your chosen center price for the session.




















