Supertrend with Keltner Channels ~ CharonQuantThe Supertrend with Keltner Channels Strategy is a trend-following and volatility indicator designed to filter noise and highlight high-quality directional opportunities.
Core Logic
The indicator is based on two complementary components:
• Supertrend defines the primary market regime (bullish or bearish)
• Keltner Channels define volatility expansion and contraction
Signals are only generated when both trend direction and volatility breakout agree.
Signal Conditions
A Buy signal is triggered when:
• Supertrend flips bullish
• Price breaks above the upper Keltner Channel
A Sell signal is triggered when:
• Supertrend flips bearish
• Price breaks below the lower Keltner Channel
If one condition is missing, no signal is produced. This design prioritizes signal quality over signal frequency.
Visual Structure
The indicator uses a clear visual hierarchy:
• Bar coloring reinforces directional bias
• Supertrend acts as the main directional spine
• Keltner Channels provide volatility context
• Buy and Sell labels mark execution points
All visual elements can be enabled or disabled from the Visual Settings panel.
Development and usage notes:
This indicator was developed and calibrated on the 1D INDEX:BTCUSD chart.
You must tweak the parameters to fit your market, timeframe, and trading style.
If you do not read this description or do not understand what the indicator is designed to do, do not use it.
Indicators amplify both discipline and mistakes.
Important reminder: No single indicator is sufficient on its own.
Indicadores y estrategias
MudHome - HTF Last X Candles (Range + Live Price Label)This indicator provides a live Higher Timeframe (HTF) context overlay on lower-timeframe charts by displaying the most recent HTF candles as a compact inset, alongside a dynamically updating price range.
It plots the last N HTF candles (up to 10), including the currently forming HTF candle, arranged left-to-right in standard chart order. This allows traders to visually track HTF structure, expansion, and volatility in real time while executing on lower timeframes.
Key Features
Displays the most recent HTF candles, including the live, still-forming candle
Candles are drawn to the right of price, preserving chart clarity
Automatically calculates and displays the HTF range high and low across the selected candles
Range labels update dynamically as the current HTF candle expands
Shows a live current-price label, updating tick-by-tick
Clean, minimal presentation — no cluttered OHLC labels
Fully configurable candle spacing, body width, colors, and offsets
Smart Validation
The indicator only renders when the selected timeframe is higher than the chart timeframe
If not, a clear prompt is shown: “Select a higher time frame”
Ideal Use Cases
HTF bias and context on LTF execution charts
Range expansion and contraction analysis
ICT-style dealing range, premium/discount framing
Session and structure awareness without switching timeframes
This tool is designed to act as a live HTF context box, keeping higher-timeframe structure visible at all times while you focus on execution.
stelaraX - Risk CalculatorstelaraX – Risk Calculator
stelaraX – Risk Calculator is a trade planning and risk management indicator that visualizes entry, stop loss, and up to three take profit levels directly on the chart. The script calculates risk amount and position size based on account size and risk percentage, and it supports both long and short trade scenarios.
For advanced AI-based chart analysis and automated trade planning tools, visit stelarax.com
Core logic
The indicator uses a manual signal lock to fix a trade setup:
* enable the signal lock
* input the entry price
* input the stop loss price
* select trade direction (Long or Short)
The script validates the trade direction:
* for Long, stop loss must be below entry
* for Short, stop loss must be above entry
Risk is calculated using account size and risk percentage:
* risk amount in currency is computed from account size and risk percent
* position size is derived from risk amount divided by the stop loss distance
Take profit levels are calculated using risk-to-reward multiples:
* TP1, TP2, TP3 can be enabled or disabled independently
* each TP level is calculated as a multiple of the stop loss distance based on the selected R:R value
Visualization
When the signal is active and valid, the indicator draws:
* entry line with price label
* stop loss line with risk amount label
* up to three take profit lines with R-multiple, price, and projected profit labels
* optional risk zone box between entry and stop loss
* optional info panel summarizing the full trade setup
Line length and display elements can be configured.
Alerts
Alert conditions are available for:
* entry level reached
* TP1 reached
* TP2 reached
* TP3 reached
* stop loss reached
Visual markers can also be displayed when any level is hit.
Use case
This indicator is intended for:
* fixed trade planning with manual entry and stop levels
* position sizing based on account risk
* defining multiple take profit targets using R:R
* visualizing risk and reward directly on the chart
* creating alert-based trade management workflows
For a fully automated AI-driven chart analysis solution, additional tools and insights are available at stelarax.com
Disclaimer
This indicator is provided for educational and technical analysis purposes only and does not constitute financial advice or trading recommendations. All trading decisions and risk management remain the responsibility of the user.
Moving Average Momentum Bands📊 MA Momentum Bands - Crossover Detection with Predictive Signals
Overview
Advanced moving average system with intelligent crossover detection and early warning predictive signals. Designed to catch trend changes with precise timing while filtering out choppy market noise.
Key Features
📈 4 Customizable Moving Averages
Choose from EMA, SMA, SMMA (RMA), WMA, or VWMA
Adjustable periods and colors
Visual fill zones between MA pairs
✓ Confirmed Crossover Signals
Fires on actual MA crossover with confirmation filters
Slope Filter: Requires slow MA to be trending (filters choppy markets)
Acceleration Filter: Detects momentum shifts and deceleration (catches reversals)
Highly configurable thresholds for different trading styles
⚠ Predictive Signals (Optional)
Early warning system fires 1-8 bars BEFORE actual crossover
Velocity-based calculation estimates when crossover will occur
Smart debouncing prevents signal spam (fires once per setup)
Auto-resets after crossover or when prediction fails
🔍 Debug Table
Real-time metrics: MA slope, acceleration, velocity, distance
"Bars Until Cross" prediction countdown
Perfect for fine-tuning settings
How It Works
Confirmed Signals (✓ triangles):
Fast MA crosses Slow MA
Slow MA must be trending (slope > threshold) OR decelerating
Filters ensure quality signals in trending markets
Predictive Signals (⚠ triangles):
Calculates MA velocities (rate of change)
Estimates bars until crossover based on approach speed
Fires early warning when crossover imminent
Only fires once per setup (no spam)
Best Use Cases
Swing Trading: Catch trend changes early with predictive signals
Trend Following: Use confirmed signals for high-probability entries
Multi-Timeframe: Combine with higher TF analysis for confirmation
Filter for Other Strategies: Add MA crossover confirmation to your existing system
Recommended Settings
Conservative (Fewer, Higher Quality Signals):
Slope Threshold: 0.002-0.005
Acceleration Filter: ON
Predict Bars Ahead: 5-8
Balanced (Default):
Slope Threshold: 0.001-0.002
Acceleration Filter: ON
Predict Bars Ahead: 3-5
Aggressive (More Signals, Earlier Entries):
Slope Threshold: 0.0001
Acceleration Filter: OFF
Predict Bars Ahead: 1-3
Quick Start
Add to chart - confirmed signals work immediately
Adjust slope/acceleration filters to match your timeframe
Enable predictive signals for early entries
Use debug table to fine-tune settings
Set up alerts for hands-free trading
Alerts Included
Bullish/Bearish MA Cross (confirmed)
Predictive Bullish/Bearish Cross (early warning)
Perfect for traders who want to catch trend changes early while avoiding false signals in choppy markets!
Chart Info & Candle CountdownThis indicator displays essential chart information directly on the chart:
Displays the current date
Displays the current symbol
Displays the current timeframe with a countdown to candle close
The candle close countdown is visually highlighted to improve time awareness:
from 2 minutes before candle close on minute timeframes
from 15 minutes before candle close on higher timeframes
This indicator is designed for informational purposes only and does not generate trading signals.
SMC One Candle + AMD Bias (CT Focus)This indicator is a specialized Smart Money Concepts (SMC) tool designed for QQQ on the 5-minute chart. It fuses Tony Trades' "One Candle Rule" execution with the AMD (Accumulation, Manipulation, Distribution) cycle logic found in your previous CRT Pro V2 script.
The primary goal of this indicator is to identify high-probability entries during the Purge Window (9:00 AM – 11:30 AM CT) by detecting when price manipulates morning liquidity before expanding in the direction of the daily bias.
## Core Components
### 1. Master Candle Range (Accumulation)
Timeframe: 05:00 AM – 09:00 AM CT.
Function: It automatically plots the Master High (CRH) and Master Low (CRL). This represents the "Accumulation" phase where orders are built up before the New York open.
### 2. The One Candle Zone (Execution)
Timeframe: 08:35 AM CT (The 5-minute candle immediately following the high-volatility open).
Function: It creates a blue "Value Zone" based on Tony Trades’ logic. This zone acts as the ultimate filter—price must reclaim or break this zone to confirm that the "Manipulation" phase is over and the "Distribution" has begun.
### 3. Multi-Timeframe Daily Bias
Calculation: It tracks the midpoint (Equilibrium) of the previous day's range.
Premium/Discount:
Bullish (Discount): Price is trading above the daily midpoint.
Bearish (Premium): Price is trading below the daily midpoint.
Logic: Signals are filtered by this bias to ensure you are always trading with the higher-timeframe flow.
## Signal Logic Descriptions
### SMC Long (Bullish Distribution)
A Long signal is generated when:
Bias: The Daily Bias is Bullish.
Manipulation: Price has ideally swept the Master Low (CRL) during the open.
The Trigger: A 5-minute candle closes above the 08:35 AM "One Candle" High.
Confirmation: This suggests shorts are trapped and Smart Money is distributing price toward the Previous Day High (PDH).
### SMC Short (Bearish Distribution)
A Short signal is generated when:
Bias: The Daily Bias is Bearish.
Manipulation: Price has ideally swept the Master High (CRH).
The Trigger: A 5-minute candle closes below the 08:35 AM "One Candle" Low.
Confirmation: This confirms a rejection of the opening range, signaling a move toward the Previous Day Low (PDL) or the current Low of Day.
## Visual Guide
Blue Box: The One Candle Zone (Tony Trades' "Line in the Sand").
Gray Stepline: The Master Candle Range (0500–0900 CT).
Yellow Background: The Purge Window (0900–1130 CT), where your logic dictates the highest probability of a successful trade.
Labels: Real-time Daily Bias updates in the top right corner.
Trendlines with Breaks EMA Confluence (20/50/200)Excellent use of the LUX ALGO Trendline break with EMA bounce as confluence for direction
USe on any Timeframe
Trading Sessions Highs & LowsFull Azia , London and New York Sessions Highs & Lows are shown until triggered.
@subitrades AIO IndicatorAll In One Indicator by @subitrades
-Initial Balance
-Trading Sessions
-Monday High
-Monday Low
-VAH
-VAL
-POC
-Fibonacci
-VWAP
Ultimate NY 9:30 Open MarkerYour ultimate New York Open Marker... So you can analyze your charts when everybody else sleeps or parties, you crazy chart people!
Works on every timeframe including custom ones.
Customizable in settings:
Marker Settings:
- Default: Sky blue flag with background highlight and time label for the NY open as default. You can change all that in the settings.
- Various marker shape options: Triangle, Diamond, Label Flag, Arrow Up/Down, Arrow this, Arrow that... So you can pick whatever annoys you the least lol
- Auto-positioning: above bear candles, below bull candles (default) - or always above/below
- 5 sizes from tiny to HUGE
- Vertical offset fine-tuning - you can move your marker closer to the bar if you like, or farther from it
Vertical Lines Options:
- Line ON the 9:30 bar
- Line BEFORE the 9:30 bar (so on 5min you'd see a line on 9:25, on 15min on 9:15, etc. - this way you can see the open candle well)
- Solid, dotted, dashed, pick your poison
Time Label Option: "9:30 EST" label (customizable text, color, size)
Date Label Option: Four format options:
- MM/DD/YY (American)
- DD/MM/YY (European)
- DD Mon. 'YY (Written, like "04 Feb. '26")
- Mon DD, YYYY (Full)
Plus optional day of week (short or full)
Bonus: Background highlight option for the open bar
The indicator handles DST automatically via the "America/New_York" timezone and works on any timeframe including custom ones.
This is a repost, apparently you can't use caps in the title. Sorry about that.
Let me know if you'd like any adjustments.
Thanks. : )
Simple Trend + Signal (No Bug)//@version=5
indicator("Simple Trend + Signal (No Bug)", overlay=true)
// === INPUTS ===
fastEMA = input.int(20, "Fast EMA")
slowEMA = input.int(50, "Slow EMA")
lookback = input.int(20, "Zone Lookback")
// === TREND ===
emaFast = ta.ema(close, fastEMA)
emaSlow = ta.ema(close, slowEMA)
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === ZONES ===
highestHigh = ta.highest(high, lookback)
lowestLow = ta.lowest(low, lookback)
// === SIGNALS ===
buySignal = trendUp and close <= emaFast
sellSignal = trendDown and close >= emaFast
// === PLOTS ===
plot(emaFast, color=color.green, linewidth=2)
plot(emaSlow, color=color.red, linewidth=2)
plot(highestHigh, color=color.new(color.blue, 70))
plot(lowestLow, color=color.new(color.orange, 70))
plotshape(buySignal, title="BUY", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="SELL", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
CRR Bill Williams Neo System (Alligator, Fractals, AO, AC, MFI)CRR Bill Williams Neo System is an educational chart overlay that combines classic Bill Williams concepts into a single visual framework.
The script integrates Alligator (SMMA-based trend structure), confirmed Fractals, Awesome Oscillator (AO), Accelerator Oscillator (AC), and the Bill Williams Market Facilitation Index (MFI).
Signals Logic
BUY signals appear when the Alligator trend is bullish (Lips > Teeth > Jaw), the Awesome Oscillator (AO) is above zero, the Accelerator Oscillator (AC) is above zero, the MFI state is GREEN or SQUAT, and price closes above the Lips line.
SELL signals appear when the Alligator trend is bearish (Lips < Teeth < Jaw), the Awesome Oscillator (AO) is below zero, the Accelerator Oscillator (AC) is below zero, the MFI state is GREEN or SQUAT, and price closes below the Lips line.
Signals can be configured to appear only after bar close for confirmation.
Fractals Behavior
Fractals are detected using pivot confirmation.
A fractal is confirmed only after the selected number of right bars have closed.
Because of this, fractal markers appear with a delay.
This behavior is expected and does not represent repainting.
How to Use
This indicator is designed to help visualize trend direction, momentum, and market activity.
It should be used as a confirmation tool together with price action and proper risk management.
Disclaimer
This script is for educational purposes only.
It does not constitute financial advice.
Always apply your own analysis and risk management.
Volatility & Probability by Hour/DayVolatility & Probability by Hour/Day
Analyzes historical candle data to find statistically significant time-based patterns. Tracks green candle probability, volatility, and average returns broken down by hour (UTC), day of week, and their combinations.
What It Shows:
Hourly Table: P(Green), edge, volatility, and average return for each hour (00:00-23:00 UTC)
Day of Week Table: Same metrics aggregated by day (Sun-Sat)
Top Combinations: The 5 best bullish and 5 best bearish day+hour slots ranked by edge
Key Metrics:
P(Grn): Historical probability the candle closes green
Edge: Deviation from 50% (how tradeable the bias is)
Vol%: Average candle range as percentage of price
N: Sample size
Use Cases:
Identify optimal entry windows with statistical edge
Avoid low-edge, high-volatility periods (noise)
Find specific day+hour combinations with compounding edges
Time trades around recurring market patterns
Notes:
All times in UTC
Current period highlighted with ►
Best results on liquid assets with sufficient history
Edges are historical and not guaranteed to persist
MA Stack Trend Strategy (No Lookahead) + Trailing StopFirst indicator I did. Inspired by brunoss his indicator: SMA future scalper.
Let me know ur thoughts.
INVESTIFY Free Intraday Indicator📌 INVESTIFY Free Intraday Indicator – Description
INVESTIFY Free Intraday Indicator is designed to help traders identify clear market direction and avoid overtrading.
This indicator focuses on trend-based confirmation, not random signals.
It provides limited and high-quality BUY / SELL signals — only when the market shows a clear directional move.
🔍 What this indicator does:
Identifies Bullish & Bearish market bias
Gives only one BUY or SELL per trend
Avoids signal spamming in sideways markets
Helps traders stay disciplined and patient
🎯 Best use case:
Intraday trading
Directional confirmation
Trend-following traders
Beginners who want clean structure
Works on all markets (Forex, Indices, Crypto, Commodities)
⚠️ Important Notes:
This is a FREE version for learning and confirmation
No targets or stop-loss are shown
Best used along with price action & discipline
Avoid overtrading — quality over quantity
Trade the direction, not the noise.
🔐 Want more precision?
The paid INVESTIFY Pro version includes:
Advanced entries
SL & risk structure
Session filtering
Re-entry logic
Smart money confirmations
📩 DM to get access
Master ORB (Custom TZ, TF 5m/15m/30m/60m)Master ORB (Custom TZ, TF 5m / 15m / 30m / 60m) is a precision Opening Range Breakout indicator built for traders who want clean, rule-based structure across global market sessions.
The indicator automatically defines the Opening Range based on your selected timeframe (5, 15, 30, or 60 minutes) and session, with full custom time zone support. Once the opening range is formed, the high and low are clearly plotted on the chart, creating objective breakout levels for the rest of the session.
Master ORB is designed to remove discretion and noise by:
Locking in the opening range once it completes
Maintaining fixed, non-repainting levels
Visually separating range formation from breakout phase
This allows traders to focus on execution, confirmation, and risk management, rather than constantly adjusting levels.
The indicator works across major sessions including London, New York, Frankfurt, and NY PM, making it suitable for index futures, forex, and liquid equities. It integrates seamlessly with momentum tools, trend filters, and higher-timeframe bias.
Best used for:
Opening range breakout and breakdown trades
Session-based trading plans
Bias confirmation and invalidation levels
Structured entries with defined risk
Key features:
Selectable ORB length: 5m, 15m, 30m, or 60m
Custom time zone alignment
Fixed, non-repainting range levels
Multi-session support
Clean visual structure with minimal chart clutter
Master ORB is a framework indicator, not a signal generator. It provides the structure needed to trade with discipline, consistency, and clarity across sessions and markets.
Wave 1-2-3 PRO (Typed NA + OTE + Confirm)//@version=5
indicator("Wave 1-2-3 PRO (Typed NA + OTE + Confirm)", overlay=true, max_lines_count=300, max_labels_count=300, max_boxes_count=100)
pivotLen = input.int(6, "Pivot Length", minval=2, maxval=30)
useOTE = input.bool(true, "Use OTE Zone (0.618-0.786)")
oteA = input.float(0.618, "OTE A", minval=0.1, maxval=0.95)
oteB = input.float(0.786, "OTE B", minval=0.1, maxval=0.95)
maxDeep = input.float(0.886, "Max Wave2 Depth", minval=0.5, maxval=0.99)
confirmByClose = input.bool(true, "Confirm Break By Close")
breakAtrMult = input.float(0.10, "Break Buffer ATR Mult", minval=0.0, maxval=2.0)
showEntryZone = input.bool(true, "Show Entry Zone")
entryAtrPad = input.float(0.10, "Entry Zone ATR Pad", minval=0.0, maxval=2.0)
showRetestZone = input.bool(true, "Show Retest Zone")
retestAtrMult = input.float(0.60, "Retest Zone ATR Mult", minval=0.1, maxval=5.0)
showTargets = input.bool(true, "Show Target (1.618)")
targetExt = input.float(1.618, "Target Extension", minval=0.5, maxval=3.0)
showLabels = input.bool(true, "Show Wave Labels")
showSignals = input.bool(true, "Show BUY/SELL Confirm Labels")
atr = ta.atr(14)
var float prices = array.new_float()
var int indexs = array.new_int()
var int types = array.new_int()
var box entryBox = na
var box retestBox = na
var line slLine = na
var line tpLine = na
var line breakLine = na
var label lb0 = na
var label lb1 = na
var label lb2 = na
var label sigLb = na
var int lastPivotBar = na
var bool setupBull = false
var bool setupBear = false
var float s_p0 = na
var float s_p1 = na
var float s_p2 = na
var int s_i0 = na
var int s_i1 = na
var int s_i2 = na
var float s_len = na
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
int pivotBar = na
float pivotPrice = na
int pivotType = 0
if not na(ph)
pivotBar := bar_index - pivotLen
pivotPrice := ph
pivotType := 1
if not na(pl)
pivotBar := bar_index - pivotLen
pivotPrice := pl
pivotType := -1
bool newPivot = not na(pivotBar) and (na(lastPivotBar) or pivotBar != lastPivotBar)
if newPivot
lastPivotBar := pivotBar
int sz = array.size(prices)
if sz == 0
array.push(types, pivotType)
array.push(prices, pivotPrice)
array.push(indexs, pivotBar)
else
int lastType = array.get(types, sz - 1)
float lastPrice = array.get(prices, sz - 1)
if pivotType == lastType
bool better = (pivotType == 1 and pivotPrice > lastPrice) or (pivotType == -1 and pivotPrice < lastPrice)
if better
array.set(prices, sz - 1, pivotPrice)
array.set(indexs, sz - 1, pivotBar)
else
array.push(types, pivotType)
array.push(prices, pivotPrice)
array.push(indexs, pivotBar)
if array.size(prices) > 12
array.shift(types), array.shift(prices), array.shift(indexs)
if not na(entryBox)
box.delete(entryBox)
entryBox := na
if not na(retestBox)
box.delete(retestBox)
retestBox := na
if not na(slLine)
line.delete(slLine)
slLine := na
if not na(tpLine)
line.delete(tpLine)
tpLine := na
if not na(breakLine)
line.delete(breakLine)
breakLine := na
if not na(lb0)
label.delete(lb0)
lb0 := na
if not na(lb1)
label.delete(lb1)
lb1 := na
if not na(lb2)
label.delete(lb2)
lb2 := na
if not na(sigLb)
label.delete(sigLb)
sigLb := na
setupBull := false
setupBear := false
s_p0 := na
s_p1 := na
s_p2 := na
s_i0 := na
s_i1 := na
s_i2 := na
s_len := na
int sz2 = array.size(prices)
if sz2 >= 3
int t0 = array.get(types, sz2 - 3)
int t1 = array.get(types, sz2 - 2)
int t2 = array.get(types, sz2 - 1)
float p0 = array.get(prices, sz2 - 3)
float p1 = array.get(prices, sz2 - 2)
float p2 = array.get(prices, sz2 - 1)
int i0 = array.get(indexs, sz2 - 3)
int i1 = array.get(indexs, sz2 - 2)
int i2 = array.get(indexs, sz2 - 1)
bool bullCandidate = (t0 == -1 and t1 == 1 and t2 == -1 and p2 > p0)
bool bearCandidate = (t0 == 1 and t1 == -1 and t2 == 1 and p2 < p0)
if bullCandidate
float len = p1 - p0
float depth = (p1 - p2) / len
bool okDepth = len > 0 and depth > 0 and depth <= maxDeep
float hiOTE = math.max(oteA, oteB)
float loOTE = math.min(oteA, oteB)
float zTop = p1 - len * loOTE
float zBot = p1 - len * hiOTE
bool okOTE = not useOTE or (p2 <= zTop and p2 >= zBot)
if okDepth and okOTE
setupBull := true
s_p0 := p0
s_p1 := p1
s_p2 := p2
s_i0 := i0
s_i1 := i1
s_i2 := i2
s_len := len
float pad = atr * entryAtrPad
if showEntryZone
entryBox := box.new(i1, zTop + pad, bar_index, zBot - pad)
slLine := line.new(i0, p0, bar_index + 200, p0)
breakLine := line.new(i1, p1, bar_index + 200, p1)
if showLabels
lb0 := label.new(i0, p0, "0")
lb1 := label.new(i1, p1, "1")
lb2 := label.new(i2, p2, "2")
if bearCandidate
float len = p0 - p1
float depth = (p2 - p1) / len
bool okDepth = len > 0 and depth > 0 and depth <= maxDeep
float hiOTE = math.max(oteA, oteB)
float loOTE = math.min(oteA, oteB)
float zBot = p1 + len * loOTE
float zTop = p1 + len * hiOTE
bool okOTE = not useOTE or (p2 >= zBot and p2 <= zTop)
if okDepth and okOTE
setupBear := true
s_p0 := p0
s_p1 := p1
s_p2 := p2
s_i0 := i0
s_i1 := i1
s_i2 := i2
s_len := len
float pad = atr * entryAtrPad
if showEntryZone
entryBox := box.new(i1, zTop + pad, bar_index, zBot - pad)
slLine := line.new(i0, p0, bar_index + 200, p0)
breakLine := line.new(i1, p1, bar_index + 200, p1)
if showLabels
lb0 := label.new(i0, p0, "0")
lb1 := label.new(i1, p1, "1")
lb2 := label.new(i2, p2, "2")
float buf = atr * breakAtrMult
bool bullBreak = false
bool bearBreak = false
if setupBull and not na(s_p1)
bullBreak := confirmByClose ? (close > s_p1 + buf) : (high > s_p1 + buf)
if setupBear and not na(s_p1)
bearBreak := confirmByClose ? (close < s_p1 - buf) : (low < s_p1 - buf)
if bullBreak
setupBull := false
if showTargets and not na(s_len)
float tp = s_p2 + s_len * targetExt
tpLine := line.new(s_i2, tp, bar_index + 200, tp)
if showRetestZone
float z = atr * retestAtrMult
retestBox := box.new(bar_index, s_p1 + z, bar_index + 120, s_p1 - z)
if showSignals
sigLb := label.new(bar_index, high, "BUY (W3 Confirm)", style=label.style_label_down)
if bearBreak
setupBear := false
if showTargets and not na(s_len)
float tp = s_p2 - s_len * targetExt
tpLine := line.new(s_i2, tp, bar_index + 200, tp)
if showRetestZone
float z = atr * retestAtrMult
retestBox := box.new(bar_index, s_p1 + z, bar_index + 120, s_p1 - z)
if showSignals
sigLb := label.new(bar_index, low, "SELL (W3 Confirm)", style=label.style_label_up)
Intrabar Delta Volume Bubbles [Absorption & Exhaustion]Visualizes aggressive buying/selling pressure using intrabar data to spot Absorption (Red Bubble on Green Candle) and Exhaustion (Green Bubble on Red Candle) on standard feeds.
SPX SPY 5Min Lock🔹 DESCRIPTION (Public Library)
This indicator overlays SPX price levels directly onto the SPY chart by converting SPX levels into SPY prices using a session-locked SPY/SPX ratio.
Instead of mentally translating SPX levels, you see them mapped precisely on SPY, where you actually trade.
How it works
• Calculates the SPY-to-SPX price ratio
• Locks the ratio at the first 5-minute RTH candle close (9:35am ET)
• Uses that fixed ratio for the entire session
• Converts SPX levels into accurate SPY-equivalent prices
• Draws clean labels (and optional short stubs) directly on SPY
Why the 5-minute lock
SPY and SPX can drift slightly during the day. Locking the ratio at 9:35am creates stable, non-moving levels that stay consistent throughout RTH, making them far more usable for intraday trading.
Best use cases
• SPY / SPX options traders
• Index-based level traders
• GEX, gamma, and macro level mapping
• Traders who think in SPX but execute in SPY
Customization
• Adjustable SPX level spacing (5 / 10 / 25)
• Number of levels above and below price
• Label size and offset
• Live or Locked ratio mode
• Optional short line stubs
• Info table with ratio and lock status
Volatility Expansion Indicator - D_QuantVolatility Expansion Indicator - D_Quant |V|C|E|
1. Concept & Overview
The Volatility Expansion Indicator (VCE) is a composite quantitative tool designed to identify robust trend states by aggregating signals from three distinct market dimensions: Relative Position (Volatility), Cyclical Momentum, and Price Velocity.
Unlike single-source indicators which often generate false positives during choppy markets, the VCE utilizes a "Consensus Engine." It normalizes signals from Bollinger %B, CCI, and ROC into a unified trend score (-1 to +1). This score drives the visual coloring of the price action and background, allowing traders to instantly gauge whether the market is in a state of volatility expansion (trending) or contraction (ranging).
2. Methodology & Calculation
The core logic relies on a weighted aggregation of three technical components. Users can toggle these components on or off in the settings to isolate specific market mechanics.
A. Component 1: Bollinger %B (Relative Positioning)
Logic: Measures where the price is located relative to the Bollinger Bands.
Bullish Condition: If %B > 0.5 (Price is operating in the upper hemisphere of the bands).
Bearish Condition: If %B < 0.0 (Price has broken below the lower band).
Purpose: Filters out weak trends by ensuring price is statistically significant relative to its recent volatility.
B. Component 2: CCI (Commodity Channel Index)
Logic: Measures current price levels relative to an average price level over a specific period.
Thresholds: A standard +100 / -100 threshold is used. Values above 100 add to the bullish score; values below -100 add to the bearish score.
Purpose: Identifies cyclical momentum extremes.
f_cci(_len) =>
cci_val = ta.cci(close, _len)
val = 0
if cci_val > 100
val := 1
if cci_val < -100
val := -1
val
C. Component 3: ROC (Rate of Change)
Logic: Calculates the percentage change between the current price and the price n periods ago.
Thresholds: Simple zero-line crossover. Positive ROC implies bullish velocity; negative implies bearish.
Purpose: Provides a raw directional bias based on pure price speed.
D. The Aggregation Engine: The script sums the active signals and divides by the number of active components.
Bullish Trend: Composite Score > 0 (Visualized as Deep Navy).
Bearish/Neutral: Composite Score ≤ 0 (Visualized as White).
E. Multi-Timeframe (MTF) Capability: The indicator includes a request.security module. This allows you to calculate the consensus trend on a higher timeframe (e.g., Daily) while viewing price action on a lower timeframe (e.g., 15-minute), ensuring you are trading in alignment with the macro trend.
// NEW: Timeframe Selection
tf_input = input.timeframe("", "VCE Timeframe", group=grp_sets, tooltip="Empty = Current Chart. Set to 'D' for fixed Daily trend.")
= request.security(syminfo.tickerid, tf_input, , lookahead=barmerge.lookahead_on)
3. Visualizations
The indicator overlays the following elements on the chart:
Trend SMMA: A central Smoothed Moving Average (SMMA 20) representing the mean.
Volatility Bands: Upper and Lower bands calculated at 2 Standard Deviations from the SMMA.
Bar Coloring:
Navy Blue: Indicates a confirmed Volatility Expansion (Bullish Confluence).
White: Indicates Neutrality, Retracement, or Bearish conditions.
Dynamic Fills: The space between the bands fills with color to highlight the strength of the current regime.
4. How to Use
Trend Following: Look for the bar color to switch to Navy. This indicates that momentum, volatility, and velocity have aligned bullishly. This is often an entry trigger for long positions.
Exits: When the bars switch from Navy back to White/Gray, the volatility expansion has ceased or momentum is diverging. This serves as a warning to tighten stops or take profits.
MTF Filter: Set the "VCE Timeframe" input to "D" (Daily). Trade on the H1 chart. Only take long positions when the Daily VCE paints the background/bands in the Bullish color.
5. Settings
Bollinger %B: Adjust Length and Multiplier (Default: 20, 2.0).
CCI: Adjust Length (Default: 23).
ROC: Adjust Length (Default: 50).
Signal Components: Toggle specific logic blocks on/off to customize the sensitivity of the composite score.
VCE Timeframe: Select the resolution for the calculation (Leave empty for current chart).
Disclaimer: This tool is for informational purposes only. Past performance of volatility expansion does not guarantee future results. Always manage risk appropriately.
Andra Algo//@version=5
indicator(title="Andra Algo V 1.2", shorttitle="Andra Algo V1.2", overlay=true)
// =====================
// INPUT
// =====================
src = input(defval=close, title="Source")
per = input.int(defval=100, minval=1, title="Sampling Period")
mult = input.float(defval=3.0, minval=0.1, title="Range Multiplier")
// =====================
// COLOR SET
// =====================
buyLineColor = color.white
sellLineColor = color.blue
midColor = #90bff9
buyBgColor = color.new(color.gray, 20)
sellBgColor = color.new(color.blue, 20)
// =====================
// SMOOTH RANGE
// =====================
smoothrng(x, t, m) =>
wper = t * 2 - 1
avrng = ta.ema(math.abs(x - x ), t)
ta.ema(avrng, wper) * m
smrng = smoothrng(src, per, mult)
// =====================
// RANGE FILTER
// =====================
rngfilt(x, r) =>
rf = x
rf := x > nz(rf ) ?
(x - r < nz(rf ) ? nz(rf ) : x - r) :
(x + r > nz(rf ) ? nz(rf ) : x + r)
rf
filt = rngfilt(src, smrng)
// =====================
// TREND DIRECTION
// =====================
upward = 0.0
upward := filt > filt ? nz(upward ) + 1 : filt < filt ? 0 : nz(upward )
downward = 0.0
downward := filt < filt ? nz(downward ) + 1 : filt > filt ? 0 : nz(downward )
// =====================
// MID LINE COLOR
// =====================
filtColor = upward > 0 ? buyLineColor : downward > 0 ? sellLineColor : midColor
plot(filt, title="Mid Line", color=filtColor, linewidth=2)
// =====================
// BUY & SELL CONDITIONS
// =====================
longCond = src > filt and upward > 0
shortCond = src < filt and downward > 0
CondIni = 0
CondIni := longCond ? 1 : shortCond ? -1 : CondIni
longCondition = longCond and CondIni == -1
shortCondition = shortCond and CondIni == 1
// =====================
// SIGNALS (FIXED BG COLOR)
// =====================
plotshape(longCondition, title="Buy Signal", text="BUY", style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, color=buyBgColor)
plotshape(shortCondition, title="Sell Signal", text="SELL", style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, color=sellBgColor)
// =====================
// ALERTS
// =====================
alertcondition(longCondition, title="Buy Alert", message="Andra Algo V1.2 BUY")
alertcondition(shortCondition, title="Sell Alert", message="Andra Algo V1.2 SELL")
XAMD - cycles shows a table of active amd phases saves the trouble of having to look through htfs and you just see a table of them all
ORION: Linear Regression Consolidation SystemDescription:
This script is a custom-built technical analysis tool designed to identify high-probability consolidation zones (market equilibrium) and trade their subsequent breakouts in the direction of the established trend.
originality & Concept: While many indicators use simple Bollinger Band squeezes, this system employs a multi-factor algorithm to define "Consolidation" mathematically. It synthesizes three core concepts:
Volatility Compression (ATR): It compares the current range against the Average True Range (ATR) to ensure price action is compressed.
Structural Stationarity (Linear Regression): It calculates the slope of the Linear Regression line over a lookback period. A zone is valid ONLY if the slope is near-zero (< 0.25), ensuring the market is truly flat and not just choppy.
Trend Alignment (EMA): To filter out low-probability counter-trend signals, the system utilizes a 150-period Exponential Moving Average (EMA) as a baseline. Breakouts are only valid if they align with the macro trend (Above EMA = Long, Below EMA = Short).
How It Works:
Zone Detection: The script draws a visual box when the price range is within the ATR multiplier limit AND the Linear Regression slope is flat.
Signal Validation: A signal is triggered only on a confirmed candle close outside the box.
False Breakout Protection: A volume/body size filter checks if the breakout candle has significant momentum compared to the average of the last 20 bars.
Risk Management : The script projects a fixed Risk:Reward setup (default 1:1.8) and includes a "Breakeven" logic that visualizes when a trade has reached 50% of its target, securing the position.
Settings:
This system is highly customizable to fit different market conditions. Below are the specific parameters used in this setup:
1. Strategy Core (Logic)
Lookback Period (15): The algorithm analyzes the most recent 15 candles to detect market equilibrium. On the M5 timeframe, this represents a 75-minute window of stability, which is optimal for scalping setups.
Box Width (ATR Multiplier) (3) : Defines the maximum vertical range of the consolidation box. A value of 3 means the box height cannot exceed 3x the Average True Range (ATR). This ensures we are trading tight, compressed zones rather than volatile, expansive ranges.
Slope Tolerance (0.4): Controls the strictness of the Linear Regression slope. A value of 0.4 allows for a slight tilt in the consolidation structure, capturing more valid opportunities than a strictly horizontal (0.0) setting without compromising the "flatness" requirement.
2. Risk Management
Risk : Reward Ratio (1.8): Sets the profit target relative to the stop loss. For every $1 risked, the system targets $1.8 in profit. This provides a positive mathematical expectancy even with a moderate win rate.
Breakeven Trigger (%) (0.5): A capital preservation feature. When the price covers 50% (0.5) of the distance to the Take Profit target, the trade is visually marked as "Breakeven" (Risk-Free). If the price reverses after this point, it is not counted as a loss.
3. Protection & Filters (Insurance)
Enable 'Strong Candle' Filter (ON): Filters out weak "creeping" breakouts. The system will only trigger a signal if the breakout candle demonstrates significant momentum.
Average Size Period (20): The baseline for momentum is calculated using the average body size of the last 20 candles.
Candle Strength Factor (1): The breakout candle must be at least 1x (100%) the size of the average candle. This ensures that real volume and momentum are backing the move, reducing the chance of fakeouts.
Disclaimer: This script is intended for educational and analytical purposes to assist traders in identifying market structure.






















