Larry Williams Donchian Breakout StrategyThis strategy is based on a breakout of the Donchian Channel with customizable risk-reward parameters and optional entry filters. It combines visual elements from the Donchian Channel indicator with a fully executable trading logic.
How entries are generated
A long trade is opened when the chosen signal price (either bar’s High or Close) closes above the upper Donchian Channel on each of the three previous bars.
A short trade is opened when the chosen signal price (either bar’s Low or Close) closes below the lower Donchian Channel on each of the three previous bars.
Both long and short signals can be configured to use either High/Low or Close values for confirmation.
Stop Loss and Take Profit
The Stop Loss is automatically placed relative to the Donchian middle line with a user-defined offset.
The Take Profit is calculated using a Risk/Reward multiplier.
Separate risk-reward ratios can be set for long and short positions.
Visual elements
The Donchian Channel (upper, lower, and middle bands) is plotted on the chart.
High-High, Higher-Low, Lower-High, and Lower-Low markers are displayed when pivot conditions are met.
Each trade is visualized with three horizontal lines drawn for a limited number of recent trades:
Entry (blue)
Stop Loss (red)
Take Profit (green)
To keep the chart clean, only the last ten trades (30 lines in total) remain visible.
Entry filters
Two optional filters are included and can be enabled or disabled independently:
LWTI filter – Long trades are only allowed when the Larry Williams Trade Index is green, and short trades are only allowed when the index is red.
Volume filter – Trades are only allowed when the current volume is above its 30-period SMA.
Use case
The strategy is designed to test Donchian Channel breakout conditions with risk management and simple filters. It can serve as a foundation for further development, allowing traders to experiment with additional filters or money management rules.
Disclaimer
This strategy is for educational and research purposes only. It is not financial advice. Always test thoroughly before using any strategy in live trading, and make trading decisions at your own risk.
רצועות וערוצים
Enhanced Chande Momentum OscillatorEnhanced Chande Momentum Oscillator (Enh CMO)
📊 Description
The Enhanced Chande Momentum Oscillator is an advanced version of the classic Chande Momentum Oscillator with dynamic envelope boundaries that automatically adapt to market volatility. This indicator provides clear visual signals for potential price reversals and momentum shifts.
Key Features:
Original Chande Momentum Oscillator calculation
Dynamic upper and lower boundaries based on statistical analysis
Adaptive envelope that adjusts to market volatility
Visual fill area between boundaries for easy interpretation
Real-time values table with current readings
Built-in alert conditions for boundary touches
Customizable moving average types (SMA, EMA, WMA)
⚙️ Settings
CMO Settings:
CMO Length (9): Period for calculating the base Chande Momentum Oscillator
Source (close): Price source for calculations
Envelope Settings:
Envelope Length (20): Lookback period for calculating the moving average and standard deviation
Envelope Multiplier (1.5): Multiplier for standard deviation to create upper/lower bounds
Moving Average Type (EMA): Type of moving average for envelope calculation
📈 How to Use
Visual Elements
Lines:
White Line: Main Chande Momentum Oscillator
Red Line: Upper boundary (resistance level)
Green Line: Lower boundary (support level)
Yellow Line: Moving average of CMO (trend direction)
Purple Fill: Visual envelope between boundaries
Reference Lines:
Zero Line: Neutral momentum level
+50/-50 Lines: Traditional overbought/oversold levels
Trading Signals
🔴 Sell/Short Signals
CMO touches or crosses above upper boundary → Potential bearish reversal
CMO is above +50 and declining → Weakening bullish momentum
CMO crosses below yellow MA line while above zero → Momentum shift
🟢 Buy/Long Signals
CMO touches or crosses below lower boundary → Potential bullish reversal
CMO is below -50 and rising → Weakening bearish momentum
CMO crosses above yellow MA line while below zero → Momentum shift
⚡ Advanced Signals
Boundary contraction → Decreasing volatility, potential breakout coming
Boundary expansion → High volatility period, use wider stops
CMO hugging upper boundary → Strong uptrend continuation
CMO hugging lower boundary → Strong downtrend continuation
🎯 Trading Strategies
Strategy 1: Reversal Trading
Wait for CMO to touch extreme boundaries (red or green lines)
Look for divergence with price action
Enter counter-trend position when CMO starts moving back toward center
Set stop beyond the boundary breach point
Take profit near zero line or opposite boundary
Strategy 2: Momentum Confirmation
Use CMO direction to confirm trend
Enter positions when CMO crosses above/below yellow MA line
Hold positions while CMO remains on the correct side of MA
Exit when CMO crosses back through MA line
Strategy 3: Volatility Breakout
Monitor boundary width (envelope expansion/contraction)
When boundaries contract significantly, prepare for breakout
Enter in direction of CMO breakout from narrow range
Use boundary expansion as confirmation signal
⚠️ Important Notes
Best Timeframes
Scalping: 1m, 5m charts
Day Trading: 15m, 30m, 1H charts
Swing Trading: 4H, Daily charts
Market Conditions
Trending Markets: Focus on momentum confirmation signals
Ranging Markets: Focus on boundary reversal signals
High Volatility: Increase envelope multiplier (1.8-2.5)
Low Volatility: Decrease envelope multiplier (1.0-1.3)
Risk Management
Always use stop losses beyond boundary levels
Reduce position size during boundary expansion periods
Combine with price action and support/resistance levels
Monitor the real-time table for precise entry/exit levels
🔔 Alerts
The indicator includes built-in alert conditions:
"CMO Above Upper Bound": Potential reversal down signal
"CMO Below Lower Bound": Potential reversal up signal
Set these alerts to catch opportunities without constantly monitoring charts.
💡 Tips for Success
Combine with other indicators: Use with RSI, MACD, or volume indicators for confirmation
Watch for divergences: CMO making new highs/lows while price doesn't follow
Use multiple timeframes: Check higher timeframe CMO for overall trend context
Adjust settings for different assets: Crypto may need different settings than forex
Paper trade first: Test the indicator with your trading style before using real money
🎨 Customization Tips
Change colors in the Pine Script to match your chart theme
Adjust envelope length for faster (shorter) or slower (longer) signals
Modify envelope multiplier based on asset volatility
Hide the table if it obstructs your view by commenting out the table section
Complete trading solution: Pair with the Optimus Indicator (paid indicator) for multi-timeframe trend analysis and trend signals.
Together they create a powerful confluence system for professional trading setups.
JDB MA Breakout IndicatorAll credit goes to JDB_Trading . Follow on X.
This indicator visualises one of his strategies.
1. Detecting the dominant moving average.
2. Price is supposed to be at least 70 candles below it for buy signals/40 above for sells.
3. detects break on dominant MA + BB 20,2.
4. Used on W & M timeframes.
5. alerts possible.
MACD COM PONTOS//@version=5
indicator(title="MACD COM PONTOS", shorttitle="MACD COM PONTOS")
//Plot Inputs
res = input.timeframe("", "Indicator TimeFrame")
fast_length = input.int(title="Fast Length", defval=12)
slow_length = input.int(title="Slow Length", defval=26)
src = input.source(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 999, defval = 9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options= )
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options= )
// Show Plots T/F
show_macd = input.bool(true, title="Show MACD Lines", group="Show Plots?", inline="SP10")
show_macd_LW = input.int(3, minval=0, maxval=5, title = "MACD Width", group="Show Plots?", inline="SP11")
show_signal_LW= input.int(2, minval=0, maxval=5, title = "Signal Width", group="Show Plots?", inline="SP11")
show_Hist = input.bool(true, title="Show Histogram", group="Show Plots?", inline="SP20")
show_hist_LW = input.int(5, minval=0, maxval=5, title = "-- Width", group="Show Plots?", inline="SP20")
show_trend = input.bool(true, title = "Show MACD Lines w/ Trend Color", group="Show Plots?", inline="SP30")
show_HB = input.bool(false, title="Show Highlight Price Bars", group="Show Plots?", inline="SP40")
show_cross = input.bool(false, title = "Show BackGround on Cross", group="Show Plots?", inline="SP50")
show_dots = input.bool(true, title = "Show Circle on Cross", group="Show Plots?", inline="SP60")
show_dots_LW = input.int(5, minval=0, maxval=5, title = "-- Width", group="Show Plots?", inline="SP60")
//show_trend = input(true, title = "Colors MACD Lines w/ Trend Color", group="Show Plots?", inline="SP5")
// MACD Lines colors
col_macd = input.color(#FF6D00, "MACD Line ", group="Color Settings", inline="CS1")
col_signal = input.color(#2962FF, "Signal Line ", group="Color Settings", inline="CS1")
col_trnd_Up = input.color(#4BAF4F, "Trend Up ", group="Color Settings", inline="CS2")
col_trnd_Dn = input.color(#B71D1C, "Trend Down ", group="Color Settings", inline="CS2")
// Histogram Colors
col_grow_above = input.color(#26A69A, "Above Grow", group="Histogram Colors", inline="Hist10")
col_fall_above = input.color(#B2DFDB, "Fall", group="Histogram Colors", inline="Hist10")
col_grow_below = input.color(#FF5252, "Below Grow", group="Histogram Colors",inline="Hist20")
col_fall_below = input.color(#FFCDD2, "Fall", group="Histogram Colors", inline="Hist20")
// Alerts T/F Inputs
alert_Long = input.bool(true, title = "MACD Cross Up", group = "Alerts", inline="Alert10")
alert_Short = input.bool(true, title = "MACD Cross Dn", group = "Alerts", inline="Alert10")
alert_Long_A = input.bool(false, title = "MACD Cross Up & > 0", group = "Alerts", inline="Alert20")
alert_Short_B = input.bool(false, title = "MACD Cross Dn & < 0", group = "Alerts", inline="Alert20")
// Calculating
fast_ma = request.security(syminfo.tickerid, res, sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length))
slow_ma = request.security(syminfo.tickerid, res, sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length))
macd = fast_ma - slow_ma
signal = request.security(syminfo.tickerid, res, sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length))
hist = macd - signal
// MACD Trend and Cross Up/Down conditions
trend_up = macd > signal
trend_dn = macd < signal
cross_UP = signal >= macd and signal < macd
cross_DN = signal <= macd and signal > macd
cross_UP_A = (signal >= macd and signal < macd) and macd > 0
cross_DN_B = (signal <= macd and signal > macd) and macd < 0
// Condition that changes Color of MACD Line if Show Trend is turned on..
trend_col = show_trend and trend_up ? col_trnd_Up : trend_up ? col_macd : show_trend and trend_dn ? col_trnd_Dn: trend_dn ? col_macd : na
//Var Statements for Histogram Color Change
var bool histA_IsUp = false
var bool histA_IsDown = false
var bool histB_IsDown = false
var bool histB_IsUp = false
histA_IsUp := hist == hist ? histA_IsUp : hist > hist and hist > 0
histA_IsDown := hist == hist ? histA_IsDown : hist < hist and hist > 0
histB_IsDown := hist == hist ? histB_IsDown : hist < hist and hist <= 0
histB_IsUp := hist == hist ? histB_IsUp : hist > hist and hist <= 0
hist_col = histA_IsUp ? col_grow_above : histA_IsDown ? col_fall_above : histB_IsDown ? col_grow_below : histB_IsUp ? col_fall_below :color.silver
// Plot Statements
//Background Color
bgcolor(show_cross and cross_UP ? col_trnd_Up : na, editable=false)
bgcolor(show_cross and cross_DN ? col_trnd_Dn : na, editable=false)
//Highlight Price Bars
barcolor(show_HB and trend_up ? col_trnd_Up : na, title="Trend Up", offset = 0, editable=false)
barcolor(show_HB and trend_dn ? col_trnd_Dn : na, title="Trend Dn", offset = 0, editable=false)
//Regular Plots
plot(show_Hist and hist ? hist : na, title="Histogram", style=plot.style_columns, color=color.new(hist_col ,0),linewidth=show_hist_LW)
plot(show_macd and signal ? signal : na, title="Signal", color=color.new(col_signal, 0), style=plot.style_line ,linewidth=show_signal_LW)
plot(show_macd and macd ? macd : na, title="MACD", color=color.new(trend_col, 0), style=plot.style_line ,linewidth=show_macd_LW)
hline(0, title="0 Line", color=color.new(color.gray, 0), linestyle=hline.style_dashed, linewidth=1, editable=false)
plot(show_dots and cross_UP ? macd : na, title="Dots", color=color.new(trend_col ,0), style=plot.style_circles, linewidth=show_dots_LW, editable=false)
plot(show_dots and cross_DN ? macd : na, title="Dots", color=color.new(trend_col ,0), style=plot.style_circles, linewidth=show_dots_LW, editable=false)
//Alerts
if alert_Long and cross_UP
alert("Symbol = (" + syminfo.tickerid + ") TimeFrame = (" + timeframe.period + ") Current Price (" + str.tostring(close) + ") MACD Crosses Up.", alert.freq_once_per_bar_close)
if alert_Short and cross_DN
alert("Symbol = (" + syminfo.tickerid + ") TimeFrame = (" + timeframe.period + ") Current Price (" + str.tostring(close) + ") MACD Crosses Down.", alert.freq_once_per_bar_close)
//Alerts - Stricter Condition - Only Alerts When MACD Crosses UP & MACD > 0 -- Crosses Down & MACD < 0
if alert_Long_A and cross_UP_A
alert("Symbol = (" + syminfo.tickerid + ") TimeFrame = (" + timeframe.period + ") Current Price (" + str.tostring(close) + ") MACD > 0 And Crosses Up.", alert.freq_once_per_bar_close)
if alert_Short_B and cross_DN_B
alert("Symbol = (" + syminfo.tickerid + ") TimeFrame = (" + timeframe.period + ") Current Price (" + str.tostring(close) + ") MACD < 0 And Crosses Down.", alert.freq_once_per_bar_close)
//End Code
VWAP Bollinger CrossBased on the crossover of the moving average and VWAP, this indicator can help you find a trend. It is not recommended to use it only for entries. Try it and I hope it can help you.
MACD Josh MACD Study — Visual Crossover Tags
Overview:
This script displays MACD signals in a clear, visual way by showing:
Histogram = EMA(Fast) − EMA(Slow)
Signal = EMA(Histogram, Signal Length)
It adds labels and arrows to help you see crossover events between the Histogram and the Signal line more easily.
⚠️ Disclaimer: This tool is for educational and research purposes only. It is not financial advice or an investment recommendation. Past performance does not guarantee future results. Users should make their own decisions and manage risk responsibly.
Features
Central Zero Line with Signal and Histogram plots
Optional labels/arrows to highlight Histogram–Signal crossovers
Alerts for crossover and crossunder events, integrated with TradingView’s alert system
Standard adjustable inputs: Fast EMA, Slow EMA, Signal EMA
How to Interpret (for study only)
When the Histogram crosses above the Signal, a visual label/arrow marks a positive MACD event
When the Histogram crosses below the Signal, a visual label/arrow marks a negative MACD event
The “BUY/SELL” labels are visual study tags only — they do not represent trade instructions or recommendations
Responsible Usage Tips
Test across multiple timeframes and different assets
Combine with higher-timeframe trend, support/resistance, or volume for confirmation
Use alerts with caution, and always test in a demo environment first
Technical Notes
The script does not use future data and does not repaint signals once bars are closed
Results depend on market conditions and may vary across assets and timeframes
License & Credits
Written in Pine Script® v5 for TradingView
The indicator name shown on chart is for labeling purposes only and carries no implication of advice or solicitation
TSLA Scalping Signals (Volume + RSI + MACD + VWAP)//@version=5
indicator("TSLA Scalping Signals (Volume + RSI + MACD + VWAP)", overlay=true, timeframe="", timeframe_gaps=true)
// =========================
// 사용자 입력(파라미터)
// =========================
// RSI 길이와 과매도/과매수 기준
rsiLen = input.int(5, "RSI 길이", minval=2)
rsiLow = input.int(35, "RSI 과매도 기준", minval=5, maxval=50)
rsiHigh = input.int(70, "RSI 과매수 기준", minval=50, maxval=95)
// MACD 파라미터
fastLen = input.int(12, "MACD Fast", minval=1)
slowLen = input.int(26, "MACD Slow", minval=2)
sigLen = input.int(9, "MACD Signal", minval=1)
// 거래량 스파이크 판단용
volSmaLen = input.int(20, "거래량 SMA 길이", minval=5)
volSpikeMult = input.float(1.5, "거래량 스파이크 배수", minval=0.5, step=0.1)
// 손절/익절(선택)
useStops = input.bool(true, "손절/익절 사용")
stopATRlen = input.int(14, "ATR 길이", minval=5)
stopATRmult = input.float(1.2, "손절 ATR 배수", minval=0.5, step=0.1)
tpRR = input.float(1.5, "익절 R 비율(손절의 배수)", minval=0.5, step=0.1)
// =========================
// 지표 계산부
// =========================
// VWAP: 단타 기준 핵심 추세선
vwap = ta.vwap(close)
// RSI(단기)
rsi = ta.rsi(close, rsiLen)
// MACD
macd = ta.ema(close, fastLen) - ta.ema(close, slowLen)
sig = ta.ema(macd, sigLen)
hist = macd - sig
// 거래량 스파이크: 현재 거래량이 거래량 SMA * 배수 이상인지
volSma = ta.sma(volume, volSmaLen)
volSpike = volume > volSma * volSpikeMult
// =========================
// 진입/청산 조건
// =========================
// 롱 진입 조건:
// 1) 가격 VWAP 위
// 2) MACD 상향 교차
// 3) RSI가 rsiLow 아래→위로 돌파
// 4) 거래량 스파이크
longCond = close > vwap and ta.crossover(macd, sig) and ta.crossover(rsi, rsiLow) and volSpike
// 롱 청산 조건(부분 청산/전체 청산 판단은 사용자 재량):
// A) RSI 과매수 도달, 또는
// B) MACD 하향 교차, 또는
// C) 가격이 VWAP 아래로 종가 이탈하면서 거래량 약화(현재 거래량 < volSma)
exitCond = (rsi > rsiHigh) or ta.crossunder(macd, sig) or (close < vwap and volume < volSma)
// =========================
// 시각적 표시
// =========================
plot(vwap, "VWAP", linewidth=2)
plotshape(longCond, title="BUY", style=shape.labelup, text="BUY", location=location.belowbar, size=size.tiny)
plotshape(exitCond, title="SELL", style=shape.labeldown, text="SELL", location=location.abovebar, size=size.tiny)
// 보조 하단창: RSI, MACD는 별도 패널이 일반적이므로 값만 툴팁용 표시
// (원하면 아래 plot들을 꺼도 됨)
rsiPlot = plot(rsi, title="RSI(단기)", color=color.new(color.blue, 0), display=display.none)
h1 = hline(rsiLow, "RSI 과매도", color=color.new(color.teal, 50))
h2 = hline(rsiHigh, "RSI 과매수", color=color.new(color.red, 50))
// =========================
// 간단 손절/익절 레벨(선택)
// =========================
// 매수 발생 바의 가격을 기준으로 ATR 손절/익절 레벨 산출
atr = ta.atr(stopATRlen)
var float entryPrice = na
var float stopPrice = na
var float takePrice = na
// 롱 진입 시 가격 고정
if (longCond)
entryPrice := close
stopPrice := useStops ? (close - atr * stopATRmult) : na
takePrice := useStops ? (close + (close - stopPrice) * tpRR) : na
// 청산 신호 시 초기화
if (exitCond)
entryPrice := na
stopPrice := na
takePrice := na
plot(entryPrice, "Entry", color=color.new(color.green, 60), style=plot.style_circles, linewidth=2)
plot(stopPrice, "Stop", color=color.new(color.red, 60), style=plot.style_linebr, linewidth=2)
plot(takePrice, "Take", color=color.new(color.blue, 60), style=plot.style_linebr, linewidth=2)
// =========================
// 알림 조건
// =========================
alertcondition(longCond, title="BUY Signal", message="BUY signal: VWAP↑, MACD cross↑, RSI cross↑, Volume spike.")
alertcondition(exitCond, title="SELL Signal", message="SELL signal: RSI high or MACD cross↓ or below VWAP with weak volume.")
Bollinger Band Oscillator v2 (Different between lower and upper)📌 Description
Bollinger Band Width Oscillator with MACD-style Histogram
This indicator visualizes the Bollinger Band Width as a slope-colored line and adds a MACD-style histogram to highlight momentum shifts in volatility.
Features
BB Width Line: Measures the distance between the upper and lower Bollinger Bands. The line changes color based on slope:
• Green → expanding width
• Red → contracting width
Signal Line: A moving average of the BB Width for smoother analysis.
MACD-style Histogram: Plots the difference between the BB Width and the Signal line with 4 distinct colors:
• Above 0 & rising → #26A69A
• Above 0 & falling → #B2DFDB
• Below 0 & falling → #FF5252
• Below 0 & rising → #FFCDD2
How to Use
Identify squeeze phases (low width) which often precede strong breakouts.
Use the histogram like MACD momentum to see whether volatility expansion is accelerating or fading.
Combine with trend or price action signals for confirmation and better timing.
OR with 25-75 levelsOpening Range with 25-75 levels added. This is a brief mod of the original author
Premier Stochastic Oscillator [LazyBear, V2]This script builds on the well-known Premier Stochastic Oscillator (PSO) originally introduced by LazyBear, and adds a Z-Score extension to provide statistical interpretation of momentum extremes.
Features
Premier Stochastic Core: A smoothed stochastic calculation that highlights bullish and bearish momentum phases.
Z-Score Mapping: The PSO values are standardized into Z-Scores (from –3 to +3), quantifying the degree of momentum stretch.
Positive / Negative Z-Scores:
Positive Z values suggest momentum strength that can align with accumulation or favorable buying conditions.
Negative Z values indicate stronger bearish pressure, often aligning with selling or distribution conditions.
On-Chart Label: The current Z-Score is displayed on the latest bar for quick reference.
How to Use
Momentum Confirmation: Use the oscillator to confirm whether bullish or bearish momentum is intensifying.
Overextended Conditions: Extreme Z-Scores (±2 or beyond) highlight statistically stretched conditions, often preceding reversions.
Strategic Integration: Best applied in confluence with trend tools or higher-timeframe filters; not a standalone trading signal.
Originality
Unlike the standard PSO, this version:
Adds a Z-Score framework for objective statistical scaling.
Provides real-time labeling of Z values for clarity.
Extends the classic oscillator into a tool for both momentum detection and mean-reversion context.
WaveMacBollI wanted to see the two indicators in the candle chart, not in a separate window. And within the Bollinger band, it seemed to put it fine.
Important Note on Line Styles
Due to TradingView's multi-timeframe environment restrictions (timeframe = '', timeframe_gaps = true), I couldn't implement dotted or dashed line styles programmatically. The indicator uses solid lines by default.
If you prefer dotted/dashed lines for better visual distinction:
Add the indicator to your chart
Click on the indicator settings (gear icon)
Go to "Style" tab
Manually change line styles for each plot
Unfortunately, PineScript doesn't support line.new() or similar drawing functions in multi-timeframe mode, limiting our styling options to basic plot styles.
If you know a good solution for implementing dotted/dashed lines in multi-timeframe indicators without using drawing objects, please share it in the comments! I'd love to improve this aspect of the indicator
Log Reg Channel-Trend w/ribbon color change alert [BigBeluga] This should give you an alert when the ribbon changes from red to green and visa versa.
alangari EMA Crossoverإذا كان عندك متوسطين متحركين أسيين (EMA) بفترات مختلفة (مثلاً 10 و 21).
التقاطع الصاعد (Bullish Crossover): لما الـ EMA القصير (10) يقطع الـ EMA الطويل (21) من تحت لفوق → إشارة شراء.
التقاطع الهابط (Bearish Crossover): لما الـ EMA القصير يقطع الطويل من فوق لتحت → إشارة بيع.
Exponential Moving Averages (EMA) Crossover
An EMA crossover strategy uses two exponential moving averages with different periods (e.g., a fast EMA and a slow EMA).
Bullish Crossover: Occurs when the fast EMA crosses above the slow EMA, often interpreted as a buy signal indicating upward momentum.
Bearish Crossover: Occurs when the fast EMA crosses below the slow EMA, often interpreted as a sell signal indicating downward momentum.
This technique helps traders identify trend reversals and confirm the strength or weakness of the current price direction.
MMA Ribbon Opening SystemMMA Ribbon Opening System
The MMA Ribbon Opening System is designed to identify major trend peaks and bottoms by analyzing the behavior of a multi-moving-average (MMA) ribbon in combination with trend confirmation filters.
Core Logic
Ribbon Compression & Expansion – Detects when the moving average ribbon is tightly compressed (low volatility) and when it begins to open (momentum building).
Directional Bias – Classifies the ribbon as bullish (green) or bearish (red) based on the relative position of fast MAs to the 20-period MA.
Peak & Bottom Signals – Generates potential PEAK (trend exhaustion tops) or BTM (trend exhaustion bottoms) signals when ribbon expansion coincides with specific slope and price conditions.
MA20 Slope Filter – Uses the slope of the 20-period moving average to confirm steep uptrends, downtrends, or turning points and avoid false reversals.
RSI Filter – Applies RSI overbought/oversold zones as a secondary confirmation to reduce noise.
Enhanced Detection Mode – Prevents premature signals during strong trends by requiring contraction and limiting the number of ascending/descending MAs.
Features
Customizable thresholds for ribbon compression, expansion, and MA20 slope strength.
Signal lockout system to prevent rapid flip-flopping.
Visual ribbon plots with color-coded direction and background states (compressed, opening, max width, strong trend).
Clear PEAK and BTM markers on chart.
Info panel showing ribbon status, trend strength, MA20 slope, RSI, and readiness of signals.
Alert conditions for both Peak and Bottom events.
Use Case
This tool helps traders spot where a trend may be exhausting and a reversal is likely by combining ribbon structure with momentum filters. It works across assets and timeframes, and is especially useful for highlighting major turning points rather than every small fluctuation.
15m-REMA Breakout [XAU + XAG] – MusDescription
This indicator is designed to capture high-conviction breakout opportunities on gold (XAUUSD) and silver (XAGUSD) using a zero-lag Recursive EMA (REMA) as the trend backbone, combined with volatility and body-strength filters.
It is tuned for the 15-minute timeframe, where metals often show sharp moves after consolidation.
How it works
Zero-Lag REMA → Smooth but responsive trend detection.
ATR-based Breakout Filter → Confirms that price clears recent highs/lows with volatility support.
Body Size & Buffer Rules → Blocks weak candles and fake breaks near range levels.
Trend Filter (optional) → Only allows signals in the dominant REMA slope direction.
De-duplication Logic → Avoids repeated signals on consecutive bars.
Signals
Green ▲ (Bull Breakout): Candle breaks above recent range with strength.
Red ▼ (Bear Breakout): Candle breaks below recent range with strength.
Optional Pivots: Micro pivot highs/lows for additional context.
REMA Line: Plotted in teal (uptrend) or orange (downtrend).
Inputs / Customisation
REMA period & sensitivity.
ATR lookback and multiplier.
Minimum candle body (%).
Buffer multiplier to reduce noise.
Trend filter on/off.
Toggle arrows & pivot markers.
Best Practice
Apply on XAUUSD / XAGUSD, 15-minute charts.
Use as a confirmation tool, not a standalone entry system.
Combine with higher-timeframe bias or your own risk management.
Alerts
Built-in alert conditions let you set automated notifications for bullish or bearish breakouts at bar close.
Disclaimer
This script is for educational purposes only. It does not constitute financial advice. Always test on demo before applying to live trading.
Yearly VWAP with Z-Score V2This script extends the traditional Volume Weighted Average Price (VWAP) by applying it to yearly sessions (with a customizable start month) and combining it with a Z-Score framework to standardize price deviations from VWAP.
Features
Yearly VWAP: Automatically resets at the selected month, making it possible to align VWAP with fiscal or seasonal cycles (e.g., June–May).
Volatility-Weighted Bands: Standard deviation is calculated using volume-weighted price variance, creating adaptive upper and lower bands around VWAP.
Z-Score Calculation: Converts price distance from VWAP into standardized scores, ranging from +2.5 to –2.5. This enables statistical interpretation of whether price is trading at fair value, extended, or oversold relative to VWAP.
Custom Session Control: Input allows users to change the yearly anchor month.
On-Chart Display: VWAP and bands are plotted, with a live Z-Score label shown on the latest bar.
How to Use
Fair Value Reference: VWAP reflects the average price weighted by volume over the yearly session — a natural equilibrium point.
Overbought / Oversold Detection: Extreme Z-Score readings (±2 or beyond) highlight when price is stretched relative to VWAP.
Cycle Analysis: Resetting VWAP by custom months allows studying market behavior over fiscal years, seasons, or custom trading cycles.
Part of a Broader Toolkit: This script is not a standalone trading system. It works best when aggregated with other indicators, confluence factors, or a structured strategy.
Originality
Unlike a standard VWAP, this version:
Uses yearly anchoring with custom start month instead of session/day anchoring.
Adds volume-weighted standard deviation bands for statistical context.
Translates distance into a Z-Score scale for objective overbought/oversold assessment.
Positive Z-Score values indicate zones where price is positioned favorably for accumulation or potential buys, while negative values highlight areas more suitable for distribution or profit-taking — always best used in confluence with other tools rather than as a standalone signal
PORSCHEThe PORSCHE indicator is a combined, all-in-one Pine v5 tool for intraday and swing traders. It merges a Full Combo suite (EMA clouds, EMA band, Hull moving-average bands, UT Bot signals and a Swing High/Low detector) with Traders Reality features (yesterday/last-week high & low, PVSRA vector candles and configurable Vector Candle Zones). At the end it also adds a Sessions module that plots Asia, Sydney, Tokyo, Shanghai, Europe/London, New York and NYSE session boxes and an information table. All original inputs, styles and alert conditions are preserved. Ideal for traders who want a multi-feature overlay to identify trend direction, high-probability zones, session structure and key swing levels — but note it draws many graphics and zones so it can be resource-heavy on lower-spec setups or very long histories.
Volatility Grid → Right LinesMakes it easier to visualize the volatility of any asset by drawing lines in the chart at variable distances
EMAs 20/50/100/200 + SMAs 50/100/200This indicator plots key exponential and simple moving averages to help identify trend direction and momentum. It includes the 20, 50, 100, and 200 EMAs alongside the 50, 100, and 200 SMAs. Each line can be toggled on or off, making it flexible for different trading styles. EMAs provide faster trend responsiveness, while SMAs smooth out longer-term price action. Together, they give a comprehensive view of both short- and long-term market structure.
Bollinger Bands (Log Scale)📈 Bollinger Bands on log scale are broken.
Many traders use log charts for better price symmetry—but still apply Bollinger Bands calculated on linear price. That mismatch creates distorted signals.
Here’s what I found:
- Standard deviation becomes misleading on log scale
- Band width no longer reflects true volatility
- Breakout signals lose behavioral clarity
🛠 So I rewrote the logic.
My version calculates Bollinger Bands using log(price) for both mean and deviation, then maps the result back to price. It behaves correctly on log charts and aligns better with behavioral scoring.
TF-Gated CCI+ConsCount+Vol S/R —Signal (v2.6-cci-ascdesc)This scrip take trade on turning of cci after considering valet of CM_Total consec and volume based S/R
TF-Gated CCI x MA + ConsCount + Vol S/R — Signal (v2.6)This is a strategy based on 3 indicators with a view of predicting price of the market in the next 1.5-7.5 minutes depending on the chart you are using. it is best suitable to use with brokers like Tickz.