BB2/2.5ハイライトIndicator Name: **BB2/2.5 Highlight**
1. **Introduction**
BB2/2.5 Highlight displays two Bollinger Bands—inner at ±2 σ and outer at ±2.5 σ—while hiding the middle band. The space between the two bands is shaded gray to help you spot strong momentum or unusually large price movements at a glance.
2. **Key Features**
* **Double-Band Display**: Plots inner band (±2 σ) and outer band (±2.5 σ) simultaneously.
* **Zone Highlight**: Shades the area between the two bands to emphasize high-momentum zones.
* **Full Customization**: Adjust period, deviations, line colors, line transparency, and shading color directly via inputs.
3. **Parameters**
* **Length** (Period)
– The number of bars used to calculate the moving average. Default: 20
* **Std Dev 1** (Inner Band Deviation)
– Multiplier for standard deviation of the inner band. Default: 2.0
* **Std Dev 2** (Outer Band Deviation)
– Multiplier for standard deviation of the outer band. Default: 2.5
* **Color Band 1** (Inner Band Color)
– Color of the ±Std Dev 1 lines. Default: Blue
* **Color Band 2** (Outer Band Color)
– Color of the ±Std Dev 2 lines. Default: Orange
* **Line Transparency**
– Transparency of both band lines, 0 (opaque) to 100 (invisible). Default: 30
* **Shading Color**
– Color and transparency of the shaded area between bands. Default: Gray at 85% opacity
4. **How to Use & Interpretation**
* **Break above inner band (±2 σ)**
Indicates accelerating trend strength or strong momentum.
* **Break above outer band (±2.5 σ)**
Signals an extreme move—potential overbought/oversold condition and possible reversal points.
* **Shaded Zone (±2 σ to ±2.5 σ)**
Visually marks the range where price is exhibiting particularly strong momentum.
5. **Customization Examples**
* **Change deviations to ±1.5 / ±3.0**
Set Std Dev 1 = 1.5, Std Dev 2 = 3.0
* **Use green/red band colors**
Set Color Band 1 = #00FF00, Color Band 2 = #FF0000
* **Increase transparency to 50%**
Set Line Transparency = 50
* **Light-blue shading**
Set Shading Color = #ADD8E6 at 85% opacity
6. **Notes & Warnings**
* Bollinger Bands are based on historical volatility; they do not predict future price action.
* Always combine with other technical tools or fundamental analysis for confirmation.
* Behavior may vary across timeframes and instruments—backtest and paper-trade before going live.
7. **Conclusion**
BB2/2.5 Highlight makes “strong momentum” zones immediately visible by combining a ±2 σ/±2.5 σ double‐band with a shaded area. All inputs are adjustable, so tailor the settings to fit your trading style and use the indicator to time entries and exits more effectively.
Happy Trading!
指標和策略
Rumers AI Super IndicatorThis is a GIGA multi all in one indicator dedicated to youtube channel : The Rumers" I love those people
Cruce YellowCruce de medias (ema 8 y 21 SMA 200) con SMA coloreada (verde buscamos compra, rojo venta)
ZoneSense AIHigh-Probability Zones with Zone Sense AI
Start Today and Revolutionize Your Trading Strategy
Step into the future of trading with Zone Sense AI — an intelligent indicator designed to streamline your market analysis by automatically detecting critical Demand and Supply Zones. Whether you're just starting out or are a seasoned trader, Zone Sense AI empowers you with the clarity and confidence to make smarter, faster trading decisions.
________________________________________
🔍 Why Zone Sense AI?
✅ Works Seamlessly on Any Trading View Market, trading stocks, forex, commodities, or crypto, Zone Sense AI adapts to your market and timeframes.
✅ Automated Zone Detection - Zone Sense AI instantly identifies and draws demand and supply zones so you can focus on execution, not analysis.
✅ Built on proven price action methodology, the indicator highlights zones with real market significance — giving you accurate entry and exit signals.
✅ Customizable Zone Quality Filter - Adjust sensitivity and quality settings for sharper, more relevant results.
✅ Auto Removal of Broken Zones - Violated zones are automatically removed, ensuring you always work with actionable data.
✅ Color-Coded for Clarity - Fresh zones and tested zones are displayed in different colours giving you a clear visual distinction for smarter decision-making
🎯 We have multiple ways to trade with Zone Sense AI. (Ensure to trade only with trend. Do not go against trend to avoid losses)
• If market for day is Bearish. trade with supply zones.
• if market is bullish trade with demand zone
Trade Types
1. Take trades when price reacting from supply or demand zone (Confirmation Entries)
2. Take trades when price Retest or breaks the zone. (Confirmation Entries, only trade when price retest for first time the zone. Multiple retests might breach the zone.)
3. Take trades when price is reacting from freshly created zone. (Aggressive entries)
Entry Rule (Simplified):
Enter a trade when the candle following the qualifying candle breaks its high. A qualifying candle is one that starts inside the zone and closes outside of it, showing a strong reaction or retest from the zone.
📌 Bonus Tips for Smart Trading
• 🔔 Always use alerts when price nears the zone.
• ⏳ Patience is your weapon — only trade when both the zone and EMA cross align.
• 📢 Avoid trading during major news releases.
• ❌ Avoid trading indexes like Nifty, Bank Nifty, or Sensex using this method — due to high speculation.
• 🧠 Trailing stop loss is always recommended for every trade.
Expected Move Manual EditVisualize key weekly support and resistance levels based on manually entered Previous Week
Close (PWC) and Expected Move (EM) values.
This script plots:
Your entered PWC (Black, Solid Line).
Expected Move Top (+1 SD based on your EM input) (Green, Solid Line).
Expected Move Bottom (-1 SD based on your EM input) (Red, Solid Line).
Intermediate quadrant levels (+/- 0.25, 0.50, 0.75 SD) (Green/Red, Dotted Lines).
Features:
Manual PWC & Expected Move inputs.
Clear visual styling for levels.
Toggleable labels on the price axis.
Toggleable labels directly on the chart (right-aligned).
How to Use:
Add to chart.
Go to Settings -> Inputs.
Enter your calculated/sourced PWC value.
Enter your calculated/sourced Expected Move value (treated as 1 Standard Deviation).
Adjust label visibility if desired.
Note: This indicator requires manual input for PWC and EM; it does not calculate them automatically. The Ticker Symbol input is for reference only.
Session Start Lines (NY AM/PM, Asia, London)Session Start Lines (NY AM/PM, Asia, London)
Plot vertical lines for sessions.
Breakout Swing High LowThis open-source indicator identifies swing high and swing low breakouts, providing clear visual signals for potential trend entries. It is designed for traders who use price action to spot breakout opportunities in trending markets.
How It Works
Swing Detection: The indicator uses a user-defined lookback period (default: 4 candles) to identify swing highs (peaks) and swing lows (troughs). A swing high is confirmed when a candle's high is higher than the surrounding candles, and a swing low is confirmed when a candle's low is lower.
Breakout Signals: A green triangle below the candle signals a breakout above the most recent swing high, indicating a potential buy opportunity. A red triangle above the candle signals a breakout below the most recent swing low, indicating a potential sell opportunity. Each swing level triggers only one breakout signal to avoid clutter.
Visualization: Swing high levels are drawn as green dashed lines, and swing low levels as red dashed lines, extending 15 candles for clarity. Breakout signals are marked with small triangles.
How to Use
Apply the Indicator: Add the indicator to your TradingView chart.
Adjust Lookback: Set the "Lookback Candles" input (default: 4) to control the sensitivity of swing detection. Smaller values detect shorter-term swings, while larger values identify more significant levels.
Interpret Signals:
Green triangle (below candle): Consider a buy opportunity when price breaks above a swing high.
Red triangle (above candle): Consider a sell opportunity when price breaks below a swing low.
Combine with Other Tools: Use in conjunction with trend indicators (e.g., 50-period EMA) or support/resistance levels to filter signals in trending markets.
Timeframes: Works best on higher timeframes (e.g., 1H, 4H) in trending markets to avoid false breakouts in sideways conditions.
Uptrend Filter: Price > 50 & 200 MA + Upward SlopeThis indicator is designed to help traders instantly identify strong uptrend conditions based on two simple yet powerful criteria:
Price is above both the 50-day and 200-day moving averages
Both moving averages are sloping upward (positive momentum)
When both conditions are met, the indicator plots a green “UP” label below the candle, signaling a valid uptrend setup. This filter is ideal for asset selection in strategy-building, portfolio rotation, or trend-following systems.
🧠 Why it works:
The 50-day MA reflects medium-term momentum.
The 200-day MA represents the long-term trend.
When both are aligned and sloping upward, it confirms strong market structure and trend health.
🧰 Best used for:
Token screening (e.g., filtering altcoins)
Momentum-based entries
Trend confirmation
Risk filtering in strategy backtesting
NY Open Market Condition Analyzer – TTR & RINY Open Market Condition Analyzer – TTR & RI (Dynamic Edition)
Built for MNQ/NQ scalpers using 1-minute charts , this upgraded analyzer continuously reevaluates structural quality during the NY Open, and now includes optional divergence detection between MNQ and MES.
📊 Core Strategy Filters
TTR = Total Trading Range (2:00–6:30AM PST premarket movement)
RI = Reactive Impulse (body of current 5-min candle)
VWAP Clearance = Confirms directional momentum
VWAP Slope Alignment = Confirms trend context (optional)
MNQ/MES Divergence Filter = Detects structural disagreement (optional)
🎯 Primary Objective
This tool helps you:
Avoid low-conviction sessions and false breakouts
React to structure as it evolves between 6:30–8:30AM PST
Confirm ideal trading windows based on clear, aligned structure
✅ Features
🔁 Dynamic Evaluation Logic
Starts at 6:34AM PST (after first 5-min bar)
Reevaluates every 5 minutes until 8:30AM PST
Signal (GOOD or SKIP) updates dynamically based on latest structure
Once structure improves, you'll know — in real-time
📊 Condition Checks
Premarket Range ≥ threshold (default: 15 pts)
5-min Candle Body ≥ threshold (default: 10 pts)
Distance from VWAP ≥ threshold (default: 5 pts)
VWAP Slope alignment (optional)
MNQ/MES Directional Divergence (optional)
📋 Visual Output
📦 Icon above bar for every 5-min window
🏷 Label displays “GOOD SETUP” or “SKIP”
📊 Dashboard panel shows:
- Premarket Range
- 5-min Candle Size
- VWAP Distance
- VWAP Slope Status
- Divergence Check Result
- Final Verdict
🛠️ Configurable Settings
Minimum Range / Candle / VWAP thresholds
Toggle VWAP Slope Filter
Toggle MNQ/MES Divergence Filter
Custom Colors for:
- GOOD/Skip Session
- Divergence Alert
- Dashboard Panel
🔔 How to Add the Alert
Load on a 1-minute MNQ chart
Click the Alerts tab (🔔 icon)
Click + Create Alert
Condition: NY Open Market Condition Analyzer – TTR & RI → Good Setup Alert
Set to: “Only Once Per Bar Close”
🧪 Best For
Scalpers trading 10–30 pt MNQ/NQ setups
Traders filtering out low-structure sessions (especially Mondays & Fridays)
Discretionary traders who want real-time structure confirmation
🧠 Pro Tip
Pair with:
Opening Range Breakout strategies
Session VWAP
Pre-market S/R zones
MAS Capital RI confirmation for trade entry
This tool adapts with the market — because setups aren’t static, and neither is your edge.
EMA Cloud with Custom MAs and RSI [deepakks444]This all-in-one technical analysis tool merges an EMA Cloud, customizable dual moving averages (MA1 & MA2), and an advanced RSI oscillator with divergence detection, smoothing, and alerts.
Designed for traders who rely on trend direction, momentum, and reversal confluence, this indicator helps filter high-probability setups and reduces the need to juggle multiple indicators on the chart.
🔍 Components and Features
🔸 1. EMA Cloud (Trend Filter)
A lightweight 3-period EMA manually calculated using exponential smoothing.
Two EMAs: One tracking highs and one tracking lows.
Creates a "cloud" between them to visually represent short-term trend direction.
Cloud color logic:
🟢 Green: Price is bullish, staying above the EMA cloud.
🔴 Red: Price is bearish, below the EMA cloud.
🟡 Yellow: Price is indecisive or in consolidation.
Why it's useful:
The EMA Cloud helps identify the immediate short-term bias of the market. It quickly reacts to price and gives a clear visual guide for trend-following or pullback trades.
🔸 2. Custom Moving Averages (MA1 & MA2)
Both MA1 and MA2 are user-configurable in type, length, and price source.
Supported types include:
SMA, EMA, WMA, HMA, RMA, VWMA.
Color logic:
🟩 Green: MA1 is below MA2 (bullish alignment).
🟥 Red: MA1 is above MA2 (bearish alignment).
Why include this?
MA crossovers are a classic way to determine medium/long-term trend shifts or confirm trend continuation. The flexibility allows users to tailor them to suit any strategy—from mean reversion to trend-following.
🔸 3. RSI Oscillator with Enhancements
This is more than a basic RSI—it's been expanded to become a momentum engine and divergence detector, complete with alerting and smoothing options.
Main features:
✅ Customizable RSI Source & Length
✅ Colored RSI Zones:
RSI > 60 → Overbought strength zone (green background).
RSI < 40 → Oversold weakness zone (red background).
Neutral background in between.
✅ Smoothing Options:
Apply additional MA smoothing to RSI: SMA, EMA, WMA, RMA, VWMA, or even SMA + Bollinger Bands.
Visualizes volatility around RSI for breakout/reversal analysis.
✅ RSI Alerts:
Alert when RSI crosses above 60 → potential bullish momentum.
Alert when RSI crosses below 40 → potential bearish momentum.
✅ Divergence Detection (Optional):
Bullish Divergence: Price makes lower low while RSI makes higher low → Possible reversal up.
Bearish Divergence: Price makes higher high while RSI makes lower high → Possible reversal down.
Marks divergence using “Bull” and “Bear” labels directly on the RSI pane.
Why enhance RSI?
The RSI is a cornerstone of momentum trading. By adding zone shading, volatility overlays, and divergence detection, traders can better assess:
Whether a trend is strong or weakening.
Whether to enter on continuation or wait for reversal.
Spot early signs of price turning points using divergence patterns.
🤝 Why Merge These Three Systems?
Combining EMA Cloud + MAs + RSI in a single tool allows traders to:
Avoid conflicting signals by seeing multiple confirmations in one view.
Reduce chart clutter by replacing multiple indicators with one efficient visual system.
Get trend, momentum, and reversal analysis all-in-one:
EMA Cloud = short-term trend.
MA1/MA2 = medium-term trend & crossover confirmation.
RSI = momentum extremes, breakout confirmation, or divergence reversal zones.
🔔 Built-in Alerts
RSI crosses above 60 → Potential buy signal.
RSI crosses below 40 → Potential sell signal.
These alerts can be used to automate notifications, integrate with webhook systems, or trigger manual reviews.
⚠️ Disclaimer
This script is provided for educational and informational purposes only. It is not financial advice, and past performance is not indicative of future results. Always use proper risk management and verify signals with your own analysis before trading.
Time MarkerThis indicator will mark a Specific Time on the Chart!
You can adjust the timestamp function to mark any time you prefer by changing the hour and minute parameters.
Pivot Bull/Bear RVOL + Volume Leader Marker📈 Pivot Pattern Highlighter with RVOL + Volume Leader Marker
This indicator detects bullish and bearish pivot reversal patterns that meet both price structure and volume strength criteria, and highlights the 3-bar sequence around them.
✅ Key Features:
Bullish Pivot (Reversal Low):
Candle low is lower than the 2 candles before and 2 after (a "V"-shaped low).
Bearish Pivot (Reversal High):
Candle high is higher than the 2 candles before and 2 after (an inverted "V"-shaped high).
Volume Filter:
At least one of the 3 candles in the sequence must have relative volume (RVOL) ≥ 1.5× its average over the past 20 bars.
Highlights:
All 3 candles in a valid pivot sequence are shaded:
Green for bullish pivot
Red for bearish pivot
Volume Leader Marker:
The candle with the highest volume in the sequence is marked with a symbol:
🔺 Green triangle up above the bar = Bullish pivot leader
🔻 Red triangle down below the bar = Bearish pivot leader
1x RVOL Bull/Bear Painter📘 Description:
📊 1x RVOL Bull/Bear Painter
This indicator highlights candles with above-average volume using Relative Volume (RVOL ≥ 1.0) and paints them based on direction:
🟢 Green = Bullish candle with high volume
🔴 Red = Bearish candle with high volume
Use it to identify momentum candles with strong participation, helping confirm breakouts, traps, or volume reversals.
Picture shows 2.5 x Relative Volume Level
CVD Divergence Detector)CVD Divergence indicator will help you to find reversal points, and will give good confidence in trades. Combine it with other trading logic with good levels for better results.
宏观风控仪表盘:金银比 + VIX + 利差 + M2//@version=5
indicator("宏观风控仪表盘:金银比 + VIX + 利差 + M2", overlay=false)
// 获取金银比(XAUUSD / XAGUSD)
gold = request.security("OANDA:XAUUSD", "D", close)
silver = request.security("OANDA:XAGUSD", "D", close)
goldSilverRatio = gold / silver
// 获取VIX指数
vix = request.security("CBOE:VIX", "D", close)
// 获取美债收益率(10Y 与 2Y)
y10 = request.security("FRED:GS10", "W", close)
y2 = request.security("FRED:GS2", "W", close)
yieldSpread = y10 - y2
// 获取M2货币供应量(单位:十亿美元)
m2 = request.security("FRED:M2SL", "W", close)
m2_change = (m2 - m2 ) / m2 * 100 // 近1个月的环比变化率(大致估算)
// 画图:金银比
plot(goldSilverRatio, title="金银比 (Gold/Silver Ratio)", color=color.orange, linewidth=2)
// 画图:VIX
plot(vix, title="VIX指数", color=color.red, linewidth=1)
// 画图:收益率差(10Y-2Y)
plot(yieldSpread, title="美债利差 (10Y-2Y)", color=color.blue, linewidth=1)
// 画图:M2 增速
plot(m2_change, title="M2月环比增速(%)", color=color.green, linewidth=1)
// 发出宏观风险提示信号(可选)
risk_alert = (goldSilverRatio > 85) and (vix > 30) and (yieldSpread < 0) and (m2_change > 0)
plotshape(risk_alert, title="买入信号", location=location.bottom, color=color.lime, style=shape.labelup, text="宏观反转")
Hourly FVG with Swing Signals + Alertshighlights fair value gaps at the top of each hour during New york session. buy and sell signals with swing highs/ lows in the FVG.
NuEdge Swing Triggers + Auto TargetsA smart swing trading tool for timing high-probability entries and exits. Combines volume, trend, RSI, and ATR logic with automatic signal expiration and dual-target plotting. Includes full earnings proximity filtering and active status shading.
T1 = recent structure
T2 = ATR-projected move
Signals deactivate after 5 bars or T2 hit
🔹 Designed for daily timeframe swing traders
🔹 Inspired by real-world breakout logic
🔹 Ideal for anchored VWAP validation
Order Block Detector MacedoEnglish
This indicator automatically detects Order Blocks — zones where institutional players have previously acted. These areas behave as liquidity magnets, and price often revisits them before continuing its directional move.
After an OB is formed, the price tends to retrace between 90% and 50% of the previous leg before continuation. The most accurate entries occur when price returns to the origin, not when it breaks through.
When applied to assets with real volume data, analyze volume behavior as price approaches the OB:
For a bullish OB: if price approaches from above with strong selling volume, it’s often a bullish sign.
For a bearish OB: if price approaches from below with strong buying volume, it's usually a bearish signal.
A weak approach (low volume) in either case also suggests likely reversal.
Note: The cleaner and more untested the OB, the more likely price is to return and “clear” that liquidity zone.
Ultimate BAMF Indicator//@version=6
indicator("Ultimate BAMF Indicator", overlay=true)
// =============================================================================
// Section 1: OHLC Annotations
// =============================================================================
// Input to toggle OHLC annotations
ohlc_show = input.bool(true, title="Show OHLC Annotations", group="OHLC Settings")
// Adjustable colors and transparency for resistance (tops)
ohlc_high_body_color = input.color(color.red, title="Body High Color (Resistance)", group="OHLC Colors")
ohlc_high_body_transparency = input.int(50, title="Body High Transparency (0-100)", minval=0, maxval=100, group="OHLC Colors")
ohlc_high_wick_color = input.color(color.new(color.red, 20), title="Wick High Color (Resistance)", group="OHLC Colors")
ohlc_high_wick_transparency = input.int(50, title="Wick High Transparency (0-100)", minval=0, maxval=100, group="OHLC Colors")
ohlc_high_shade_color = input.color(color.red, title="Resistance Shade Color", group="OHLC Colors")
ohlc_high_shade_transparency = input.int(80, title="Resistance Shade Transparency (0-100)", minval=0, maxval=100, group="OHLC Colors")
// Adjustable colors and transparency for support (bottoms)
ohlc_low_wick_color = input.color(color.green, title="Wick Low Color (Support)", group="OHLC Colors")
ohlc_low_wick_transparency = input.int(50, title="Wick Low Transparency (0-100)", minval=0, maxval=100, group="OHLC Colors")
ohlc_low_body_color = input.color(color.new(color.green, 20), title="Body Low Color (Support)", group="OHLC Colors")
ohlc_low_body_transparency = input.int(50, title="Body Low Transparency (0-100)", minval=0, maxval=100, group="OHLC Colors")
ohlc_low_shade_color = input.color(color.green, title="Support Shade Color", group="OHLC Colors")
ohlc_low_shade_transparency = input.int(80, title="Support Shade Transparency (0-100)", minval=0, maxval=100, group="OHLC Colors")
// Variables to store lines, boxes, and labels for deletion
var line ohlc_body_high_line = na
var line ohlc_wick_high_line = na
var box ohlc_high_shade_box = na
var label ohlc_body_high_label = na
var label ohlc_wick_high_label = na
var label ohlc_wick_low_label = na
var label ohlc_body_low_label = na
var box ohlc_low_shade_box = na
// Variables to control circle visibility
var float ohlc_wick_low_shape = na
var float ohlc_body_low_shape = na
// Extend lines and boxes to the right edge of the chart (within 500-bar limit)
ohlc_right_edge = bar_index + 500 // Limit to 500 bars into the future to avoid runtime error
// Detect when a new bar starts using time comparison (store result in global variable)
ohlc_is_new_bar = ta.change(time) != 0
// Use the global variable in the condition
if ohlc_show and ohlc_is_new_bar
// Delete previous lines, boxes, and labels
if not na(ohlc_body_high_line)
line.delete(ohlc_body_high_line )
if not na(ohlc_wick_high_line)
line.delete(ohlc_wick_high_line )
if not na(ohlc_high_shade_box)
box.delete(ohlc_high_shade_box )
if not na(ohlc_body_high_label)
label.delete(ohlc_body_high_label )
if not na(ohlc_wick_high_label)
label.delete(ohlc_wick_high_label )
if not na(ohlc_wick_low_label)
label.delete(ohlc_wick_low_label )
if not na(ohlc_body_low_label)
label.delete(ohlc_body_low_label )
if not na(ohlc_low_shade_box)
box.delete(ohlc_low_shade_box )
// Clear previous circles
ohlc_wick_low_shape := na
ohlc_body_low_shape := na
// Calculate OHLC values for the previous candle
ohlc_prev_open = open
ohlc_prev_close = close
ohlc_prev_high = high
ohlc_prev_low = low
// Determine body high and body low for the previous candle
ohlc_prev_body_high = math.max(ohlc_prev_open, ohlc_prev_close)
ohlc_prev_body_low = math.min(ohlc_prev_open, ohlc_prev_close)
// Draw shaded area between body high and wick high (resistance)
if ohlc_prev_body_high < ohlc_prev_high
ohlc_high_shade_box := box.new(bar_index , ohlc_prev_body_high, ohlc_right_edge, ohlc_prev_high, border_color=na, bgcolor=color.new(ohlc_high_shade_color, ohlc_high_shade_transparency))
else
ohlc_high_shade_box := box.new(bar_index , ohlc_prev_high, ohlc_right_edge, ohlc_prev_body_high, border_color=na, bgcolor=color.new(ohlc_high_shade_color, ohlc_high_shade_transparency))
// Draw horizontal lines for body high and wick high with adjustable transparency
ohlc_body_high_line := line.new(bar_index , ohlc_prev_body_high, ohlc_right_edge, ohlc_prev_body_high, color=color.new(ohlc_high_body_color, ohlc_high_body_transparency), style=line.style_solid)
ohlc_wick_high_line := line.new(bar_index , ohlc_prev_high, ohlc_right_edge, ohlc_prev_high, color=color.new(ohlc_high_wick_color, ohlc_high_wick_transparency), style=line.style_dotted)
// Draw shaded area between wick low and body low (support)
if ohlc_prev_low < ohlc_prev_body_low
ohlc_low_shade_box := box.new(bar_index , ohlc_prev_low, ohlc_right_edge, ohlc_prev_body_low, border_color=na, bgcolor=color.new(ohlc_low_shade_color, ohlc_low_shade_transparency))
else
ohlc_low_shade_box := box.new(bar_index , ohlc_prev_body_low, ohlc_right_edge, ohlc_prev_low, border_color=na, bgcolor=color.new(ohlc_low_shade_color, ohlc_low_shade_transparency))
// Circles for wick low and body low with adjustable transparency
ohlc_wick_low_shape := ohlc_prev_low
ohlc_body_low_shape := ohlc_prev_body_low
// Labels for the previous bar's values with matching colors and adjustable transparency
ohlc_body_high_label := label.new(bar_index , ohlc_prev_body_high, text="H: " + str.tostring(ohlc_prev_body_high, format.mintick), color=color.new(ohlc_high_body_color, 70), textcolor=color.white, style=label.style_label_left, textalign=text.align_left)
ohlc_wick_high_label := label.new(bar_index , ohlc_prev_high, text="H: " + str.tostring(ohlc_prev_high, format.mintick), color=color.new(ohlc_high_wick_color, 70), textcolor=color.white, style=label.style_label_left, textalign=text.align_left)
ohlc_wick_low_label := label.new(bar_index , ohlc_prev_low, text="L: " + str.tostring(ohlc_prev_low, format.mintick), color=color.new(ohlc_low_wick_color, 70), textcolor=color.white, style=label.style_label_up, textalign=text.align_center)
ohlc_body_low_label := label.new(bar_index , ohlc_prev_body_low, text="L: " + str.tostring(ohlc_prev_body_low, format.mintick), color=color.new(ohlc_low_body_color, 70), textcolor=color.white, style=label.style_label_up, textalign=text.align_center)
// Plot circles for wick low and body low with adjustable transparency
plotshape(ohlc_wick_low_shape, style=shape.circle, location=location.absolute, color=color.new(ohlc_low_wick_color, ohlc_low_wick_transparency), size=size.tiny)
plotshape(ohlc_body_low_shape, style=shape.circle, location=location.absolute, color=color.new(ohlc_low_body_color, ohlc_low_body_transparency), size=size.tiny)
// =============================================================================
// Section 2: Real-Time Stock Analysis with Trade Automation Signals
// =============================================================================
// --- Inputs ---
rt_smaLength = input.int(10, "SMA Length for Trend", group="Real-Time Analysis Settings")
rt_rsiLength = input.int(9, "RSI Length", group="Real-Time Analysis Settings")
rt_macdFast = input.int(12, "MACD Fast Length", group="Real-Time Analysis Settings")
rt_macdSlow = input.int(26, "MACD Slow Length", group="Real-Time Analysis Settings")
rt_macdSignal = input.int(9, "MACD Signal Length", group="Real-Time Analysis Settings")
rt_bbLength = input.int(20, "Bollinger Bands Length", group="Real-Time Analysis Settings")
rt_bbMult = input.float(2.0, "Bollinger Bands Multiplier", group="Real-Time Analysis Settings")
rt_volumeThreshold = input.float(0.8, "Volume Threshold (x Average)", group="Real-Time Analysis Settings")
// --- Trend Analysis (SMC-like) for Current Timeframe ---
rt_sma = ta.sma(close, rt_smaLength)
rt_trendBias = close > rt_sma ? "Bullish" : close < rt_sma ? "Bearish" : "Neutral"
// --- MTF Trend Analysis ---
f_getTrendBias(tf) =>
close_tf = request.security(symbol=syminfo.tickerid, timeframe=tf, expression=close, gaps=barmerge.gaps_off)
sma_tf = ta.sma(close_tf, rt_smaLength)
trend = close_tf > sma_tf ? "Bullish" : close_tf < sma_tf ? "Bearish" : "Neutral"
trend
rt_trendBias_30m = f_getTrendBias("30")
rt_trendBias_1h = f_getTrendBias("60")
rt_trendBias_4h = f_getTrendBias("240")
// --- Volume Analysis ---
rt_avgVolume = ta.sma(volume, 20)
rt_volumeRatio = volume / rt_avgVolume
rt_volumeStatus = rt_volumeRatio >= rt_volumeThreshold ? "High Vol" : "Thin Vol"
// --- RSI ---
rt_rsi = ta.rsi(close, rt_rsiLength)
rt_rsiStatus = rt_rsi > 70 ? "Overbought" : rt_rsi < 30 ? "Oversold" : "Neutral"
// --- MACD ---
= ta.macd(close, rt_macdFast, rt_macdSlow, rt_macdSignal)
rt_macdStatus1 = rt_macdLine > rt_signalLine ? "Bullish" : "Bearish"
rt_macdStatus2 = rt_macdLine > 0 ? "Bullish" : "Bearish"
rt_macdStatus3 = rt_hist > 0 ? "Bullish" : "Bearish"
rt_macdStatus = rt_macdStatus1 + ", " + rt_macdStatus2 + ", " + rt_macdStatus3
// --- Bollinger Bands ---
rt_basis = ta.sma(close, rt_bbLength)
rt_dev = rt_bbMult * ta.stdev(close, rt_bbLength)
rt_upperBB = rt_basis + rt_dev
rt_lowerBB = rt_basis - rt_dev
rt_bbStatus = close > rt_upperBB ? "Above Upper" : close < rt_lowerBB ? "Below Lower" : "Within"
// --- Improved Candle Analysis ---
rt_bodySize = math.abs(close - open)
rt_avgBodySize = ta.sma(rt_bodySize, 10)
rt_isSignificantCandle = rt_bodySize > 0.5 * rt_avgBodySize
rt_candleDirection = close > open ? "Bullish" : close < open ? "Bearish" : "Neutral"
var string rt_prevCandleDirection = "Neutral"
rt_candleStatus = rt_isSignificantCandle ? (rt_candleDirection != rt_prevCandleDirection ? rt_candleDirection + " Change" : rt_candleDirection) : "Neutral"
rt_prevCandleDirection := rt_candleDirection
// --- Enhanced Target Zone & Stop-Loss ---
rt_swingHigh = ta.highest(high, 10)
rt_swingLow = ta.lowest(low, 10)
rt_prevSwingHigh = ta.highest(high , 10)
rt_prevSwingLow = ta.lowest(low , 10)
rt_marketStructure = rt_swingHigh > rt_prevSwingHigh and rt_swingLow > rt_prevSwingLow ? "Bullish" : rt_swingHigh < rt_prevSwingHigh and rt_swingLow < rt_prevSwingLow ? "Bearish" : "Ranging"
// Define Target and Stop-Loss based on market structure
rt_targetZone = rt_marketStructure == "Bullish" ? rt_swingHigh : rt_marketStructure == "Bearish" ? rt_swingLow : na
rt_stopLoss = rt_marketStructure == "Bullish" ? rt_swingLow : rt_marketStructure == "Bearish" ? rt_swingHigh : na
// Ensure 3:1 RRR by adjusting target if needed
rt_entryPrice = close
rt_distanceToStop = math.abs(rt_entryPrice - rt_stopLoss)
rt_targetZone := rt_marketStructure == "Bullish" ? rt_entryPrice + 3 * rt_distanceToStop : rt_marketStructure == "Bearish" ? rt_entryPrice - 3 * rt_distanceToStop : rt_targetZone
// RRR Calculation
rt_denominator = rt_distanceToStop
rt_rrr = math.abs(rt_denominator) > 0.01 ? (rt_targetZone - rt_entryPrice) / rt_denominator : na
rt_rrrText = not na(rt_rrr) ? str.tostring(math.round(rt_rrr, 1), "#.#") : "N/A"
// --- Momentum (Rate of Change) ---
rt_roc = ta.roc(close, 5)
rt_momentumBullish = rt_roc > 0
rt_momentumBearish = rt_roc < 0
// --- Market Structure Analysis ---
rt_marketTrendBias = rt_trendBias
rt_trendStrength = rt_rsi > 50 and rt_macdLine > rt_signalLine ? "Strong Bullish" : rt_rsi < 50 and rt_macdLine < rt_signalLine ? "Strong Bearish" : "Neutral"
rt_whatToWatch = "Price may stall if vol weak Hold > " + str.tostring(math.round(close * 0.95, 2), "#.##") + " = continue Break < " + str.tostring(math.round(close * 0.85, 2), "#.##") + " = invalid Trail stops if in profit"
// --- Mini Gauge Metrics ---
rt_heat = rt_trendStrength == "Strong Bullish" ? "Strong Bull" : rt_trendStrength == "Strong Bearish" ? "Strong Bear" : "Neutral"
rt_trendScore = rt_rsi > 70 ? "5/5" : rt_rsi > 60 ? "4/5" : rt_rsi > 50 ? "3/5" : rt_rsi > 40 ? "2/5" : "1/5"
rt_choppy = ta.stdev(close, 20) > ta.stdev(close , 20) ? "Trending" : "Choppy"
rt_entryFilter = rt_rsi > 70 or rt_rsi < 30 ? "Not worth risk" : "Potential entry"
rt_exitNote = "Monitor key lvl or momentum"
rt_miniTradeSuggestion = "Momentum favors " + (rt_trendBias == "Bullish" ? "bulls" : "bears") + ". Await CHOCH/BOS"
// --- Trade Signals ---
rt_buySignal = rt_momentumBullish and rt_volumeRatio >= rt_volumeThreshold and rt_marketStructure == "Bullish"
rt_sellSignal = rt_momentumBearish and rt_volumeRatio >= rt_volumeThreshold and rt_marketStructure == "Bearish"
rt_setupStatus = rt_buySignal ? "Long/Call Active" : rt_sellSignal ? "Short/Put Active" : "No Signal"
// --- Colors ---
rt_red = color.red
rt_green = color.green
rt_blue = color.blue
rt_gray = color.gray
rt_yellow = color.yellow
rt_white = color.white
rt_black = color.black
rt_sectionHeaderColor = color.new(rt_gray, 70)
// --- Precompute Colors for Dashboard ---
rt_trendColor = rt_trendBias == "Bullish" ? rt_green : rt_trendBias == "Bearish" ? rt_red : rt_yellow
rt_trendColor_30m = rt_trendBias_30m == "Bullish" ? rt_green : rt_trendBias_30m == "Bearish" ? rt_red : rt_yellow
rt_trendColor_1h = rt_trendBias_1h == "Bullish" ? rt_green : rt_trendBias_1h == "Bearish" ? rt_red : rt_yellow
rt_trendColor_4h = rt_trendBias_4h == "Bullish" ? rt_green : rt_trendBias_4h == "Bearish" ? rt_red : rt_yellow
rt_volumeColor = rt_green
rt_macdColor = rt_macdStatus1 == "Bullish" ? rt_green : rt_red
rt_tradeColor = rt_buySignal ? rt_green : rt_sellSignal ? rt_red : rt_yellow
rt_trendStrengthColor = rt_trendStrength == "Strong Bullish" ? rt_yellow : rt_trendStrength == "Strong Bearish" ? rt_red : rt_white
rt_heatColor = rt_heat == "Strong Bull" ? rt_yellow : rt_heat == "Strong Bear" ? rt_red : rt_white
rt_structureColor = rt_marketStructure == "Bullish" ? rt_green : rt_marketStructure == "Bearish" ? rt_red : rt_yellow
// --- Consolidated Table for Real-Time Analysis ---
var table rt_dashboardTable = table.new(position.top_right, 2, 23, border_width=2)
if ta.change(time) != 0
// Market Scan Section
table.cell(rt_dashboardTable, 0, 0, "MARKET SCAN", text_color=rt_white, bgcolor=rt_sectionHeaderColor)
table.cell(rt_dashboardTable, 1, 0, "", text_color=rt_white, bgcolor=rt_sectionHeaderColor)
table.cell(rt_dashboardTable, 0, 1, "Trend Bias", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 1, rt_marketTrendBias, text_color=rt_trendColor, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 2, "30m Trend", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 2, rt_trendBias_30m, text_color=rt_trendColor_30m, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 3, "1h Trend", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 3, rt_trendBias_1h, text_color=rt_trendColor_1h, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 4, "4h Trend", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 4, rt_trendBias_4h, text_color=rt_trendColor_4h, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 5, "Setup", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 5, rt_setupStatus, text_color=rt_tradeColor, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 6, "Trend Strength", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 6, rt_trendStrength, text_color=rt_trendStrengthColor, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 7, "Structure", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 7, rt_marketStructure, text_color=rt_structureColor, bgcolor=color.new(rt_black, 90))
// Signal Engine Section
table.cell(rt_dashboardTable, 0, 8, "SIGNAL ENGINE", text_color=rt_white, bgcolor=rt_sectionHeaderColor)
table.cell(rt_dashboardTable, 1, 8, "", text_color=rt_white, bgcolor=rt_sectionHeaderColor)
table.cell(rt_dashboardTable, 0, 9, "Volume", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 9, rt_volumeStatus + " (" + str.tostring(rt_volumeRatio, "#.##") + "x)", text_color=rt_volumeColor, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 10, "Candle", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 10, rt_candleStatus, text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 11, "RSI, MACD, BBP", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 11, rt_rsiStatus + ", " + rt_macdStatus1 + ", " + rt_bbStatus, text_color=rt_macdColor, bgcolor=color.new(rt_black, 90))
// Target Zone Section
table.cell(rt_dashboardTable, 0, 12, "TARGET ZONE", text_color=rt_white, bgcolor=rt_sectionHeaderColor)
table.cell(rt_dashboardTable, 1, 12, "", text_color=rt_white, bgcolor=rt_sectionHeaderColor)
table.cell(rt_dashboardTable, 0, 13, "Target", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 13, str.tostring(rt_targetZone, "#.##") + " (RRR: " + rt_rrrText + ")", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 14, "Stop Loss", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 14, str.tostring(rt_stopLoss, "#.##"), text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 15, "Watch", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 15, rt_whatToWatch, text_color=rt_white, bgcolor=color.new(rt_black, 90))
// Mini Gauge Section
table.cell(rt_dashboardTable, 0, 16, "MINI GAUGE", text_color=rt_white, bgcolor=rt_sectionHeaderColor)
table.cell(rt_dashboardTable, 1, 16, "", text_color=rt_white, bgcolor=rt_sectionHeaderColor)
table.cell(rt_dashboardTable, 0, 17, "Heat", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 17, rt_heat, text_color=rt_heatColor, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 18, "Trend Score", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 18, rt_trendScore, text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 19, "Choppy", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 19, rt_choppy, text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 20, "Entry Filter", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 20, rt_entryFilter, text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 21, "Exit Note", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 21, rt_exitNote, text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 0, 22, "Trade Suggest", text_color=rt_white, bgcolor=color.new(rt_black, 90))
table.cell(rt_dashboardTable, 1, 22, rt_miniTradeSuggestion, text_color=rt_white, bgcolor=color.new(rt_black, 90))
// --- Plotting ---
plot(rt_sma, "SMA", color=rt_blue)
plot(rt_upperBB, "Upper BB", color=rt_gray)
plot(rt_lowerBB, "Lower BB", color=rt_gray)
plot(rt_targetZone, "Target", color=rt_green, style=plot.style_circles)
plot(rt_stopLoss, "Stop-Loss", color=rt_red, style=plot.style_circles)
// =============================================================================
// Section 3: Fair Value Gaps (5M & 1M)
// =============================================================================
// Inputs for enabling/disabling timeframes and aesthetics
fvg_show_5m = input.bool(true, "Show 5M FVGs", group="FVG Settings")
fvg_show_1m = input.bool(true, "Show 1M FVGs", group="FVG Settings")
fvg_extend_bars = input.int(10, "Extend FVG Bars", minval=1, group="FVG Settings")
fvg_bull_color = input.color(color.new(#2962FF, 85), "Bullish FVG Color", group="FVG Colors")
fvg_bear_color = input.color(color.new(#E91E63, 85), "Bearish FVG Color", group="FVG Colors")
// Function to identify FVGs on a given timeframe
f_fvg_data(string timeframe) =>
fvg_high_tf = request.security(syminfo.tickerid, timeframe, high, gaps=barmerge.gaps_off)
fvg_low_tf = request.security(syminfo.tickerid, timeframe, low, gaps=barmerge.gaps_off)
fvg_high_tf_2 = request.security(syminfo.tickerid, timeframe, high , gaps=barmerge.gaps_off)
fvg_low_tf_2 = request.security(syminfo.tickerid, timeframe, low , gaps=barmerge.gaps_off)
// Detect Bullish FVG: Current low > high
fvg_bull_fvg = fvg_low_tf > fvg_high_tf_2
fvg_bull_top = fvg_low_tf
fvg_bull_bottom = fvg_high_tf_2
// Detect Bearish FVG: Current high < low
fvg_bear_fvg = fvg_high_tf < fvg_low_tf_2
fvg_bear_top = fvg_low_tf_2
fvg_bear_bottom = fvg_high_tf
// Identify FVGs on 5M and 1M timeframes
= f_fvg_data("5")
= f_fvg_data("1")
// Plot FVGs as background boxes (transparent, no text)
if fvg_show_5m and fvg_bull_fvg_5m and not na(fvg_bull_top_5m) and not na(fvg_bull_bottom_5m)
box.new(left=bar_index , top=fvg_bull_top_5m, right=bar_index + fvg_extend_bars, bottom=fvg_bull_bottom_5m, border_color=color.new(color.gray, 100), bgcolor=fvg_bull_color)
if fvg_show_5m and fvg_bear_fvg_5m and not na(fvg_bear_top_5m) and not na(fvg_bear_bottom_5m)
box.new(left=bar_index , top=fvg_bear_top_5m, right=bar_index + fvg_extend_bars, bottom=fvg_bear_bottom_5m, border_color=color.new(color.gray, 100), bgcolor=fvg_bear_color)
if fvg_show_1m and fvg_bull_fvg_1m and not na(fvg_bull_top_1m) and not na(fvg_bull_bottom_1m)
box.new(left=bar_index , top=fvg_bull_top_1m, right=bar_index + fvg_extend_bars, bottom=fvg_bull_bottom_1m, border_color=color.new(color.gray, 100), bgcolor=fvg_bull_color)
if fvg_show_1m and fvg_bear_fvg_1m and not na(fvg_bear_top_1m) and not na(fvg_bear_bottom_1m)
box.new(left=bar_index , top=fvg_bear_top_1m, right=bar_index + fvg_extend_bars, bottom=fvg_bear_bottom_1m, border_color=color.new(color.gray, 100), bgcolor=fvg_bear_color)
// Plot the candlestick chart (shared across all sections)
plotcandle(open, high, low, close, "Candles", color.green, color.red)
Multi-EMA 10 in one EMA Indicator Ultimate Multi-EMA Indicator - Your Complete EMA Solution
One indicator, ten EMAs, infinite possibilities!
The Ultimate Multi-EMA Indicator brings unprecedented versatility to your TradingView charts by consolidating up to 10 Exponential Moving Averages into a single, fully customizable indicator. Say goodbye to cluttered charts and hello to crystal-clear technical analysis!
✨ Key Features:
All-in-One Solution: Display up to 10 EMAs simultaneously without adding multiple indicators
Complete Customization: Personalize every aspect of each EMA:
Enable/disable individual EMAs with a single click
Adjust period lengths to match your trading strategy
Select vibrant, eye-catching colors from a full RGB palette
Fine-tune line width for perfect visibility
Control transparency to maintain chart clarity
📊 Trading Applications:
Trend Identification: Quickly identify short, medium, and long-term trends
Support/Resistance Detection: Use multiple timeframes to spot key levels
Crossover Signals: Easily spot golden crosses and death crosses across various periods
Market Structure Analysis: Understand market structure with multiple moving averages
Custom Strategies: Build complex strategies using multiple EMA combinations
🔧 Pre-Configured Excellence:
Comes with strategic default settings (9, 21, 50, 100, 200...) but allows complete customization to match your specific trading approach. The bright default color scheme ensures maximum visibility while remaining pleasant to the eye during extended trading sessions.
💯 Perfect For:
Day traders tracking multiple timeframes
Swing traders analyzing trend strength
Position traders identifying major support/resistance
Scalpers looking for quick entry/exit signals
Algorithmic traders building multi-timeframe strategies
Elevate your technical analysis with this powerful, all-in-one EMA solution. Download now and transform your chart experience!
#EMA #MovingAverage #TechnicalAnalysis #TradingStrategy #ChartIndicator
MACD Cross MTF PRO++A multi-timeframe MACD tool that shows crossover signals, divergences, and trend direction across 1m, 5m, 15m, 30m, and 4h. Perfect for scalping and intraday strategies. Includes real-time signal labels and summary tables.
Candle Color by Timeframe (Candle View)Just makes you able to see multiple time frames at the bottom, in a separate pane