Adjustable EMA Crossover with Signals3 Adjustable Ema's with crossover. These are used for identifying a trend and help with entry and exit signals.
Cari dalam skrip untuk "博时黄金ETF联接C基金同类基金的最大回撤率、波动率、夏普比率对比数据"
Gabriel's MPT Moving Average RibbonGabriel's MPT Moving Average Ribbon is a cutting-edge, risk-adjusted technical analysis tool that fuses Modern Portfolio Theory (MPT) with adaptive moving average logic to dynamically guide market participants through bullish and bearish conditions.
This ribbon is not a simple MA crossover — it leverages Sharpe Ratio, Sortino Ratio, Omega Ratio, and Value at Risk (VaR) to scale and smooth each moving average using real-time probabilistic efficiency metrics. Combined, these elements create a volatility-weighted, risk-optimized visualization of market structure.
🔍 Core Features:
Multi-Ratio Adaptive Scaling: Moving averages are dynamically weighted by Omega Ratio, Sortino Stdev, Sharpe Winrate, and VaR conditions for smarter price tracking.
Volatility Engine: Supports multiple return models:
Close-to-Close
Parkinson
Garman-Klass
Rogers–Satchell
Yang–Zhang (default for highest accuracy)
Smart Ribbon Construction:
Blends 3 different MA types per ribbon (e.g., SMA, EMA, WMA) for each of the 4 ribbons
Supports WMA-style dynamic weighting using MPT-derived ratios
Sharpe Winrate Estimation: Uses CDF logic to project the probability of success given current Sharpe ratio.
Dynamic Risk Phase Detection (VaR):
Identifies Risk On, Risk Off, or Neutral states using a triple-model composite VaR framework.
🛎️ Alerts Included:
📈 Bullish Crossover Alert: MA #1 crossing above MA #2 with all ribbons aligned upward.
📉 Bearish Crossunder Alert: MA #1 crossing below MA #2 with all ribbons aligned downward.
📊 Omega Ratio Alert: Triggered when Omega exceeds 1 (profitable risk-adjusted reward).
⚠️ Omega Caution Alert: Triggered when Omega drops below 1.
🟢 Risk On Alert: Market enters a favorable, low-risk zone. Deep Value Zone for Long-Term Investing.
🔴 Risk Off Alert: Market enters a cautionary, high-risk phase.
🎯 Use Cases:
Trend Identification: MA ribbon alignment indicates momentum phases.
Risk-Tuned Entries/Exits: Combine ribbon crossovers with VaR/Ratio signals for confirmation.
Institutional Strategy Overlay: Ideal for portfolio managers integrating risk-adjusted technical overlays.
🧠 Pro Tips:
Use "Complete" mode for the most robust risk signal, as it blends Historical, EWMA, and Variance-Covariance ratios.
Customize each MA’s type and length to match your trading horizon (e.g., intraday, swing).
Toggle Ratios Weighted MA for adaptive weighting when market risk fluctuates.
It's set to the settings I use to trade, from MA settings to MPT table. It goes in order: Sharpe Est. Winrate, Deviation of Sortino, Omega Ratio (1 Year), and the Ideal position size according to VaR.
Adjustable EMA Crossover with Signals2 adjustable ema's with a crossover signal. This is to be used for trend identification along with entry and exit signals.
Intra-bar Close/Open Gap [YuL]Just checking one idea: look at gaps between close and open bars on lower timeframe to try to estimate how much slippage exists there that may be a result of buying or selling pressure.
Perhaps it only useful in real time to see if situation of the current bar is changing.
Open to ideas and suggestions.
ATR & SMA Info Table (v6)An indicator that displays ATR data with percentage change and moving average including stock name and time frame
All SMAs Bullish/Bearish Screener (Enhanced)All SMAs Bullish/Bearish Screener Enhanced: Uncover High-Conviction Trend Alignments with Confidence
Description:
Are you ready to elevate your trading from mere guesswork to precise, data-driven decisions? The "All SMAs Bullish/Bearish Screener Enhanced" is not just another indicator; it's a sophisticated, yet user-friendly, trend-following powerhouse designed to cut through market noise and pinpoint high-probability trading opportunities. Built on the foundational strength of comprehensive Moving Average confluence and fortified with critical confirmation signals from Momentum, Volume, and Relative Strength, this script empowers you to identify truly robust trends and manage your trades with unparalleled clarity.
The Power of Multi-Factor Confluence: Beyond Simple Averages
In the unpredictable world of financial markets, true strength or weakness is rarely an isolated event. It's the harmonious alignment of multiple technical factors that signals a high-conviction move. While our original "All SMAs Bullish/Bearish Screener" intelligently identified stocks where price was consistently above or below a full spectrum of Simple Moving Averages (5, 10, 20, 50, 100, 200), this Enhanced version takes it a crucial step further.
We've integrated a powerful three-pronged confirmation system to filter out weaker signals and highlight only the most compelling setups:
Momentum (Rate of Change - ROC): A strong trend isn't just about price direction; it's about the speed and intensity of that movement. Positive momentum confirms that buyers are still aggressively pushing price higher (for bullish signals), while negative momentum validates selling pressure (for bearish signals).
Volume: No trend is truly trustworthy without the backing of smart money. Above-average volume accompanying an "All SMAs" alignment signifies strong institutional participation and conviction behind the move. It separates genuine trend starts from speculative whims.
Relative Strength Index (RSI): This versatile oscillator ensures the trend isn't just "there," but that it's developing healthily. We use RSI to confirm a bullish bias (above 50) or a bearish bias (below 50), adding another layer of confidence to the direction.
When the price aligns above ALL six critical SMAs, and is simultaneously confirmed by robust positive momentum, healthy volume, and a bullish RSI bias, you have an exceptionally strong "STRONGLY BULLISH" signal. This confluence often precedes sustained upward moves, signaling prime accumulation phases. Conversely, a "STRONGLY BEARISH" signal, where price is below ALL SMAs with negative momentum, confirming volume, and a bearish RSI bias, indicates powerful distribution and potential for significant downside.
How to Use This Enhanced Screener:
Add to Chart: Go to TradingView's Pine Editor, paste the script, and click "Add to Chart."
Customize Parameters: Fine-tune the lengths of your SMAs, RSI, Momentum, and Volume averages via the indicator's settings. Experiment to find what best suits your trading style and the assets you trade.
Choose Your Timeframe Wisely:
Daily (1D) and 4-Hour (240 min) are highly recommended. These timeframes cut through intraday noise and provide more reliable, actionable signals for swing and position trading.
Shorter timeframes (e.g., 15min, 60min) can be used by advanced day traders for very short-term entries, but be aware of increased volatility and noise.
Visual Confirmation:
Green/Red Triangles: Appear on your chart, indicating confirmed bullish or bearish signals.
Background Color: The chart background will subtly turn lime green for "STRONGLY BULLISH" and red for "STRONGLY BEARISH" conditions.
On-Chart Status Table: A clear table displays the current signal status ("STRONGLY BULLISH/BEARISH," or "SMAs Mixed") for immediate feedback.
Set Up Alerts (Your Primary Screener Tool): This is the game-changer! Create custom alerts on TradingView based on the "Confirmed Bullish Trade" and "Confirmed Bearish Trade" conditions. Receive instant notifications (email, pop-up, mobile) for any stock in your watchlist that meets these stringent criteria. This allows you to scan the entire market effortlessly and act decisively.
Strategic Stop-Loss Placement: The Trader's Lifeline
Even the most robust signals can fail. Protecting your capital is paramount. For this trend-following strategy, your stop-loss should be placed where the underlying trend structure is broken.
For a "STRONGLY BULLISH" Trade: Place your stop-loss just below the most recent significant swing low (higher low). This is the last point where buyers stepped in to support the price. If price breaks below this, your bullish thesis is invalidated.
For a "STRONGLY BEARISH" Trade: Place your stop-loss just above the most recent significant swing high (lower high). If price breaks above this, your bearish thesis is invalidated.
Alternatively, consider placing your stop-loss just below the 20-period SMA (for bullish trades) or above the 20-period SMA (for bearish trades). A significant close beyond this intermediate-term average often indicates a critical shift in momentum. Always ensure your chosen stop-loss adheres to your pre-defined risk per trade (e.g., 1-2% of capital).
Disciplined Profit Booking: Maximizing Gains
Just as important as knowing when you're wrong is knowing when to take profits.
Trailing Stop-Loss: As your trade moves into profit, trail your stop-loss upwards (for longs) or downwards (for shorts). You can trail it using:
Previous Swing Lows/Highs: Move your stop to just below each new higher low (for longs) or just above each new lower high (for shorts).
A Moving Average (e.g., 10-period or 20-period SMA): If price closes below your chosen trailing SMA, exit. This allows you to ride the trend while protecting accumulated profits.
Target Levels: Identify potential resistance levels (for longs) or support levels (for shorts) using pivot points, previous highs/lows, or Fibonacci extensions. Consider taking partial profits at these levels and letting the rest run with a trailing stop.
Loss of Confluence: If the "STRONGLY BULLISH/BEARISH" condition ceases to be met (e.g., RSI crosses below 50, or volume drops significantly), this can be a signal to reduce or exit your position, even if your stop-loss hasn't been hit.
The "All SMAs Bullish/Bearish Screener Enhanced" is your comprehensive partner in navigating the markets. By combining robust trend identification with critical confirmation signals and disciplined risk management, you're equipped to make smarter, more confident trading decisions. Add it to your favorites and unlock a new level of precision in your trading journey!
#PineScript #TradingView #SMA #MovingAverage #TrendFollowing #StockScreener #TechnicalAnalysis #Bullish #Bearish #QQQ #Momentum #Volume #RSI #SPY #TradingStrategy #Enhanced #Signals #Analysis #DayTrading #SwingTrading
RSI-BBGun-v6.1RSI BB Gun – Operator's Guide
“Eyes on target. Wait for the right moment. Then strike.”
________________________________________
🎯 Mission Objective
RSI BB Gun identifies extreme market conditions using RSI and Bollinger Bands, then overlays trend and volatility intelligence so you know when the setup is real.
The ❌ is your target acquisition signal—price just moved from an extreme zone back into play. Now you’ve got a clean radar lock.
________________________________________
📡 How to Operate
🟣 Step 1: Watch for the ❌'s (Black X = RSI & Bollinger Band Extremes Encountered)
• The Purple X means price and RSI are both stretched—and just snapped back into range.
• The target is now in the cross hairs and potentially ready for engagement.
🟥 Step 2: Confirm the Trend
• The thick ribbon tells you if the trend is with you:
o 🟢 Green = Uptrend. Focus on long setups.
o 🔴 Red = Downtrend. Focus on puts or short plays.
• Align with trend. Only engage when the field favors your position.
🔺 Step 3: Evaluate Signal Context
• Green Triangles = price just crossed below lower Bollinger Band (oversold).
• Red Triangles = price crossed above upper Band (overbought).
• Horizontal Lines Disappeared = The bar after the green or red horizontal line disappears means its time. We patiently wait for this as it means the momentum may be changing.
• These are your early indicators—they scout the setup on the GO / NO GO DECISION.
• ❌ + triangle + trend = clean shot.
________________________________________
☁️ Avoid These Situations
• ❌ in a choppy/no-trend zone = false alarm. Don’t engage.
• Repeated black ❌s without a purple ❌confirmation = low conviction. Let it go.
________________________________________
________________________________________
🪖 Operator's Mindset
“You don’t chase trades. You stalk them. When the ❌ flashes, the system has found a target. What you do next is up to your discipline, your tools, and your plan.”
________________________________________
Note: This is a free version. Upcoming paid version includes multi-timeframes working together. Multiple strategies. Volatility meter. Make money and master the BB Gun so that you can elevate to the Snipers weapon.
🔒 Want More Firepower?
Upgraded version coming soon. Unlocks next-gen targeting tools:
• Multi-timeframe RSI intelligence in a live dashboard
• Precision-timed combo signals based on layered volatility + RSI logic
• Advanced trend filters, trade zone overlays, and sniper-level entry indicators
• Ideal for swing traders and options strategists who want clarity under pressure
💥 Budget-friendly. No subscription. Upgrade when you're ready to go Pro.
Tip: Make 4+ trades mastering this setup. Then use a small portion of the trades to gain more features. Always be in a position you cannot lose.
🆚 Why This Beats Standard RSI/BB Tools
Mission Feature Basic Indicators RSI Ribbon Lite
Trend Confirmation ❌ ✅ Ribbon Overlay
Multi-Timeframe Awareness ❌ ✅ 5-Timeframe RSI Grid
Volatility Confirmation ❌ ✅ Weighted ATR Scoring
Combo Signal Alerts ❌ ✅ ❌ Reentry Combo Alerts
TradingView Alerts ❌ ✅ Built-In Radar Ping
#rsi #bb #bollingerbands #hull ma #trend
Dual SMA/EMA Strategy with Alerts200 SMA 9/21 EMA with EMA Golden Crossover warning. Helps with detecting when a GoldenCross has been triggered.
NFP RangesThis simple indicator will mark the high and low prices during NFP days. You an choose how many NFP days you want to go back and a gradient to use for the levels.
The NFP dates are hard coded from 2023 through 2029. If this script survives past 2029, it should be simple to add more dates.
First 15 Min High/Low//@version=5
indicator("First 15 Min High/Low", overlay=true)
// Define the session start time (adjust according to your market)
startHour = 9
startMinute = 30
endMinute = startMinute + 15
// Track the first 15 minutes of the day
isFirst15 = (hour == startHour and minute >= startMinute and minute < endMinute)
// New day logic
newDay = ta.change(time("D"))
// Hold values
var float first15High = na
var float first15Low = na
var bool isLocked = false
// Capture high/low during first 15 min
if newDay
first15High := na
first15Low := na
isLocked := false
if isFirst15 and not isLocked
first15High := na(first15High) ? high : math.max(high, first15High)
first15Low := na(first15Low) ? low : math.min(low, first15Low)
if not isFirst15 and not isLocked and not na(first15High) and not na(first15Low)
isLocked := true
// Plot
plot(isLocked ? first15High : na, title="First 15 Min High", color=color.green, linewidth=2, style=plot.style_line)
plot(isLocked ? first15Low : na, title="First 15 Min Low", color=color.red, linewidth=2, style=plot.style_line)
Trend-Following Colored Bars w/ SignalsTheTechnicalTraders trendfollowing
Easy way to follow the trend.
EMA 50/75/120 Golden & Death Cross Strategyuy: When all EMAs are aligned in golden cross order.
Sell: When all EMAs are aligned in death cross order.
Color Coding:
Green: All EMAs rising
Red: All EMAs falling
Gray: Mixed movement
RSI Overbought ScannerRSI Overbought Scanner
Description
The RSI Overbought Scanner is a Pine Script indicator designed to identify potential overbought conditions across multiple timeframes (1-minute, 5-minute, and 15-minute) using the Relative Strength Index (RSI). This tool is ideal for traders looking to spot stocks or assets that may be overextended to the upside, potentially signaling a reversal or pullback opportunity.
Key Features
Multi-Timeframe Analysis: Evaluates RSI on 1m, 5m, and 15m timeframes to confirm overbought conditions (RSI > 70).
Visual Output: Plots a binary result (1 for overbought, 0 otherwise) for easy integration with TradingView's screener.
Debugging Table: Displays a table in the top-right corner showing RSI values and overbought status for each timeframe, with color-coded indicators (red for overbought, green for not overbought).
Alert Integration: Includes an alert condition that triggers when all three timeframes are overbought, providing a customizable message with the ticker symbol.
How It Works
RSI Calculation: Computes RSI with a default length of 14 for the 1m timeframe and retrieves RSI values for 5m and 15m timeframes using request.security.
Overbought Condition: Checks if RSI exceeds 70 on all three timeframes.
Output: Plots a value of 1 when all conditions are met, otherwise 0. A table updates on the last confirmed bar to show RSI values and overbought status.
Alerts: Triggers an alert when all timeframes are overbought, notifying users of potential trading opportunities.
Usage
Add the indicator to your chart and use it with TradingView's screener to filter assets meeting the overbought criteria.
Customize the RSI length or overbought level (default 70) in the indicator settings to suit your trading strategy.
Set up alerts to receive notifications when the overbought condition is met across all timeframes.
Notes
This script is written in Pine Script v6.
Best used in conjunction with other technical analysis tools to confirm signals.
The table is for debugging and visual confirmation, updating only on the last confirmed bar to avoid performance issues.
TTM Squeeze Value OscillatorThis indicator is specifically designed for use with TradingView's Stock Screener, not for chart analysis. It provides numerical values and binary signals that allow traders to efficiently scan stocks for specific TTM Squeeze conditions, momentum patterns, and EMA alignments.
What It Does
The TTM Squeeze Value Oscillator converts the popular TTM Squeeze indicator into a screenable format by outputting specific numerical values and binary signals (1 or 0) that can be filtered in TradingView's screener tool.
Key Features
1. TTM Squeeze Compression Levels
Value 0: Low Compression (Black) - Bollinger Bands inside outer Keltner Channels
Value 1: Mid Compression (Red) - Bollinger Bands inside middle Keltner Channels
Value 2: High Compression (Orange) - Bollinger Bands inside inner Keltner Channels
Value 3: Squeeze Fired (Green) - Bollinger Bands outside Keltner Channels
2. Momentum Analysis
Four distinct momentum conditions based on TTM Squeeze methodology:
Buy Momentum Increasing - Positive momentum growing stronger
Buy Momentum Decreasing - Positive momentum weakening
Sell Momentum Increasing - Negative momentum growing stronger
Sell Momentum Decreasing - Negative momentum weakening
3. EMA Stacking Analysis
Three EMA alignment patterns using 8, 21, and 48 period EMAs:
EMA Stacked Bullish - 8 EMA > 21 EMA > 48 EMA (uptrend alignment)
EMA Stacked Bearish - 8 EMA < 21 EMA < 48 EMA (downtrend alignment)
EMA Mixed - EMAs not in clear bullish or bearish alignment
4. Consecutive Day Counters
Tracks how many consecutive days each squeeze condition has persisted:
Low Compression Days
Mid Compression Days
High Compression Days
Squeeze Fired Days
5. Combined Signal Analysis
Pre-calculated combinations of squeeze conditions with momentum:
All squeeze levels combined with all four momentum conditions
16 total combined signals for advanced screening
SMA/EMA Cross SignalFor short-term swing traders (such as I am) this is a simple indicator that plots 2 moving average lines of your choice, the SMA and EMA to the screen and has built in buy/sell signal when they cross.
I personally use this when price action is above the 50 SMA. The default setting (5SMA/10EMA) is what I use and has been working for me as long price action is above the 50 SMA.
Features:
1) Alerts are triggered when SMA (Signal line) and the EMA (Baseline) cross - a Long signal is called if the cross is above the EMA, a exit if the cross is below EMA
2) Signals are represented visually on the chart, below the candles is a long, above is a short.
Good luck!
Close Above Prev High / Below Prev LowIdentifies candles that close above the previous candle's high (bullish) and candles that close below the previous candle's low (bearish). Helps with decisions for entry and exit.
Zero Lag Trend Signals (MTF) [AlgoAlpha]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © AlgoAlpha
//@version=5
indicator("Zero Lag Trend Signals (MTF) ", shorttitle="AlgoAlpha - 0️⃣Zero Lag Signals", overlay=true)
length = input.int(70, "Length", tooltip = "The Look-Back window for the Zero-Lag EMA calculations", group = "Main Calculations")
mult = input.float(1.2, "Band Multiplier", tooltip = "This value controls the thickness of the bands, a larger value makes the indicato less noisy", group = "Main Calculations")
t1 = input.timeframe("5", "Time frame 1", group = "Extra Timeframes")
t2 = input.timeframe("15", "Time frame 2", group = "Extra Timeframes")
t3 = input.timeframe("60", "Time frame 3", group = "Extra Timeframes")
t4 = input.timeframe("240", "Time frame 4", group = "Extra Timeframes")
t5 = input.timeframe("1D", "Time frame 5", group = "Extra Timeframes")
green = input.color(#00ffbb, "Bullish Color", group = "Appearance")
red = input.color(#ff1100, "Bearish Color", group = "Appearance")
src = close
lag = math.floor((length - 1) / 2)
zlema = ta.ema(src + (src - src ), length)
volatility = ta.highest(ta.atr(length), length*3) * mult
var trend = 0
if ta.crossover(close, zlema+volatility)
trend := 1
if ta.crossunder(close, zlema-volatility)
trend := -1
zlemaColor = trend == 1 ? color.new(green, 70) : color.new(red, 70)
m = plot(zlema, title="Zero Lag Basis", linewidth=2, color=zlemaColor)
upper = plot(trend == -1 ? zlema+volatility : na, style = plot.style_linebr, color = color.new(red, 90), title = "Upper Deviation Band")
lower = plot(trend == 1 ? zlema-volatility : na, style = plot.style_linebr, color = color.new(green, 90), title = "Lower Deviation Band")
fill(m, upper, (open + close) / 2, zlema+volatility, color.new(red, 90), color.new(red, 70))
fill(m, lower, (open + close) / 2, zlema-volatility, color.new(green, 90), color.new(green, 70))
plotshape(ta.crossunder(trend, 0) ? zlema+volatility : na, "Bearish Trend", shape.labeldown, location.absolute, red, text = "▼", textcolor = chart.fg_color, size = size.small)
plotshape(ta.crossover(trend, 0) ? zlema-volatility : na, "Bullish Trend", shape.labelup, location.absolute, green, text = "▲", textcolor = chart.fg_color, size = size.small)
plotchar(ta.crossover(close, zlema) and trend == 1 and trend == 1 ? zlema-volatility*1.5 : na, "Bullish Entry", "▲", location.absolute, green, size = size.tiny)
plotchar(ta.crossunder(close, zlema) and trend == -1 and trend == -1 ? zlema+volatility*1.5 : na, "Bearish Entry", "▼", location.absolute, red, size = size.tiny)
s1 = request.security(syminfo.tickerid, t1, trend)
s2 = request.security(syminfo.tickerid, t2, trend)
s3 = request.security(syminfo.tickerid, t3, trend)
s4 = request.security(syminfo.tickerid, t4, trend)
s5 = request.security(syminfo.tickerid, t5, trend)
s1a = s1 == 1 ? "Bullish" : "Bearish"
s2a = s2 == 1 ? "Bullish" : "Bearish"
s3a = s3 == 1 ? "Bullish" : "Bearish"
s4a = s4 == 1 ? "Bullish" : "Bearish"
s5a = s5 == 1 ? "Bullish" : "Bearish"
if barstate.islast
var data_table = table.new(position=position.top_right, columns=2, rows=6, bgcolor=chart.bg_color, border_width=1, border_color=chart.fg_color, frame_color=chart.fg_color, frame_width=1)
table.cell(data_table, text_halign=text.align_center, column=0, row=0, text="Time Frame", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=0, text="Signal", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=0, row=1, text=t1, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=1, text=s1a, text_color=chart.fg_color, bgcolor=s1a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=2, text=t2, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=2, text=s2a, text_color=chart.fg_color, bgcolor=s2a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=3, text=t3, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=3, text=s3a, text_color=chart.fg_color, bgcolor=s3a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=4, text=t4, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=4, text=s4a, text_color=chart.fg_color, bgcolor=s4a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=5, text=t5, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=5, text=s5a, text_color=chart.fg_color, bgcolor=s5a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
/////////////////////////////////////////ALERTS FOR SMALL ARROWS (ENTRY SIGNALS)
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry Signal",
message="Bullish Entry Signal detected. Consider entering a long position.")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry Signal",
message="Bearish Entry Signal detected. Consider entering a short position.")
/////////////////////////////////////////ALERTS FOR TREND CONDITIONS
alertcondition(ta.crossover(trend, 0), "Bullish Trend")
alertcondition(ta.crossunder(trend, 0), "Bearish Trend")
alertcondition(ta.cross(trend, 0), "(Bullish or Bearish) Trend")
alertcondition(ta.crossover(s1, 0), "Bullish Trend Time Frame 1")
alertcondition(ta.crossunder(s1, 0), "Bearish Trend Time Frame 1")
alertcondition(ta.cross(s1, 0), "(Bullish or Bearish) Trend Time Frame 1")
alertcondition(ta.crossover(s2, 0), "Bullish Trend Time Frame 2")
alertcondition(ta.crossunder(s2, 0), "Bearish Trend Time Frame 2")
alertcondition(ta.cross(s2, 0), "(Bullish or Bearish) Trend Time Frame 2")
alertcondition(ta.crossover(s3, 0), "Bullish Trend Time Frame 3")
alertcondition(ta.crossunder(s3, 0), "Bearish Trend Time Frame 3")
alertcondition(ta.cross(s3, 0), "(Bullish or Bearish) Trend Time Frame 3")
alertcondition(ta.crossover(s4, 0), "Bullish Trend Time Frame 4")
alertcondition(ta.crossunder(s4, 0), "Bearish Trend Time Frame 4")
alertcondition(ta.cross(s4, 0), "(Bullish or Bearish) Trend Time Frame 4")
alertcondition(ta.crossover(s5, 0), "Bullish Trend Time Frame 5")
alertcondition(ta.crossunder(s5, 0), "Bearish Trend Time Frame 5")
alertcondition(ta.cross(s5, 0), "(Bullish or Bearish) Trend Time Frame 5")
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry")
bullishAgreement = s1 == 1 and s2 == 1 and s3 == 1 and s4 == 1 and s5 == 1
bearishAgreement = s1 == -1 and s2 == -1 and s3 == -1 and s4 == -1 and s5 == -1
alertcondition(bullishAgreement, "Full Bullish Agreement", message="All timeframes agree on bullish trend.")
alertcondition(bearishAgreement, "Full Bearish Agreement", message="All timeframes agree on bearish trend.")
Dow Theory Trend IndicatorIdentifies bullish (Higher Highs/Lows) and bearish (Lower Highs/Lows) trends using Dow Theory principles, with dynamic volume confirmation.
Displays the current trend status ("Bull", "Bear", or "Neutral")
HMA Crossover + ATR + Curvature (Long & Short)📏 Hull Moving Averages (Trend Filters)
- fastHMA = ta.hma(close, fastLength)
- slowHMA = ta.hma(close, slowLength)
These two HMAs act as dynamic trend indicators:
- A bullish crossover of fast over slow HMA signals a potential long setup.
- A bearish crossunder triggers short interest.
⚡️ Curvature (Acceleration Filter)
- curv = ta.change(ta.change(fastHMA))
This calculates the second-order change (akin to the second derivative) of the fast HMA — effectively the acceleration of the trend. It serves as a filter:
- For long entries: curv > curvThresh (positive acceleration)
- For short entries: curv < -curvThresh (negative acceleration)
It helps eliminate weak or stagnating moves by requiring momentum behind the crossover.
📈 Volatility-Based Risk Management (ATR)
- atr = ta.atr(atrLength)
- stopLoss = atr * atrMult
- trailStop = atr * trailMult
These define your:
- Initial stop loss: scaled to recent volatility using ATR and atrMult.
- Trailing stop: also ATR-scaled, to lock in gains dynamically as price moves favorably.
💰 Position Sizing via Risk Percent
- capital = strategy.equity
- riskCapital = capital * (riskPercent / 100)
- qty = riskCapital / stopLoss
This dynamically calculates the position size (qty) such that if the stop loss is hit, the loss does not exceed the predefined percentage of account equity. It’s a volatility-adjusted position sizing method, keeping your risk consistent regardless of market conditions.
📌 Execution Logic
- Long Entry: on bullish HMA crossover with rising curvature.
- Short Entry: on bearish crossover with falling curvature.
- Exits: use ATR-based trailing stops.
- Position is closed when trend conditions reverse (e.g., bearish crossover exits the long).
This framework gives you:
- Trend-following logic (via HMAs)
- Momentum confirmation (via curvature)
- Volatility-aware execution and exits (via ATR)
- Risk-controlled dynamic sizing
Want to get surgical and test what happens if we use curvature on the difference between HMAs instead? That might give some cool insights into trend strength transitions.
Step Channel Momentum Trend [ChartPrime]OVERVIEW
Step Channel Momentum Trend is a momentum-based price filtering system that adapts to market structure using pivot levels and ATR volatility. It builds a dynamic channel around a stepwise midline derived from swing highs and lows. The system colors price candles based on whether price remains inside this channel (low momentum) or breaks out (strong directional flow). This allows traders to clearly distinguish ranging conditions from trending ones and take action accordingly.
⯁ STRUCTURAL MIDLNE (STEP CHANNEL CORE)
The midline acts as the backbone of the trend system and is based on structure rather than smoothing.
Calculated as the average of the most recent confirmed Pivot High and Pivot Low.
The result is a step-like horizontal line that only updates when new pivot points are confirmed.
This design avoids lag and makes the line "snap" to recent structural shifts.
It reflects the equilibrium level between recent bullish and bearish control.
snapshot
This unique step logic creates clear regime shifts and prevents noise from distorting trend interpretation.
⯁ DYNAMIC VOLATILITY BANDS (ATR FILTERING)
To detect momentum strength, the script constructs upper and lower bands using the ATR (Average True Range):
The distance from the midline is determined by ATR × multiplier (default: 200-period ATR × 0.6).
These bands adjust dynamically to volatility, expanding in high-ATR environments and contracting in calm markets.
The area between upper and lower bands represents a neutral or ranging market state.
Breakouts outside the bands are treated as significant momentum shifts.
snapshot
This filtering approach ensures that only meaningful breakouts are visually emphasized — not every candle fluctuation.
⯁ MOMENTUM-BASED CANDLE COLORING
The system visually transforms price candles into momentum indicators:
When price (hl2) is above the upper band, candles are green → bullish momentum.
snapshot
When price is below the lower band, candles are red → bearish momentum.
snapshot
When price is between the bands, candles are orange → low or no momentum (range).
snapshot
The candle body, wick, and border are all colored uniformly for visual clarity.
This gives traders instant feedback on when momentum is expanding or fading — ideal for breakout, pullback, or trend-following strategies.
⯁ PIVOT-BASED SWING ANCHORS
Each confirmed pivot is plotted as a label ⬥ directly on the chart:
snapshot
They also serve as potential manual entry zones, SL/TP anchors, or confirmation points.
⯁ MOMENTUM STATE LABEL
To reinforce the current market mode, a live label is displayed at the most recent candle:
Displays either:
“Momentum Up” when price breaks above the upper band.
snapshot
“Momentum Down” when price breaks below the lower band.
snapshot
“Range” when price remains between the bands.
snapshot
Label color matches the candle color for quick identification.
Automatically updates on each bar close.
This helps discretionary traders filter trades based on market phase.
USAGE
Use the green/red zones to enter with momentum and ride trending moves.
Use the orange zone to stay out or fade ranges.
The step midline can act as a breakout base, pullback anchor, or bias reference.
Combine with other indicators (e.g., order blocks, divergences, or volume) to build high-confluence systems.
CONCLUSION
Step Channel Momentum Trend gives traders a clean, adaptive framework for identifying trend direction, volatility-based breakouts, and ranging environments — all from structural logic and ATR responsiveness. Its stepwise midline provides clarity, while its dynamic color-coded candles make momentum shifts impossible to miss. Whether you’re scalping intraday momentum or managing swing entries, this tool helps you trade with the market’s rhythm — not against it.
VWAP Deviation Channels with Probability (Lite)VWAP Deviation Channels with Probability (Lite)
Version 1.2
Overview
This indicator is a powerful tool for intraday traders, designed to identify high-probability areas of support and resistance. It plots the Volume-Weighted Average Price (VWAP) as a central "value" line and then draws statistically-based deviation channels around it.
Its unique feature is a dynamic probability engine that analyzes thousands of historical price bars to calculate and display the real-time likelihood of the price touching each of these deviation levels. This provides a quantifiable edge for making trading decisions.
Core Concepts Explained
This indicator is built on three key concepts:
The VWAP (Volume-Weighted Average Price): The dotted midline of the channels is the session VWAP. Unlike a Simple Moving Average (SMA) which only considers price, the VWAP incorporates volume into its calculation. This makes it a much more significant benchmark, as it represents the true average price where the most business has been transacted during the day. It's heavily used by institutional traders, which is why price often reacts strongly to it.
Standard Deviation Channels: The channels above and below the VWAP are based on standard deviations. Standard deviation is a statistical measure of volatility.
- Wide Bands: When the channels are wide, it signifies high volatility.
- Narrow Bands: When the channels are tight and narrow, it signifies low volatility and
consolidation (a "squeeze").
The Conditional Probability Engine: This is the heart of the indicator. For every deviation level, the script displays a percentage. This percentage answers a very specific question:
"Based on thousands of previous bars, when the last candle had a certain momentum (bullish or bearish), what was the historical probability that the price would touch this specific level?"
The probabilities are calculated separately depending on whether the previous candle was green (bullish) or red (bearish). This provides a nuanced, momentum-based edge. The level with the highest probability is highlighted, acting as a "price magnet."
How to Use This Indicator
Recommended Timeframes:
This indicator is designed specifically for intraday trading. It works best on timeframes like the 1-minute, 5-minute, and 15-minute charts. It will not display correctly on daily or higher timeframes.
Recommended Trading Strategy: Mean Reversion
The primary strategy for this indicator is "Mean Reversion." The core idea is that as the price stretches to extreme levels far away from the VWAP (the "mean"), it is statistically more likely to "snap back" toward it.
Here is a step-by-step guide to trading this setup:
1. Identify the Extreme: Wait for the price to push into one of the outer deviation bands (e.g., the -2, -3, or -4 bands for a buy setup, or the +2, +3, or +4 bands for a sell setup).
2. Look for the High-Probability Zone: Pay close attention to the highlighted probability label. This is the level that has historically acted as the strongest magnet for price. A touch of this level represents a high-probability area for a potential reversal.
3. Wait for Confirmation: Do not enter a trade just because the price has touched a band. Wait for a confirmation candle that shows momentum is shifting.
- For a Buy: Look for a strong bullish candle (e.g., a green engulfing candle or a hammer/pin
bar) to form at the lower bands.
- For a Sell: Look for a strong bearish candle (e.g., a red engulfing candle or a shooting star)
to form at the upper bands.
Define Your Exit:
- Take Profit: A logical primary target for a mean reversion trade is the VWAP (midLine).
- Stop Loss: A logical place for a stop-loss is just outside the next deviation band. For
example, if you enter a long trade at the -3 band, your stop loss could be placed just
below the -4 band.
Disclaimer: This indicator is a tool for analysis and should not be considered a standalone trading system. Trading involves significant risk, and past performance is not indicative of future results. Always use this indicator in conjunction with other forms of analysis and sound risk management practices.