Momentum Permission + Pivot Entry + Exit (v1.4 FULL)//@version=5
indicator("Momentum Permission + Pivot Entry + Exit (v1.4 FULL)", overlay=true)
// ──────────────────────────────────────────────
// Inputs
// ──────────────────────────────────────────────
smaLength = input.int(50, "SMA Length")
relVolThresh = input.float(1.3, "Relative Volume Threshold")
pivotLookback = input.int(3, "Pivot Lookback Bars")
// ──────────────────────────────────────────────
// Core Calculations
// ──────────────────────────────────────────────
sma50 = ta.sma(close, smaLength)
vwap = ta.vwap(close)
relVol = volume / ta.sma(volume, 10)
aboveSMA = close > sma50
aboveVWAP = close > vwap
relStrong = relVol > relVolThresh
greenCandle = close > open
crossUp = ta.crossover(close, sma50)
// ──────────────────────────────────────────────
// One-Time Daily Permission
// ──────────────────────────────────────────────
var bool permission = false
if ta.change(time("D"))
permission := false
permitSignal = crossUp and aboveVWAP and relStrong and not permission
if permitSignal
permission := true
// ──────────────────────────────────────────────
// Entry: Pivot Break Continuation
// ──────────────────────────────────────────────
pivotHighBreak = close > ta.highest(high , pivotLookback)
entrySignal = (
permission and
aboveSMA and
aboveVWAP and
relStrong and
greenCandle and
pivotHighBreak
)
// ──────────────────────────────────────────────
// Exit: Trend Exhaustion / VWAP Breakdown
// ──────────────────────────────────────────────
smaChange = sma50 - sma50
exitSignal = (
permission and
close < vwap and
close < open and
relStrong and
smaChange < 0
)
// ──────────────────────────────────────────────
// VISUAL PLOTS (same as before)
// ──────────────────────────────────────────────
plot(sma50, title="SMA50", color=color.orange, linewidth=2)
plot(vwap, title="VWAP", color=color.new(color.blue, 0), linewidth=2)
plotshape(
permitSignal,
title="Trend Permission",
style=shape.triangleup,
location=location.belowbar,
color=color.new(color.green, 0),
size=size.large,
text="PERMIT"
)
plotshape(
entrySignal,
title="Entry Trigger",
style=shape.triangleup,
location=location.abovebar,
color=color.new(color.aqua, 0),
size=size.normal,
text="ENTRY"
)
plotshape(
exitSignal,
title="Exit Signal",
style=shape.triangledown,
location=location.abovebar,
color=color.new(color.red, 0),
size=size.large,
text="EXIT"
)
// ──────────────────────────────────────────────
// SCREENER OUTPUT (persistent 0/1 for the day)
// ──────────────────────────────────────────────
var bool permitToday = false
var bool entryToday = false
var bool exitToday = false
if ta.change(time("D"))
permitToday := false
entryToday := false
exitToday := false
if permitSignal
permitToday := true
if entrySignal
entryToday := true
if exitSignal
exitToday := true
// Hidden plots for screener columns
plot(permitToday ? 1 : 0, title="PERMIT", display=display.none)
plot(entryToday ? 1 : 0, title="ENTRY", display=display.none)
plot(exitToday ? 1 : 0, title="EXIT", display=display.none)
// Alerts
alertcondition(permitSignal, title="PERMIT", message="Momentum PERMISSION fired")
alertcondition(entrySignal, title="ENTRY", message="Momentum ENTRY fired")
alertcondition(exitSignal, title="EXIT", message="Momentum EXIT fired")
Indicators and strategies
6EMA & SMA with alertOverview
This indicator is designed to combine multiple moving averages, higher-timeframe levels, and flexible alerts into a single tool. It helps you monitor trend direction, dynamic support/resistance, and key daily/weekly/monthly levels without loading several separate indicators.
Main Features
1 12 Moving Averages in One Indicator
・Plots a total of 12 lines: 6 EMAs and 6 SMAs.
・All lengths and sources are fully configurable from the settings, so you can adapt them to your own style and timeframe.
2 Slope-Based Color Change
・One EMA and one SMA are colored based on their slope (rising vs. falling).
・This makes it easy to visually confirm when the medium/long-term bias is turning up or down.
3 Price-vs-MA Alerts
・You can enable alerts when price touches or crosses any selected EMA or SMA.
・Direction can be set to “Up”, “Down”, or “Both”, and you can choose to trigger only on bar close.
・The script can also send detailed alert() messages containing the symbol, timeframe, price, and line value at the moment of the cross.
4 Daily / Weekly / Monthly High–Low Levels
・Optionally display the current Daily, Weekly, and Monthly high/low levels as rays extended to the right.
・Each set of levels can be shown or hidden individually, and has its own color, style, and width options.
・Labels (DH/DL, WH/WL, MH/ML) are attached at the right side of each line for quick identification.
Notes & Disclaimer
This indicator is for charting and alerting purposes only. It does not open, close, or manage any positions.
It does not guarantee any specific results or performance. All examples are for educational and informational purposes only.
Always test and adjust the settings on your own symbols and timeframes, and use proper risk management when applying it to live trading.
ADR Bottom-Right TABLE DashboardTitle: ADR Bottom-Right Dashboard
Version: 1.0
Author:
Description:
The ADR Bottom-Right Dashboard displays the Average Daily Range (ADR) and related metrics directly on your chart in a compact, easy-to-read table. It helps traders quickly see how much a stock has moved today relative to its normal daily range and identify potential overextended or trending moves.
This tool is ideal for swing traders, day traders, and scalpers who want a real-time, visual indication of volatility and intraday movement.
Features
ADR (Average Daily Range): Shows the average high-to-low movement over a customizable period (default 20 days).
ADR%: ADR as a percentage of the stock price, showing relative volatility.
Today: The current intraday range (high–low).
%ADR: How much of the ADR has already been reached today. Color-coded to indicate low, medium, or high extension.
Color coding: %ADR highlights:
Green: <50% (early-day / low volatility)
Yellow: 50–100% (normal movement)
Red: >100% (extended move / potential exhaustion)
Inputs
Input Description Default
ADR Period Number of days to calculate the ADR 20
Low %ADR Color Color for %ADR <50% Green
Medium %ADR Color Color for %ADR 50–100% Yellow
High %ADR Color Color for %ADR >100% Red
FXD Volume Moving AverageFXDVolMA is a non-repainting, color-coded moving average that highlights when price action is supported by meaningful volume.
How It Works
The indicator measures volume strength by comparing current volume to its historical behaviour.
You can choose between four volume models: SMA Ratio, EMA Ratio, Z-Score, or Range 0–1.
The volume strength is smoothed to reduce noise.
A regime system (hysteresis) prevents color flickering and keeps transitions clean and stable.
The selected MA (SMA/EMA/WMA/RMA/HMA/VWMA) is then coloured based on volume conditions:
Colour Meaning
🟢 Green — Strong Volume
Price moves have participation behind them; higher-quality trading conditions.
🟡 Yellow — Neutral Volume
Volume is average; price is either already trending or weakening, wait for clarity or trend confirmation.
🔴 Red — Low Volume
Weak participation; avoid trading low-quality moves.
Purpose
FXDVolMA makes it easy to see whether the market is moving with conviction.
Use green periods to prioritize entries and avoid red environments where moves are unreliable.
When the MA turns green, it signals volume being present and good trading opportunities.
When the MA turns yellow, price is either already trending and volume weakens or the trend is coming to an end.
When the MA turns red, the volume is weak and price will most likely retrace, not ideal to trade.
Green = best entries
Yellow = good entries (or continuations if already in the trade)
Red = wait for retracement or volume
Checkout Instagrma @FXDSniper for more indicators and free education.
Advanced Volume & Price Heatmap (Fixed)Work in Progress. Used AI to help me code. Not really sure it worked very well. I need to run it through Cursor and make it cleaner and better.
Momentum Permission + Pivot Entry + Exit (v1.4)//@version=5
indicator("Momentum Permission + Pivot Entry + Exit (v1.4)", overlay=true)
// ──────────────────────────────────────────────
// Inputs
// ──────────────────────────────────────────────
smaLength = input.int(50, "SMA Length")
relVolThresh = input.float(1.3, "Relative Volume Threshold")
pivotLookback = input.int(3, "Pivot Break Lookback")
// ──────────────────────────────────────────────
// Core Calculations
// ──────────────────────────────────────────────
sma50 = ta.sma(close, smaLength)
vwap = ta.vwap(close)
relVol = volume / ta.sma(volume, 10)
crossUp = ta.crossover(close, sma50)
aboveSMA = close > sma50
aboveVWAP = close > vwap
relStrong = relVol > relVolThresh
greenCandle = close > open
// ──────────────────────────────────────────────
// One-Time Daily Trend Permission
// ──────────────────────────────────────────────
var bool permission = false
if ta.change(time("D"))
permission := false
trendStart = crossUp and aboveVWAP and relStrong and not permission
if trendStart
permission := true
// ──────────────────────────────────────────────
// Pullback Pivot Breakout Entry (Continuation Long)
// ──────────────────────────────────────────────
pivotHighBreak = close > ta.highest(high , pivotLookback)
entryTrigger = (
permission and
aboveSMA and
aboveVWAP and
relStrong and
greenCandle and
pivotHighBreak
)
// ──────────────────────────────────────────────
// EXIT Signal (Trend Exhaustion)
// ──────────────────────────────────────────────
smaChange = sma50 - sma50
exitSignal = (
permission and // only after trend started
close < vwap and // VWAP breakdown
close < open and // red candle body
relVol > relVolThresh and // volume spike on selling
smaChange < 0 // SMA turning down / flattening
)
// ──────────────────────────────────────────────
// Plots
// ──────────────────────────────────────────────
plot(sma50, title="SMA50", color=color.orange, linewidth=2)
plot(vwap, title="VWAP", color=color.new(color.blue, 0), linewidth=2)
// Permission marker (1 per day)
plotshape(
trendStart,
title="Trend Permission",
style=shape.triangleup,
location=location.belowbar,
color=color.new(color.green, 0),
size=size.large,
text="PERMIT"
)
// Entry trigger markers
plotshape(
entryTrigger,
title="Entry Trigger",
style=shape.triangleup,
location=location.abovebar,
color=color.new(color.aqua, 0),
size=size.normal,
text="ENTRY"
)
// EXIT marker (trend exhaustion)
plotshape(
exitSignal,
title="Exit Signal",
style=shape.triangledown,
location=location.abovebar,
color=color.new(color.red, 0),
size=size.large,
text="EXIT"
)
Minho Index | SETUP (Safe Filter 90%)//@version=5
indicator("Minho Index | SETUP (Safe Filter 90%)", shorttitle="Minho Index | SETUP+", overlay=false)
//--------------------------------------------------------
// ⚙️ INPUTS
//--------------------------------------------------------
bullColor = input.color(color.new(color.lime, 0), "Bull Color (Minho Green)")
bearColor = input.color(color.new(color.red, 0), "Bear Color (Red)")
neutralColor = input.color(color.new(color.white, 0), "Neutral Color (White)")
lineWidth = input.int(2, "Line Width")
period = input.int(14, "RSI Period")
centerLine = input.float(50.0, "Central Line (Fixed at 50)")
//--------------------------------------------------------
// 🧠 BASE RSI + INTERNAL SMOOTHING
//--------------------------------------------------------
rsiBase = ta.rsi(close, period)
rsiSmooth = ta.sma(rsiBase, 3) // light smoothing
//--------------------------------------------------------
// 🔍 TREND DETECTION AND NEUTRAL ZONE
//--------------------------------------------------------
trendUp = (rsiSmooth > rsiSmooth ) and (rsiSmooth > rsiSmooth )
trendDown = (rsiSmooth < rsiSmooth ) and (rsiSmooth < rsiSmooth )
slopeUp = (rsiSmooth > rsiSmooth )
slopeDown = (rsiSmooth < rsiSmooth )
lineColor = neutralColor
if trendUp
lineColor := bullColor
else if trendDown
lineColor := bearColor
else if slopeUp or slopeDown
lineColor := neutralColor
//--------------------------------------------------------
// 📈 MAIN INDEX LINE
//--------------------------------------------------------
plot(rsiSmooth, title="Dynamic RSI Line (Safe Filter)", color=lineColor, linewidth=lineWidth)
//--------------------------------------------------------
// ⚪ FIXED CENTRAL LINE
//--------------------------------------------------------
plot(centerLine, title="Central Line (Highlight)", color=neutralColor, linewidth=1)
//--------------------------------------------------------
// 📊 NORMALIZED MOVING AVERAGES (SMA20 and EMA20)
//--------------------------------------------------------
SMA20 = ta.sma(close, 20)
EMA20 = ta.ema(close, 20)
// Normalization 0–100
minPrice = ta.lowest(low, 100)
maxPrice = ta.highest(high, 100)
rangeCalc = maxPrice - minPrice
rangeCalc := rangeCalc == 0 ? 1 : rangeCalc
normSMA = ((SMA20 - minPrice) / rangeCalc) * 100
normEMA = ((EMA20 - minPrice) / rangeCalc) * 100
//--------------------------------------------------------
// 🩶 MOVING AVERAGES PLOTS (GHOST-GREY STYLE)
//--------------------------------------------------------
ghostColor = color.new(color.rgb(200,200,200), 65)
plot(normSMA, title="SMA 20 (Ghost Grey)", color=ghostColor, linewidth=2)
plot(normEMA, title="EMA 20 (Ghost Grey)", color=ghostColor, linewidth=2)
//--------------------------------------------------------
// 🌈 FILL BETWEEN MOVING AVERAGES
//--------------------------------------------------------
bullCond = normSMA < normEMA
bearCond = normSMA > normEMA
fill(
plot(normSMA, display=display.none),
plot(normEMA, display=display.none),
color = bearCond ? color.new(color.red, 55) :
bullCond ? color.new(color.lime, 55) : na
)
//--------------------------------------------------------
// ✅ END OF INDICATOR
//--------------------------------------------------------
TCT - Daylight Saving TimeVisualize Daylight Saving Time (DST) transitions on your charts. This indicator marks the spring forward (2nd Sunday of March) and fall back (1st Sunday of November) dates with vertical lines and optional labels.
Features:
Automatic DST detection for US time zones
Customizable line color, width, and style (solid, dashed, dotted)
Optional date labels on transition days
Multiple timezone support: US Eastern, Central, Mountain, Pacific, London, Paris, Tokyo, Sydney
Extends lines across the chart
Memory-efficient (manages up to 100 lines/labels)
Use Cases:
Identify potential market behavior shifts around DST transitions
Track time changes that may affect trading sessions
Plan trades around known time adjustments
Historical analysis of DST impact on price action
Perfect for traders who want to see when clocks change and how it might affect market dynamics. Customize the appearance to match your chart style.
Minho Index | SETUP+@TraderMinho//@version=5
// By: Trader Minho — Analista Gráfico desde 2022
indicator("Minho Index | SETUP+@TraderMinho", shorttitle="Minho Index (Classic)", overlay=false)
//--------------------------------------------------------
// PARAMETERS
//--------------------------------------------------------
shortPeriod = input.int(3, "Short Period")
mediumPeriod = input.int(8, "Medium Period")
longPeriod = input.int(20, "Long Period")
intensityFactor = input.float(3.0, "Intensity Factor", step = 0.1)
shortSmoothing = input.int(2, "Short Smoothing (EMA)")
mediumSmoothing = input.int(5, "Medium Smoothing (EMA)")
shortColor = input.color(color.new(#00CED1, 0), "Short Line Color (Aqua Blue)")
mediumColor = input.color(color.new(#FFD700, 0), "Medium Line Color (Yellow)")
zeroColor = input.color(color.new(color.white, 0), "Zero Line Color")
lineWidth = input.int(1, "Line Thickness")
//--------------------------------------------------------
// MOVING AVERAGE CALCULATIONS
//--------------------------------------------------------
smaShort = ta.sma(close, shortPeriod)
smaMedium = ta.sma(close, mediumPeriod)
smaLong = ta.sma(close, longPeriod)
//--------------------------------------------------------
// CLASSIC DIDI NORMALIZATION
//--------------------------------------------------------
priceBase = ta.sma(close, longPeriod)
didiShort = ((smaShort - smaLong) / priceBase) * intensityFactor
didiMedium = ((smaMedium - smaLong) / priceBase) * intensityFactor
//--------------------------------------------------------
// FINAL SMOOTHING (CLASSIC NEEDLE EFFECT)
//--------------------------------------------------------
aquaSmooth = ta.ema(didiShort, shortSmoothing)
yellowSmooth = ta.ema(didiMedium, mediumSmoothing)
//--------------------------------------------------------
// PLOTS
//--------------------------------------------------------
hline(0, "Zero Line", color = zeroColor, linewidth = 1)
plot(aquaSmooth, "Short (Aqua)", color = shortColor, linewidth = lineWidth)
plot(yellowSmooth, "Medium (Yellow)", color = mediumColor, linewidth = lineWidth)
Momentum Permission + VWAP + RelVol (Clean)//@version=5
indicator("Momentum Permission + VWAP + RelVol (Clean)", overlay=true)
// ──────────────────────────────────────────────
// Inputs
// ──────────────────────────────────────────────
smaLength = input.int(50, "SMA Length")
relVolThresh = input.float(1.3, "Relative Volume Threshold")
// ──────────────────────────────────────────────
// Core Calculations
// ──────────────────────────────────────────────
sma50 = ta.sma(close, smaLength)
vwap = ta.vwap(close)
relVol = volume / ta.sma(volume, 10)
crossUp = ta.crossover(close, sma50)
// Trend conditions
aboveSMA = close > sma50
aboveVWAP = close > vwap
relStrong = relVol > relVolThresh
// ──────────────────────────────────────────────
// One-Time Daily Trend Permission Logic
// ──────────────────────────────────────────────
var bool permission = false
// Reset permission at start of each session
if ta.change(time("D"))
permission := false
trendStart = crossUp and aboveVWAP and relStrong and not permission
if trendStart
permission := true
// ──────────────────────────────────────────────
// Entry Trigger Logic (Breakout Continuation)
// ──────────────────────────────────────────────
entryTrigger = (
permission and
aboveSMA and
aboveVWAP and
relStrong and
close > high // breakout of prior candle high
)
// ──────────────────────────────────────────────
// Plots
// ──────────────────────────────────────────────
// Trend filters
plot(sma50, title="SMA50", color=color.orange, linewidth=2)
plot(vwap, title="VWAP", color=color.new(color.blue, 0), linewidth=2)
// Permission (one-time trend start)
plotshape(
trendStart,
title="Trend Permission",
style=shape.triangleup,
location=location.belowbar,
color=color.new(color.green, 0),
size=size.large,
text="PERMIT"
)
// Entry trigger (continuation entry)
plotshape(
entryTrigger,
title="Entry Trigger",
style=shape.triangleup,
location=location.abovebar,
color=color.new(color.aqua, 0),
size=size.normal,
text="ENTRY"
)
One-Time 50 SMA Trend Start//@version=5
indicator("One-Time 50 SMA Trend Start", overlay=true)
// ─── Inputs ──────────────────────────────────────────────
smaLength = input.int(50, "SMA Length")
// ─── Calculations ────────────────────────────────────────
sma50 = ta.sma(close, smaLength)
crossUp = ta.crossover(close, sma50)
// Track whether we've already fired today
var bool alerted = false
// Reset alert for new session
if ta.change(time("D"))
alerted := false
// Trigger one signal only
signal = crossUp and not alerted
if signal
alerted := true
// ─── Plots ───────────────────────────────────────────────
plot(sma50, color=color.orange, linewidth=2, title="50 SMA")
plotshape(
signal,
title="First Cross Above",
style=shape.triangleup,
color=color.new(color.green, 0),
size=size.large,
location=location.belowbar,
text="Trend"
)
📈 Price Crossed Above 50 SMA (One-Time Marker)//@version=5
indicator("📈 Price Above 50 SMA Marker", overlay=true)
// === Calculate 50 SMA ===
sma50 = ta.sma(close, 50)
priceAboveSMA50 = close > sma50
// === Plot the 50 SMA ===
plot(sma50, title="50 SMA", color=color.orange, linewidth=2)
// === Plot Shape When Price Is Above 50 SMA ===
plotshape(
priceAboveSMA50, // condition to trigger
title="Price Above 50 SMA", // tooltip title
location=location.abovebar, // place above candle
color=color.green, // shape color
style=shape.triangleup, // shape style
size=size.small, // size
text="SMA+" // optional label
)
Opening Range with Breakouts & Targets w/ Alerts [LuxAlgo]This is the exact Lux Algo opening range with Breakouts and Targets, but added the ability to fire alerts on buy and sell signals
ES 30 Second Opening RangeOverview
Tracks opening ranges across three global futures sessions (RTH, Globex, Europe) using 30-second precision sampling. Provides high/low/mid levels, 15-point projection intervals, and breakout detection for range-based trading.
What Makes This Unique
30-Second Precision: Uses request.security_lower_tf() to sample the first 30 seconds of each session, capturing exact opening range high/low rather than relying on larger timeframe bars.
Multi-Session Tracking: Simultaneously monitors RTH (8:30 AM CT), Globex (5:00 PM CT), and Europe (2:00 AM CT) opening ranges with independent calculations for 24-hour futures coverage.
15-Point Projections: RTH-specific feature plots 5 extension levels above/below opening range at 15-point intervals (+15, +30, +45, +60, +75). Calibrated for ES futures point movement.
Adjustable Scalp Levels: Customizable +/- point lines from RTH range (default 4 points) for precise entry/exit management.
How It Works
Opening Range Calculation:
Session detection: hour(time, "America/Chicago") + minute(time) * 0.01
30s data request: request.security_lower_tf(syminfo.tickerid, "30S", high/low)
Range capture: ta.valuewhen(session_time == start_time AND second == 0, array.get(data, 0), 0)
Midpoint: (high + low) / 2
At each session start, the indicator captures the first 30-second bar's high and low, then plots these as persistent levels throughout the session.
15-Point Intervals (RTH only):
Level_up = RTH_high + (15 × n) where n = 1,2,3,4,5
Level_down = RTH_low - (15 × n)
Breakout Detection:
Break_up = ta.crossover(close, session_high)
Break_down = ta.crossunder(close, session_low)
Statistics:
Range width = session_high - session_low (displayed in table)
How to Use
Session-Based Levels: Each session's opening range represents institutional price discovery. Use as dynamic support/resistance throughout the day.
Breakout Trading: Visual signals mark opening range breakouts. Narrow ranges (<10 points ES) often precede larger moves.
15-Point Targets: After RTH breakout, use 15-point intervals as profit targets. Example: after +15 hit, next target is +30.
Gap Analysis: Compare overnight sessions to RTH. Gaps often fill toward RTH opening range.
Scalping: Adjustable point offset provides tight profit targets from range boundaries.
Key Settings
Session Toggles: Enable/disable RTH, Globex, Europe individually
15-Point Lines: RTH-only, off by default. Shows 5 levels above/below OR at 15-point intervals
Point Offset (4.0): Adjustable for tighter (2-3) or wider (6-8) scalp levels
Range Boxes: Optional visual highlighting with adjustable transparency
Statistics Table: Shows session high, low, range width
Why Protected Source
The 30-second data aggregation using request.security_lower_tf() with time-based session detection, 15-point interval projection system calibrated for ES futures, and multi-session concurrent tracking represent proprietary implementation methods.
Important Disclaimers
Not Financial Advice. Educational tool only.
Instrument Specific. 15-point intervals optimized for ES futures. Other instruments may need different sizes.
Session Accuracy. Captures first 30 seconds only. Data gaps or late opens may affect accuracy.
Historical Limitations. Opening range effectiveness varies by market regime and volatility.
Always use proper risk management. This provides reference levels, not trade signals.
WolfgateThe Wolfpack Framework is my core intraday execution overlay for SPY and index futures.
This script plots:
9 EMA (white) – short-term momentum and micro pullback engine
21 EMA (yellow, dotted) – intraday trend backbone and bias filter
200 SMA (purple, dotted) – primary higher-timeframe trend reference
400 SMA (red, dotted) – macro trend and extreme mean-reversion anchor
VWAP (bright blue, thick) – institutional fair value for the current session
No auto-drawn ORB, no auto levels – traders mark those manually using their own playbook to keep the chart clean and intentional.
Pair this with a separate “Volume” indicator (standard volume columns) in the lower pane for full context.
Built for 0DTE / intraday options traders who want a fast, uncluttered framework they can execute from without thinking.
Obsidian Flux Matrix# Obsidian Flux Matrix | JackOfAllTrades
Made with my Senior Level AI Pine Script v6 coding bot for the community!
Narrative Overview
Obsidian Flux Matrix (OFM) is an open-source Pine Script v6 study that fuses social sentiment, higher timeframe trend bias, fair-value-gap detection, liquidity raids, VWAP gravitation, session profiling, and a diagnostic HUD. The layout keeps the obsidian palette so critical overlays stay readable without overwhelming a price chart.
Purpose & Scope
OFM focuses on actionable structure rather than marketing claims. It documents every driver that powers its confluence engine so reviewers understand what triggers each visual.
Core Analytical Pillars
1. Social Pulse Engine
Sentiment Webhook Feed: Accepts normalized scores (-1 to +1). Signals only arm when the EMA-smoothed value exceeds the `sentimentMin` input (0.35 by default).
Volume Confirmation: Requires local volume > 30-bar average × `volSpikeMult` (default 2.0) before sentiment flags.
EMA Cross Validation: Fast EMA 8 crossing above/below slow EMA 21 keeps momentum aligned with flow.
Momentum Alignment: Multi-timeframe momentum composite must agree (positive for longs, negative for shorts).
2. Peer Momentum Heatmap
Multi-Timeframe Blend: RSI + Stoch RSI fetched via request.security() on 1H/4H/1D by default.
Composite Scoring: Each timeframe votes +1/-1/0; totals are clamped between -3 and +3.
Intraday Readability: Configurable band thickness (1-5) so scalpers see context without losing space.
Dynamic Opacity: Stronger agreement boosts column opacity for quick bias checks.
3. Trend & Displacement Framework
Dual EMA Ribbon: Cyan/magenta ribbon highlights immediate posture.
HTF Bias: A higher-timeframe EMA (default 55 on 4H) sets macro direction.
Displacement Score: Body-to-ATR ratio (>1.4 default) detects impulses that seed FVGs or VWAP raids.
ATR Normalization: All thresholds float with volatility so the study adapts to assets and regimes.
4. Intelligent Fair Value Gap (FVG) System
Gap Detection: Three-candle logic (bullish: low > high ; bearish: high < low ) with ATR-sized minimums (0.15 × ATR default).
Overlap Prevention: Price-range checks stop redundant boxes.
Spacing Control: `fvgMinSpacing` (default 5) avoids stacking from the same impulse.
Storage Caps: Max three FVGs per side unless the user widens the limit.
Session Awareness: Kill zone filters keep taps focused on London/NY if desired.
Auto Cleanup: Boxes delete when price closes beyond their invalidation level.
5. VWAP Magnet + Liquidity Raid Engine
Session or Rolling VWAP: Toggle resets to match intraday or rolling preferences.
Equal High/Low Scanner: Looks back 20 bars by default for liquidity pools.
Displacement Filter: ATR multiplier ensures raids represent genuine liquidity sweeps.
Mean Reversion Focus: Signals fire when price displaces back toward VWAP following a raid.
6. Session Range Breakout System
Initial Balance Tracking: First N bars (15 default) define the session box.
Breakout Logic: Requires simultaneous liquidity spikes, nearby FVG activity, and supportive momentum.
Z-Score Volume Filter: >1.5σ by default to filter noisy moves.
7. Lifestyle Liquidity Scanner
Volume Z-Scores: 50-bar baseline highlights statistically significant spikes.
Smart Money Footprints: Bottom-of-chart squares color-code buy vs sell participation.
Panel Memory: HUD logs the last five raid timestamps, direction, and normalized size.
8. Risk Matrix & Diagnostic HUD
HUD Structure: Table in the top-right summarizes HTF bias, sentiment, momentum, range state, liquidity memory, and current risk references.
Signal Tags: Aggregates SPS, FVG, VWAP, Range, and Liquidity states into a compact string.
Risk Metrics: Swing-based stops (5-bar lookback) + ATR targets (1.5× default) keep risk transparent.
Signal Families & Alerts
Social Pulse (SPS): Volume-confirmed sentiment alignment; triangle markers with “SPS”.
Kill-Zone FVG: Session + HTF alignment + FVG tap; arrow markers plus SL/TP labels.
Local FVG: Captures local reversals when HTF bias has not flipped yet.
VWAP Raid: Equal-high/low raids that snap toward VWAP; “VWAP” label markers.
Range Breakout: Initial balance violations with liquidity and imbalance confirmation; circle markers.
Liquidity Spike: Z-score spikes ≥ threshold; square markers along the baseline.
Visual Design & Customization
Theme Palette: Primary background RGB (12,6,24). Accent shading RGB (26,10,48). Long accents RGB (88,174,255). Short accents RGB (219,109,255).
Stylized Candles: Optional overlay using theme colors.
Signal Toggles: Independently enable markers, heatmap, and diagnostics.
Label Spacing: Auto-spacing enforces ≥4-bar gaps to prevent text overlap.
Customization & Workflow Notes
Adjust ATR/FVG thresholds when volatility shifts.
Re-anchor sentiment to your webhook cadence; EMA smoothing (default 5) dampens noise.
Reposition the HUD by editing the `table.new` coordinates.
Use multiples of the chart timeframe for HTF requests to minimize load.
Session inputs accept exchange-local time; align them to your market.
Performance & Compliance
Pure Pine v6: Single-line statements, no `lookahead_on`.
Resource Safe: Arrays trimmed, boxes limited, `request.security` cached.
Repaint Awareness: Signals confirm on close; alerts mirror on-chart logic.
Runtime Safety: Arrays/loops guard against `na`.
Use Cases
Measure when social sentiment aligns with structure.
Plan ICT-style intraday rebalances around session-specific FVG taps.
Fade VWAP raids when displacement shows exhaustion.
Watch initial balance breaks backed by statistical volume.
Keep risk/target references anchored in ATR logic.
Signal Logic Snapshot
Social Pulse Long/Short: `sentimentEMA` gated by `sentimentMin`, `volSpike`, EMA 8/21 cross, and `momoComposite` sign agreement. Keeps hype tied to structural follow-through.
Kill-Zone FVG Long/Short: Requires session filter, HTF EMA bias alignment, and an active FVG tap (`bullFvgTap` / `bearFvgTap`). Labels include swing stops + ATR targets pulled from `swingLookback` and `liqTargetMultiple`.
Local FVG Long/Short: Uses `localBullish` / `localBearish` heuristics (EMA slope, displacement, sequential closes) to surface intraday reversals even when HTF bias has not flipped.
VWAP Raids: Detect equal-high/equal-low sweeps (`raidHigh`, `raidLow`) that revert toward `sessionVwap` or rolling VWAP when displacement exceeds `vwapAlertDisplace`.
Range Breakouts: Combine `rangeComplete`, breakout confirmation, liquidity spikes, and nearby FVG activity for statistically backed initial balance breaks.
Liquidity Spikes: Volume Z-score > `zScoreThreshold` logs direction, size, and timestamp for the HUD and optional review workflows.
Session Logic & VWAP Handling
Kill zone + NY session inputs use TradingView’s session strings; `f_inSession()` drives both visual shading and whether FVG taps are tradeable when `killZoneOnly` is true.
Session VWAP resets using cumulative price × volume sums that restart when the daily timestamp changes; rolling VWAP falls back to `ta.vwap(hlc3)` for instruments where daily resets are less relevant.
Initial balance box (`rangeBars` input) locks once complete, extends forward, and stays on chart to contextualize later liquidity raids or breakouts.
Parameter Reference
Trend: `emaFastLen`, `emaSlowLen`, `htfResolution`, `htfEmaLen`, `showEmaRibbon`, `showHtfBiasLine`.
Momentum: `tf1`, `tf2`, `tf3`, `rsiLen`, `stochLen`, `stochSmooth`, `heatmapHeight`.
Volume/Liquidity: `volLookback`, `volSpikeMult`, `zScoreLen`, `zScoreThreshold`, `equalLookback`.
VWAP & Sessions: `vwapMode`, `showVwapLine`, `vwapAlertDisplace`, `killSession`, `nySession`, `showSessionShade`, `rangeBars`.
FVG/Risk: `fvgMinTicks`, `fvgLookback`, `fvgMinSpacing`, `killZoneOnly`, `liqTargetMultiple`, `swingLookback`.
Visualization Toggles: `showSignalMarkers`, `showHeatmapBand`, `showInfoPanel`, `showStylizedCandles`.
Workflow Recipes
Kill-Zone Continuation: During the defined kill session, look for `killFvgLong` or `killFvgShort` arrows that line up with `sentimentValid` and positive `momoComposite`. Use the HUD’s risk readout to confirm SL/TP distances before entering.
VWAP Raid Fade: Outside kill zone, track `raidToVwapLong/Short`. Confirm the candle body exceeds the displacement multiplier, and price crosses back toward VWAP before considering reversions.
Range Break Monitor: After the initial balance locks, mark `rangeBreakLong/Short` circles only when the momentum band is >0 or <0 respectively and a fresh FVG box sits near price.
Liquidity Spike Review: When the HUD shows “Liquidity” timestamps, hover the plotted squares at chart bottom to see whether spikes were buy/sell oriented and if local FVGs formed immediately after.
Metadata
Author: officialjackofalltrades
Platform: TradingView (Pine Script v6)
Category: Sentiment + Liquidity Intelligence
Hope you Enjoy!
bcon's bemas (5,8,13,21)simple ribbin i use for scalps. the 5 8 13 and 21 ema. like to see them lined up when i see a cross thats my sign to take profit
Rhythmic EMAs Lite Public V1.0📌 Rhythmic EMAs Lite — Public V1.0
A clean, fast, and non-repainting trend-rhythm indicator built around fixed EMAs + SMAs, Engulfing Bars (EB), Long-Tail Body (LTB) signals, Flush Dots, and a real-time Bias Table.
Designed for traders who want uncluttered directional clarity without over-optimization or noisy filters.
🔶 What This Indicator Does
1. Fixed MA Rhythm Engine (3-7-40-150)
MA1: EMA
MA2: EMA
MA3: SMA
MA4: SMA
The stacking structure forms the core “trend rhythm”.
2. Engulfing Bars (EB) — Non-Repainting
Reads the previous completed bar only.
Filters weak signals using:
ATR size (global)
Minimum body %
Outputs EBull and EBear with 20-label cap.
3. Long-Tail Body (LTB)
A precision reversal-exhaustion read using:
Tail % thresholds
Body position (top / bottom 55%)
Minimum body % (optional)
ATR threshold
Produces LTB Bull and LTB Bear.
4. MA Flush Dots
A rhythmic compression marker:
Bullish at bottom of structure
Bearish at top of structure
Great for identifying MA squeezes and momentum resets.
5. Bias Table (Top-Right)
Compact real-time sentiment showing:
MA Bias (Bullish / Bearish / Neutral)
LTB presence (Yes / No)
Updates based on timeframe pacing.
🔶 Alerts Included
Signal Bar Formed
Bullish Combo
Bearish Combo
All non-repainting (previous bar logic).
🔶 Ideal For
Swing traders
Trend continuation setups
Reversal exhaustion reads
Structure-based entries
Clean, non-spammy signals
🔶 Notes
Fully non-repainting
All Flush markers, labels, and MA visibility are user-controlled
Code protected to preserve original logic and prevent redistribution
🔶 Premium Upgrade (Optional)
For traders seeking advanced capabilities, including enhanced alerting, dynamic MA switching, and more flexible LTB detection, check out Rhythmic EMAs Lite Premium.
The Premium version builds on the same reliable non-repainting engine, offering extra tools for precise entries and exits.
Enjoy the rhythm.
— BadgerGo1314
alertable spaceman v2slight modification to Key Levels SpacemanBTC IDWM script
credit: spacemanbtc
this is a new version to fix a bug that would pop unwanted alerts on certain levels. I realised the issue was how tradingview handles time. in tradingview,1D paints a new candle at 7pm NY time, but in low timeframe, the "next" day doesn't officially start until 12a.m, like a military clock would. this would cause some repainting issues.
implemented some changes by using stable values that would hopefully circumvent that. script is open sourced in case anyone wants to use it to make changes in case there are other issues
XAU / XAG SCALPER PRO🔥 XAU / XAG SCALPER PRO is a specialized scalping assistant designed exclusively for XAUUSD and XAGUSD.
Free trial : just send your TV username to >> t.me
🟢 Generates four progressive BUY signals that reflect shifting bullish strength.
📈 Highlights momentum-based turning points to help anticipate early bullish phases.
➕ Provides a structured Add-More mechanic for building positions in strong trends.
🎯 Marks Take Profit (TP) moments when momentum weakens.
🏷️ Ensures clean, non-repaintable signal labels directly on the chart for clarity.
🔒 Zero configuration: all parameters are pre-optimized and locked.
🥇 Focused design: works only on Gold (XAUUSD) and Silver (XAGUSD) to maximize reliability.
🔁 Smooth workflow: Buy → Bullish Continuations → TP.
🧠 Adaptive sequencing: the indicator “remembers” previous signals to improve timing.
⚡ Lightweight & fast: built for real-time scalping on low-noise momentum shifts.
⏱️ Designed and fine-tuned for scalping and intraday trading on XAUUSD and XAGUSD.
⚠️ Note: No indicator guarantees profits. Always combine signals with your trading strategy and risk management.
Quantum Oscillator + SignalsQuantum Oscillator + Signals
The Quantum Oscillator + Signals is a complete, all-in-one trading system designed to filter market noise and provide high-probability trade setups. By combining a custom momentum oscillator with an EMA Cloud, dynamic Support & Resistance levels, and a real-time Data Dashboard, this tool helps traders identify trends, pullbacks, and reversals with precision.
🚀 Key Features
1. 🌊 Quantum Oscillator & Signals
Trend Entries: Clear Buy (Green Triangle) and Sell (Red Triangle) signals based on momentum crossovers aligned with the trend.
Pullback Detection: Automatically spots low-risk entry opportunities marked as "PB" when price retraces within a strong trend.
Reversal Alerts:
💰 Money Bags: Indicate "Extreme" overbought/oversold conditions (Levels 90/10) — potential major tops or bottoms.
🔵 TP Dots: Indicate "Moderate" reversals (Levels 80/20) — ideal zones for taking profits.
2. 📊 Advanced Data Dashboard
A professional, Dark Mode panel that displays real-time market health.
Trend Status: Instantly see if the market is Bullish or Bearish.
Trend Strength: Uses ADX to classify the trend as Strong 💪, Weak ❄️, or Neutral 😴.
Confluence Score: A dynamic 0-5 Score rating the quality of the current market setup.
Trade Status: Gives a clear "YES" or "NO" on whether market conditions are safe to trade.
3. 🧱 Dynamic Support & Resistance
Automatically draws Support (Green) and Resistance (Red) lines based on pivot points.
Lines extend until price touches or closes beyond them, helping you spot key breakout levels without drawing them manually.
4. ☁️ EMA Trend Cloud
Visualizes the long-term trend using a 50/200 EMA Cloud.
Green Cloud: Long-term Bullish Trend.
Red Cloud: Long-term Bearish Trend.
Includes a 20 EMA filter line to keep you on the right side of short-term momentum.
5. 🕯️ Real Price Tracker
Displays the Actual Closing Price line and dots.
Crucial for Heikin Ashi Traders: See the real price action overlay without switching chart types.
🛠️ How to Trade
1. Trend Following: Look for Triangle Signals that match the EMA Cloud color.
Example: Green Cloud + Green Triangle = High Probability Long.
2. Pullbacks: Enter on "PB" signals. These are often the safest entries as they catch the trend after a dip.
3. Exits: Use the TP Dots or Money Bags (💰) as targets to lock in profits.
4. Confirmation: Check the Dashboard! Ideally, look for a Confluence Score of 4/5 or higher before entering.
⚙️ Customization
Filters: Toggle ADX, Volume, and Time Session filters to suit your strategy.
Styling: Fully customizable colors, dashboard size, and line styles.
Dashboard: Can be toggled on/off or resized to fit your screen.
Instant Volume Flow1. Volume Bars (Green/Red)
Shows instantly whether buyers or sellers are dominant.
2. Delta Volume Histogram
Green = net buying pressure
Red = net selling pressure
This lets you spot:
Big sell dumps
Sudden buy absorption
Volume momentum shifts
3. Spike Alerts
You get alerts when volume is more than 2× the 20-MA average volume.






















