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.
אינדיקטורים ואסטרטגיות
Higher High Lower Low Multi-TF📊 Higher High Lower Low Multi-Timeframe Indicator
Detects market structure shifts (HH, HL, LH, LL)
Identifies trend direction (bullish / bearish / neutral)
Works across multiple timeframes (M5 to Weekly)
Displays a compact trend summary table on the chart
Customizable pivot sensitivity (Left/Right Bars)
Visual labels on chart for structure points
Ideal for structure-based trading and SMC traders
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
Market Pressure Oscillator█ OVERVIEW
The Market Pressure Oscillator is an advanced technical indicator for TradingView, enabling traders to identify potential trend reversals and momentum shifts through candle-based pressure analysis and divergence detection. It combines a smoothed oscillator with moving average signals, overbought/oversold levels, and divergence visualization, enhanced by customizable gradients, dynamic band colors, and alerts for quick decision-making.
█ CONCEPT
The indicator measures buying or selling pressure based on candle body size (open-to-close difference) and direction, with optional smoothing for clarity and divergence detection between price action and the oscillator. It relies solely on candle data, offering insights into trend strength, overbought/oversold conditions, and potential reversals with a customizable visual presentation.
█ WHY USE IT?
- Divergence Detection: Identifies bullish and bearish divergences to reinforce signals, especially near overbought/oversold zones.
- Candle Pressure Analysis: Measures pressure based on candle body size, normalized to a ±100 scale.
- Signal Generation: Provides buy/sell signals via overbought/oversold crossovers, zero-line crossovers, moving average zero-line crossovers, and dynamic band color changes.
- Visual Clarity: Uses dynamic colors, gradients, and fill layers for intuitive chart analysis.
Flexibility: Extensive settings allow customization to individual trading preferences.
█ HOW IT WORKS?
- Candle Pressure Calculation: Computes candle body size as math.abs(close - open), normalized against the average body size over a lookback period (avgBody = ta.sma(body, len)). - Candle direction (bullish: +1, bearish: -1, neutral: 0) is multiplied by body weight to derive pressure.
- Cumulative Pressure: Sums pressure values over the lookback period (Lookback Length) and normalizes to ±100 relative to the maximum possible value.
- Smoothing: Optionally applies EMA (Smoothing Length) to normalized pressure.
- Moving Average: Calculates SMA (Moving Average Length) for trend confirmation (Moving Average (SMA)).
- Divergence Detection: Identifies bullish/bearish divergences by comparing price and oscillator pivot highs/lows within a specified range (Pivot Length). Divergence signals appear with a delay equal to the Pivot Length.
- Signals: Generates signals for:
Crossing oversold upward (buy) or overbought downward (sell).
Crossing the zero line by the oscillator or moving average (buy/sell).
Bullish/bearish divergences, marked with labels, enhancing signals, especially near overbought/oversold zones.
Dynamic band color changes when the moving average crosses MA overbought/oversold thresholds (green for oversold, red for overbought).
- Visualization: Plots the oscillator and moving average with dynamic colors, gradient fills, transparent bands, and labels, with customizable overbought/oversold levels.
Alerts: Built-in alerts for divergences, overbought/oversold crossovers, and zero-line crossovers (oscillator and moving average).
█ SETTINGS AND CUSTOMIZATION
- Lookback Length: Period for aggregating candle pressure (default: 14).
- Smoothing Length (EMA): EMA length for smoothing the oscillator (default: 1). Higher values smooth the signal but may reduce signal frequency; adjust overbought/oversold levels accordingly.
- Moving Average Length (SMA): SMA length for the moving average (default: 14, minval=1). Higher values make SMA a trend indicator, requiring adjusted MA overbought/oversold levels.
- Pivot Length (Left/Right): Candles for detecting pivot highs/lows in divergence calculations (default: 2, minval=1). Higher values reduce noise but add delay equal to the set value.
- Enable Divergence Detection: Enables divergence detection (default: true).
- Overbought/Oversold Levels: Thresholds for the oscillator (default: 30/-30) and moving average (default: 10/-10). For the moving average, no arrows appear; bands change color from gray to green (oversold) or red (overbought), reinforcing entry signals.
- Signal Type: Select signals to display: "None", "Overbought/Oversold", "Zero Line", "MA Zero Line", "All" (default: "Overbought/Oversold").
- Colors and Gradients: Customize colors for bullish/bearish oscillator, moving average, zero line, overbought/oversold levels, and divergence labels.
- Transparency: Adjust gradient fill transparency (default: 70, minval=0, maxval=100) and band/label transparency (default: 40, minval=0, maxval=100) for consistent visuals.
- Visualizations: Enable/disable moving average, gradients for zero/overbought/oversold levels, and gradient fills.
█ USAGE EXAMPLES
- Momentum Analysis: Observe the MPO Oscillator above 0 for bullish momentum or below 0 for bearish momentum. The SMA, being smoother, reacts slower and can confirm trend direction as a noise filter.
- Reversal Signals: Look for buy triangles when the oscillator crosses oversold upward, especially when the SMA is below the MA oversold threshold and the band turns green. Similarly, seek sell triangles when crossing overbought downward, with the SMA above the MA overbought threshold and the band turning red.
- Using Divergences: Treat bullish (green labels) and bearish (red labels) divergences as reinforcement for other signals, especially near overbought/oversold zones, indicating stronger potential trend reversals.
- Customization: Adjust lookback length, smoothing, and moving average length to specific instruments and timeframes to minimize false signals.
█ USER NOTES
Combine the indicator with tools like Fibonacci levels or pivot points to enhance accuracy.
Test different settings for lookback length, smoothing, and moving average length on your chosen instrument and timeframe to find optimal values.
Initial Balance SMC-V3
Initial Balance SMC-V3 – An Advanced Mean Reversion Indicator for Index Markets
The Initial Balance SMC-V3 indicator is the result of continuous refinement in mean reversion trading, with a specific focus on index markets (such as DAX, NASDAQ, S&P 500, etc.). Designed for high-liquidity environments with controlled volatility, it excels at precisely identifying value zones and statistical reversal points within market structure.
🔁 Mean Reversion at Its Core
At the heart of this indicator lies a robust mean reversion logic: rather than chasing extreme breakouts, it seeks returns toward equilibrium levels after impulsive moves. This makes it especially effective in ranging markets or corrective phases within broader trends—situations where many traders get caught in false breakouts.
🎯 Signals Require Breakout + Confirmation
Signals are never generated impulsively. Instead, they require a clear sequence of confirmations:
Break of a key level (e.g., Initial Balance high/low or an SMC zone);
Price re-entry into the range accompanied by a crossover of customizable moving averages (SMA, EMA, HULL, TEMA, etc.);
RSI filter to avoid entries in overbought/oversold extremes;
Volatility filter (ATR) to skip low-volatility, choppy conditions.
This multi-layered approach drastically reduces false signals and significantly improves trade quality.
📊 Built-in Multi-Timeframe Analysis
The indicator features native multi-timeframe logic:
H1 / 15-minute charts: for structural analysis and identification of Supply & Demand zones (SMC);
M1 / M5 charts: for precise trade execution, with targeted entries and dynamic risk management.
SMC zones are calculated on higher timeframes (e.g., 4H) to ensure structural reliability, while actual trade signals trigger on lower timeframes for maximum precision.
⚙️ Advanced Customization
Full choice of moving average type (SMA, EMA, WMA, RMA, VWMA, HULL, TEMA, ZLEMA, etc.);
Revenge Trading logic: after a stop loss is hit without reaching the 1:1 breakeven level, the indicator automatically prepares for a counter-trade;
Dynamic ATR-based stop loss with customizable multiplier;
Session filters to trade only during optimal liquidity windows (e.g., European session).
🧠 Who Is It For?
This indicator is ideal for traders who:
Primarily trade indices;
Prefer mean reversion strategies over pure trend-following;
Seek a disciplined, rule-based system with multiple confluence filters;
Use a multi-timeframe approach to separate analysis from execution.
In short: Initial Balance SMC-V3 is more than just an indicator—it’s a complete trading framework for mean reversion on index markets, where every signal emerges from a confluence of statistical, structural, and temporal factors.
Happy trading! 📈
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.
Hosoda’s CloudsMany investors aim to develop trading systems with a high win rate, mistakenly associating it with substantial profits. In reality, high returns are typically achieved through greater exposure to market trends, which inevitably lowers the win rate due to increased risk and more volatile conditions.
The system I present, called “Hosoda’s Clouds” in honor of Goichi Hosoda , the creator of the Ichimoku Kinko Hyo indicator, is likely one of the first profitable systems many traders will encounter. Designed to capture trends, it performs best in markets with clear directional movements and is less suitable for range-bound markets like Forex, which often exhibit lateral price action.
This system is not recommended for low timeframes, such as minute charts, due to the random and emotionally driven nature of price movements in those periods. For a deeper exploration of this topic, I recommend reading my article “Timeframe is Everything”, which discusses the critical importance of selecting the appropriate timeframe.
I suggest testing and applying the “Hosoda’s Clouds” strategy on assets with a strong trending nature and a proven track record of performance. Ideal markets include Tesla (1-hour, 4-hour, and daily), BTC/USDT (daily), SPY (daily), and XAU/USD (daily), as these have consistently shown clear directional trends over time.
Commissions and Configuration
Commissions can be adjusted in the system’s settings to suit individual needs. For evaluating the effectiveness of “Hosoda’s Clouds,” I’ve used a standard commission of $1 per order as a baseline, though this can be modified in the code to accommodate different brokers or preferences.
The margin per trade is set to $1,000 by default, but users are encouraged to experiment with different margin settings in the configuration to match their trading style.
Rules of the “Hosoda’s Clouds” System (Bullish Strategy)
This strategy is designed to capture trending movements in bullish markets using the Ichimoku Kinko Hyo indicator. The rules are as follows:
Long Entry: A long position is triggered when the Tenkan-sen crosses above the Kijun-sen below the Ichimoku cloud, identifying potential reversals or bounces in a bearish context.
Stop Loss (SL): Placed at the low of the candle 12 bars prior to the entry candle. This setting has proven optimal in my tests, but it can be adjusted in the code based on risk tolerance.
Take Profit (TP): The position is closed when the Tenkan-sen crosses below the bottom of the Ichimoku cloud (the minimum of Senkou Span A and Senkou Span B).
Notes on the Code
margin_long=0: Ideal for strategies requiring a fixed position size, particularly useful for manual entries or testing with a constant capital allocation.
margin_long=100: Recommended for high-frequency systems where positions are closed quickly, simulating gradual growth based on realized profits and reflecting real-world broker constraints.
System Performance
The following performance metrics account for $1 per order commissions and were tested on the specified assets and timeframes:
Tesla (H1)
Trades: 148
Win Rate: 29.05%
Period: Jan 2, 2014 – Jan 6, 2020 (+172%)
Simple Annual Growth Rate: +34.3%
Trades: 130
Win Rate: 30.77%
Period: Jan 2, 2020 – Sep 24, 2025 (+858.90%)
Simple Annual Growth Rate: +150.7%
Tesla (H4)
Trades: 102
Win Rate: 32.35%
Period: Jun 29, 2010 – Sep 24, 2025 (+11,356.36%)
Simple Annual Growth Rate: +758.5%
Tesla (Daily)
Trades: 56
Win Rate: 35.71%
Period: Jun 29, 2010 – Sep 24, 2025 (+3,166.64%)
Simple Annual Growth Rate: +211.5%
BTC/USDT (Daily)
Trades: 44
Win Rate: 31.82%
Period: Sep 30, 2017 – Sep 24, 2025 (+2,592.23%)
Simple Annual Growth Rate: +324.8%
SPY (Daily)
Trades: 81
Win Rate: 37.04%
Period: Jan 23, 1993 – Sep 24, 2025 (+476.90%)
Simple Annual Growth Rate: +14.3%
XAU/USD (Daily)
Trades: 216
Win Rate: 32.87%
Period: Jan 6, 1833 – Sep 24, 2025 (+5,241.73%)
Simple Annual Growth Rate: +27.1%
SPX (Daily)
Trades: 217
Win Rate: 38.25%
Period: Feb 1, 1871 – Sep 24, 2025 (+16,791.02%)
Simple Annual Growth Rate: +108.1%
Conclusion
With the “ Hosoda’s Clouds ” strategy, I aim to showcase the potential of technical analysis to generate consistent profits in trending markets, challenging recent doubts about its effectiveness. My goal is for this system to serve as both a practical tool for traders and a source of inspiration for the trading community I deeply respect. I hope it encourages the creation of new strategies, fosters creativity in technical analysis, and empowers traders to approach the markets with confidence and discipline.
Consensio with colouringConsensio MA - Short MA with Colouring
This is a trend-following indicator based on the stacking order of three Simple Moving Averages (SMAs) to determine market consensus and visualize strength using a monochrome scale.
Key Features:
Three Customizable SMAs:
Fast MA (Default: 2)
Standard MA (Default: 7)
Slow MA (Default: 30)
Consensus Index:
The indicator assigns a score from +3 (Strongest Buy) to -3 (Strongest Sell) based on the MAs' vertical order (e.g., Fast > Standard > Slow is +3).
Monochrome Bar Colouring:
Bullish Consensus (+1 to +3): Bars are coloured in shades of White to Light Gray.
Bearish Consensus (-1 to -3): Bars are coloured in shades of Black to Dark Gray.
The intensity of the colour directly reflects the strength of the consensus.
Dynamic MA Line Colouring:
Fast MA: Changes colour upon crossing the Standard or Slow MA to signal short-term momentum shifts.
Standard MA: Changes to Green/Red when crossing the Slow MA.
Slow MA: Changes to Green/Red only when the strongest consensus (+3 or -3) is achieved.
How to Interpret:
Strong Bullish Trend (+3): MAs are perfectly aligned (Fast > Standard > Slow) and the bar is pure White.
Strong Bearish Trend (-3): MAs are perfectly reversed (Slow > Standard > Fast) and the bar is pure Black.
Contradictory Signals: Use the Fast MA's colour changes (Dark Green/Red) to spot immediate momentum changes even if the bar colour indicates a weaker trend.
Volume DMAO [DCAUT]█ Volume DMAO Indicator
📊 OVERVIEW
The Volume DMAO (Dual Moving Average Oscillator) applies PPO-style calculation to volume data rather than price. It measures the percentage difference between fast and slow moving averages of volume, providing insights into volume momentum and market participation trends.
🎯 CONCEPTS
Signal Interpretation
Positive Values : Current volume above historical average (expansion phase)
Negative Values : Current volume below historical average (contraction phase)
Rising Trend : Volume momentum accelerating (increasing participation)
Falling Trend : Volume momentum decelerating (decreasing participation)
Primary Applications
Volume Confirmation : Validate price movements with volume momentum analysis
Divergence Detection : Spot potential reversals when volume diverges from price
Trend Strength : Assess volume participation in price trends
Entry/Exit Signals : Time trades based on volume momentum shifts
📋 PARAMETER SETUP
Input Parameters
Fast Length : Period for fast moving average (default: 12)
Slow Length : Period for slow moving average (default: 50)
MA Type : Moving average algorithm (default: EMA)
📊 COLOR CODING
Histogram Colors
Dark Green : Positive and rising (strong volume expansion)
Light Green : Positive and falling (weakening volume expansion)
Light Red : Negative and rising (recovering from volume contraction)
Dark Red : Negative and falling (strong volume contraction)
💡 CORE VALUE
Unlike traditional volume indicators, Volume DMAO provides normalized percentage readings that:
- Enable comparison across different timeframes and instruments
- Reveal volume momentum changes before price movements
- Identify market phases through volume participation analysis
Volume-Price Divergence Indicator (OBV + VWAP, Multi-Timeframe)Description:
This indicator helps you identify volume-price divergences and potential trend weakness across any specified timeframe.
Features:
Volume bars with moving average – green for bullish, red for bearish, with orange SMA to detect low-volume situations.
Custom OBV calculation with divergence detection – highlights when price makes new highs/lows but OBV does not.
VWAP deviation alerts – signals when price moves far from VWAP while volume remains low, indicating potential fake breakouts.
Fully configurable – select any reference timeframe, adjust volume MA, OBV period, and VWAP deviation threshold.
Visual markers – easily spot bullish/bearish divergences and volume-price mismatches directly on your chart.
Use case:
Spot early trend exhaustion points.
Identify fake breakouts or weak rallies/drops.
Combine with your existing trading strategy for more informed entries and exits.
Volume-Weighted RSI & Multi-Normalized MACD### Description for Publishing: Volume-Weighted RSI & Multi-Normalized MACD
**Overview**
The "Volume-Weighted RSI & Multi-Normalized MACD" indicator is a powerful and versatile tool designed for traders seeking enhanced momentum and trend analysis. Combining a volume-weighted Relative Strength Index (VW-RSI) with a customizable Moving Average Convergence Divergence (MACD) featuring multiple normalization methods, this indicator provides deep insights into market dynamics. It supports multi-timeframe (MTF) analysis and includes an optional stepped plotting mode for discrete signal visualization, making it ideal for both trend-following and mean-reversion strategies across various markets (stocks, forex, crypto, etc.).
**Key Features**
1. **Volume-Weighted RSI (VW-RSI)**:
- A modified RSI that incorporates trading volume for greater sensitivity to market activity.
- Normalized to a user-defined range (default: -50 to +50) for consistent analysis.
- Optional smoothing with multiple moving average types (SMA, EMA, WMA, VWMA, SMMA, or SMA with Bollinger Bands) to reduce noise and highlight trends.
- Overbought (+20) and oversold (-20) levels for quick reference.
2. **Multi-Normalized MACD**:
- Offers six normalization methods for MACD, allowing traders to tailor the output to their strategy:
- Normalized Volume Weighted MACD (unbounded).
- Min-Max Normalization (bounded).
- Volatility Normalization (unbounded, volatility-adjusted).
- Volatility Normalization with Min-Max (bounded).
- Hyperbolic Tangent Normalization (bounded).
- Arctangent Normalization (bounded).
- Min-Max with Smoothing (bounded).
- All bounded methods scale to the user-defined range (default: -50 to +50), ensuring comparability with VW-RSI.
- Dynamic color changes for MACD line (lime/red) and histogram (aqua/blue/red/maroon) based on momentum and signal line crosses.
3. **Stepped Plotting Mode**:
- Optional mode to plot RSI and MACD as discrete, stepped lines, reducing noise by only updating when values change significantly (configurable thresholds).
- Ideal for traders focusing on clear, actionable signal changes.
4. **Multi-Timeframe Support**:
- Configurable timeframe input (default: chart timeframe) for analyzing RSI and MACD on higher or lower timeframes, enhancing cross-timeframe strategies.
5. **Customizable Display**:
- Toggle options to show/hide MACD line, signal line, histogram, and cross dots.
- Bollinger Bands for RSI smoothing (optional) with adjustable standard deviation multiplier.
- Clear visual cues with horizontal lines for overbought/oversold levels, midline, and MACD bounds.
**Usage Instructions**
1. **Add to Chart**: Apply the indicator to any symbol (e.g., BTCUSD, SPY) on any timeframe (1H, 1D, etc.).
2. **Configure Settings**:
- **General**: Adjust `Lower Bound` (-50 default) and `Upper Bound` (+50 default) for the output range. Set `Timeframe` for MTF analysis. Enable `Stepped?` for discrete plotting.
- **RSI**: Choose `Price Source` (default: ohlc4), `RSI Length` (default: 9), and smoothing options (e.g., EMA, Bollinger Bands). Adjust `RSI Diff Threshold` for stepped mode.
- **MACD**: Select `Price Source`, `Fast Length` (9), `Slow Length` (21), `Signal Length` (9), and a normalization method (default: Volatility Min-Max). Adjust `MACD Diff Threshold` for stepped mode.
- **Display Options**: Toggle MACD components and histogram colors for clarity.
3. **Interpretation**:
- **VW-RSI**: Watch for crosses above +20 (overbought) or below -20 (oversold) for potential reversals. Use smoothed RSI or Bollinger Bands for trend confirmation.
- **MACD**: Look for MACD/Signal line crosses (dots indicate crossings) and histogram changes for momentum shifts. Bounded normalizations align with RSI for unified analysis.
- **Stepped Mode**: Focus on significant changes in RSI/MACD for clearer signals.
4. **Companion Overlay**: For visualization on the main price chart, use the companion script "VW-RSI & MACD Price Overlay" (available separately, requires this script to be published). It plots RSI and MACD as price-scaled echo lines, with toggles to show/hide and customizable scaling (high/low or ATR).
**Who Is This For?**
- **Trend Traders**: Use MACD normalizations and MTF to identify momentum shifts across timeframes.
- **Mean-Reversion Traders**: Leverage VW-RSI’s overbought/oversold signals for entry/exit points.
- **Technical Analysts**: Customize normalization and smoothing to match specific market conditions.
- **All Markets**: Works on stocks, forex, cryptocurrencies, and more, with any timeframe.
**Notes**
- Unbounded MACD normalizations (`enable_nvw`, `enable_vol`) may produce values outside -50/+50, suitable for volatility-focused strategies.
- For price chart overlay, publish this script and use its ID in the companion script’s `request.security` call.
- Adjust scaling inputs in the companion script for optimal visualization on volatile or stable assets.
**Author’s Note**
Developed by NEPOLIX, this indicator combines volume-weighted precision with flexible normalization for robust technical analysis. Feedback and suggestions are welcome to enhance future versions!
MC WITH ALERTS DINESH SETHIYAManipulation Candle (MC): A candlestick that initially suggests price movement in one direction but then reverses, manipulating liquidity and closing in the opposite direction.
Types of MCs:
Bullish MC: Takes out the previous candle's low, reverses, takes out the previous candle's high, and closes above it.
Bearish MC: Takes out the previous candle's high, reverses, takes out the previous candle's low, and closes below it.
Ideal MC Characteristic: The rejection wick (bottom wick for bullish MC, top wick for bearish MC) should be larger than the directional wick.
Custom Candle Coloring (3% Drop / Breakout / Follow-through)Naveen's custom bars. It helps with custom color of the bars to see significant candle movements and their interpretations
UpDownBow + BullBear ZoneUpDownBow + BullBear UpDownBow + BullBear ZoneUpDoUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZonewnBow + BullBear ZoneUpDownBow + BullBear UpDownBow + BullBear ZoneUpDoUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZonewnBow + BullBear ZoneUpDownBow + BullBear UpDownBow + BullBear ZoneUpDoUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZonewnBow + BullBear ZoneUpDownBow + BullBear UpDownBow + BullBear ZoneUpDoUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZonewnBow + BullBear ZoneUpDownBow + BullBear UpDownBow + BullBear ZoneUpDoUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZonewnBow + BullBear ZoneUpDownBow + BullBear UpDownBow + BullBear ZoneUpDoUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZonewnBow + BullBear ZoneUpDownBow + BullBear UpDownBow + BullBear ZoneUpDoUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZonewnBow + BullBear ZoneUpDownBow + BullBear UpDownBow + BullBear ZoneUpDoUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZoneUpDownBow + BullBear ZonewnBow + BullBear Zone
ATH Projection (2013, 2017, 2021 -> 2025)//@version=6
indicator(title="ATH Projection (2013, 2017, 2021 -> 2025)", overlay=true, max_labels_count=20, max_lines_count=20)
// ----------- Inputs (ATH manuels) -----------
t1 = input.time(defval=timestamp("2013-12-01T00:00:00"), title="Date ATH #1 (2013)")
p1 = input.float(defval=1100.0, title="Prix ATH #1 (2013)")
t2 = input.time(defval=timestamp("2017-12-01T00:00:00"), title="Date ATH #2 (2017)")
p2 = input.float(defval=20000.0, title="Prix ATH #2 (2017)")
t3 = input.time(defval=timestamp("2021-11-01T00:00:00"), title="Date ATH #3 (2021)")
p3 = input.float(defval=69000.0, title="Prix ATH #3 (2021)")
// Projection future (ex: fin 2025)
t_proj = input.time(defval=timestamp("2025-12-01T00:00:00"), title="Date cible (fin 2025)")
// ----------- Utilitaire -----------
f_days(t) => ((t - t1) / 86400000.0) + 1.0 // nb jours depuis t1 (+1 pour éviter log(0))
// ----------- Coordonnées X (jours) -----------
x1 = f_days(t1)
x2 = f_days(t2)
x3 = f_days(t3)
xP = f_days(t_proj)
// ----------- Régression power-law (3 points) -----------
X1 = math.log(x1), Y1 = math.log(p1)
X2 = math.log(x2), Y2 = math.log(p2)
X3 = math.log(x3), Y3 = math.log(p3)
n = 3.0
sumX = X1 + X2 + X3
sumY = Y1 + Y2 + Y3
sumX2 = X1*X1 + X2*X2 + X3*X3
sumXY = X1*Y1 + X2*Y2 + X3*Y3
denom = n*sumX2 - sumX*sumX
var float a = na
var float b = na
b := denom != 0 ? (n*sumXY - sumX*sumY) / denom : na
a := na(b) ? na : math.exp((sumY - b*sumX) / n)
// ----------- Courbe au fil des barres -----------
x_now = f_days(time)
curve = (not na(a) and not na(b) and x_now > 0) ? a * math.pow(x_now, b) : na
plot(series=curve, title="Courbe prévision (power-law)", color=color.fuchsia, linewidth=2)
// ----------- Projection fin 2025 -----------
proj2025 = (not na(a) and not na(b) and xP > 0) ? a * math.pow(xP, b) : na
bi_proj = ta.valuewhen(time >= t_proj, bar_index, 0)
x_for_label = na(bi_proj) ? bar_index : bi_proj
// Label affichant la projection
var label lbl = na
if barstate.islast and not na(proj2025)
txt = "Projection 2025 ≈ " + str.tostring(proj2025, format.price)
if na(lbl)
lbl := label.new(x=x_for_label, y=proj2025, text=txt, xloc=xloc.bar_index, style=label.style_label_up, color=color.green, textcolor=color.white, size=size.normal)
else
label.set_x(id=lbl, x=x_for_label)
label.set_y(id=lbl, y=proj2025)
label.set_text(id=lbl, text=txt)
Volume (Custom Timeframe & Color)This indicator displays volume data from a custom timeframe, regardless of the current chart resolution.
The bar color is determined by the price movement of the selected timeframe (green for bullish, red for bearish).
Features:
- Select any custom timeframe for volume (e.g., 5m, 15m, 1h, 1D).
- Volume bars are painted according to the candle direction of that timeframe.
- Useful for multi-timeframe analysis and detecting higher timeframe volume trends.
Inspired by TradingView’s built-in Volume indicator, but enhanced with custom timeframe and consistent coloring.
mohamed rebouh zigzag//
// mohamed rebouh
//@version=5
//
// THIS CODE IS BASED FROM THE MT4 ZIGZAG INDICATOR
// THE ZIGZAG SETTINGS FOR THE MAIN ONE ON TRADINGVIEW DO NOT WORK THE SAME AS MT4
// I HOPE U LOVE IT
//
indicator(' mohamed rebouh ', overlay=true)
// inputs
Depth = input(12, title='Depth') // Depth
Deviation = input(5, title='Deviation') // Deviation
// ZigZag
var lastlow = 0.0
var lasthigh = 0.0
data(x) =>
d = request.security(syminfo.tickerid, timeframe.period, x)
d
getLow(x, y, z, a) =>
lastlow1 = y
v = data(x)
m = v == lastlow1 or data(z) - v > a * syminfo.mintick
if v != lastlow1
lastlow1 := v
if m
v := 0.0
v
getHigh(x, y, z, a) =>
lasthigh1 = y
v = data(x)
m = v == lasthigh1 or v - data(z) > a * syminfo.mintick
if v != lasthigh1
lasthigh1 := v
if m
v := 0.0
v
= getLow(ta.lowest(Depth), lastlow, low, Deviation)
lastlow := e
zBB = v != 0.0
= getHigh(ta.highest(Depth), lasthigh, high, Deviation)
lasthigh := e1
zSS = v1 != 0.0
zigzagDirection = -1
zigzagHigh = 0
zigzagLow = 0
zigzagDirection := zBB ? 0 : zSS ? 1 : nz(zigzagDirection , -1)
virtualLow = zigzagLow + 1
if not zBB or zBB and zigzagDirection == zigzagDirection and low > low
zigzagLow := nz(zigzagLow ) + 1
zigzagLow
virtualHigh = zigzagHigh + 1
if not zSS or zSS and zigzagDirection == zigzagDirection and high < high
zigzagHigh := nz(zigzagHigh ) + 1
zigzagHigh
line zigzag = line.new(bar_index - zigzagLow, low , bar_index - zigzagHigh, high , color=color.red, style=line.style_solid, width=2)
if zigzagDirection == zigzagDirection
line.delete(zigzag )
Tristan's Star: 15m Shooting Star DetectorThis script is designed to be used on the 1-minute chart , but it analyzes the market as if you were watching the 15-minute candles.
Every cluster of 15 one-minute candles is grouped together and treated as a single 15-minute candle.
When that 15-minute “synthetic” candle looks like a shooting star pattern (small body near the low, long upper wick, short lower wick, bearish bias), the script triggers a signal.
At the close of that 15-minute cluster, the script will:
Plot a single “Sell” label on the last 1-minute bar of the group.
Draw a horizontal line across the 15 bars at the high, showing the level that created the shooting star.
Optionally display a table cell in the corner with the word “SELL.”
This lets you stay on the 1-minute timeframe for precision entries and exits, while still being alerted when the higher-timeframe (15-minute) shows a bearish reversal pattern.
BOS + Liquidity Sweep Entries//@version=5
indicator("BOS + Liquidity Sweep Entries (Both Directions) — Fixed", overlay=true, shorttitle="BOS+LS")
// ===== INPUTS =====
swingLen = input.int(5, "Swing lookback", minval=1)
sweepATRmult = input.float(0.5, "Sweep wick threshold (ATR multiplier)", minval=0.0, step=0.1)
maxBarsSinceBOS = input.int(50, "Max bars to wait for sweep after BOS", minval=1)
showLabels = input.bool(true, "Show labels", inline="lbl")
showShapes = input.bool(true, "Show shapes", inline="lbl")
atr = ta.atr(14)
// ===== PIVOTS =====
ph_val = ta.pivothigh(high, swingLen, swingLen)
pl_val = ta.pivotlow(low, swingLen, swingLen)
// persist last pivots and their bar indices
var float lastPH = na
var int lastPH_bar = na
var float lastPL = na
var int lastPL_bar = na
if not na(ph_val)
lastPH := ph_val
lastPH_bar := bar_index - swingLen
if not na(pl_val)
lastPL := pl_val
lastPL_bar := bar_index - swingLen
// ===== BOS DETECTION (record the bar where BOS first confirmed) =====
var int bull_bos_bar = na
bull_bos = not na(lastPH) and close > lastPH and bar_index > lastPH_bar
if bull_bos
// store first confirmation bar (overwrite only if new)
if na(bull_bos_bar) or bar_index > bull_bos_bar
bull_bos_bar := bar_index
var int bear_bos_bar = na
bear_bos = not na(lastPL) and close < lastPL and bar_index > lastPL_bar
if bear_bos
if na(bear_bos_bar) or bar_index > bear_bos_bar
bear_bos_bar := bar_index
// If pivots update to a more recent pivot, clear older BOS/sweep markers that predate the new pivot
if not na(lastPH_bar) and not na(bull_bos_bar)
if bull_bos_bar <= lastPH_bar
bull_bos_bar := na
// clear bull sweep when pivot updates
var int last_bull_sweep_bar = na
if not na(lastPL_bar) and not na(bear_bos_bar)
if bear_bos_bar <= lastPL_bar
bear_bos_bar := na
var int last_bear_sweep_bar = na
// ensure sweep tracking vars exist (declared outside so we can reference later)
var int last_bull_sweep_bar = na
var int last_bear_sweep_bar = na
// ===== SWEEP DETECTION =====
// Bullish sweep: wick above BOS (lastPH) by threshold, then close back below the BOS level
bull_sweep = false
if not na(bull_bos_bar) and not na(lastPH)
bars_since = bar_index - bull_bos_bar
if bars_since <= maxBarsSinceBOS
wick_above = high - lastPH
if (wick_above > sweepATRmult * atr) and (close < lastPH)
bull_sweep := true
last_bull_sweep_bar := bar_index
// Bearish sweep: wick below BOS (lastPL) by threshold, then close back above the BOS level
bear_sweep = false
if not na(bear_bos_bar) and not na(lastPL)
bars_since = bar_index - bear_bos_bar
if bars_since <= maxBarsSinceBOS
wick_below = lastPL - low
if (wick_below > sweepATRmult * atr) and (close > lastPL)
bear_sweep := true
last_bear_sweep_bar := bar_index
// ===== ENTRY RULES (only after sweep happened AFTER BOS) =====
long_entry = false
if not na(last_bull_sweep_bar) and not na(bull_bos_bar)
if (last_bull_sweep_bar > bull_bos_bar) and (bar_index > last_bull_sweep_bar) and (close > lastPH)
long_entry := true
// avoid duplicate triggers from the same sweep
last_bull_sweep_bar := na
short_entry = false
if not na(last_bear_sweep_bar) and not na(bear_bos_bar)
if (last_bear_sweep_bar > bear_bos_bar) and (bar_index > last_bear_sweep_bar) and (close < lastPL)
short_entry := true
// avoid duplicate triggers from the same sweep
last_bear_sweep_bar := na
// ===== PLOTTING LINES =====
plot(lastPH, title="Last Swing High", color=color.orange, linewidth=2, style=plot.style_linebr)
plot(lastPL, title="Last Swing Low", color=color.teal, linewidth=2, style=plot.style_linebr)
// ===== LABELS & SHAPES (managed to avoid label flooding) =====
var label lb_bull_bos = na
var label lb_bear_bos = na
var label lb_bull_sweep = na
var label lb_bear_sweep = na
var label lb_long_entry = na
var label lb_short_entry = na
if showLabels
if bull_bos
if not na(lb_bull_bos)
label.delete(lb_bull_bos)
lb_bull_bos := label.new(bar_index, high, "Bull BOS ✓", yloc=yloc.abovebar, style=label.style_label_up, color=color.green, textcolor=color.white)
if bear_bos
if not na(lb_bear_bos)
label.delete(lb_bear_bos)
lb_bear_bos := label.new(bar_index, low, "Bear BOS ✓", yloc=yloc.belowbar, style=label.style_label_down, color=color.red, textcolor=color.white)
if bull_sweep
if not na(lb_bull_sweep)
label.delete(lb_bull_sweep)
lb_bull_sweep := label.new(bar_index, high, "Bull Sweep", yloc=yloc.abovebar, style=label.style_label_down, color=color.purple, textcolor=color.white)
if bear_sweep
if not na(lb_bear_sweep)
label.delete(lb_bear_sweep)
lb_bear_sweep := label.new(bar_index, low, "Bear Sweep", yloc=yloc.belowbar, style=label.style_label_up, color=color.purple, textcolor=color.white)
if long_entry
if not na(lb_long_entry)
label.delete(lb_long_entry)
lb_long_entry := label.new(bar_index, low, "LONG ENTRY", yloc=yloc.belowbar, style=label.style_label_up, color=color.lime, textcolor=color.black)
if short_entry
if not na(lb_short_entry)
label.delete(lb_short_entry)
lb_short_entry := label.new(bar_index, high, "SHORT ENTRY", yloc=yloc.abovebar, style=label.style_label_down, color=color.red, textcolor=color.white)
// optional shapes (good for quick visual scanning)
if showShapes
plotshape(bull_sweep, title="Bull Sweep Shape", location=location.abovebar, color=color.purple, style=shape.triangledown, size=size.tiny)
plotshape(bear_sweep, title="Bear Sweep Shape", location=location.belowbar, color=color.purple, style=shape.triangleup, size=size.tiny)
plotshape(long_entry, title="Long Shape", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.small)
plotshape(short_entry, title="Short Shape", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// ===== ALERTS =====
alertcondition(bull_bos, title="Bullish BOS", message="Bullish BOS confirmed above swing high")
alertcondition(bear_bos, title="Bearish BOS", message="Bearish BOS confirmed below swing low")
alertcondition(bull_sweep, title="Bullish Sweep", message="Liquidity sweep above swing high detected")
alertcondition(bear_sweep, title="Bearish Sweep", message="Liquidity sweep below swing low detected")
alertcondition(long_entry, title="LONG Entry", message="LONG Entry: BOS -> sweep -> reclaim")
alertcondition(short_entry, title="SHORT Entry", message="SHORT Entry: BOS -> sweep -> reclaim")
CDC Action Zone (TH) by MeowToolsThe CDC Action Zone indicator is like a stock market traffic light — it tells you when it’s green to go and when it’s red to stop. By combining just two EMAs (12 and 26), it highlights Buy and Sell zones clearly, cutting through market noise and keeping you on the right side of the trend. Think of it as a radar that spots the big moves before most people notice, giving you the confidence to ride the trend and exit before getting trapped. Meow 😺 give it a try and see how it can help your portfolio take off 🚀📈
Multi-Timeframe MACD Score (Customizable)this is a momentum based indicator to know the trend so we go with the trend.
EMA + MACD Entry Signals (Jason Wang)EMA9、20、200 + MACD(12、26、9) Entry Signals ,严格的设置出入场条件
1.做多的k棒:
• EMA9 > EMA200
• EMA20 > EMA200
• EMA9 > EMA20
• MACD DIF > 0 且 DIF > DEM
• 入场信号:
• DIF 上穿 DEM
• 或 EMA9 上穿 EMA20
2.做空的k棒:
• EMA9 < EMA200
• EMA20 < EMA200
• EMA9 < EMA20
• MACD DIF < 0 且 DIF < DEM
• 入场信号:
• DIF 下穿 DEM
• 或 EMA9 下穿 EMA20