SM OTC style Supply/Demand Zones Lite+//@version=6
indicator("OTC SD MTF Lite+", "OTCSDmtf+", overlay=true, max_boxes_count=200, max_labels_count=200)
// ================= Inputs =================
useH4 = input.bool(true, "Show 4H zones")
useD1 = input.bool(true, "Show 1D zones")
useW1 = input.bool(true, "Show 1W zones")
useM1 = input.bool(false, "Show 1M zones")
baseLen = input.int(2, "Base length (HTF bars)", 1, 5)
wickPctMax = input.float(35.0, "Max wick % in base", 0, 100)
impulseX = input.float(1.5, "Departure body vs ATR (x)", 0.5, 5.0)
atrLen = input.int(14, "ATR length (HTF)")
extendBars = input.int(2000, "Extend bars on chart", 200, 10000)
maxPerTF = input.int(12, "Max zones per TF", 3, 30)
showLegend = input.bool(true, "Show tiny legend (4H/1D/1W/1M)")
onlyNearest = input.bool(false, "Show ONLY nearest zone above/below")
hideOverlapTF = input.bool(true, "Hide overlapping zones within each TF (keep newest)")
showNearestLabels = input.bool(false, "Show distance labels to nearest above/below")
// --- Hard cap for future drawing with xloc.bar_index ---
FUTURE_CAP = 500
// Colors (Demand hues per TF). Supply uses red for contrast.
colH4 = color.new(color.teal, 78)
colD1 = color.new(color.blue, 78)
colW1 = color.new(color.orange, 78)
colM1 = color.new(color.purple, 78)
colSup= color.new(color.red, 78)
// ================= Helpers =================
wickiness(h, l, o, c) =>
rng = math.max(h - l, syminfo.mintick)
topW = h - math.max(o, c)
botW = math.min(o, c) - l
100.0 * (topW + botW) / rng
// Returns: (dTrig, dProx, dDist, sTrig, sProx, sDist)
f_htfSignals(baseBars, wickMax, xImpulse, aLen) =>
float _o = open
float _h = high
float _l = low
float _c = close
float _atr = ta.atr(aLen)
bool ok = true
for i = 1 to baseBars
ok := ok and (wickiness(_h , _l , _o , _c ) <= wickMax)
bool bullDepart = _c > _o and (_c - _o) > xImpulse * _atr
bool bearDepart = _c < _o and (_o - _c) > xImpulse * _atr
float dTrig = 0.0
float dProx = na
float dDist = na
float sTrig = 0.0
float sProx = na
float sDist = na
if ok and bullDepart
float hi = ta.highest(_h, baseBars)
float lo = ta.lowest(_l, baseBars)
dTrig := 1.0
dProx := lo
dDist := hi
if ok and bearDepart
float hi2 = ta.highest(_h, baseBars)
float lo2 = ta.lowest(_l, baseBars)
sTrig := 1.0
sProx := hi2
sDist := lo2
// ================= Pull HTF signals =================
= request.security(syminfo.tickerid, "240", f_htfSignals(baseLen, wickPctMax, impulseX, atrLen))
= request.security(syminfo.tickerid, "D", f_htfSignals(baseLen, wickPctMax, impulseX, atrLen))
= request.security(syminfo.tickerid, "W", f_htfSignals(baseLen, wickPctMax, impulseX, atrLen))
= request.security(syminfo.tickerid, "M", f_htfSignals(baseLen, wickPctMax, impulseX, atrLen))
// ================= Storage per TF =================
var zH4 = array.new_box()
var aH4 = array.new_bool()
var lH4 = array.new_label()
var sH4 = array.new_int() // 1 = Demand, -1 = Supply
var zD1 = array.new_box()
var aD1 = array.new_bool()
var lD1 = array.new_label()
var sD1 = array.new_int()
var zW1 = array.new_box()
var aW1 = array.new_bool()
var lW1 = array.new_label()
var sW1 = array.new_int()
var zM1 = array.new_box()
var aM1 = array.new_bool()
var lM1 = array.new_label()
var sM1 = array.new_int()
// ================= Overlap utils =================
overlap(topA, botA, topB, botB) =>
not (topA < botB or botA > topB)
purgeOverlaps(arrB, arrA, arrL, newTop, newBot) =>
if hideOverlapTF and array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box bOld = array.get(arrB, i)
float t = box.get_top(bOld)
float btm = box.get_bottom(bOld)
if overlap(newTop, newBot, t, btm)
box.delete(bOld)
label.delete(array.get(arrL, i))
array.set(arrA, i, false)
// ================= Add zone =================
addZone(arrB, arrA, arrL, arrS, topV, botV, baseColor, isDemand) =>
purgeOverlaps(arrB, arrA, arrL, topV, botV)
int leftX = bar_index - 1
int rightX = bar_index + math.min(extendBars, FUTURE_CAP) // respect +500 cap
box b = box.new(leftX, topV, rightX, botV, xloc=xloc.bar_index, bgcolor=baseColor, border_color=color.new(color.black, 0))
float ly = isDemand == 1 ? topV : botV
st = isDemand == 1 ? label.style_label_down : label.style_label_up
string tagTxt = isDemand == 1 ? "Demand" : "Supply"
label l = label.new(leftX, ly, tagTxt, xloc=xloc.bar_index, style=st, textcolor=color.white, color=color.new(color.black, 0), size=size.tiny)
array.push(arrB, b)
array.push(arrA, true)
array.push(arrL, l)
array.push(arrS, isDemand)
if array.size(arrB) > maxPerTF
box.delete(array.shift(arrB))
array.shift(arrA)
label.delete(array.shift(arrL))
array.shift(arrS)
// ================= Maintain / Invalidate =================
extendAll(arrB, arrA) =>
if array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box.set_right(array.get(arrB, i), bar_index + math.min(extendBars, FUTURE_CAP)) // respect +500 cap
invalidate(arrB, arrA, arrL) =>
if array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box b = array.get(arrB, i)
float t = box.get_top(b)
float btm = box.get_bottom(b)
// Close outside band → remove
if close > t or close < btm
box.delete(b)
label.delete(array.get(arrL, i))
array.set(arrA, i, false)
// ================= New HTF bar flags (strict booleans) =================
int chH4 = ta.change(time("240"))
int chD1 = ta.change(time("D"))
int chW1 = ta.change(time("W"))
int chM1 = ta.change(time("M"))
bool newBarH4 = useH4 and (not na(chH4)) and (chH4 != 0)
bool newBarD1 = useD1 and (not na(chD1)) and (chD1 != 0)
bool newBarW1 = useW1 and (not na(chW1)) and (chW1 != 0)
bool newBarM1 = useM1 and (not na(chM1)) and (chM1 != 0)
// ================= Create zones on new HTF bar =================
if newBarH4
if d4t > 0 and not na(d4p) and not na(d4d)
addZone(zH4, aH4, lH4, sH4, d4d, d4p, colH4, 1)
if s4t > 0 and not na(s4p) and not na(s4d)
addZone(zH4, aH4, lH4, sH4, s4p, s4d, colSup, -1)
if newBarD1
if d1t > 0 and not na(d1p) and not na(d1d)
addZone(zD1, aD1, lD1, sD1, d1d, d1p, colD1, 1)
if s1t > 0 and not na(s1p) and not na(s1d)
addZone(zD1, aD1, lD1, sD1, s1p, s1d, colSup, -1)
if newBarW1
if w1t > 0 and not na(w1p) and not na(w1d)
addZone(zW1, aW1, lW1, sW1, w1d, w1p, colW1, 1)
if swt > 0 and not na(swp) and not na(swd)
addZone(zW1, aW1, lW1, sW1, swp, swd, colSup, -1)
if newBarM1
if m1t > 0 and not na(m1p) and not na(m1d)
addZone(zM1, aM1, lM1, sM1, m1d, m1p, colM1, 1)
if smt > 0 and not na(smp) and not na(smd)
addZone(zM1, aM1, lM1, sM1, smp, smd, colSup, -1)
// ================= Maintain & Invalidate (every bar) =================
extendAll(zH4, aH4)
extendAll(zD1, aD1)
extendAll(zW1, aW1)
extendAll(zM1, aM1)
invalidate(zH4, aH4, lH4)
invalidate(zD1, aD1, lD1)
invalidate(zW1, aW1, lW1)
invalidate(zM1, aM1, lM1)
// ================= Nearest across all TFs =================
tfNearest(arrB, arrA) =>
int upIdx = -1
int dnIdx = -1
float upDist = 1e10
float dnDist = 1e10
float upBtm = na
float dnTop = na
if array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box b = array.get(arrB, i)
float t = box.get_top(b)
float btm = box.get_bottom(b)
if btm >= close
float d = btm - close
if d < upDist
upDist := d
upIdx := i
upBtm := btm
if t <= close
float d2 = close - t
if d2 < dnDist
dnDist := d2
dnIdx := i
dnTop := t
= tfNearest(zH4, aH4)
= tfNearest(zD1, aD1)
= tfNearest(zW1, aW1)
= tfNearest(zM1, aM1)
float upBest = 1e10, dnBest = 1e10
int upArr = -1, upIdxSel = -1, dnArr = -1, dnIdxSel = -1
color upColor = color.new(color.white, 100), dnColor = color.new(color.white, 100)
if (not na(uh4y)) and uh4d < upBest
upBest := uh4d, upArr := 0, upIdxSel := uh4i, upColor := colH4
if (not na(ud1y)) and ud1d < upBest
upBest := ud1d, upArr := 1, upIdxSel := ud1i, upColor := colD1
if (not na(uw1y)) and uw1d < upBest
upBest := uw1d, upArr := 2, upIdxSel := uw1i, upColor := colW1
if (not na(um1y)) and um1d < upBest
upBest := um1d, upArr := 3, upIdxSel := um1i, upColor := colM1
if (not na(dh4y)) and dh4d < dnBest
dnBest := dh4d, dnArr := 0, dnIdxSel := dh4i, dnColor := colH4
if (not na(dd1y)) and dd1d < dnBest
dnBest := dd1d, dnArr := 1, dnIdxSel := dd1i, dnColor := colD1
if (not na(dw1y)) and dw1d < dnBest
dnBest := dw1d, dnArr := 2, dnIdxSel := dw1i, dnColor := colW1
if (not na(dm1y)) and dm1d < dnBest
dnBest := dm1d, dnArr := 3, dnIdxSel := dm1i, dnColor := colM1
// ================= Nearest-only visibility (optional) =================
hideAll(arrB, arrA) =>
if array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box.set_bgcolor(array.get(arrB, i), color.new(color.white, 100))
box.set_border_color(array.get(arrB, i), color.new(color.white, 100))
showOne(arrB, arrA, arrS, idx, demColor) =>
if idx >= 0 and idx < array.size(arrB)
if array.get(arrA, idx)
bool isDemand = array.get(arrS, idx) == 1
color c = isDemand ? demColor : colSup
box.set_bgcolor(array.get(arrB, idx), c)
box.set_border_color(array.get(arrB, idx), color.new(color.black, 0))
if onlyNearest
hideAll(zH4, aH4), hideAll(zD1, aD1), hideAll(zW1, aW1), hideAll(zM1, aM1)
if upArr == 0
showOne(zH4, aH4, sH4, upIdxSel, upColor)
if upArr == 1
showOne(zD1, aD1, sD1, upIdxSel, upColor)
if upArr == 2
showOne(zW1, aW1, sW1, upIdxSel, upColor)
if upArr == 3
showOne(zM1, aM1, sM1, upIdxSel, upColor)
if dnArr == 0
showOne(zH4, aH4, sH4, dnIdxSel, dnColor)
if dnArr == 1
showOne(zD1, aD1, sD1, dnIdxSel, dnColor)
if dnArr == 2
showOne(zW1, aW1, sW1, dnIdxSel, dnColor)
if dnArr == 3
showOne(zM1, aM1, sM1, dnIdxSel, dnColor)
// ================= Nearest distance labels (optional) =================
var label nearUp = na
var label nearDn = na
makeNearLabel(y, txt) =>
label.new(bar_index, y, txt, xloc=xloc.bar_index, style=label.style_label_left, color=color.new(color.black, 0), textcolor=color.white, size=size.tiny)
if showNearestLabels
if not na(nearUp)
label.delete(nearUp)
if not na(nearDn)
label.delete(nearDn)
if upArr != -1
box bUp = upArr == 0 ? array.get(zH4, upIdxSel) : upArr == 1 ? array.get(zD1, upIdxSel) : upArr == 2 ? array.get(zW1, upIdxSel) : array.get(zM1, upIdxSel)
float upBtm = box.get_bottom(bUp)
float pctUp = math.round(10000.0 * (upBtm - close) / close) / 100.0
nearUp := makeNearLabel(upBtm, "Nearest Above ~ " + str.tostring(pctUp) + "%")
if dnArr != -1
box bDn = dnArr == 0 ? array.get(zH4, dnIdxSel) : dnArr == 1 ? array.get(zD1, dnIdxSel) : dnArr == 2 ? array.get(zW1, dnIdxSel) : array.get(zM1, dnIdxSel)
float dnTop = box.get_top(bDn)
float pctDn = math.round(10000.0 * (close - dnTop) / close) / 100.0
nearDn := makeNearLabel(dnTop, "Nearest Below ~ " + str.tostring(pctDn) + "%")
// ================= Tiny legend (dots) =================
var table legend = na
if showLegend and na(legend)
legend := table.new(position.top_left, 4, 1)
if showLegend and not na(legend)
table.cell(legend, 0, 0, "● 4H", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(legend, 1, 0, "● 1D", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(legend, 2, 0, "● 1W", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(legend, 3, 0, "● 1M", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell_set_bgcolor(legend, 0, 0, color.new(color.teal, 70))
table.cell_set_bgcolor(legend, 1, 0, color.new(color.blue, 70))
table.cell_set_bgcolor(legend, 2, 0, color.new(color.orange, 70))
table.cell_set_bgcolor(legend, 3, 0, color.new(color.purple, 70))
Search in scripts for "蔚山现代vs川崎前锋"
DTM 444 BANDS 🚀DTM 444 BANDS 🚀:
The DTM 444 BANDS 🚀 is a powerful, multi-purpose trading indicator combining Supertrend, Dynamic Band Levels, Breakout Signals, and Volume Confirmation to help traders identify high-probability trade setups across different timeframes.
🔧 Key Features
✅ Multi-Timeframe Support
Analyze price action across any timeframe using the Timeframe input.
All band calculations (High, Low, Midline, and Supertrend) are pulled from a higher timeframe for clearer context.
✅ Dynamic Bands Based on Supertrend
High Band: Rolling highest of Supertrend over hiLen period.
Low Band: Rolling lowest of Supertrend over loLen period.
Midline: Midpoint of the above.
Acts like dynamic support/resistance, ideal for trend-following and breakout strategies.
✅ Dual Signal System
Breakout Signals (Buy and Sell): Triggered when price breaks the bands with volume confirmation.
Supertrend Crossover Signals (Buy1 and Sell1): Classic momentum entries with a confirmation twist.
Exit Signals: Optional take-profit/neutral indicators when price reverses.
✅ Volume Confirmation Filter (Optional)
Only triggers signals if the volume exceeds its 20-period SMA.
Helps filter out false breakouts and weak trends in low-liquidity periods.
✅ Visual Enhancements
Color-coded candles based on band positioning (e.g., red = weak, green = strong, etc.)
On-chart labels for each signal for quick reference.
Real-time Signal Dashboard using Pine Script tables showing:
Current signal
Volume filter status
Live volume vs volume SMA
🧪 Practical Use Cases
Trend Traders: Use the Supertrend cross and band breakouts to ride trends early.
Breakout Traders: Catch high-probability moves outside established ranges.
Swing Traders: Time entries and exits using color-coded bars and exit labels.
Volume-Sensitive Traders: Focus on trades with strong volume backing.
📊 Backtest Snapshot
Based on the example chart for Reliance Industries (RELIANCE.NS) on the weekly timeframe:
Several profitable buy and breakout signals during uptrends.
Timely exits and breakdown alerts before reversals.
Volume filter keeps trades clean and avoids noise.
⚙️ Customizable Parameters
High Length and Low Length (default: 19)
Supertrend Multiplier and ATR Length
Volume Filter: Toggle ON/OFF
Volume SMA Length: Default 20
Custom Timeframe: Choose any higher timeframe for multi-timeframe analysis
📢 Alerts Ready
Fully integrated with TradingView alerts:
Breakout & Breakdown
Supertrend crossovers
All alerts respect the volume filter setting
🏁 Final Thoughts
DTM 444 BANDS 🚀 is a versatile and adaptive trading system that blends trend analysis, volatility bands, and volume validation. Whether you're a trend trader, breakout hunter, or swing trader — this tool gives you a structured edge with clear visual cues and real-time alerts.
FEI: Futures Entry Identifier📘 FEI: Futures Entry Identifier
FEI is a modular, futures-grade entry engine designed for precision trading across GC1!, MNQ1!, ES1!, and related contracts. It combines manual SVP structure, CHoCH detection, and Colby-style candle strength filters to identify high-probability long and short entries.
🔧 Features
• Manual SVP inputs (VAH, VAL, POC)
• Symbol-aware filters for micro vs standard contracts
• Multi-timeframe signal logic (3m, 5m, 10m, 15m, 30m)
• CHoCH detection with optional engulfing filter (default off)
• FRVP entry zone plotting after CHoCH confirmation
• Candle coloring on CHoCH trigger
• Session-aware logic (ETH default, optional RTH-only)
• Narratable visuals and audit-safe alerts
🧭 How to Use
1. Input VAH, VAL, and POC manually
2. Select signal timeframe (e.g. 3m or 5m)
3. Watch for CHoCH (white candle = structural shift)
4. Entry line plots at top/bottom of recent range
5. Long/short markers appear when SVP + candle strength align
6. Toggle RTH-only mode if needed
🌟 Why It’s Unique
FEI is built for traders who demand clarity, structure, and precision. Every signal is narratable, audit-safe, and resolution-aware—ideal for futures overlays and sniper-grade entries.
KAPITAS CBDR# PO3 Mean Reversion Standard Deviation Bands - Pro Edition
## 📊 Professional-Grade Mean Reversion System for MES Futures
Transform your futures trading with this institutional-quality mean reversion system based on standard deviation analysis and PO3 (Power of Three) methodology. Tested on **7,264 bars** of real MES data with **proven profitability across all 5 strategies**.
---
## 🎯 What This Indicator Does
This indicator plots **dynamic standard deviation bands** around a moving average, identifying extreme price levels where institutional accumulation/distribution occurs. Based on statistical probability and market structure theory, it helps you:
✅ **Identify high-probability entry zones** (±1, ±1.5, ±2, ±2.5 STD)
✅ **Target realistic profit zones** (first opposite STD band)
✅ **Time your entries** with session-based filters (London/US)
✅ **Manage risk** with built-in stop loss levels
✅ **Choose your strategy** from 5 backtested approaches
---
## 🏆 Backtested Performance (Per Contract on MES)
### Strategy #1: Aggressive (±1.5 → ∓0.5) 🥇
- **Total Profit:** $95,287 over 1,452 trades
- **Win Rate:** 75%
- **Profit Factor:** 8.00
- **Target:** 80 ticks ($100) | **Stop:** 30 ticks ($37.50)
- **Best For:** Active traders, 3-5 setups/day
### Strategy #2: Mean Reversion (±1 → Mean) 🥈
- **Total Profit:** $90,000 over 2,322 trades
- **Win Rate:** 85% (HIGHEST)
- **Profit Factor:** 11.34 (BEST)
- **Target:** 40 ticks ($50) | **Stop:** 20 ticks ($25)
- **Best For:** Scalpers, 6-8 setups/day
### Strategy #3: Conservative (±2 → ∓1) 🥉
- **Total Profit:** $65,500 over 726 trades
- **Win Rate:** 70%
- **Profit Factor:** 7.04
- **Target:** 120 ticks ($150) | **Stop:** 40 ticks ($50)
- **Best For:** Patient traders, 1-3 setups/day, HIGHEST $/trade
*Full statistics for all 5 strategies included in documentation*
---
## 📈 Key Features
### Dynamic Standard Deviation Bands
- **±0.5 STD** - Intraday mean reversion zones
- **±1.0 STD** - Primary reversion zones (68% of price action)
- **±1.5 STD** - Extended zones (optimal balance)
- **±2.0 STD** - Extreme zones (95% of price action)
- **±2.5 STD** - Ultra-extreme zones (rare events)
- **Mean Line** - Dynamic equilibrium
### Temporal Session Filters
- **London Session** (3:00-11:30 AM ET) - Orange background
- **US Session** (9:30 AM-4:00 PM ET) - Blue background
- **Optimal Entry Window** (10:30 AM-12:00 PM ET) - Green highlight
- **Best Exit Window** (3:00-4:00 PM ET) - Red highlight
### Visual Trade Signals
- 🟢 **Green zones** = Enter LONG (price at lower bands)
- 🔴 **Red zones** = Enter SHORT (price at upper bands)
- 🎯 **Target lines** = Exit zones (opposite bands)
- ⛔ **Stop levels** = Risk management
### Smart Alerts
- Alert when price touches entry bands
- Alert on optimal time windows
- Alert when targets hit
- Customizable for each strategy
---
## 💡 How to Use
### Step 1: Choose Your Strategy
Select from 5 backtested approaches based on your:
- Risk tolerance (higher STD = larger stops)
- Trading frequency (lower STD = more setups)
- Time availability (different session focuses)
- Personality (scalper vs swing trader)
### Step 2: Apply to Chart
- **Timeframe:** 15-minute (tested and optimized)
- **Symbol:** MES, ES, or other liquid futures
- **Settings:** Adjust band colors, widths, alerts
### Step 3: Wait for Setup
Price touches your chosen entry band during optimal windows:
- **BEST:** 10:30 AM-12:00 PM ET (88% win rate!)
- **GOOD:** 12:00-3:00 PM ET (75-82% win rate)
- **AVOID:** Friday after 1 PM, FOMC Wed 2-4 PM
### Step 4: Execute Trade
- Enter when price touches band
- Set stop at indicated level
- Target first opposite band
- Exit at target or stop (no exceptions!)
### Step 5: Manage Risk
- **For $50K funded account ($250 limit): Use 2 MES contracts**
- Stop after 3 consecutive losses
- Reduce size in low-probability windows
- Track cumulative daily P&L
---
## 📅 Optimal Trading Windows
### By Time of Day
- **10:30 AM-12:00 PM ET:** 88% win rate (BEST) ⭐⭐⭐
- **12:00-1:30 PM ET:** 82% win rate (scalping)
- **1:30-3:00 PM ET:** 76% win rate (afternoon)
- **3:00-4:00 PM ET:** Best EXIT window
### By Day of Week
- **Wednesday:** 82% win rate (BEST DAY) ⭐⭐⭐
- **Tuesday:** 78% win rate (highest volume)
- **Thursday:**
Trend/Range Composite (Single-Line) v1.4🔹 Step 1: Add it to your chart
Copy the whole script.
In TradingView → Pine Editor → paste it.
Click Add to chart.
It will show a white line in a subwindow, plus thresholds at 40 and 60, and a colored background.
Optional: You’ll see a status box (top-right of chart) with details like ADX, ATR, slope, etc.
🔹 Step 2: Understand the Score
The indicator compresses all signals into a 0–100 “Trend Strength Score”:
≥ 60 = TREND (teal background)
→ Market is trending, consider trend strategies like vertical spreads, runners, breakouts.
≤ 40 = RANGE (orange background)
→ Market is choppy/sideways, consider range strategies like butterflies, condors, mean-reversion fades.
40–60 = MIXED (gray background)
→ Indecision / chop. Best to reduce size or wait for clarity.
🔹 Step 3: Use with Your Trading Plan
Intraday (5m, 15m, 30m)
Score < 40 → play support/resistance bounces, fade extremes.
Score > 60 → play momentum breakouts or pullback continuations.
Daily chart
Good for swing context (is this month trending or just chopping?).
🔹 Step 4: Alerts
You can set TradingView alerts:
Cross above 60 → market entering trend mode.
Cross below 40 → market entering range mode.
Useful if you don’t want to watch constantly.
🔹 Step 5: Confirm with Price Levels
The score tells you “trend vs range”, but you still need levels:
If score < 40 → mark PDH / PDL (previous day high/low), VAH/VAL, VWAP. Expect rejections/fades.
If score > 60 → watch for breakouts beyond PDH/PDL or supply/demand zones.
Long Elite Squeeze (LES 2.1) NV/CDV AI LindsayLES 2.1 — Long Elite Squeeze
Creator: Hunter Hammond •: Elite × FineFir H.H (AI “Lindsay”)
Discord: elitexfinefir
LES (“Long Elite Squeeze”) is a momentum + flow-aware long strategy built for small-float, high-velocity stocks. It blends a classic squeeze engine (BB/KC), adaptive RVOL/RSI gating, VWAP slope, ADX trend filtering, WaveTrend timing, and new Net-Volume/CVD flow exits—all wrapped with on-chart HUDs, a trade tracker, trap detection, and a lightweight AI selector to adapt entries to live conditions.
Who it’s for (and where it thrives)
LES 2.1 is tuned for the morning session and stocks that can really move:
Top Pre-Market and Day Gainers
Highest or Top Volume on Day
Float: ≤ 40M
Price: ≤ $20
Volume: ≥ 5× the 30-day average (intraday RVOL pop)
Catalyst: ideally a fresh news driver / “day gainer”
Timeframe: 1-minute (designed & tuned for 1m). Works on 2m/3m/5m, but wasn’t specifically designed for them (see tuning tips below).
Evolution at a glance
LES 1.0 — The foundation
Squeeze engine using Bollinger vs. Keltner to detect expansion (“squeeze OFF”).
EMA – ATR offset line (dynamic risk anchor) with EMA as trend filter.
RSI guard for overheated moves.
RVOL confirmation using average volume lookback.
WaveTrend (WT + Signal) to time entries/exits.
Basic buy/sell logic + simple on-chart labels.
LES 2.0 — Quality-of-life & timing upgrades
AI Lindsay assistant v2 (periodic / contextual commentary).
VWAP Slope Detector with sensitivity modes (Loose → Very Strict).
Manual defaults pre-tuned for ease of use.
Double-EMA trailing (visual take-profit helper).
Improved on-chart commentary and Trade Summary (10:30am snapshot).
AI Version Suggester (V1/V2/V3 modes) with stickiness/cooldown.
Trap Detector Pro (sweep, VWAP reject, blow-off, etc.) with scored severity.
Trade Tracker HUD + Entry Checklist HUD.
Overall stability & UX polish.
LES 2.1 — Flow-based exit superpowers
New Flow Exit: integrates 1m Net Volume and 5m CVD-style pressure:
1m NetVol window (rolling sum of signed volume)
5m CVD window (downsampled, smoothed)
Debounce (consecutive red bars to avoid one-tick fakes)
Optional ATR Guard (only exit if the move is meaningful vs ATR)
Cooldown after a flow exit to avoid re-chop
Chart labels: “SELL (NV/CVD)” when flow triggers
Keeps you in good trends, but kicks you out when aggressive sellers actually show up.
How the engine works (plain English)
Market prep: We confirm trend & energy using EMA/ATR, RSI, RVOL, Squeeze OFF, and Price > VWAP.
Entry mode (V1/V2/V3):
V1 — Balanced trades (default “safe” behavior)
V2 — Fast trades (more aggressive when action heats up)
V3 — Trending trades (stricter; waits for strong slope & trend)
You can pick a version manually or let the AI Suggester switch modes based on slope/ADX/RVOL/acceleration (with a cooldown so it doesn’t flip-flop).
Entry timing: WaveTrend and squeeze momentum improve timing while VWAP slope avoids buying flat tape.
Risk anchor: The EMA – (ATR × Multiplier) “offset line” is your dynamic stop/line in the sand.
Exits:
Base exits (version-aware): WT crossback, momentum fade, price losing offsetLine or EMA.
Flow Exit (2.1): If 1m NetVol and 5m CVD both turn decisively red (with debounce and optional ATR guard), close—no arguing.
Entry rules (exactly what has to be true)
Buy (Core) — fires when all are true:
Not already in a trade
Close > EMA and Close > OffsetLine (offsetLine = EMA − ATR × Mult)
RVOL confirmed (meets dynamic RVOL multiplier)
RSI below the overbought ceiling (version-aware slack in V3)
Squeeze OFF (BBs expanded outside Keltner)
Price > VWAP (toggleable)
Extra for V3 (Trending trades):
VWAP slope gate passes (and, if set, VWAP must be green)
ADX strong (≥ 25 by design, ≥ 20 baseline)
Minimum slopePctPerBar met (default V3 expects ≥ 0.05%/bar)
AI Suggester (optional):
Scores V1/V2/V3 from conditions like ADX, VWAP slope, RVOL, intrabar acceleration, then locks a pick for aiSwitchCoolBars bars.
On-chart help:
Checklist HUD lights up ✅/❌ for each gate (EMA, ATR, RVOL, RSI, VWAP, Slope, etc.).
Trade Quality Rating (🌟x/10) appears on buy bars if enabled.
Exit rules (every sell condition)
Base sells (V1/V2):
WaveTrend crossback (signal crosses over WT) OR
Momentum fade (two darker squeeze momentum bars) OR
Close < OffsetLine OR Close < EMA
Base sells (V3):
Close < OffsetLine OR Close < EMA (trend-respecting; ignores WT/momentum so you’re not shaken out early)
Flow Exit (2.1, applies to all versions if enabled):
In trade AND Flow Exit enabled
1m NetVol window is red (and ≥ Min |NetVol|)
5m CVD (smoothed) is red
**Deb
*** FYI: Play with settings until it fits your style, everything thats set default when script is loaded is what I run currently. I made LES 2.1 more customizable than ever to meet every trades style and execution. LES 2.1 with Lindsay upgrade new AI trade tracking feature (when enabled) and risk management LES 2.1 is something special to meet many challenges a trader faces everyday.
Gap ZonesThis TradingView indicator automatically detects daily price gaps and plots them clearly on any timeframe (intraday or daily).
It helps visualize where unfilled gaps are sitting, track whether they’ve been filled, and control how far the zone extends.
Key Features
1. Daily Gap Detection
• Works even when you’re on intraday charts (uses daily OHLC data).
• Marks both gap up (potential support zones) and gap down (potential resistance zones).
2. Shaded Gap Zones
• Each gap is highlighted as a band (greenish for up, reddish for down).
• Option to turn shading off if you just want horizontal lines.
3. Hide When Filled
• Once price closes or touches the far side of the gap, it disappears (configurable: Touch vs Close).
4. Lookback Window
• Gaps only show if they occurred within the past X trading days (default: 30).
• Prevents your chart from being cluttered with ancient gaps.
5. Multiple Gaps Tracked
• Can track up to 5 recent gaps simultaneously.
• Oldest gaps “roll off” as new ones form.
6. Finite Right-Edge Guides
• Optional horizontal guide lines extend to the right, but only for a fixed number of bars (default: 50).
• Cleaner than infinite extensions.
7. Gap-Day Marker
• Optional vertical line drawn on the bar where the gap first occurred.
⸻
⚙️ Inputs & Settings
When you apply the indicator, you’ll see these options:
• Lookback (trading days): How far back to scan for gaps (default 30).
• Max gaps to show (1..5): How many simultaneous gap zones to display.
• Min gap size (% of prior close): Filter out tiny gaps (default 0.25%).
• Hide gaps once filled: Removes a gap from the chart once filled.
• Fill rule uses CLOSE (off = Touch):
• Touch = filled when price trades through the level intraday.
• Close = filled only when a candle close crosses it.
• Show shading: Toggle zone fills on/off.
• Show vertical marker on gap day: Toggle gap-day marker line.
• Show finite right-edge lines: Toggle horizontal lines extending right.
• Right line length (bars): How far those lines extend (default 50 bars).
⸻
🟢 How to Use It
1. Apply on Any Chart
• Works best on daily or intraday (5m, 15m, 1h).
• Gaps are always calculated from daily data, so intraday charts will show higher-timeframe gaps correctly.
2. Interpret Colors
• Green shading = Gap Up (often acts as support).
• Red shading = Gap Down (often acts as resistance).
3. Watch for Fills
• When price re-enters the gap zone, the indicator checks if it’s “filled” (based on your Touch/Close setting).
• If “Hide When Filled” is on, the zone vanishes.
4. Trade Context
• Many traders use gaps as targets (expecting a fill) or levels of support/resistance.
• Combined with your bull put/bear call spread strategies, it helps confirm strong levels.
Market Sentiment Trend Gauge [LevelUp]Market Sentiment Trend Gauge simplifies technical analysis by mathematically combining momentum, trend direction, volatility position, and comparison against a market benchmark, into a single trend score from -100 to +100. Displayed in a separate pane below your chart, it resolves conflicting signals from RSI, moving averages, Bollinger Bands, and market correlations, providing clear insights into trend direction, strength, and relative performance.
THE PROBLEM MARKET SENTIMENT TREND GAUGE (MSTG) SOLVES
Traditional indicators often produce conflicting signals, such as RSI showing overbought while prices rise or moving averages indicating an uptrend despite market underperformance. MSTG creates a weighted composite score to answer: "What's the overall bias for this asset?"
KEY COMPONENTS AND WEIGHTINGS
The trend score combines
▪ Momentum (25%): Normalized 14-period RSI, capped at ±100.
▪ Trend Direction (35%): 10/21-period EMA relationships,
▪ Volatility Position (20%): Price position, 20-period Bollinger Bands, capped at ±100.
▪ Market Comparison (20%): Daily performance vs. SPY benchmark, capped at ±100.
Final score = Weighted sum, smoothed with 5-period EMA.
INTERPRETING THE MSTG CHART
Trend Score Ranges and Colors
▪ Bright Green (>+30): Strong bullish; ideal for long entries.
▪ Light Green (+10 to +30): Weak bullish; cautiously favorable.
▪ Gray (-10 to +10): Neutral; avoid directional trades.
▪ Light Red (-10 to -30): Weak bearish; exercise caution.
▪ Bright Red (<-30): Strong bearish; high-risk for longs, consider shorts.
Reference Lines
▪ Zero Line (Gray): Separates bullish/bearish; crossovers signal trend changes.
▪ ±30 Lines (Dotted, Green/Red): Thresholds for strong trends.
▪ ±60 Lines (Dashed, Green/Red): Extreme strength zones (not overbought/oversold); manage risk (tighten stops, partial profits) but trends may persist.
Background Colors
▪ Green Tint (>+20): Bullish environment; favorable for longs.
▪ Red Tint (<-20): Bearish environment; caution for longs.
▪ Light Gray Tint (-20 to +20): Neutral/range-bound; wait for signals.
Extreme Readings vs. Traditional Signals
MSTG ±60 indicates maximum alignment of all factors, not reversals (unlike RSI >70/<30). Use for risk management, not automatic exits. Strong trends can sustain extremes; breakdowns occur below +30 or above -30.
INFORMATION TABLE INTERPRETATION
Trend Score Symbols
▲▲ >+30 strong bullish
▲ +10 to +30
● -10 to +10 neutral
▼ -30 to -10
▼▼ <-30 strong bearish
Colors: Green (positive), White (neutral), Red (negative).
Momentum Score
+40 to +100 strong bullish
0 to +40 moderate bullish
-40 to 0 moderate bearish
-100 to -40 strong bearish
Market vs. Stock
▪ Green: Stock outperforming market
▪ Red: Stock underperforming market
Example Interpretations:
-0.45% / +1.23% (Green): Market down, stock up = Strong relative strength
+2.10% / +1.50% (Red): Both rising, but stock lagging = Relative weakness
-1.20% / -0.80% (Green): Both falling, but stock declining less = Defensive strength
UNDERSTANDING EXTREME READINGS VS TRADITIONAL OVERBOUGHT/OVERSOLD
⚠️ Critical distinctions
Traditional Overbought/Oversold Signals:
▪ Single indicator (like RSI >70 or <30) showing momentum excess
▪ Often suggests immediate reversal or pullback expected
▪ Based on "price moved too far, too fast" concept
MSTG Extreme Readings (±60):
▪ Composite alignment of 4 different factors (momentum, trend, volatility, relative strength)
▪ Indicates maximum strength in current direction
▪ NOT a reversal signal - means "all systems extremely bullish/bearish"
Key Differences:
▪ RSI >70: "Price got ahead of itself, expect pullback"
▪ MSTG >+60: "Everything is extremely bullish right now"
▪ Strong trends can maintain extreme MSTG readings during major moves
▪ Breakdowns happen when MSTG falls below +30, not at +60
Proper Usage of Extreme Readings:
▪ Risk Management: Tighten stops, take partial profits
▪ Position Sizing: Reduce new position sizes at extremes
▪ Trend Continuation: Watch for sustained extreme readings in strong markets
▪ Exit Signals: Look for breakdown below +30, not reversal from +60
TRADING WITH MSTG
Quick Assessment
1. Check trend symbol for direction.
2. Confirm momentum strength.
3. Note relative performance color.
Examples:
▲▲ 55.2 (Green), Momentum +28.4, Outperforming: Strong buy setup.
▼ -18.6 (Red), Momentum -43.2, Underperforming: Defensive positioning.
Entry Conditions
▪ Long: stock outperforming market
- Score >+30 (bright green)
- Sustained green background
- ▲▲ symbol,
▪ Short: stock underperforming market
- Score <-30 (bright red)
- Sustained red background
- ▼▼ symbol
Avoid Trading When:
▪ Gray zone (-10 to +10).
▪ Rapid color changes or frequent zero-line crosses (choppy market).
▪ Gray background (range-bound).
Risk Management:
▪ Stop Loss: Exit on zero-line crossover against position.
▪ Take Profit: Partial at ±60 for risk control.
▪ Position Sizing: Larger when signals align; smaller in extremes or mixed conditions.
KEY ADVANTAGES
▪ Unified View: Weighted composite reduces noise and conflicts.
▪ Visual Clarity: 5-color system with gradients for rapid recognition.
▪ Market Context: Relative strength vs. SPY identifies leaders/laggards.
▪ Flexibility: Works across timeframes (1-min to weekly); customizable table.
▪ Noise Reduction: EMA smoothing minimizes false signals.
EXAMPLES
Strong Bull: Trend Score 71.9, Momentum Score 76.9
Neutral: Trend Score 0.1, Momentum Score -9.2
Strong Bear: Trend Score -51.7, Momentum Score -51.5
PERFORMANCE AND LIMITATIONS
Strengths: Trend identification, noise reduction, relative performance versus market.
Limitations: Lags at turning points, less effective in extreme volatility or non-trending markets.
Recommendations: View on multiple timeframes, combine with price action and fundamentals.
RVol+ Enhanced Relative Volume Indicator📊 RVol+ Enhanced Relative Volume Indicator
Overview
RVol+ (Relative Volume Plus) is an advanced time-based relative volume indicator designed specifically for swing traders and breakout detection. Unlike simple volume comparisons, RVol+ analyzes volume at the same time of day across multiple sessions, providing statistically significant insights into institutional activity and breakout potential.
🎯 Key Features
Core Volume Analysis
Time-Based RVol Calculation - Compares current cumulative volume to the average volume at this exact time over the past N days
Statistical Z-Score - Measures volume in standard deviations from the mean for true anomaly detection
Volume Percentile - Shows where current volume ranks historically (0-100%)
Sustained Volume Filter - 3-bar moving average prevents false signals from single-bar spikes
Breakout Detection
🚀 Confirmed Breakouts - Identifies price breakouts validated by high volume (RVol > 1.5x)
⚠️ False Breakout Warnings - Alerts when price breaks key levels on low volume (high failure risk)
Multi-Timeframe Context - Weekly volume overlay prevents chasing daily noise
Advanced Metrics
OBV Divergence Detection - Spots bullish/bearish accumulation/distribution patterns
Volume Profile Integration - Identifies institutional positioning
Money Flow Analysis - Tracks smart money vs retail activity
Extreme Volume Alerts - 🔥 Labels mark unusual spikes beyond the display cap
Visual Intelligence
Smart Color Coding:
🟢 Bright Teal = High activity (RVol ≥ 1.5x)
🟡 Medium Teal = Caution zone (RVol ≥ 1.2x)
⚪ Light Teal = Normal activity
🟠 Orange = Breakout confirmed
🔴 Red = False breakout risk
Comprehensive Stats Table:
Current Volume (formatted as M/K/B)
RVol ratio
Z-Score with significance
Volume percentile
Historical average and standard deviation
Sustained volume confirmation
📈 How to Use
For Swing Trading (1D - 3W Holds)
Perfect Setup:
✓ RVol > 1.5x (bright teal)
✓ Z-Score > 2.0 (⚡ alert)
✓ Percentile > 90%
✓ Sustained = ✓
✓ 🚀 Breakout label appears
Avoid:
✗ Red "Low Vol" warning during breakouts
✗ RVol < 1.0 at key levels
✗ Sustained volume not confirmed
Signal Interpretation
⚡ Z>2 Labels - Statistically significant volume (95th+ percentile) - highest probability moves
↗️ OBV+ Labels - Bullish accumulation (OBV rising while price consolidates)
↘️ OBV- Labels - Bearish distribution (OBV falling while price rises)
🔵 Blue Background - Weekly volume elevated (confirms daily strength)
⚙️ Customization
Basic Settings
N Day Average - Number of historical days for comparison (default: 5)
RVol Thresholds - Customize highlight levels (default: 1.2x, 1.5x)
Visual Display Cap - Prevent extreme spikes from compressing view (default: 4.0x)
Advanced Metrics (Toggle On/Off)
Z-Score analysis
Weekly RVol context
OBV divergence detection
Volume percentile ranking
Breakout signal generation
Table Customization
Position - 9 placement options to avoid chart overlap
Size - Tiny to Huge
Colors - Full customization of positive/negative/neutral values
Transparency - Adjustable background
Debug Mode
Enable Pine Logs for calculation transparency
Adjustable log frequency
Real-time calculation breakdown
🔬 Technical Details
Algorithm:
Binary search for historical lookups (O(log n) performance)
Time-zone aware session detection
DST-safe timestamp calculations
Exponentially weighted standard deviation
Anti-repainting architecture
Performance:
Optimized for max_bars_back = 5000
Efficient array management
Built-in function optimization
Memory-conscious data structures
📊 What Makes RVol+ Different?
vs. Standard Volume:
Context-aware (time-of-day matters)
Statistical significance testing
False breakout filtering
vs. Basic RVol:
Z-Score normalization (2-3 sigma detection)
Multi-timeframe confirmation
OBV divergence integration
Sustained volume filtering
Smart visual scaling
vs. Professional Tools:
Free and open-source
Fully customizable
No black-box algorithms
Educational debug logs
💡 Best Practices
Wait for Confirmation - Don't enter on first bar; wait for sustained volume ✓
Combine with Price Action - RVol validates, price structure determines entry
Weekly Context Matters - Blue background = institutional interest
Z-Score is King - Focus on ⚡ alerts for highest probability
Avoid Low Volume Breakouts - Red ⚠️ labels = high failure risk
🎓 Trading Psychology
Volume precedes price. When RVol+ shows:
High RVol + Rising OBV = Accumulation before breakout
High RVol at Resistance = Test of conviction
Low RVol on Breakout = Retail-driven (fade candidate)
Z-Score > 3 = Potential "whale" positioning
📝 Credits
Based on the time-based RVol concept from /u/HurlTeaInTheSea, enhanced with:
Statistical analysis (z-scores, percentiles)
Multi-timeframe integration
OBV divergence detection
Professional-grade visualization
Swing trading optimization
🔧 Version History
v2.0 - Enhanced Edition
Added Z-Score analysis
Multi-timeframe volume context
OBV divergence detection
Breakout confirmation system
Smart color coding
Customizable stats table
Debug logging mode
Performance optimizations
📚 Learn More
For optimal use with swing trading:
Combine with support/resistance levels
Watch for volume clusters in consolidation
Use weekly timeframe for trend confirmation
Monitor OBV divergence for early warnings
⚠️ Disclaimer
This indicator is for educational purposes. Volume analysis is one component of trading decisions. Always use proper risk management, consider multiple timeframes, and validate signals with price structure. Past performance does not guarantee future results.
🚀 Getting Started
Add indicator to chart
Adjust "N Day Average" to your preference (5-10 days typical)
Position stats table to avoid overlap
Enable features you want to monitor
Watch for 🚀 breakout confirmations!
Happy Trading! 📈
Sector RSI (Auto-Select)This indicator measures the relative strength momentum of any stock against its most closely correlated sector ETF, using the Relative Strength Index (RSI).
Auto sector selection: The script computes correlations between your symbol’s short-term returns and all major SPDR sector ETFs (XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY, XTN). The sector with the highest correlation is automatically chosen as the benchmark.
Sector vs Symbol RSI: It calculates RSI (default 14-period) for both the chosen sector and the current chart’s symbol.
Display modes:
Line mode: Plots both RSIs with colored fill (red if the sector RSI is stronger, green if the symbol RSI is stronger).
Histogram mode: Shows the difference between Sector RSI and Symbol RSI as a column chart.
RSI bands: Standard 70/50/30 reference lines are available in line mode.
Status line: The selected sector’s ticker is shown on the TradingView status line so you always know which sector is being used.
Use Cases:
Identify whether a stock’s momentum is driven by its sector or if it’s showing independent relative strength.
Detect sector rotations: when the stock begins to outperform or underperform its sector on momentum basis.
Combine with absolute RSI levels (overbought/oversold) to filter signals.
Notes:
This tool infers sector membership via rolling correlation, not from static classification metadata. This means in some cases (e.g. diversified companies or news shocks) the “best” sector may not be the official one, but the one most correlated in the current market regime.
Use min positive correlation input to filter out weak matches and enforce a fallback (defaults to Technology XLK).
Regression Channel (ShareScope-style, parallel)What it does
Replicates ShareScope’s Trend of displayed data look: a single straight linear-regression line (dashed) across a chosen window with parallel, constant-width bands above and below, plus optional shading.
Use it to see the overall trend gradient for a period and a statistically sized channel based on the fit’s residual error.
How it works (math, short)
Computes an OLS regression once over the analysis window.
Residual standard error s is derived from SSE and degrees of freedom (n−2).
Band half-width is constant across the window:
Mean CI (narrower): half = z * s / √n
Prediction (wider): half = z * s * √(1 + 1/n)
Three straight, parallel lines are drawn from the regression endpoints; midline is dashed.
This is intentionally not a tapered CI (which widens at the ends). It matches the visual behaviour of ShareScope’s shaded trend line channel.
Inputs
Source – Price series (Close, High, Low, HL2, etc.).
Use last N bars / N (bars) – Rolling window length.
From / To (date mode) – Alternative fixed date window.
Confidence (%) – 90 / 95 / 99 / Custom (uses z≈t).
Custom Z (t) – Override the quantile if desired.
Prediction bands – Use wider prediction envelope instead of mean CI.
Shade region + colors / opacity / line width.
Usage
To mimic ShareScope exactly, pick the same date span (use date mode) and set Confidence 99%.
Choose Prediction OFF for a tighter “confidence” look; ON for a wider, more permissive channel.
If ShareScope used High as source, set Source = High here as well.
Notes & limitations
TradingView does not expose the visible viewport to Pine. The script cannot auto-read “displayed data.” Use last N bars or date range.
Bands are parallel by design. Prices may close outside; the channel does not bend.
Window capped at 5,000 bars for performance. No alerts are emitted.
Differences vs TV’s native tools
Linear Regression (drawing) – manual object; no statistical sizing or shading.
Linear Regression Channel (indicator) – uses price standard deviations around the regression; width is a user stdev multiple.
This script – uses residual error of the OLS fit and a z/t quantile to size a statistically meaningful parallel channel.
Changelog
r3.1 – Guard fix (no return at top level), minor refactor, stable line updates.
r3 – Switched to single-fit OLS with parallel constant-width bands (ShareScope look).
(Earlier experimental builds r1–r2.2 implemented rolling/tapered CI; superseded.)
Disclaimer: Educational use only. Not investment advice.
DCA vs One-ShotCompare a DCA strategy by choosing the payment frequency (daily, weekly, or monthly), and by choosing whether or not to pay on weekends for cryptocurrency. You can add fees and the reference price (opening, closing, etc.).
Debt Refinance Cycle + Liquidity vs BTC (Wk) — Overlay Part 1Debt Refi Cycle - Overlay script (BTC + Liquidity + DRCI/Z normalized to BTC range)
Trend Fib Zone Bounce (TFZB) [KedArc Quant]Description:
Trend Fib Zone Bounce (TFZB) trades with the latest confirmed Supply/Demand zone using a single, configurable Fib pullback (0.3/0.5/0.6). Trade only in the direction of the most recent zone and use a single, configurable fib level for pullback entries.
• Detects market structure via confirmed swing highs/lows using a rolling window.
• Draws Supply/Demand zones (bearish/bullish rectangles) from the latest MSS (CHOCH or BOS) event.
• Computes intra zone Fib guide rails and keeps them extended in real time.
• Triggers BUY only inside bullish zones and SELL only inside bearish zones when price touches the selected fib and closes back beyond it (bounce confirmation).
• Optional labels print BULL/BEAR + fib next to the triangle markers.
What it does
Finds structure using confirmed swing highs/lows (you choose the confirmation length).
Builds the latest zone (bullish = demand, bearish = supply) after a CHOCH/BOS event.
Draws intra-zone “guide rails” (Fib lines) and extends them live.
Signals only with the trend of that zone:
BUY inside a bullish zone when price tags the selected Fib and closes back above it.
SELL inside a bearish zone when price tags the selected Fib and closes back below it.
Optional labels print BULL/BEAR + Fib next to triangles for quick context
Why this is different
Most “zone + fib + signal” tools bolt together several indicators, or fire counter-trend signals because they don’t fully respect structure. TFZB is intentionally minimal:
Single bias source: the latest confirmed zone defines direction; nothing else overrides it.
Single entry rule: one Fib bounce (0.3/0.5/0.6 selectable) inside that zone—no counter-trend trades by design.
Clean visuals: you can show only the most recent zone, clamp overlap, and keep just the rails that matter.
Deterministic & transparent: every plot/label comes from the code you see—no external series or hidden smoothing
How it helps traders
Cuts decision noise: you always know the bias and the only entry that matters right now.
Forces discipline: if price isn’t inside the active zone, you don’t trade.
Adapts to volatility: pick 0.3 in strong trends, 0.5 as the default, 0.6 in chop.
Non-repainting zones: swings are confirmed after Structure Length bars, then used to build zones that extend forward (they don’t “teleport” later)
How it works (details)
*Structure confirmation
A swing high/low is only confirmed after Structure Length bars have elapsed; the dot is plotted back on the original bar using offset. Expect a confirmation delay of about Structure Length × timeframe.
*Zone creation
After a CHOCH/BOS (momentum shift / break of prior swing), TFZB draws the new Supply/Demand zone from the swing anchors and sets it active.
*Fib guide rails
Inside the active zone TFZB projects up to five Fib lines (defaults: 0.3 / 0.5 / 0.7) and extends them as time passes.
*Entry logic (with-trend only)
BUY: bar’s low ≤ fib and close > fib inside a bullish zone.
SELL: bar’s high ≥ fib and close < fib inside a bearish zone.
*Optionally restrict to one signal per zone to avoid over-trading.
(Optional) Aggressive confirm-bar entry
When do the swing dots print?
* The code confirms a swing only after `structureLen` bars have elapsed since that candidate high/low.
* On a 5-min chart with `structureLen = 10`, that’s about 50 minutes later.
* When the swing confirms, the script plots the dot back on the original bar (via `offset = -structureLen`). So you *see* the dot on the old bar, but it only appears on the chart once the confirming bar arrives.
> Practical takeaway: expect swing markers to appear roughly `structureLen × timeframe` later. Zones and signals are built from those confirmed swings.
Best timeframe for this Indicator
Use the timeframe that matches your holding period and the noise level of the instrument:
* Intraday :
* 5m or 15m are the sweet spots.
* Suggested `structureLen`:
* 5m: 10–14 (confirmation delay \~50–70 min)
* 15m: 8–10 (confirmation delay \~2–2.5 hours)
* Keep Entry Fib at 0.5 to start; try 0.3 in strong trends, 0.6 in chop.
* Tip: avoid the first 10–15 minutes after the open; let the initial volatility set the early structure.
* Swing/overnight:
* 1h or 4h.
* `structureLen`:
* 1h: 6–10 (6–10 hours confirmation)
* 4h: 5–8 (20–32 hours confirmation)
* 1m scalping: not recommended here—the confirmation lag relative to the noise makes zones less reliable.
Inputs (all groups)
Structure
• Show Swing Points (structureTog)
o Plots small dots on the bar where a swing point is confirmed (offset back by Structure Length).
• Structure Length (structureLen)
o Lookback used to confirm swing highs/lows and determine local structure. Higher = fewer, stronger swings; lower = more reactive.
Zones
• Show Last (zoneDispNum)
o Maximum number of zones kept on the chart when Display All Zones is off.
• Display All Zones (dispAll)
o If on, ignores Show Last and keeps all zones/levels.
• Zone Display (zoneFilter): Bullish Only / Bearish Only / Both
o Filters which zone types are drawn and eligible for signals.
• Clean Up Level Overlap (noOverlap)
o Prevents fib lines from overlapping when a new zone starts near the previous one (clamps line start/end times for readability).
Fib Levels
Each row controls whether a fib is drawn and how it looks:
• Toggle (f1Tog…f5Tog): Show/hide a given fib line.
• Level (f1Lvl…f5Lvl): Numeric ratio in . Defaults active: 0.3, 0.5, 0.7 (0 and 1 off by default).
• Line Style (f1Style…f5Style): Solid / Dashed / Dotted.
• Bull/Bear Colors (f#BullColor, f#BearColor): Per-fib color in bullish vs bearish zones.
Style
• Structure Color: Dot color for confirmed swing points.
• Bullish Zone Color / Bearish Zone Color: Rectangle fills (transparent by default).
Signals
• Entry Fib for Signals (entryFibSel): Choose 0.3, 0.5 (default), or 0.6 as the trigger line.
• Show Buy/Sell Signals (showSignals): Toggles triangle markers on/off.
• One Signal Per Zone (oneSignalPerZone): If on, suppresses additional entries within the same zone after the first trigger.
• Show Signal Text Labels (Bull/Bear + Fib) (showSignalLabels): Adds a small label next to each triangle showing zone bias and the fib used (e.g., BULL 0.5 or BEAR 0.3).
How TFZB decides signals
With trend only:
• BUY
1. Latest active zone is bullish.
2. Current bar’s close is inside the zone (between top and bottom).
3. The bar’s low ≤ selected fib and it closes > selected fib (bounce).
• SELL
1. Latest active zone is bearish.
2. Current bar’s close is inside the zone.
3. The bar’s high ≥ selected fib and it closes < selected fib.
Markers & labels
• BUY: triangle up below the bar; optional label “BULL 0.x” above it.
• SELL: triangle down above the bar; optional label “BEAR 0.x” below it.
Right-Panel Swing Log (Table)
What it is
A compact, auto-updating log of the most recent Swing High/Low events, printed in the top-right of the chart.
It helps you see when a pivot formed, when it was confirmed, and at what price—so you know the earliest bar a zone-based signal could have appeared.
Columns
Type – Swing High or Swing Low.
Date – Calendar date of the swing bar (follows the chart’s timezone).
Swing @ – Time of the original swing bar (where the dot is drawn).
Confirm @ – Time of the bar that confirmed that swing (≈ Structure Length × timeframe after the swing). This is also the earliest moment a new zone/entry can be considered.
Price – The swing price (high for SH, low for SL).
Why it’s useful
Clarity on repaint/confirmation: shows the natural delay between a swing forming and being usable—no guessing.
Planning & journaling: quick reference of today’s pivots and prices for notes/backtesting.
Scanning intraday: glance to see if you already have a confirmed zone (and therefore valid fib-bounce entries), or if you’re still waiting.
Context for signals: if a fib-bounce triangle appears before the time listed in Confirm @, it’s not a valid trade (you were too early).
Settings (Inputs → Logging)
Log swing times / Show table – turn the table on/off.
Rows to keep – how many recent entries to display.
Show labels on swing bar – optional tags on the chart (“Swing High 11:45”, “Confirm SH 14:15”) that match the table.
Recommended defaults
• Structure Length: 10–20 for intraday; 20–40 for swing.
• Entry Fib for Signals: 0.5 to start; try 0.3 in stronger trends and 0.6 in choppier markets.
• One Signal Per Zone: ON (prevents over trading).
• Zone Display: Both.
• Fib Lines: Keep 0.3/0.5/0.7 on; turn on 0 and 1 only if you need anchors.
Alerts
Two alert conditions are available:
• BUY signal – fires when a with trend bullish bounce at the selected fib occurs inside a bullish zone.
• SELL signal – fires when a with trend bearish bounce at the selected fib occurs inside a bearish zone.
Create alerts from the chart’s Alerts panel and select the desired condition. Use Once Per Bar Close to avoid intrabar flicker.
Notes & tips
• Swing dots are confirmed only after Structure Length bars, so they plot back in time; zones built from these confirmed swings do not repaint (though they extend as new bars form).
• If you don’t see a BUY where you expect one, check: (1) Is the active zone bullish? (2) Did the candle’s low actually pierce the selected fib and close above it? (3) Is One Signal Per Zone suppressing a second entry?
• You can hide visual clutter by reducing Show Last to 1–3 while keeping Display All Zones off.
Glossary
• CHOCH (Change of Character): A shift where price breaks beyond the last opposite swing while local momentum flips.
• BOS (Break of Structure): A cleaner break beyond the prior swing level in the current momentum direction.
• MSS: Either CHOCH or BOS – any event that spawns a new zone.
Extension ideas (optional)
• Add fib extensions (1.272 / 1.618) for target lines.
• Zone quality score using ATR normalization to filter weak impulses.
• HTF filter to only accept zones aligned with a higher timeframe trend.
⚠️ Disclaimer This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
Shamji's Liquidity Sweep + FVG (Follow-up + Filters) Purpose (what it does)
This indicator looks for two related price structures used by many smart-money / liquidity-hunt traders:
Liquidity Sweeps — candles that wick beyond a recent swing high (for buy-side stop-hunts) or swing low (for sell-side stop-hunts), then close back inside. These are flagged as potential stop-hunt events that clear obvious liquidity.
Fair Value Gaps (FVGs) — simple 3-bar style gaps where an older bar’s high is below the current low (bullish FVG) or an older bar’s low is above the current high (bearish FVG). When an FVG appears after a sweep (within a configurable window), this is considered a follow-up alignment.
The script adds optional filters (volume spike and candle-range vs ATR) to increase confidence, and can restrict marking/alerts to only events that meet the follow-up and filter rules.
Order Block Volumatic FVG StrategyInspired by: Volumatic Fair Value Gaps —
License: CC BY-NC-SA 4.0 (Creative Commons Attribution–NonCommercial–ShareAlike).
This script is a non-commercial derivative work that credits the original author and keeps the same license.
What this strategy does
This turns BigBeluga’s visual FVG concept into an entry/exit strategy. It scans bullish and bearish FVG boxes, measures how deep price has mitigated into a box (as a percentage), and opens a long/short when your mitigation threshold and filters are satisfied. Risk is managed with a fixed Stop Loss % and a Trailing Stop that activates only after a user-defined profit trigger.
Additions vs. the original indicator
✅ Strategy entries based on % mitigation into FVGs (long/short).
✅ Lower-TF volume split using upticks/downticks; fallback if LTF data is missing (distributes prior bar volume by close’s position in its H–L range) to avoid NaN/0.
✅ Per-FVG total volume filter (min/max) so you can skip weak boxes.
✅ Age filter (min bars since the FVG was created) to avoid fresh/immature boxes.
✅ Bull% / Bear% share filter (the 46%/53% numbers you see inside each FVG).
✅ Optional candle confirmation and cooldown between trades.
✅ Risk management: fixed SL % + Trailing Stop with a profit trigger (doesn’t trail until your trigger is reached).
✅ Pine v6 safety: no unsupported args, no indexof/clamp/when, reverse-index deletes, guards against zero/NaN.
How a trade is decided (logic overview)
Detect FVGs (same rules as the original visual logic).
For each FVG currently intersected by the bar, compute:
Mitigation % (how deep price has entered the box).
Bull%/Bear% split (internal volume share).
Total volume (printed on the box) from LTF aggregation or fallback.
Age (bars) since the box was created.
Apply your filters:
Mitigation ≥ Long/Short threshold.
Volume between your min and max (if enabled).
Age ≥ min bars (if enabled).
Bull% / Bear% within your limits (if enabled).
(Optional) the current candle must be in trade direction (confirm).
If multiple FVGs qualify on the same bar, the strategy uses the most recent one.
Enter long/short (no pyramiding).
Exit with:
Fixed Stop Loss %, and
Trailing Stop that only starts after price reaches your profit trigger %.
Input settings (quick guide)
Mitigation source: close or high/low. Use high/low for intrabar touches; close is stricter.
Mitigation % thresholds: minimal mitigation for Long and Short.
TOTAL Volume filter: skip FVGs with too little/too much total volume (per box).
Bull/Bear share filter: require, e.g., Long only if Bull% ≥ 50; avoid Short when Bull% is high (Short Bull% max).
Age filter (bars): e.g., ≥ 20–30 bars to avoid fresh boxes.
Confirm candle: require candle direction to match the trade.
Cooldown (bars): minimum bars between entries.
Risk:
Stop Loss % (fixed from entry price).
Activate trailing at +% profit (the trigger).
Trailing distance % (the trailing gap once active).
Lower-TF aggregation:
Auto: TF/Divisor → picks 1/3/5m automatically.
Fixed: choose 1/3/5/15m explicitly.
If LTF can’t be fetched, fallback allocates prior bar’s volume by its close position in the bar’s H–L.
Suggested starting presets (you should optimize per market)
Mitigation: 60–80% for both Long/Short.
Bull/Bear share:
Long: Bull% ≥ 50–70, Bear% ≤ 100.
Short: Bull% ≤ 60 (avoid shorting into strong support), Bear% ≥ 0–70 as you prefer.
Age: ≥ 20–30 bars.
Volume: pick a min that filters noise for your symbol/timeframe.
Risk: SL 4–6%, trailing trigger 1–2%, distance 1–2% (crypto example).
Set slippage/fees in Strategy Properties.
Notes, limitations & best practices
Data differences: The LTF split uses request.security_lower_tf. If the exchange/data feed has sparse LTF data, the fallback kicks in (it’s deliberate to avoid NaNs but is a heuristic).
Real-time vs backtest: The current bar can update until close; results on historical bars use closed data. Use “Bar Replay” to understand intrabar effects.
No pyramiding: Only one position at a time. Modify pyramiding in the header if you need scaling.
Assets: For spot/crypto, TradingView “volume” is exchange volume; in some markets it may be tick volume—interpret filters accordingly.
Risk disclosure: Past performance ≠ future results. Use appropriate position sizing and risk controls; this is not financial advice.
Credits
Visual FVG concept and original implementation: BigBeluga.
This derivative strategy adds entry/exit logic, volume/age/share filters, robust LTF handling, and risk management while preserving the original spirit.
License remains CC BY-NC-SA 4.0 (non-commercial, attribution required, share-alike).
Iron Condor Pro v6 – Full EngineIronCondor Engine v6.6 is a multi-mode options strategy tool for planning and managing iron condors, straddles, strangles, and butterflies. It supports both setup planning and live trade tracking with modeled delta, risk-based strike selection, IV rank estimation, and visual breach alerts.
Use Setup Mode to preview strike structures based on IV proxy, ATR, delta targeting, and risk tier (High/Mid/Low/Delta). Use Live Mode to track real trades, enter strike/premium data, and monitor live P&L, delta drift, and range status.
This script does not connect to live option chains. Volatility and delta are modeled using price history. All strikes and premiums must be confirmed using your broker before placing trades. Best used with strong support/resistance levels and high IV rank (30%+).
For educational purposes only.
Workflow Guide
Use this flow whether you're setting up on Sunday night or any day before placing a trade.
Step 0: Pre-Script Preparation
Before using the script:
Identify major support and resistance zones on your chart. Define the expected range or consolidation area. Use this context to help evaluate strike placement
1. Setup Phase (Pre-Trade Planning)
Step 1 – Load the Script
Add: IronCondor Engine v6.6 – Full Risk/Decay Edition to your chart
Step 2 – Set Mode = Setup
This enables planning mode, where the engine calculates strike combinations based on:
Your selected risk profile (High, Mid, Low, or Delta)
Historical volatility (20-day log return)
ATR (Average True Range)
Target short delta (adjustable)
Step 3 – Review Setup Table
Enable Show Setup Table to view calculated strikes and width by risk tier.
Adjust any of the following as needed:
Target Short Delta
Strike Interval ($)
Width multipliers (High/Mid/Low)
Risk tier under Auto-Feed Choice
Step 4 – Evaluate the Setup
Is the net credit at least 1.5–2.0x your max risk?
Are the short strikes clearly outside support/resistance zones?
Are the short deltas between 0.15 and 0.30?
Is the range wide enough to handle normal price movement?
Step 5 – Prep for Execution
Enable Auto-Feed Setup → Live to carry Setup strikes into Live mode
Or disable it if you prefer to manually enter strikes later
2. Trade Execution (Live Tracking Mode)
Step 1 – Place the Trade with Your Broker
Use your brokerage (TOS, Tasty, IBKR, etc.) to place the iron condor or other structure
Step 2 – Set Mode = Live
In Live mode:
If Auto-Feed is ON, the Setup strikes auto-populate
If Auto-Feed is OFF, manually enter:
Short and long strikes (Call and Put)
Premiums collected/paid per leg
Total net credit (Entry Credit)
Optional: Input current mid prices for each leg in the "Live Chain" section to track live mark-to-market P&L
Once all required fields are valid, the script activates:
Real-time profit/loss tracking
Max risk estimate
Delta monitoring on short legs
IV Rank estimate
Breach detection system
Chart visuals (if enabled)
3. Trade Management (During the Week)
While the trade is active, use the dashboard and visuals to monitor:
Key Metrics:
Unrealized P/L %
Mark-to-market value vs entry credit
Daily decay (theta)
Days until expiration
Breach status:
In Range
Near Breach
Breached
Alerts:
Price near short strike → suggests roll
Price breaches long strike → breach alert
50% or 75% profit → optional exit signal
Delta exceeds threshold → exposure may need adjustment
Management Tips:
At 50–75% profit: consider closing early
If price nears a short leg: roll, hedge, or manage
If nearing expiry: decide whether to hold or close
If IV collapses: may accelerate time decay or reduce exit value
4. End-of-Week or Expiration Management
If Profit Target Hit
Close early to reduce risk and lock gains
If Still Open Near Expiry
Close the position or
Hold through expiration only if you're fully prepared for pinning/gamma/assignment scenarios
Avoid holding open spreads over the weekend unless part of a defined strategy
Reference Notes
Strike Width
Defined as:
Width = Distance between Short and Long strike
Used for calculating max loss and breach visuals
Delta Guidelines
0.15–0.20 = safer, wider range, lower credit
0.25–0.30 = more aggressive, tighter range, higher credit
Use Target Short Delta input to adjust auto-selected strikes accordingly
Credit Example
Sell Call: $1.04
Sell Put: $0.23
Buy Call + Put wings: $0.14
Net Credit = $1.13 = $113 per contract (max profit)
This is the max profit if price stays between short strikes through expiration
IV Rank (Estimated)
This script does not use options chain IV data.
Instead, it calculates a volatility proxy:
ivRaw = ta.stdev(log returns, 20) * sqrt(252)
IV Rank is then calculated as the percentile of this value within the last 252 bars.
High IV Rank (30%–100%) → better premium-selling conditions
Low IV Rank (<30%) → lower edge for condors
Ideal to sell premium when IV Rank is above 30–50%
Disclosures and Limitations
This script is for educational use only
It does not connect to live option chains
All strikes, deltas, and premiums must be validated through your broker
Always confirm real-time IV, delta, and pricing before placing a trade
Inversion Fair Value Gap Signals [AlgoAlpha]🟠 OVERVIEW
This script is a custom signal tool called Inversion Fair Value Gap Signals (IFVG) , designed to detect, track, and visualize fair value gaps (FVGs) and their inversions directly on price charts. It identifies bullish and bearish imbalances, monitors when these zones are mitigated or rejected, and extends them until resolution or expiration. What makes this script original is the inclusion of inversion logic—when a gap is filled, the area flips into an opposite "inversion fair value gap," creating potential reversal or continuation zones that give traders additional context beyond classic FVG analysis.
🟠 CONCEPTS
The script builds on the Smart Money Concepts (SMC) principle of fair value gaps, where inefficiencies form when price moves too quickly in one direction. Detection requires a three-bar sequence: a strong up or down move that leaves untraded price between bar highs and lows. To refine reliability, the script adds an ATR-based size filter and prevents overlap between zones. Once created, gaps are tracked in arrays until mitigation (price closing back into the gap), expiration, or transformation into an inversion zone. Inversions act as polarity flips, where bullish gaps become bearish resistance and bearish gaps become bullish support. Lower-timeframe volume data is also displayed inside zones to highlight whether buying or selling pressure dominated during gap creation.
🟠 FEATURES
Automatic detection of bullish and bearish FVGs with ATR-based thresholding.
Inversion logic: mitigated gaps flip into opposite-colored IFVG zones.
Volume text overlay inside each zone showing up vs down volume.
Visual markers (△/▽ for FVG, ▲/▼ for IFVG) when price exits a zone without mitigation.
🟠 USAGE
Apply the indicator to any chart and enable/disable bullish or bearish FVG detection depending on your focus. Use the colored gap zones as areas of interest: bullish gaps suggest possible continuation to the upside until mitigated, while bearish gaps suggest continuation down. When a gap flips into an inversion zone, treat it as potential support/resistance—bullish IFVGs below price may act as demand, while bearish IFVGs above price may act as supply. Watch the embedded up/down volume data to gauge the strength of participants during gap formation. Use the △/▽ and ▲/▼ markers to spot when price rejects gaps or inversions without filling them, which can indicate strong trending momentum. For practical use, combine alerts with your trade plan to track when new gaps form, when old ones are resolved, or when key zones flip into inversions, helping you align entries, targets, or reversals with institutional order flow logic.
CCI vs Two EMAs + Trendlines + Breakout HighlightPerfect indicator which analyzes the cci4000 & 2 EMAS.
MA Pack + Cross Signals (Short vs Long)Overview
A flexible moving average pack that lets you switch between short-term trend detection and long-term trend confirmation .
Short-term mode: plots 5, 10, 20, and 50 MAs with early crossovers (10/50, 20/50).
Long-term mode: plots 50, 100, 200 MAs with Golden Cross and Death Cross signals.
Choice of SMA or EMA .
Alerts included for all crossovers.
Why Use It
Catch early trend shifts in short-term mode.
Confirm institutional trend levels in long-term mode.
Visual signals (triangles + labels) make spotting setups easy.
Alert-ready for automated trade monitoring.
Usage
Add to chart.
In settings, choose Short-term or Long-term .
Watch for markers:
Green triangles = bullish cross
Red triangles = bearish cross
Green label = Golden Cross
Red label = Death Cross
Optional: enable alerts for notifications.
TEWMA - [JTCAPITAL]TEWMA - is a modified way to use Triple Exponential Moving Average (TEMA) combined with Weighted Moving Average (WMA) and adaptive multi-length averaging for Trend-Following.
The indicator blends short- and extended-length smoothed signals into a single adaptive line, then assigns directional bias to highlight bullish or bearish phases more clearly.
The indicator works by calculating in the following steps:
Source Selection
The script begins with a selectable price source (default: Close, but can be changed to Open, High, Low, HL2, etc.). This ensures flexibility depending on the user’s preferred market perspective.
Dual-Length Calculation
A base length ( len ) is chosen, and then multiplied by a factor ( multi , default 1.75). This produces a secondary, longer period ( len2 ) that adapts proportionally to the base.
Weighted + Triple Exponential Smoothing
-First, a WMA (Weighted Moving Average) is applied to the price source.
-Then, the TEMA (Triple Exponential Moving Average) is applied to smooth the WMA even further.
-This process is repeated for both len and len2 , producing TEWMA1 and TEWMA2 .
Adaptive Averaging
The final TEWMA line is calculated as the average of TEWMA1 and TEWMA2, creating a blend between the short-term and extended-term signals. This balances reactivity and stability, reducing lag while avoiding excessive noise.
Trend Direction Detection
-If TEWMA is greater than its previous value → Bullish .
-If TEWMA is lower than its previous value → Bearish .
-A Signal variable is used to store this directional bias, ensuring continuity between bars.
Visual Plotting
-The main TEWMA is plotted with bold coloring (Blue for bullish, Purple for bearish).
-TEWMA1 and TEWMA2 are plotted as thinner supporting lines.
-Each line is given a shadow-fill (between 100% and 90% of its value) for emphasis and visual clarity.
Alerts
Custom alerts are defined:
- TEWMA Long → when bullish.
- TEWMA Short → when bearish.
-These alerts can be integrated into TradingView’s alerting system for automated notifications.
Buy and Sell Conditions :
- Buy : Triggered when TEWMA rises (bullish slope). The indicator colors the line blue and an alert can be fired.
- Sell : Triggered when TEWMA declines (bearish slope). The line turns purple, signaling potential short or exit points.
Features and Parameters :
- Source → Selectable price input (Close, Open, HL2, etc.).
- Length (len) → Base period for the WMA/TEMA calculation.
- Multiplier (multi) → Scales the secondary length to create a longer-term smoothing.
- Color-coded Trend Lines → Blue for bullish, Purple for bearish.
- Shadow Fill Effects → Provides depth and easier visualization of trend direction.
- Alert Conditions → Prebuilt alerts for both Long and Short scenarios.
Specifications :
Weighted Moving Average (WMA)
The WMA assigns more weight to recent price values, making it more responsive than a Simple Moving Average (SMA). This enhances early detection of market turns while reducing lag compared to longer-term averages.
Triple Exponential Moving Average (TEMA)
TEMA is designed to minimize lag by combining multiple EMA layers (EMA of EMA of EMA). It is smoother and more adaptive than traditional EMAs, making it ideal for detecting true market direction without overreacting to small fluctuations.
Multi-Length Averaging
By calculating two versions of WMA → TEMA with different lengths and then averaging them, the indicator balances responsiveness (short-term sensitivity) and reliability (long-term confirmation). This prevents whipsawing while keeping signals timely.
Adaptive Signal Assignment
Instead of simply flipping signals at crossovers, the indicator checks slope direction of TEWMA. This ensures smoother trend-following behavior, reducing false positives in sideways conditions.
Color-Coding & Visual Shading
Visual clarity is achieved by coloring bullish periods differently from bearish ones, with shaded fills beneath each line. This allows traders to instantly identify trend conditions and compare short- vs long-term signals.
Alert Conditions
Trading decisions can be automated by attaching alerts to the TEWMA’s bullish and bearish states. This makes it practical for active trading, swing setups, or algorithmic strategies.
Enjoy!
Yasser Buy/Sell Signal Indicator 001Coded by: Yasser Mahmoud (YWMAAAWORLD):
For any assistance contact me at: yarm.global@gmail.com
# 🚀 **EMA Trend & Signal Indicator - The Ultimate Anti-Chop Trading System**
## **Finally! An Indicator That Eliminates False Signals and Maximizes Trending Profits**
Are you tired of getting whipsawed in choppy markets? Frustrated by indicators that give you 10 signals when you need just 1 good one? **This changes everything.**
---
## 🎯 **What Makes This Indicator Revolutionary?**
### **🔥 INNOVATIVE 7-FILTER CONFIRMATION SYSTEM**
This isn't just another EMA crossover indicator. It's a **complete trading system** that combines:
✅ **Multi-EMA Trend Analysis** (8, 13, 21, 50, 200 EMAs)
✅ **Volume Surge Detection** (1.5x average volume confirmation)
✅ **RSI Momentum Filter** (Avoids overbought/oversold traps)
✅ **EMA Slope Confirmation** (All short-term EMAs must align)
✅ **Advanced Anti-Chop Technology** (Patent-pending 5-filter system)
### **🚫 REVOLUTIONARY ANTI-CHOP FILTERS**
**The game-changer that separates amateurs from professionals:**
1. **Trend Strength Analyzer** - Measures EMA separation strength
2. **EMA Bunching Detector** - Prevents signals when EMAs are too close
3. **Market Structure Scanner** - Identifies genuine trending vs ranging markets
4. **Enhanced Volatility Filter** - Waits for sufficient market movement
5. **Smart Chop Detection** - Multi-timeframe chopiness analysis
**Result: 3 out of 5 filters must pass = Only HIGH-PROBABILITY setups trigger signals!**
---
## 📈 **TRADING RULES - COPY & PASTE STRATEGY**
### **🟢 BUY SIGNALS (Long Entry)**
**When ALL conditions align:**
- Price above 50 EMA **AND** 50 EMA above 200 EMA (Uptrend confirmed)
- 8 EMA > 13 EMA > 21 EMA (Perfect alignment)
- Volume > 1.5x average (Institutional participation)
- RSI between 50-70 (Bullish momentum, not overbought)
- All EMA slopes positive (True trending, not fake breakout)
- Anti-Chop Score ≥ 3/5 (Market conditions suitable)
**📍 Entry:** When green "BUY" label appears
**🛡️ Stop Loss:** Below nearest swing low or 50 EMA
**🎯 Take Profit:** 2:1 or 3:1 risk/reward ratio
### **🔴 EXIT BUY SIGNALS (Risk Management)**
**Automatic protection when:**
- EMAs lose perfect alignment (8>13>21 breaks)
- Trend remains intact but short-term weakness detected
**📍 Action:** Exit position when "EXIT BUY" appears
**💡 Strategy:** Wait for "BUY" signal to re-enter if trend continues
### **🟥 SELL SIGNALS (Short Entry)**
**Mirror logic for downtrends:**
- Price below 50 EMA **AND** 50 EMA below 200 EMA
- 8 EMA < 13 EMA < 21 EMA (Perfect bearish alignment)
- Same volume, RSI, and anti-chop confirmations
### **🔸 EXIT SELL SIGNALS**
**Smart exit when bearish alignment breaks**
---
## 💰 **PROFIT-MAXIMIZING FEATURES**
### **📊 REAL-TIME STATUS DASHBOARD**
Never guess market conditions again! Live display shows:
- Current trend direction
- Signal state (BUY/SELL/EXIT/NONE)
- EMA alignment status
- Volume surge detection
- RSI level with color coding
- Anti-chop score (X/5)
- **Signal quality assessment**
### **🎨 CLEAN VISUAL SYSTEM**
- **Large, clear text labels** (no tiny arrows to miss)
- **Color-coded status panel** (optimized for white backgrounds)
- **Only long-term EMAs visible** (reduces chart clutter)
- **Smart sizing** (signals visible but not overwhelming)
### **🔔 BUILT-IN ALERTS**
Set and forget! Get notified instantly when:
- New BUY/SELL signals trigger
- EXIT signals protect your profits
- All confirmations align for high-probability setups
---
## 🏆 **WHY TRADERS CHOOSE THIS OVER EVERYTHING ELSE**
### ❌ **OTHER INDICATORS:**
- Give signals in every market condition
- Generate 50+ signals per day (analysis paralysis)
- No differentiation between high/low probability setups
- Leave you guessing about market structure
### ✅ **THIS SYSTEM:**
- **Selective Excellence** - Only 3-7 high-quality signals per week
- **Built-in Intelligence** - Automatically avoids choppy markets
- **Complete Transparency** - Shows you exactly why each signal triggers
- **Professional Grade** - Used by institutional-level confirmation methods
---
## 🎓 **PERFECT FOR:**
✅ **Swing Traders** - Clean entries on major trend moves
✅ **Day Traders** - High-probability intraday setups
✅ **Position Traders** - Long-term trend following
✅ **Beginners** - Clear, unambiguous signals with built-in education
✅ **Professionals** - Advanced filtering reduces noise, maximizes edge
---
## ⚡ **QUICK SETUP GUIDE**
1. **Add indicator to chart**
2. **Enable all default filters** (optimized settings included)
3. **Watch the status panel** - Wait for Chop Score ≥ 3/5
4. **Enter on BUY/SELL signals** - Exit on EXIT signals
5. **Profit from trending moves** while avoiding choppy losses!
---
## 🌟 **THE BOTTOM LINE**
**Stop fighting the market. Start trading WITH institutional-grade intelligence.**
This isn't just an indicator - it's your **competitive advantage** in a market where 90% of traders lose money due to poor timing and choppy market entries.
**Join the 10% who consistently profit by trading only when conditions are optimal.**
---
### 🔥 **"Finally, an indicator that thinks like a professional trader - selective, patient, and deadly accurate when it matters most."**
**Download now and experience the difference between trading signals and trading INTELLIGENCE.**
*Results may vary. Past performance does not guarantee future results. Always use proper risk management.*
Positional Toolbox v6 (distinct colors)what the lines mean (colors)
EMA20 (green) = fast trend
EMA50 (orange) = intermediate trend
EMA200 (purple, thicker) = primary trend
when the chart is “bullish” vs “bearish”
Bullish bias (look for buys):
EMA20 > EMA50 > EMA200 and EMA200 sloping up.
Bearish bias (avoid longs / consider exits):
EMA20 < EMA50 < EMA200 or price closing under EMA50/EMA200.
the two buy signals the script gives you
Pullback Long (triangle up)
Prints when price dips to EMA20 (green) and closes back above it while trend is bullish and ADX is decent.
Entry: buy on the same close or on a break of that candle’s high next day.
Stop: below the pullback swing-low (or below EMA50 for simplicity).
Best for: adding on an existing uptrend after a shallow dip.
Breakout 55D (“BO55” label)
Prints when price closes above prior 55-day high with volume surge in a bullish trend.
Entry: on the close that triggers, or next day above the breakout candle’s high.
Stop: below the breakout candle’s low (conservative: below base low).
Best for: fresh trend legs from bases.
simple “sell / exit” rules
Trend exit (clean & mechanical): exit if daily close < EMA50 (orange).
More conservative: only exit if close < EMA200 (purple).
Momentum fade / weak breakout: if BO55 triggers but price re-closes back inside the base within 1–3 sessions on above-avg volume → exit or cut size.
Profit taking: book some at +1.5R to +2R, trail the rest (e.g., below prior swing lows or EMA20).
quick visual checklist (what to look for)
Are the EMAs stacked up (green over orange over purple)? → ok to buy setups.
Did a triangle print near EMA20? → pullback long candidate.
Did a BO55 label print with strong volume? → breakout candidate.
Any close under EMA50 after you’re in? → reduce/exit.
timeframe
Use Daily for positional signals.
If you want a tighter entry, drop to 30m/1h only to time the trigger—but keep decisions anchored to the daily trend.
alerts to set (so you don’t miss signals)
Add alert on Breakout 55D and Pullback Long (from the indicator’s alertconditions).
Optional price alerts at the breakout level or EMA20 touch.
risk guardrails (MTF friendly)
Risk ≤1% of capital per trade.
Avoid fresh entries within ~5 trading days of earnings unless you accept gap risk.
Prefer high-liquidity NSE F&O names (your CSV watchlist covers this).
TL;DR (super short):
Green > Orange > Purple = uptrend.
Triangle near green = buy the pullback; stop under swing low/EMA50.
BO55 label = buy the breakout; stop under breakout candle/base.
Exit on close below EMA50 (or below EMA200 if you’re giving more room).