Low Range Predictor [NR4/NR7 after WR4/WR7/WR20, within 1-3Days]Indicator Overview
The Low Range Predictor is a TradingView indicator displayed in a single panel below the chart. It spots volatility contraction setups (NR4/NR7 within 1–3 days of WR4/WR7/WR20) to predict low-range moves (e.g., <0.5% daily on SPY) over 2–5 days, perfect for your weekly 15/22 DTE put calendar spread strategy.
What You See
• Red Histograms (WR, Volatility Climax):
• WR4: Half-length red bars, widest range in 4 bars.
• WR7: Three-quarter-length red bars, widest in 7 bars.
• WR20: Full-length red bars, widest in 20 bars.
• Green Histograms (NR, Entry Signals):
• NR4: Half-length green bars, only on NR4 days (tightest range in 4 bars) within 1–3 days of a WR4.
• NR7: Full-length green bars, only on NR7 days within 1–3 days of a WR7.
• Panel: All signals (red WR4/WR7/WR20, green NR4/NR7) show in one panel below the chart, with green bars marking put calendar entry days.
Probabilities
• Volatility Contraction:
• NR4 after WR4: 65–70% chance of daily ranges <0.5% on SPY for 2–5 days (ATR drops 20–30%). Occurs ~2–3 times/month.
• NR7 after WR7: 60–65% chance of similar low ranges, less frequent (~1–2 times/month).
• Backtest (SPY, 2000–2025): 65% of NR4/NR7 signals lead to reduced volatility (<0.7% daily range) vs. 50% for random days.
• Signal Frequency: NR4 signals are more common than NR7, ideal for weekly entries. WR20 provides context but isn’t tied to NR signals.
Search in scripts for "histogram"
MACD Forecast [Titans_Invest]MACD Forecast — The Future of MACD in Trading
The MACD has always been one of the most powerful tools in technical analysis.
But what if you could see where it’s going, instead of just reacting to what has already happened?
Introducing MACD Forecast — the natural evolution of the MACD Full , now taken to the next level. It’s the world’s first MACD designed not only to analyze the present but also to predict the future behavior of momentum.
By combining the classic MACD structure with projections powered by Linear Regression, this indicator gives traders an anticipatory, predictive view, redefining what’s possible in technical analysis.
Forget lagging indicators.
This is the smartest, most advanced, and most accurate MACD ever created.
🍟 WHY MACD FORECAST IS REVOLUTIONARY
Unlike the traditional MACD, which only reflects current and past price dynamics, the MACD Forecast uses regression-based projection models to anticipate where the MACD line, signal line, and histogram are heading.
This means traders can:
• See MACD crossovers before they happen.
• Spot trend reversals earlier than most.
• Gain an unprecedented timing advantage in both discretionary and automated trading.
In other words: this indicator lets you trade ahead of time.
🔮 FORECAST ENGINE — POWERED BY LINEAR REGRESSION
At its core, the MACD Forecast integrates Linear Regression (ta.linreg) to project the MACD’s future behavior with exceptional accuracy.
Projection Modes:
• Flat Projection: Assumes trend continuity at the current level.
• LinReg Projection: Applies linear regression across N periods to mathematically forecast momentum shifts.
This dual system offers both a conservative and adaptive view of market direction.
📐 ACCURACY WITH FULL CUSTOMIZATION
Just like the MACD Full, this new version comes with 20 customizable buy-entry conditions and 20 sell-entry conditions — now enhanced with forecast-based rules that anticipate crossovers and trend reversals.
You’re not just reacting — you’re strategizing ahead of time.
⯁ HOW TO USE MACD FORECAST❓
The MACD Forecast is built on the same foundation as the classic MACD, but with predictive capabilities.
Step 1 — Spot Predicted Crossovers:
Watch for forecasted bullish or bearish crossovers. These signals anticipate when the MACD line will cross the signal line in the future, letting you prepare trades before the move.
Step 2 — Confirm with Histogram Projection:
Use the projected histogram to validate momentum direction. A rising histogram signals strengthening bullish momentum, while a falling projection points to weakening or bearish conditions.
Step 3 — Combine with Multi-Timeframe Analysis:
Use forecasts across multiple timeframes to confirm signal strength (e.g., a 1h forecast aligned with a 4h forecast).
Step 4 — Set Entry Conditions & Automation:
Customize your buy/sell rules with the 20 forecast-based conditions and enable automation for bots or alerts.
Step 5 — Trade Ahead of the Market:
By preparing for future momentum shifts instead of reacting to the past, you’ll always stay one step ahead of lagging traders.
🤖 BUILT FOR AUTOMATION AND BOTS 🤖
Whether for manual trading, quantitative strategies, or advanced algorithms, the MACD Forecast was designed to integrate seamlessly with automated systems.
With predictive logic at its core, your strategies can finally react to what’s coming, not just what already happened.
🥇 WHY THIS INDICATOR IS UNIQUE 🥇
• World’s first MACD with Linear Regression Forecasting
• Predictive Crossovers (before they appear on the chart)
• Maximum flexibility with Long & Short combinations — 20+ fully configurable conditions for tailor-made strategies
• Fully automatable for quantitative systems and advanced bots
This isn’t just an update.
It’s the final evolution of the MACD.
______________________________________________________
🔹 CONDITIONS TO BUY 📈
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔹 MACD > Signal Smoothing
🔹 MACD < Signal Smoothing
🔹 Histogram > 0
🔹 Histogram < 0
🔹 Histogram Positive
🔹 Histogram Negative
🔹 MACD > 0
🔹 MACD < 0
🔹 Signal > 0
🔹 Signal < 0
🔹 MACD > Histogram
🔹 MACD < Histogram
🔹 Signal > Histogram
🔹 Signal < Histogram
🔹 MACD (Crossover) Signal
🔹 MACD (Crossunder) Signal
🔹 MACD (Crossover) 0
🔹 MACD (Crossunder) 0
🔹 Signal (Crossover) 0
🔹 Signal (Crossunder) 0
🔮 MACD (Crossover) Signal Forecast
🔮 MACD (Crossunder) Signal Forecast
______________________________________________________
______________________________________________________
🔸 CONDITIONS TO SELL 📉
______________________________________________________
• Signal Validity: The signal will remain valid for X bars .
• Signal Sequence: Configurable as AND or OR .
🔸 MACD > Signal Smoothing
🔸 MACD < Signal Smoothing
🔸 Histogram > 0
🔸 Histogram < 0
🔸 Histogram Positive
🔸 Histogram Negative
🔸 MACD > 0
🔸 MACD < 0
🔸 Signal > 0
🔸 Signal < 0
🔸 MACD > Histogram
🔸 MACD < Histogram
🔸 Signal > Histogram
🔸 Signal < Histogram
🔸 MACD (Crossover) Signal
🔸 MACD (Crossunder) Signal
🔸 MACD (Crossover) 0
🔸 MACD (Crossunder) 0
🔸 Signal (Crossover) 0
🔸 Signal (Crossunder) 0
🔮 MACD (Crossover) Signal Forecast
🔮 MACD (Crossunder) Signal Forecast
______________________________________________________
______________________________________________________
🔮 Linear Regression Function 🔮
______________________________________________________
• Our indicator includes MACD forecasts powered by linear regression.
Forecast Types:
• Flat: Assumes prices will stay the same.
• Linreg: Makes a 'Linear Regression' forecast for n periods.
Technical Information:
• Function: ta.linreg()
Parameters:
• source: Source price series.
• length: Number of bars (period).
• offset : Offset.
• return: Linear regression curve.
______________________________________________________
______________________________________________________
⯁ UNIQUE FEATURES
______________________________________________________
Linear Regression: (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Table of Conditions: BUY/SELL
Conditions Label: BUY/SELL
Plot Labels in the graph above: BUY/SELL
Automate & Monitor Signals/Alerts: BUY/SELL
Linear Regression (Forecast)
Signal Validity: The signal will remain valid for X bars
Signal Sequence: Configurable as AND/OR
Table of Conditions: BUY/SELL
Conditions Label: BUY/SELL
Plot Labels in the graph above: BUY/SELL
Automate & Monitor Signals/Alerts: BUY/SELL
______________________________________________________
📜 SCRIPT : MACD Forecast
🎴 Art by : @Titans_Invest & @DiFlip
👨💻 Dev by : @Titans_Invest & @DiFlip
🎑 Titans Invest — The Wizards Without Gloves 🧤
✨ Enjoy!
______________________________________________________
o Mission 🗺
• Inspire Traders to manifest Magic in the Market.
o Vision 𐓏
• To elevate collective Energy 𐓷𐓏
🎗️ In memory of João Guilherme — your light will live on forever.
BySq - Market PsychologyThe script I provided is a Market Psychology Index indicator for TradingView, which focuses on three key psychological market phases:
FOMO (Fear of Missing Out)
Panic Selling
Reversal
This indicator uses volume, price changes, and specific time periods to gauge market sentiment. Let me break it down:
1. Input Parameters:
FOMO Period: Defines how many bars (candles) the FOMO index will consider for its calculation.
Panic Period: Defines the period to evaluate Panic Selling.
Reversal Period: Defines the period to evaluate potential price reversals.
You can adjust these periods based on your analysis preferences. The default for each period is 14.
2. FOMO Index:
The FOMO Index aims to capture the "fear of missing out" behavior in the market.
It uses volume and price change:
Volume is compared to the Simple Moving Average (SMA) of volume over the specified period.
Price change is calculated as the percentage change in price compared to the previous bar.
If both volume and price change indicate strong upward movement, the FOMO index spikes.
3. Panic Selling Index:
The Panic Selling Index captures when traders are selling out of fear, often in a rapid or irrational way.
Similar to the FOMO Index, it considers volume and price change:
It uses volume and compares it to the SMA of volume for the panic period.
Price change is negative, meaning it considers only price drops.
When there is high volume coupled with significant price drops, it signals panic selling.
4. Reversal Index:
The Reversal Index aims to detect potential trend reversals in the market.
This index also considers volume and price change:
It focuses on upward price movement and compares volume to its SMA.
If there’s strong upward price movement along with increasing volume, it signals the possibility of a price reversal.
5. Graphical Output:
Histograms are drawn on the chart for each of the three indices:
FOMO is shown in green (indicating the presence of FOMO) and red (when the index is low).
Panic Selling is shown in orange.
Reversal is shown in purple.
The Zero Line (horizontal dotted line) helps identify when any of the indices is positive or negative.
6. Labels:
Labels for each index are shown on the chart at the relevant bar when the index spikes.
FOMO is labeled "FOMO" in green when it spikes.
Panic Selling is labeled "Panic Selling" in orange when it spikes.
Reversal is labeled "Reversal" in purple when it spikes.
Additionally, period labels show above the chart, indicating the specific periods (FOMO, Panic, and Reversal periods) currently being applied. This provides clarity on what time frame each index is analyzing.
7. How to Use:
FOMO: High values may indicate that traders are buying out of fear of missing out on a rally, suggesting a potentially overheated market.
Panic Selling: High values could suggest irrational selling behavior or capitulation, potentially marking the bottom of a downtrend.
Reversal: High values signal the potential for a market reversal, where the price could change direction due to increased volume and upward movement.
8. Visual Appearance:
The indicator’s histograms change colors based on the level of market sentiment detected. The color-coded approach provides an easy-to-read visual representation of different psychological phases in the market.
The horizontal zero line allows easy differentiation between positive and negative values.
Summary:
This script combines the psychology of the market (FOMO, Panic Selling, and Reversal) into a set of indicators that help traders identify potential turning points or emotional states in the market. By focusing on volume and price change, the script attempts to give a clear picture of market sentiment and possible future movements.
ATR - Asymmetric Turbulence Ribbon🧭 Asymmetric Turbulence Ribbon (ATR)
The Asymmetric Turbulence Ribbon (ATR) is an enhanced and reimagined version of the standard Average True Range (ATR) indicator. It visualizes not just raw volatility, but the structure, momentum, and efficiency of volatility through a multi-layered visual approach.
It contains two distinct visual systems:
1. A zero-centered histogram that expresses how current volatility compares to its historical average, with intensity and color showing speed and conviction
2. A braided ribbon made of dual ATR-based moving averages that highlight transitions in volatility behavior—whether volatility is expanding or contracting
The name reflects its purpose: to capture asymmetric, evolving turbulence in market behavior, through structure-aware volatility tracking.
_______________________________________________________________
🔧 Inputs (Fibonacci defaults)
ATR Length
Lookback period for ATR calculation (default: 13)
ATR Base Avg. Length
Moving average period used as the zero baseline for histogram (default: 55)
ATR ROC Lookback
Number of bars to measure rate of change for histogram color mapping (default: 8)
Timeframe Override
Optionally calculate ATR values from a higher or fixed timeframe (e.g., 1D) for macro-volatility overlay
Show Ribbon Fill
Toggles colored fill between ATR EMA and HMA lines
Show ATR MAs
Toggles visibility of ATR EMA and HMA lines
Show Crossover Markers
Shows directional triangle markers where ATR EMA and HMA cross
Show Histogram
Toggles the entire histogram display
_______________________________________________________________
📊 Histogram Component: Volatility Energy Profile
The histogram shows how far the current ATR is from its moving average baseline, centered around zero. This lets you interpret volatility pressure—whether it's expanding, contracting, or preparing to reverse.
To complement this, the indicator also plots the raw ATR line in aqua. This is the actual average true range value—used internally in both the histogram and ribbon calculations. By default, it appears as a slightly thicker line, providing a clear reference point for comparing historical volatility trends and absolute levels.
Use the baseline ATR to:
- Compare real-time volatility to previous peaks or troughs
- Monitor how ATR behaves near histogram flips or ribbon crossovers
- Evaluate volatility phases in absolute terms alongside relative momentum
The ATR line is particularly helpful for users who want to keep tabs on raw volatility values while still benefiting from the enhanced visual storytelling of the histogram and ribbon systems.
Each histogram bar is colored based on the rate of change (ROC) in ATR: The faster ATR rises or falls, the more intense the color. Meanwhile, the opacity of each bar is adjusted by the effort/result ratio of the price candle (body vs. range), showing how much price movement was achieved with conviction.
Color Interpretation:
🔴 Red
Strong volatility expansion
Market entering or deepening into a volatility burst
Seen during breakouts, panic moves, or macro shock events
Often accompanied by large real candle bodies
🟠 Orange
Moderate volatility expansion
Heating up phase, often precedes breakouts
Common in strong trending environments
Signals tightening before acceleration
🟡 Yellow
Mild volatility increase
Transitional state—energy building, not yet exploding
Appears in early trend development or pullbacks
🟢 Green
Mild volatility contraction
ATR cooling off
Seen during consolidation, reversion, or range balance
Good time to assess upcoming directional setups
🔵 Aqua
Moderate compression
Volatility is clearly declining
Signals consolidation within larger structure
Pre-breakout zones often form here
🔵 Deep Blue
Strong volatility compression
Market is coiling or dormant
Can signal upcoming squeeze or fade environment
Often followed by sharp expansion
Opacity scaling:
Brighter bars = efficient, directional price action (strong bodies)
Faded bars = indecision, chop, absorption, or wick-heavy structure
Together, color and opacity give a 2D view of market volatility: Hue = the type and direction of volatility
Opacity = the quality and structure behind it
Use this to gauge whether volatility is rising with conviction, fading into neutrality, or compressing toward breakout potential.
_______________________________________________________________
🪡 Ribbon Component: Volatility Rhythm Structure
The ribbon overlays two moving averages of ATR:
EMA (yellow) – faster, more reactive
HMA (orange) – smoother, more rhythmic
Their relationship creates the ribbon logic:
Yellow fill (EMA > HMA)
Short-term volatility is increasing faster than the longer-term rhythm
Signals active expansion and engagement
Orange fill (HMA > EMA)
Volatility is decaying or leveling off
Suggests possible exhaustion, pullback, or range
Crossover triangle markers (optional, off by default to avoid clutter) identify the moment of shift in volatility phase.
The ribbon reflects the shape of volatility over time—ideal for mapping cyclical energy shifts, transitional states, and alignment between current and average volatility.
_______________________________________________________________
📐 Strategy Application
Use the Asymmetric Turbulence Ribbon to:
- Detect volatility expansions before breakouts or directional runs
- Spot compression zones that precede structural ruptures
- Visually separate efficient moves from noisy market activity
- Confirm or fade trade setups based on underlying energy state
- Track the volatility environment across multiple timeframes using the override
_______________________________________________________________
🎯 Ideal Timeframes
Designed to function across all timeframes, but particularly powerful on intraday to daily ranges (1H to 1D)
Use the timeframe override to anchor your chart in higher-timeframe volatility context, like daily ATR behavior influencing a 1H setup.
_______________________________________________________________
🧬 Customization Tips
- Increase ATR ROC Lookback for smoother color transitions
- Extend ATR Base Avg Length for more macro-driven histogram centering
- Disable the histogram for ribbon-only rhythm view
- Use opacity and color shifts in the histogram to detect stealth energy builds
- Align ATR phases with structure or order flow tools for high-quality setups
MACD Boundary PSA - CoffeeKillerMACD Boundary PSA - CoffeeKiller Indicator Guide
Welcome traders! This guide will walk you through the MACD Boundary PSA indicator, a powerful market analysis tool developed by CoffeeKiller that enhances the traditional MACD with advanced boundary detection and peak signaling features.
🔔 **Warning: This Indicator Has No Signal Line or MACD Line** 🔔 This indicator is my version of the MACD, that I use in conjunction with the Rev&Line indicator.
Core Concept: Enhanced MACD Analysis
The foundation of this indicator builds upon the classic Moving Average Convergence Divergence (MACD) indicator, adding boundary tracking and peak detection systems to provide clearer signals and market insights.
Histogram Bars: Market Momentum
- Positive Green Bars: Bullish momentum
- Negative Red Bars: Bearish momentum
- Color intensity varies based on momentum strength
- Special coloring for new high/low boundaries
Marker Lines: Dynamic Support/Resistance
- High Marker Line (Magenta): Tracks the highest point reached during a bullish phase
- Low Marker Line (Cyan): Tracks the lowest point reached during a bearish phase
- Acts as dynamic boundaries that help identify strength of current moves
Peak Detection System:
- Triangular markers identify significant local maxima and minima
- Background highlighting shows important momentum peaks
- Helps identify potential reversal points and momentum exhaustion
Core Components
1. MACD Calculation
- Customizable fast and slow moving averages
- Signal line smoothing options
- Flexible MA type selection (SMA or EMA)
- Custom source input options
2. Boundary Tracking System
- Automatic detection of highest values in bullish phases
- Automatic detection of lowest values in bearish phases
- Step-line visualization of boundaries
- Color-coded for easy identification
3. Peak Detection System
- Identification of local maxima and minima
- Background highlighting of significant peaks
- Triangle markers for peak visualization
- Zero-line cross detection for trend changes
4. Time Resolution Control
- Normal mode: calculations based on chart timeframe
- Custom resolution mode: calculations based on specified timeframe
Main Features
Time Resolution Settings
- Normal mode: calculations match your chart's timeframe
- Custom resolution mode: calculations based on specified timeframe
- Helps identify stronger signals from other timeframes
Visual Elements
- Color-coded histogram bars
- Dynamic marker lines for boundaries
- Peak triangles for significant turning points
- Background highlighting for peak identification
Signal Generation
- Zero-line crosses for trend change signals
- Boundary breaks for momentum strength
- Peak formation for potential reversals
- Color changes for momentum direction
Customization Options
- MA types and lengths
- Signal smoothing
- Color schemes
- Marker line visibility
- Peak background display options
Trading Applications
1. Trend Identification
- Histogram crossing above zero: bullish trend beginning
- Histogram crossing below zero: bearish trend beginning
- Histogram color: indicates momentum direction
- Consistent color intensity: trend strength
2. Reversal Detection
- Peak triangles after extended trend: potential exhaustion
- Background highlighting: significant reversal points
- Histogram approaching marker lines: potential trend change
- Color shifts from bright to muted: decreasing momentum
3. Momentum Analysis
- Histogram breaking above previous high boundary: accelerating bullish momentum
- Histogram breaking below previous low boundary: accelerating bearish momentum
- Special coloring (magenta/cyan): boundary breaks indicating strength
- Distance from zero line: overall momentum magnitude
4. Market Structure Assessment
- Consecutive higher peaks: strengthening bullish structure
- Consecutive lower troughs: strengthening bearish structure
- Peak comparisons: relative strength of momentum phases
- Boundary line steps: market structure levels
Optimization Guide
1. MACD Settings
- Fast Length: Shorter values (8-12) for responsiveness, longer values (20+) for smoother signals
- Slow Length: Shorter values (21-34) for more signals, longer values (72+) for major moves
- Default settings (22, 72, 9): balanced approach for most timeframes
- Consider using 8, 21, 5 for shorter timeframes and 34, 144, 5 for longer timeframes
2. MA Type Selection
- EMA: More responsive, follows price more closely
- SMA: Smoother, fewer false signals, potentially more lag
- Mix and match for oscillator and signal lines based on your preference
3. Time Resolution
- Match chart timeframe: for aligned analysis
- Use higher timeframe: for filtering signals
- Lower timeframe: for earlier entries but more noise
4. Color Customization
- Normal bullish/bearish colors: represent standard momentum
- High/low marker line colors: customize visibility
- Peak marker colors: adjust for your visual preference
- Consider chart background when selecting colors
Best Practices
1. Signal Confirmation
- Wait for zero-line crosses to confirm trend changes
- Look for peak formations to identify potential reversals
- Check for boundary breaks to confirm strong momentum
- Use custom timeframe option for higher timeframe confirmation
2. Timeframe Selection
- Lower timeframes: more signals, potential noise
- Higher timeframes: cleaner signals, less frequent
- Custom resolution: allows comparison across timeframes
- Consider using multiple timeframes for confirmation
3. Market Context
- Strong bullish phase: positive histogram breaking above marker line
- Strong bearish phase: negative histogram breaking below marker line
- Histogram approaching zero: potential trend change
- Peak formations: potential exhaustion points
4. Combining with Other Indicators
- Use with trend indicators for confirmation
- Pair with oscillators for overbought/oversold conditions
- Combine with volume analysis for validation
- Consider support/resistance levels with boundary lines
Advanced Trading Strategies
1. Boundary Break Strategy
- Enter long when histogram breaks above previous high marker line
- Enter short when histogram breaks below previous low marker line
- Use zero-line as initial stop-loss reference
- Take profits at formation of opposing peaks
2. Peak Trading Strategy
- Identify significant peaks with triangular markers
- Look for consecutive lower peaks in bullish phases for shorting opportunities
- Look for consecutive higher troughs in bearish phases for buying opportunities
- Use zero-line crosses as confirmation
3. Multi-Timeframe Strategy
- Use custom resolution for higher timeframe MACD trend
- Enter trades when both timeframes align
- Higher timeframe for trend direction
- Chart timeframe for precise entry
4. Histogram Color Strategy
- Enter long when histogram turns bright green (increasing momentum)
- Enter short when histogram turns bright red (increasing momentum)
- Exit when color intensity fades (decreasing momentum)
- Use marker lines as dynamic support/resistance
Practical Analysis Examples
Bullish Market Scenario
- Histogram crosses above zero line
- Green bars grow in height and intensity
- High marker line forms steps upward
- Peak triangles appear at local maxima
- Background highlights appear at significant momentum peaks
Bearish Market Scenario
- Histogram crosses below zero line
- Red bars grow in depth and intensity
- Low marker line forms steps downward
- Peak triangles appear at local minima
- Background highlights appear at significant momentum troughs
Consolidation Scenario
- Histogram oscillates around zero line
- Bar colors alternate frequently
- Marker lines remain relatively flat
- Few or no new peak highlights appear
- Histogram values remain small
Understanding Market Dynamics Through MACD Boundary PSA
At its core, this indicator provides a unique lens to visualize market momentum and boundaries:
1. Momentum Strength: The histogram height/depth shows the strength of current momentum, with color intensity providing additional context about acceleration or deceleration.
2. Dynamic Boundaries: The marker lines create a visual representation of the "high water marks" of momentum in both directions, helping to identify when markets are making new momentum extremes.
3. Exhaustion Signals: The peak detection system highlights moments where momentum has reached a local maximum or minimum, often precursors to reversals or consolidations.
4. Trend Confirmation: The histogram color and intensity provide instant feedback about the current trend direction and strength, with special colors highlighting particularly significant moves.
Remember:
- Combine signals from histogram, marker lines, and peak formations
- Use appropriate timeframe settings for your trading style
- Customize the indicator to match your visual preferences
- Consider market conditions and correlate with price action
This indicator works best when:
- Used as part of a comprehensive trading system
- Combined with proper risk management
- Applied with an understanding of current market conditions
- Signals are confirmed by price action and other indicators
**DISCLAIMER**: This indicator and its signals are intended solely for educational and informational purposes. They do not constitute financial advice. Trading involves significant risk of loss. Always conduct your own analysis and consult with financial professionals before making trading decisions.
MACD Sniper [trade_lexx]📈 MACD Sniper — Improve your trading strategy with accurate signals!
Introducing the MACD Sniper , an advanced trading indicator designed for a comprehensive analysis of market conditions. This indicator combines MACD (Moving Average Convergence Divergence) with various types of moving averages (SMA, EMA, WMA, VWMA, KAMA, HMA, ZLEMA, TEMA, ALMA, DEMA), providing traders with a powerful tool for generating buy and sell signals. It is ideal for traders who need an advantage in detecting changes in trends and market conditions.
🔍 How the signals work
1. Histogram signals:
— A buy signal is generated when the MACD histogram is below zero and begins to grow after the minimum number of falling histogram columns, which are indicated in the indicator menu. This indicates that selling pressure has decreased, the market is oversold and ready for a rebound. The signals are displayed as green triangles labeled "H" under the histogram graph. On the main chart, buy signals are displayed as green triangles labeled "Buy" under candlesticks.
— A sell signal is generated when the MACD histogram is above zero and begins to fall after the minimum number of growing histogram columns, which are indicated in the indicator menu. This indicates that the buying pressure has decreased, the market is overbought and ready for correction. The signals are displayed as red triangles labeled "H" above the histogram graph. On the main chart, the sell signals are displayed as red triangles with the word "Sell" above the candlesticks.
2. Moving Average Crossing Signals (MA):
— A buy signal is generated when the Fast Moving Average (MACD) crosses the Slow Moving Average (Signal Line) from bottom to top. This indicates a possible upward reversal of the market. The signals are displayed as green triangles labeled "MA" under the MACD chart. On the main chart, buy signals are displayed as green triangles labeled "Buy" under candlesticks.
— A sell signal is generated when the Fast Moving Average (MACD) crosses the slow Moving Average (Signal Line) from top to bottom. This indicates a possible downward reversal of the market. The signals are displayed as red triangles labeled "MA" above the MACD chart. On the main chart, the sell signals are displayed as red triangles with the word "Sell" above the candlesticks.
🔧 Signal filtering
— Minimum number of bars between signals
This filter allows the user to set the minimum number of bars that must pass between the generation of two consecutive signals. This helps to avoid frequent false alarms and improves the quality of the generated signals. Setting this parameter allows you to filter out the noise in the market and make the signals more reliable. For example, if the value is set to 5, then a new signal will be generated only after 5 bars have passed since the previous signal.
— "Wait for the opposite signal" mode
In this mode, Buy and Sell signals are generated only after receiving the opposite signal. This means that a buy signal will be generated only after the previous sell signal, and vice versa. This approach adds an additional level of filtering and helps to avoid false positives. This is especially useful in conditions of high market volatility, when false signals often occur.
— RSI filter
The Relative Strength Index (RSI) is used for additional filtering of buy and sell signals. The RSI helps determine whether a market is overbought or oversold. The user can set overbought and oversold levels, and signals will be generated only when the RSI is in the specified ranges. For example, a buy signal will be generated only if the RSI is in the range between 10 and 30 (oversold), and a sell signal if the RSI is in the range between 70 and 90 (overbought). This helps to avoid false signals in extreme market conditions.
🔌 Connector Histogram, MA, Combined 🔌
These parameters allow you to connect the indicator to trading strategies and test the signals throughout the trading history. This makes the indicator an even more powerful tool for traders who want to test the effectiveness of their strategies on historical data.
Connector Histogram provides the ability to connect signals based on the MACD histogram to trading strategies.
Connector MA allows you to connect signals based on the intersection of moving averages (MA) of the MACD, which can also be used for automatic trading or strategy testing.
The combined connector combines signals based on both a histogram and the intersection of moving averages, making the analysis more comprehensive and reliable, which is especially useful for traders seeking to improve the quality of their trading decisions.
🔔 Alerts
The indicator provides the ability to set up notifications for buy and sell signals, which allows traders to keep abreast of important market events without having to constantly monitor the chart. Users can set up notifications that will alert them when buy or sell signals appear, helping them respond to market changes in a timely manner and make informed decisions. These notifications can be configured for various types of signals, such as signals based on the MACD histogram, moving average crossings, or all at once, which makes the indicator a more convenient and functional tool for active traders.
🎨 Customizable Appearance
Customize the appearance of the MACD Sniper according to your preferences to make the analysis more convenient and visually pleasing. In the indicator settings section, you can change the colors of the buy and sell signals so that they stand out on the chart and are easily visible. For example, buy signals can be green, and sell signals can be red. These settings allow traders to adapt the indicator to their individual needs, making it more flexible and user-friendly.
🔧 How it works
The MACD Sniper indicator starts by calculating the MACD values and moving averages for a specific period in order to assess market conditions. For this, fast and slow moving averages are used, as well as a signal line, which are calculated based on the set parameters. The indicator then analyzes the MACD histogram to determine whether the difference between the fast and slow moving averages is rising or falling. Based on this analysis, buy and sell signals are generated. Additionally, the indicator uses the RSI filter to filter out false signals in overbought or oversold market conditions. The user can set the minimum number of bars between the signals and the "Wait for the opposite signal" mode for additional filtering. The indicator dynamically adjusts to changes in the market, providing relevant signals in real time.
📚 Quick guide to using the MACD Sniper
— Add the indicator to your favorites by clicking on the rocket icon. Adjust the parameters such as the length of periods for fast and slow moving averages, the type of moving average (SMA, EMA, WMA, VWMA, KAMA, HMA, ZLEMA, TEMA, ALMA, DEMA) and the length of the signal line, according to your trading style, or leave all settings as default.
— Adjust the signal filters to improve their quality and avoid false alarms
— Turn on notifications so that you don't miss important trading opportunities and don't constantly sit at the chart. This will allow you to keep abreast of all key market events and respond to them in a timely manner, without being distracted from other business.
— Use signals, they will help you determine the optimal entry and exit points of positions.
— Use the Connector for deeper analysis and verification of the effectiveness of signals, connect them to your trading strategies. This will allow you to test signals throughout your trading history and evaluate their accuracy based on historical data.
— Include the indicator in your trading strategy and run testing to see how buy and sell signals have worked in the past.
— Analyze the test results to determine how reliable the signals are and how they can improve your trading strategy. This will help you make more informed decisions and increase your trading efficiency.
Divergence Indicator Multi [TradingFinder] MACD AO RSI DIV Chart🔵 Introduction
🟣 What is Divergence in Financial Markets?
Divergence in technical analysis happens when the price of a stock moves in a direction opposite to certain indicators. This is a crucial concept in financial markets as it can signal either a trend reversal or a continuation of the current correction in the trend. Understanding divergence helps traders and analysts make more informed decisions.
🟣 Positive Regular Divergence (RD+)
A positive regular divergence occurs at the end of a downtrend, where two price lows form. This divergence appears when the price chart shows a new low, but the indicator does not follow, signaling potential buying opportunities.
Positive divergence indicates increased buying pressure and reduced selling pressure, making it a useful signal for forecasting price increases.
🟣 Negative Regular Divergence (RD-)
A negative regular divergence is seen during an uptrend when two price highs form. The price chart records a new high, but the indicator does not reflect this change, suggesting that a market downturn is likely.
This type of divergence shows strong selling pressure and weaker buying activity, which can help identify selling opportunities.
Both positive and negative divergences are powerful tools for identifying potential trend reversals and key support and resistance levels. For example, when an indicator trends upward while the price moves downward, this creates divergence, warning traders to reconsider their investment strategy.
🟣 Different Types of Divergence in Trading
1. Regular Divergence :
o Positive Regular Divergence (RD+)
o Negative Regular Divergence (RD-)
2. Hidden Divergence :
o Positive Hidden Divergence (HD+)
o Negative Hidden Divergence (HD-)
3.Time Divergence.
Note : This guide focuses specifically on Regular Divergence.
🟣 What is Regular Divergence?
Regular Divergence, often referred to as convergence, occurs when price action and indicators show conflicting patterns, usually signaling the end of a trend. Detecting regular divergence helps traders anticipate potential trend reversals or the formation of reversal patterns.
🔵 How to Use
To optimize the detection of divergence, you can adjust the Fractal Period to specify the length of time for identifying divergence patterns.
Additionally, with the Divergence Detection Method, you can select oscillators like the MACD, RSI, or AO to base divergence detection on.
Divergence in MACD :
MACD divergence occurs when the price chart forms an opposite pattern compared to the MACD line, indicating a potential price reversal.
Divergence in RSI :
In a downtrend, if the price chart forms two consecutive lows with the second lower than the first, but the RSI shows two lows with the second higher, this indicates positive regular divergence, which is a buy signal.
On the other hand, during an uptrend, if the price forms two highs with the second higher than the first, but the RSI shows the second high lower, this points to negative regular divergence, indicating a sell signal.
Divergence in AO (Awesome Oscillator) :
The AO indicator calculates histograms using the difference between 5-period and 34-period simple moving averages. It compares peaks and troughs of these histograms with price movements, detecting divergence and plotting lines and arrows to signal divergence.
🔵 Table
The following table breaks down the main features of the oscillator. It covers four critical categories: Exist, Consecutive, Divergence Quality, and Change Phase Indicator.
Exist : If divergence is detected, a "+" will appear in this row.
Consecutive: Shows the number of consecutive divergences that have formed in a short period.
Divergence Quality : Evaluates the quality of the divergence based on the number of occurrences. One is labeled "Normal," two are "Good," and three or more are considered "Strong."
Change Phase Indicator : If a phase change is detected between two oscillation peaks, this is marked in the table.
FVG OscillatorThe FVG Oscillator, developed by OmegaTools and available on TradingView, is a specialized analytical tool designed to offer traders insight into the market's potential direction through the lens of Fair Value Gaps (FVGs). This script combines traditional oscillator functionality with a unique focus on FVGs, providing a nuanced approach to understanding market dynamics.
Understanding FVGs and Their Importance:
Fair Value Gaps (FVGs) are identified when there's a discrepancy between the high price of one session and the low of the subsequent session (or vice versa), indicating areas where price movements have skipped over, creating a gap. These gaps often signal potential price movement areas, as markets may move to "fill" these gaps. The FVG Oscillator is designed to quantify these occurrences and their potential impact on market direction.
Key Features of the FVG Oscillator:
- Adjustable Lookback Period: Traders can set the number of bars back (defaulted at 50) to adjust the sensitivity of the oscillator to recent market activity.
- Visual Area Representation: The option to display areas of positive and negative FVG occurrences provides a visual representation of market sentiment over the selected period.
- Color Customisation: Users can personalize the oscillator's appearance with color selections for positive and negative movements, enhancing readability and analysis.
- Volume and ATR Confirmation: Incorporates volume data and Average True Range (ATR) filtering to verify FVG occurrences, adding a layer of validation to the identified gaps.
Operational Mechanism:
The oscillator tallies bullish FVG occurrences as positive values and bearish FVG occurrences as negative values over the specified lookback period. It then applies volume and ATR criteria to confirm the significance of these gaps. The final output is an oscillator line that reflects the net value of bullish versus bearish FVGs, alongside histograms that show the width (or significance) of long and short patterns based on confirmed FVGs.
How to Use the FVG Oscillator:
- After adding the FVG Oscillator to your TradingView chart, adjust the 'Bars Back' input to tailor the oscillator's sensitivity to your trading strategy.
- Use the net value line to gauge the overall market sentiment based on FVG occurrences; a higher net value suggests bullish sentiment, while a lower value indicates bearish sentiment.
- The histograms provide an additional layer of insight, highlighting the relative strength and significance of confirmed bullish and bearish FVGs.
Application in Trading:
The FVG Oscillator is intended as an analytical tool to complement your existing trading strategy. By offering a unique perspective on FVG occurrences and their potential market implications, the oscillator can help inform your trading decisions. However, traders are encouraged to combine this tool with other forms of analysis and employ sound risk management practices.
Originality and Usefulness:
This oscillator is original in its integration of FVG analysis with traditional oscillator metrics, offering traders a novel tool for market analysis. Its usefulness lies in its ability to provide a quantitative and visual representation of FVGs, aiding traders in identifying potential market movements.
Disclaimer:
It is important for traders to understand that the financial markets are inherently unpredictable, and the FVG Oscillator is not a predictive tool nor does it guarantee trading success. It should be used as part of a comprehensive trading strategy, incorporating additional market analysis and risk management practices. Remember, past performance does not necessarily predict future results, and trading involves risks, including the potential loss of capital.
Candle Color RatioThe Candle Color Ratio indicator is designed to analyze the ratio of green (bullish) to red (bearish) candles over a specified lookback period. This ratio can offer insights into the prevailing market sentiment and potential trend reversals. The indicator calculates the number of green and red candles and provides two key metrics: the Green to Red Ratio and the Red to Green Ratio. Additionally, it allows users to set a threshold for these ratios to identify extreme sentiment conditions.
Calculations :
- Green Score and Red Score: The script first checks the color of the candles over a user-defined lookback period (up to 10 bars back). For each bar, it assesses whether the closing price is higher (green) or lower (red) than the opening price. The green and red scores are calculated by counting the number of green and red candles, respectively, within the lookback period.
- Green to Red Ratio: This metric is the ratio of the Green Score to the Red Score. It quantifies the relative prevalence of bullish candles compared to bearish candles within the specified lookback period. A higher Green to Red ratio indicates a stronger bullish sentiment.
- Red to Green Ratio: This metric is the inverse of the Green to Red Ratio. It calculates the relative prevalence of bearish candles compared to bullish candles within the lookback period. A higher Red to Green ratio indicates a stronger bearish sentiment.
Interpretation :
- Green Score and Red Score: These histograms display the raw counts of green and red candles within the lookback period. Traders can use these histograms to observe the recent distribution of bullish and bearish candles.
- Green to Red Ratio: This line graph represents the ratio of bullish candles to bearish candles. When this ratio is above 1, it indicates a predominantly bullish sentiment, suggesting potential upward momentum. Conversely, when it's below 1, it signifies a bearish sentiment, suggesting potential downward pressure.
- Red to Green Ratio: This line graph represents the inverse ratio, indicating the strength of bearish sentiment relative to bullish sentiment. Similar to Green to Red, values above 1 indicate a bearish bias, while values below 1 indicate a bullish bias.
- Ratio Threshold: The white horizontal line on the chart represents the user-defined threshold. Traders can set this threshold to identify extreme sentiment conditions. When either the Green to Red ratio or Red to Green ratio crosses the threshold, it may signal overbought (above threshold) or oversold (below threshold) market conditions.
Potential Applications:
- Trend Confirmation: Traders can use this indicator to confirm the prevailing trend. A strong GRratioScore may validate a bullish trend, while a strong RGratioScore may confirm a bearish trend.
Contrarian Signals: Extreme readings (crossing the threshold) can be interpreted as potential reversal points. For example, a very high GRratioScore followed by a crossover below the threshold might indicate an overbought market and a potential bearish reversal.
Divergence Analysis: Traders can analyze divergences between price movements and the indicator. If price makes higher highs while the indicator shows lower highs, it may signal a weakening bullish trend.
Limitations:
- Lookback Period: The indicator's effectiveness may vary depending on the selected lookback period. Longer periods smooth out fluctuations but may lag in capturing recent changes in sentiment.
- Threshold Sensitivity: The interpretation of extreme readings can be subjective. Traders should carefully select and adjust the threshold based on their trading strategy and market conditions.
- Lack of Context: This indicator solely focuses on candle color ratios and does not consider other factors like volume, market news, or fundamental analysis. It should be used in conjunction with other indicators and analysis techniques.
This indicator provides a simple yet valuable tool for assessing market sentiment and potential trend reversals based on candle color ratios. Traders can use this information to make informed trading decisions, but it's essential to consider its limitations and use it as part of a comprehensive trading strategy.
Heatmap MACD Strategy - Pineconnector (Dynamic Alerts)Hello traders
This script is an upgrade of this template script.
Heatmap MACD Strategy
Pineconnector
Pineconnector is a trading bot software that forwards TradingView alerts to your Metatrader 4/5 for automating trading.
Many traders don't know how to dynamically create Pineconnector-compatible alerts using the data from their TradingView scripts.
Traders using trading bots want their alerts to reflect the stop-loss/take-profit/trailing-stop/stop-loss to breakeven options from your script and then create the orders accordingly.
This script showcases how to create Pineconnector alerts dynamically.
Pineconnector doesn't support alerts with multiple Take Profits.
As a workaround, for 2 TPs, I had to open two trades.
It's not optimal, as we end up paying more spreads for that extra trade - however, depending on your trading strategy, it may not be a big deal.
TradingView Alerts
1) You'll have to create one alert per asset X timeframe = 1 chart.
Example : 1 alert for EUR/USD on the 5 minutes chart, 1 alert for EUR/USD on the 15-minute chart (assuming you want your bot to trade the EUR/USD on the 5 and 15-minute timeframes)
2) For each alert, the alert message is pre-configured with the text below
{{strategy.order.alert_message}}
Please leave it as it is.
It's a TradingView native variable that will fetch the alert text messages built by the script.
3) Don't forget to set the webhook URL in the Notifications tab of the TradingView alerts UI.
EA configuration
The Pyramiding in the EA on Metatrader must be set to 2 if you want to trade with 2 TPs => as it's opening 2 trades.
If you only want 1 TP, set the EA Pyramiding to 1.
Regarding the other EA settings, please refer to the Pineconnector documentation on their website.
Logger
The Pineconnector commands are logged in the TradingView logger.
You'll find more information about it from this TradingView blog post
Important Notes
1) This multiple MACDs strategy doesn't matter much.
I could have selected any other indicator or concept for this script post.
I wanted to share an example of how you can quickly upgrade your strategy, making it compatible with Pineconnector.
2) The backtest results aren't relevant for this educational script publication.
I used realistic backtesting data but didn't look too much into optimizing the results, as this isn't the point of why I'm publishing this script.
3) This template is made to take 1 trade per direction at any given time.
Pyramiding is set to 1 on TradingView.
The strategy default settings are:
Initial Capital: 100000 USD
Position Size: 1 contract
Commission Percent: 0.075%
Slippage: 1 tick
No margin/leverage used
For example, those are realistic settings for trading CFD indices with low timeframes but not the best possible settings for all assets/timeframes.
Concept
The Heatmap MACD Strategy allows selecting one MACD in five different timeframes.
You'll get an exit signal whenever one of the 5 MACDs changes direction.
Then, the strategy re-enters whenever all the MACDs are in the same direction again.
It takes:
long trades when all the 5 MACD histograms are bullish
short trades when all the 5 MACD histograms are bearish
You can select the same timeframe multiple times if you don't need five timeframes.
For example, if you only need the 30min, the 1H, and 2H, you can set your timeframes as follow:
30m
30m
30m
1H
2H
Risk Management Features
All the features below are pips-based.
Stop-Loss
Trailing Stop-Loss
Stop-Loss to Breakeven after a certain amount of pips has been reached
Take Profit 1st level and closing X% of the trade
Take Profit 2nd level and close the remaining of the trade
Custom Exit
I added the option ON/OFF to close the opened trade whenever one of the MACD diverges with the others.
Help me help the community
If you see any issue when adding your strategy logic to that template regarding the orders fills on your Metatrader, please let me know in the comments.
I'll use your feedback to make this template more robust. :)
What's next?
I'll publish a more generic template built as a connector so you can connect any indicator to that Pineconnector template.
Then, I'll publish a template for Capitalise AI, ProfitView, AutoView, and Alertatron.
Thank you
Dave
Heatmap MACD StrategyHello traders
A customer gave me the idea indirectly after I made an update to that script:
Supertrend MTF Heatmap
Important Notes
The backtest results aren't relevant for this educational script publication.
I used realistic backtesting data but didn't look too much into optimizing the results, as this isn't the point of why I'm publishing this script.
I wanted to showcase that any Heatmap script can be converted into a strategy.
The strategy default settings are:
Initial Capital: 100000 USD
Position Size: 1 contract
Commission Percent: 0.075%
Slippage: 1 tick
No margin/leverage used
For example, those are realistic settings for trading CFD indices with low timeframes, but not the best possible settings for all assets/timeframes.
Concept
The Heatmap MACD Strategy allows selecting one MACD in five different timeframes.
You'll get an exit signal whenever one of the 5 MACDs changes direction.
Then, the strategy re-enters whenever all the MACDs are in the same direction again.
It takes:
long trades when all the 5 MACD histograms are bullish
short trades when all the 5 MACD histograms are bearish
You can select the same timeframe multiple times if you don't need five timeframes.
For example, if you only need the 30min, the 1H, and 2H, you can set your timeframes as follow:
30m
30m
30m
1H
2H
Risk Management Features
Nothing too fancy
All the features below are pips-based
Stop-Loss
Trailing Stop-Loss
Stop-Loss to Breakeven after a certain amount of pips has been reached
Take Profit 1st level and closing X% of the trade
Take Profit 2nd level and close the remaining of the trade
What's next?
I'll publish this script's open-source Pineconnector, ProfitView, and AutoView versions for educational purposes.
Thank you
Dave
MACDh with divergences & impulse system (overlayed on prices)-----------------------------------------------------------------
General Description:
This indicator ( the one on the top panel above ) consists on some lines, arrows and labels drawn over the price bars/candles indicating the detection of regular divergences between price and the classic MACD histogram (shown on the low panel). This script is special because it can be adjusted to fit several criteria when trading divergences filtering them according to the "height" and "width" of the patterns. The script also includes the "extra features" Impulse System and Keltner Channels, which you will hardly find anywhere else in similar classic MACD histogram divergence indicators.
The indicator helps to find trend reversals, and it works on any market, any instrument, any timeframe, and any market condition (except against really strong trends that do not show any other sign of reversion yet).
Please take on consideration that divergences should be taken with caution.
-----------------------------------------------------------------
Definition of classic Bullish and Bearish divergences:
* Bearish divergences occur in uptrends identifying market tops. A classical or regular bearish divergence occurs when prices reach a new high and then pull back, with an oscillator (MACD histogram in this case) dropping below its zero line. Prices stabilize and rally to a higher high, but the oscillator reaches a lower peak than it did on a previous rally.
In the chart above (weekly charts of NKE, Nike, Inc.), in area X (around August 2021), NKE rallied to a new bull market high and MACD-Histogram rallied with it, rising above its previous peak and showing that bulls were extremely strong. In area Y, MACD-H fell below its centerline and at the same time prices punched below the zone between the two moving averages. In area Z, NKE rallied to a new bull market high, but the rally of MACD-H was feeble, reflecting the bulls’ weakness. Its downtick from peak Z completed a bearish divergence, giving a strong sell signal and auguring a nasty bear market.
* Bullish divergences , in the other hand, occur towards the ends of downtrends identifying market bottoms. A classical (also called regular) bullish divergence occurs when prices and an oscillator (MACD histogram in this case) both fall to a new low, rally, with the oscillator rising above its zero line, then both fall again. This time, prices drop to a lower low, but the oscillator traces a higher bottom than during its previous decline.
In the example in the chart above (weekly charts of NKE, Nike, Inc.), you see a bearish divergence that signaled the October 2022 bear market bottom, giving a strong buy signal right near the lows. In area A, NKE (weekly charts) appeared in a free fall. The record low A of MACD-H indicated that bears were extremely strong. In area B, MACD-H rallied above its centerline. Notice the brief rally of prices at that moment. In area C, NKE slid to a new bear market low, but MACD-H traced a much more shallow low. Its uptick completed a bullish divergence, giving a strong buy signal.
-----------------------------------------------------------------
Some cool features included in this indicator:
1. This indicator also includes the “ Impulse System ”. The Impulse System is based on two indicators, a 13-day exponential moving average and the MACD-Histogram, and identifies inflection points where a trend speeds up or slows down. The moving average identifies the trend, while the MACD-Histogram measures momentum. This unique indicator combination is color coded into the price bars for easy reference.
Calculation:
Green Price Bar: (13-period EMA > previous 13-period EMA) and
(MACD-Histogram > previous period's MACD-Histogram)
Red Price Bar: (13-period EMA < previous 13-period EMA) and
(MACD-Histogram < previous period's MACD-Histogram)
Price bars are colored blue when conditions for a Red Price Bar or Green Price Bar are not met. The MACD-Histogram is based on MACD(12,26,9).
The Impulse System works more like a censorship system. Green price bars show that the bulls are in control of both trend and momentum as both the 13-day EMA and MACD-Histogram are rising (you don't have permission to sell). A red price bar indicates that the bears have taken control because the 13-day EMA and MACD Histogram are falling (you don't have permission to buy). A blue price bar indicates mixed technical signals, with neither buying nor selling pressure predominating (either both buying or selling are permitted).
2. Another "extra feature" included here is the " Keltner Channels ". Keltner Channels are volatility-based envelopes set above and below an exponential moving average.
3. It were also included a couple of EMAs.
Everything can be removed from the chart any time.
-----------------------------------------------------------------
Options/adjustments for this indicator:
*Horizontal Distance (width) between two tops/bottoms criteria.
Refers to the horizontal distance between the MACH histogram peaks involved in the divergence
*Height of tops/bottoms criteria (for Histogram).
Refers to the difference/relation/vertical distance between the MACH HISTOGRAM peaks involved in the divergence: 1st Histogram Peak is X times the 2nd.
*Height/Vertical deviation of tops/bottoms criteria (for Price).
Deviation refers to the difference/relation/vertical distance between the PRICE peaks involved in the divergence.
*Plot Regular Bullish Divergences?.
*Plot Regular Bearish Divergences?.
*Delete Previous Cancelled Divergences?.
*Shows a pair of EMAs.
*Shows Keltner Channels (using ATR)
Keltner Channels are volatility-based envelopes set above and below an exponential moving average.
*This indicator also has the option to show the Impulse System over the price bars/candles.
MACD Trend CandlesThe script combines 2 indicators (MACD and Stoch-RSI) and puts them visually directly on the candles - can be used with normal OHLC candles or Heiken Ashi candles. Furthermore, you can derive divergences exremely easy directly visually from the candles as well. Lastly, a SMA 20 high and a SMA 20 low line build a trend channel.
Script is best used in trending markets to trade with the trend.
1) SMA trend channel:
* uptrend: close above
* downtrend: close below
* aggressive entry (uptrend) closing inside channel from below
* conservative entry (uptrend) closing above channel from inside
* hold (uptrend) until close below channel
* can be used accordingly for the downtrend
2) MACD candles
* visualization of the MACD histogram directly on the candles
* dark blue: histogram > 0 and histogram > histogram of previous candle
* light blue: histogram > 0 and histogram < histogram of previous candle
* orange: histogram < 0 and histogram < histogram of previous candle
* light blue: histogram < 0 and histogram > histogram of previous candle
* hold uptrend (dark/light blue candles) - combined with trend channel (above channel)
* hold downtrend (orange /yellow candles) - combined with trend channel (below channel)
* Color divergence: light blue candle > dark blue candle (price and MACD show divergence (bearish)
* Color divergence: yellow candle < orange candle (price and MACD show divergence (bullish)
* Trend change (0 line cross to upside) yellow or orange to dark blue
* Trend change (0 line cross to downside) dark or light blue to orange
3) Stoch RSI diamonds
* visualization of the STOCH-RSI as diamonds above or below the candle
* k, d line > 80: diamond above the candle
* k, d line < 20: diamond below the candle
* divergence caldle without diamond above > candle with diamond above (bearish divergence)
* divergence caldle without diamond below < candle with diamond below (bullish divergence)
Feel free to test each part individually and combine it with other indicators, e.g. BBands and Ichimoku Cloud - you will see it is a powerful visualization script
HAVE FUN
[blackcat] L2 KDJ with Whale Pump and OustLevel: 2
Background
One of the biggest differences between cryptocurrency and traditional financial markets is that cryptocurrency is based on blockchain technology. Individual investors can discover the direction of the flow of large funds through on-chain transfers. These large funds are often referred to as Whale. Whale can have a significant impact on the price movements of cryptocurrencies, especially Bitcoin . Therefore, how to monitor Whale trends is of great significance both in terms of fundamentals and technical aspects.
The KDJ oscillator display consists of 3 lines (K, D and J - hence the name of the display) and 2 levels. K and D are the same lines you see when using the stochastic oscillator. The J line in turn represents the deviation of the D value from the K value. The convergence of these lines indicates new trading opportunities. Just like the Stochastic Oscillator, oversold and overbought levels correspond to the times when the trend is likely to reverse.
Function
L2 KDJ with Whale Pump and Oust is a composite indicator that combines both KDJ and Whale Pump and Oust detector. By virtue of this, fake signal of KDJ can be filtered out to some degree.
Key Signal
whalepump --> whale buy behavior will be detected and displayed in green histograms
oust --> after whale buy behavior, there usually a oust action from whale to drive out profitable orders to reduce the selling pressure of subsequent pull ups. This oust will be detected and displayed in red histograms
k --> k value of a stochastic oscillator
d --> d value of a stochastic oscillator
j --> the deviation of the d value from the d value of a stochastic oscillator
Pros and Cons
Pros:
1. filter out KDJ fake signal by introducing whale pump/oust detector
2. J value can be used to detect overbought and oversold regions
Cons:
1. It works better in small time frame and sideways. Extreme long or short conditions may cause KDJ staturate.
2. It can only indicate in current time frame, larger time frame trend info is missing.
Remarks
An improved version of L2 KDJ with Whale Pump Detector by adding oust function. Works fine in 15mins time frame.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
Squeeze Go Momentum Pro [KingThies] █ OVERVIEW
The Squeeze Momentum Pro indicator identifies volatility compression phases and breakout opportunities by comparing Bollinger Bands to Keltner Channels. When price consolidates (squeeze), the bands contract inside the channels, signaling an imminent breakout. The momentum histogram shows directional bias, helping traders anticipate which way price will move when the squeeze releases.
This indicator displays in a separate panel below the price chart, providing clear visual signals without cluttering price action.
█ KEY FEATURES
Momentum Histogram
The histogram is the primary visual element, displaying momentum strength and direction with four distinct color states:
• Dark Green (#00C853) — Strong bullish momentum that is increasing. This signals strengthening upward pressure and potential continuation.
• Light Green (#26A69A) — Bullish momentum that is decreasing. Price remains in bullish territory but upward force is weakening.
• Dark Red (#D32F2F) — Strong bearish momentum that is increasing. This signals strengthening downward pressure and potential continuation.
• Light Red (#EF5350) — Bearish momentum that is decreasing. Price remains in bearish territory but downward force is weakening.
The color intensity provides immediate feedback on momentum strength and trend health.
Squeeze State Indicator
Colored dots on the zero line communicate the current volatility state:
• Orange Dots — Squeeze is ON. Bollinger Bands have contracted inside Keltner Channels, indicating consolidation and low volatility.
A breakout is building and traders should prepare for directional movement.
• Green Dots — Squeeze is OFF. Bollinger Bands have expanded outside Keltner Channels, indicating active momentum and higher volatility.
Price is moving with conviction in the current direction.
• Gray Dots — Neutral state. The bands are transitioning between squeeze states.
Release Triangles
Triangle shapes mark the exact bar when a squeeze releases, providing precise entry timing:
• Green Triangle Up — Bullish squeeze release. The squeeze has ended with positive momentum, suggesting a long setup opportunity.
• Red Triangle Down — Bearish squeeze release. The squeeze has ended with negative momentum, suggesting a short setup opportunity.
Information Panel
A compact dashboard in the top-right corner displays real-time trading intelligence:
• Squeeze Status — Current state: ON, OFF, or NEUTRAL with color coding
• Momentum Direction — Current bias: BULL or BEAR
• Momentum Value — Precise numerical reading of momentum strength
• Trading Signal — Actionable status: LONG SETUP, SHORT SETUP, WAIT, or MONITOR
Configurable Parameters
All calculation inputs are adjustable to match your trading style and timeframe:
• BB Length — Bollinger Bands period (default: 20)
• BB StdDev — Bollinger Bands standard deviation multiplier (default: 2.0)
• KC Length — Keltner Channels period (default: 20)
• KC ATR Multiplier — Keltner Channels range multiplier (default: 1.5)
• Momentum Length — Linear regression period for momentum calculation (default: 20)
Alert System
Four alert conditions notify you of critical trading opportunities:
• Bullish Squeeze Release — Squeeze has released with bullish momentum, indicating a potential long entry
• Bearish Squeeze Release — Squeeze has released with bearish momentum, indicating a potential short entry
• Squeeze Started — Volatility compression detected, prepare for upcoming breakout
• Squeeze Ended — Volatility expansion confirmed, breakout is active
█ TRADING METHODOLOGY
The indicator follows a clear four-step process for identifying and trading squeeze breakouts:
1 - Wait for Orange Dots . When orange dots appear on the zero line, a squeeze is building. This indicates price consolidation and declining volatility.
Do not enter trades during this phase. Instead, prepare by identifying key support and resistance levels and potential breakout directions.
2 - Watch for Release Triangle . When a triangle appears, the squeeze has released and a breakout is beginning. This is your entry signal.
The triangle color (green up or red down) combined with the histogram direction indicates the breakout direction.
3 - Confirm with Histogram Direction . Check the momentum histogram for directional confirmation:
• Green histogram + green triangle up = Go long. Bullish momentum supports upward breakout.
• Red histogram + red triangle down = Go short. Bearish momentum supports downward breakout.
4 - Monitor Momentum Intensity . Stay in the trade while histogram bars maintain their dark, intense color.
When colors lighten (dark green to light green, or dark red to light red), momentum is weakening and you should consider taking profits or tightening stops.
█ INTERPRETATION GUIDE
Squeeze Detection Logic
A squeeze occurs when Bollinger Bands contract inside Keltner Channels. This happens when:
• Standard deviation of price decreases (BB narrows)
• Price consolidates within a tight range
• Volatility compresses to unsustainable levels
The orange dots signal this condition, warning traders that explosive movement is imminent.
Squeeze Release Logic
A squeeze releases when Bollinger Bands expand outside Keltner Channels. This happens when:
• Price volatility increases sharply
• Price breaks out of consolidation
• Volume typically expands (check volume separately)
The green dots and release triangles signal this condition, indicating the direction and timing of the breakout.
Momentum Reading
The histogram uses linear regression to calculate momentum relative to the midpoint of the recent range:
• Above Zero : Price is trading above the range midpoint with bullish pressure
• Below Zero : Price is trading below the range midpoint with bearish pressure
• Increasing Bars : Momentum is strengthening in the current direction (darker color)
• Decreasing Bars : Momentum is weakening in the current direction (lighter color)
█ BEST PRACTICES
• Timeframe Selection — The indicator works on all timeframes but performs best on 15-minute to daily charts.
Lower timeframes may produce more false signals due to noise.
• Confluence Trading — Combine squeeze releases with support/resistance levels, trend lines, or other indicators for higher probability setups.
• Volume Confirmation — Check that squeeze releases occur with increasing volume. Low volume breakouts are more likely to fail.
• Multiple Timeframe Analysis — Check higher timeframes for overall trend direction. Trade squeeze releases that align with the larger trend.
• Parameter Adjustment — Increase BB and KC lengths for smoother signals on higher timeframes. Decrease for more sensitive signals on lower timeframes.
█ LIMITATIONS
• The indicator does not predict breakout direction before the squeeze releases. The momentum histogram provides bias but is not definitive until the breakout occurs.
• False breakouts can occur, particularly in choppy or low-volume market conditions. Always use proper risk management and stop losses.
• The indicator works best in trending markets. In deeply ranging markets with no clear direction, squeeze signals may be less reliable.
• Momentum calculations use linear regression which can lag during extremely fast price movements. Confirm signals with price action.
█ NOTES
This implementation uses linear regression for momentum calculation rather than simple moving averages, providing more responsive and accurate directional signals. The four-color histogram system gives traders nuanced feedback on momentum strength that binary color schemes cannot provide.
The indicator automatically adjusts to any symbol and timeframe without modification, making it suitable for stocks, forex, crypto, and futures markets.
█ CREDITS
Squeeze methodology inspired by John Carter's TTM Squeeze indicator. Momentum calculation and visual design optimized for modern trading workflows.
Mean Reversion Oscillator [Alpha Extract]An advanced composite oscillator system specifically designed to identify extreme market conditions and high-probability mean reversion opportunities, combining five proven oscillators into a single, powerful analytical framework.
By integrating multiple momentum and volume-based indicators with sophisticated extreme level detection, this oscillator provides precise entry signals for contrarian trading strategies while filtering out false reversals through momentum confirmation.
🔶 Multi-Oscillator Composite Framework
Utilizes a comprehensive approach that combines Bollinger %B, RSI, Stochastic, Money Flow Index, and Williams %R into a unified composite score. This multi-dimensional analysis ensures robust signal generation by capturing different aspects of market extremes and momentum shifts.
// Weighted composite (equal weights)
normalized_bb = bb_percent
normalized_rsi = rsi
normalized_stoch = stoch_d_val
normalized_mfi = mfi
normalized_williams = williams_r
composite_raw = (normalized_bb + normalized_rsi + normalized_stoch + normalized_mfi + normalized_williams) / 5
composite = ta.sma(composite_raw, composite_smooth)
🔶 Advanced Extreme Level Detection
Features a sophisticated dual-threshold system that distinguishes between moderate and extreme market conditions. This hierarchical approach allows traders to identify varying degrees of mean reversion potential, from moderate oversold/overbought conditions to extreme levels that demand immediate attention.
🔶 Momentum Confirmation System
Incorporates a specialized momentum histogram that confirms mean reversion signals by analyzing the rate of change in the composite oscillator. This prevents premature entries during strong trending conditions while highlighting genuine reversal opportunities.
// Oscillator momentum (rate of change)
osc_momentum = ta.mom(composite, 5)
histogram = osc_momentum
// Momentum confirmation
momentum_bullish = histogram > histogram
momentum_bearish = histogram < histogram
// Confirmed signals
confirmed_bullish = bullish_entry and momentum_bullish
confirmed_bearish = bearish_entry and momentum_bearish
🔶 Dynamic Visual Intelligence
The oscillator line adapts its color intensity based on proximity to extreme levels, providing instant visual feedback about market conditions. Background shading creates clear zones that highlight when markets enter moderate or extreme territories.
🔶 Intelligent Signal Generation
Generates precise entry signals only when the composite oscillator crosses extreme thresholds with momentum confirmation. This dual-confirmation approach significantly reduces false signals while maintaining sensitivity to genuine mean reversion opportunities.
How It Works
🔶 Composite Score Calculation
The indicator simultaneously tracks five different oscillators, each normalized to a 0-100 scale, then combines them into a smoothed composite score. This approach eliminates the noise inherent in single-oscillator analysis while capturing the consensus view of multiple momentum indicators.
// Mean reversion entry signals
bullish_entry = ta.crossover(composite, 100 - extreme_level) and composite < (100 - extreme_level)
bearish_entry = ta.crossunder(composite, extreme_level) and composite > extreme_level
// Bollinger %B calculation
bb_basis = ta.sma(src, bb_length)
bb_dev = bb_mult * ta.stdev(src, bb_length)
bb_percent = (src - bb_lower) / (bb_upper - bb_lower) * 100
🔶 Extreme Zone Identification
The system automatically identifies when markets reach statistically significant extreme levels, both moderate (65/35) and extreme (80/20). These zones represent areas where mean reversion has the highest probability of success based on historical market behavior.
🔶 Momentum Histogram Analysis
A specialized momentum histogram tracks the velocity of oscillator changes, helping traders distinguish between healthy corrections and potential trend reversals. The histogram's color-coded display makes momentum shifts immediately apparent.
🔶 Divergence Detection Framework
Built-in divergence analysis identifies situations where price and oscillator movements diverge, often signaling impending reversals. Diamond-shaped markers highlight these critical divergence patterns for enhanced pattern recognition.
🔶 Real-Time Information Dashboard
An integrated information table provides instant access to current oscillator readings, market status, and individual component values. This dashboard eliminates the need to manually check multiple indicators while trading.
🔶 Individual Component Display
Optional display of individual oscillator components allows traders to understand which specific indicators are driving the composite signal. This transparency enables more informed decision-making and deeper market analysis.
🔶 Adaptive Background Coloring
Intelligent background shading automatically adjusts based on market conditions, creating visual zones that correspond to different levels of mean reversion potential. The subtle color gradations make pattern recognition effortless.
1D
3D
🔶 Comprehensive Alert System
Multi-tier alert system covers confirmed entry signals, divergence patterns, and extreme level breaches. Each alert type provides specific context about the detected condition, enabling traders to respond appropriately to different signal strengths.
🔶 Customizable Threshold Management
Fully adjustable extreme and moderate levels allow traders to fine-tune the indicator's sensitivity to match different market volatilities and trading timeframes. This flexibility ensures optimal performance across various market conditions.
🔶 Why Choose AE - Mean Reversion Oscillator?
This indicator provides the most comprehensive approach to mean reversion trading by combining multiple proven oscillators with advanced confirmation mechanisms. By offering clear visual hierarchies for different extreme levels and requiring momentum confirmation for signals, it empowers traders to identify high-probability contrarian opportunities while avoiding false reversals. The sophisticated composite methodology ensures that signals are both statistically significant and practically actionable, making it an essential tool for traders focused on mean reversion strategies across all market conditions.
ATR-Normalized MACD w/ Visual BackgroundChatGPT said:
Absolutely! Let’s break down the YON MACD indicator in detail so you understand what it does, how it works, and how to use it.
1. Purpose
The YON MACD is a volatility-adjusted version of the classic MACD. Instead of just using EMA differences, it normalizes the MACD by the Average True Range (ATR), which means:
High-volatility markets → the MACD signal is scaled down.
Low-volatility markets → the MACD signal is scaled up.
This gives a more consistent momentum signal across different market conditions, avoiding false spikes during high volatility.
2. Components
a. Fast and Slow EMAs
fastEMA → Typically 12-period EMA of price.
slowEMA → Typically 26-period EMA of price.
The difference between them measures short-term momentum.
b. ATR Normalization
atr → Average True Range over a specified period (default 26).
Formula:
YON MACD=fastEMA - slowEMAATR×100
YON MACD=
ATR
fastEMA - slowEMA
×100
This adjusts the MACD for market volatility.
c. Signal Line
EMA of the YON MACD (default 9 periods).
Acts like a trigger line for crossovers.
d. Histogram
hist = YON MACD - Signal Line
Visualizes divergence: how far the MACD is from the signal line.
Positive histogram → bullish momentum, negative → bearish momentum.
3. Visual Features
Plot Lines
YON MACD → colored green (rising), red (falling), gray (unchanged).
Signal line → always blue.
Histogram → columns: green (positive), red (negative).
Background Coloring
Green → MACD rising + histogram positive (bullish momentum).
Red → MACD falling + histogram negative (bearish momentum).
Yellow/Orange → histogram flips (early momentum change).
This makes trend and momentum immediately visible without having to study the panel in detail.
4. Alerts
MACD Cross Alerts
YON MACD crosses above the signal → potential buy.
YON MACD crosses below the signal → potential sell.
Histogram Flip Alerts
Histogram flips from negative → positive → early bullish signal.
Histogram flips from positive → negative → early bearish signal.
This allows automation or notifications for momentum changes.
5. How to Use
Trend Confirmation
Green background + MACD above signal → trend is bullish.
Red background + MACD below signal → trend is bearish.
Entry/Exit Signals
Buy: MACD crosses above signal or histogram flips positive.
Sell: MACD crosses below signal or histogram flips negative.
Volatility Adjustment
Since the MACD is ATR-normalized, it avoids overreacting in volatile conditions and highlights true momentum shifts.
Summary
The YON MACD is a trend-following and momentum indicator with:
Volatility normalization (ATR)
MACD cross signals
Histogram divergence visualization
Background colors for instant momentum reading
Alerts for crossovers and early momentum flips
It’s a powerful all-in-one momentum tool that can work for day trading, swing trading, or even longer-term analysis.
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
BecakFloatingPanelsLibrary "BecakFloatingPanels"
Library for creating floating indicator panels with MACD, RSI, and Stochastic indicators
calculateMacd(source, fastLength, slowLength, signalLength)
Calculate MACD components
Parameters:
source (float) : Price source for calculation
fastLength (simple int) : Fast EMA period
slowLength (simple int) : Slow EMA period
signalLength (simple int) : Signal line period
Returns: MacdData MACD calculation results
calculateRsi(source, length)
Calculate RSI
Parameters:
source (float) : Price source for calculation
length (simple int) : RSI period
Returns: float RSI value
calculateStochastic(source, high, low, kLength, kSmoothing, dSmoothing)
Calculate Stochastic components
Parameters:
source (float) : Price source for calculation
high (float) : High prices
low (float) : Low prices
kLength (int) : %K period
kSmoothing (int) : %K smoothing period
dSmoothing (int) : %D smoothing period
Returns: StochData Stochastic calculation results
calculateStochSignals(stochK, stochD, overboughtLevel, oversoldLevel)
Calculate Stochastic signals
Parameters:
stochK (float) : Stochastic %K series
stochD (float) : Stochastic %D series
overboughtLevel (float) : Overbought threshold
oversoldLevel (float) : Oversold threshold
Returns: StochSignals Signal flags
calculateChartMetrics(high, low, lookbackLength)
Calculate chart range and positioning metrics
Parameters:
high (float) : High prices
low (float) : Low prices
lookbackLength (int) : Lookback period
Returns: ChartMetrics Chart positioning data
calculateMacdRange(macdLine, signalLine, histogram, safeLookback)
Calculate MACD range for normalization
Parameters:
macdLine (float) : MACD line series
signalLine (float) : Signal line series
histogram (float) : Histogram series
safeLookback (int) : Lookback period
Returns: MacdRange MACD range metrics
initVisualArrays()
Initialize visual arrays
Returns: VisualArrays Container with initialized arrays
clearVisuals(visuals)
Clear all visual elements
Parameters:
visuals (VisualArrays) : VisualArrays container
Returns: void
calculatePanelPositions(chartMetrics, oscPlacement, panelHeight, panelSpacing, centerOffset)
Calculate panel positions based on placement option
Parameters:
chartMetrics (ChartMetrics) : Chart metrics object
oscPlacement (string) : Panel placement option
panelHeight (float) : Panel height percentage
panelSpacing (float) : Panel spacing percentage
centerOffset (float) : Center offset percentage
Returns: PanelPositions Panel boundary coordinates
createPanelBackgrounds(visuals, positions, panelLeft, panelRight, showBackground, transparency)
Create panel backgrounds
Parameters:
visuals (VisualArrays) : VisualArrays container
positions (PanelPositions) : PanelPositions object
panelLeft (int) : Left boundary
panelRight (int) : Right boundary
showBackground (bool) : Show background flag
transparency (int) : Background transparency
Returns: void
drawReferenceLines(visuals, positions, chartMetrics, macdRange, dataLeft, dataRight, panelHeight, rsiOverbought, rsiOversold, stochOverbought, stochOversold)
Draw reference lines for all panels
Parameters:
visuals (VisualArrays) : VisualArrays container
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
macdRange (MacdRange) : MacdRange object
dataLeft (int) : Left data boundary
dataRight (int) : Right data boundary
panelHeight (float) : Panel height percentage
rsiOverbought (int) : RSI overbought level
rsiOversold (int) : RSI oversold level
stochOverbought (int) : Stochastic overbought level
stochOversold (int) : Stochastic oversold level
Returns: void
drawMacdIndicator(visuals, macdLine, signalLine, histogram, macdRange, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw MACD indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
macdLine (float) : MACD line series
signalLine (float) : Signal line series
histogram (float) : Histogram series
macdRange (MacdRange) : MacdRange object
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
Returns: void
drawRsiIndicator(visuals, rsiValue, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw RSI indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
rsiValue (float) : RSI value
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
Returns: void
drawStochasticIndicator(visuals, stochK, stochD, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight, stochOverbought, stochOversold)
Draw Stochastic indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
stochK (float) : Stochastic %K series
stochD (float) : Stochastic %D series
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
stochOverbought (int) : Overbought level
stochOversold (int) : Oversold level
Returns: void
addStochasticSignals(visuals, buySignal, sellSignal, positions, chartMetrics, currentBarIndex, barIndexOffset, panelHeight, signalIndex)
Add Stochastic buy/sell signals
Parameters:
visuals (VisualArrays) : VisualArrays container
buySignal (bool) : Buy signal series
sellSignal (bool) : Sell signal series
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
currentBarIndex (int) : Current bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
signalIndex (int) : Signal index for lookback
Returns: void
setPanelLabels(macdLabel, rsiLabel, stochLabel, positions, chartMetrics, labelOffset, panelHeight, barIndexOffset)
Set panel title labels
Parameters:
macdLabel (label) : MACD label reference
rsiLabel (label) : RSI label reference
stochLabel (label) : Stochastic label reference
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
labelOffset (int) : Label horizontal offset
panelHeight (float) : Panel height percentage
barIndexOffset (int) : Horizontal offset
Returns: void
showDebugInfo(chartMetrics, debugMode)
Display debug information
Parameters:
chartMetrics (ChartMetrics) : ChartMetrics object
debugMode (bool) : Debug mode flag
Returns: void
ChartMetrics
Chart metrics container
Fields:
visibleHigh (series float) : Highest visible price
visibleLow (series float) : Lowest visible price
chartRange (series float) : Price range of chart
chartCenter (series float) : Center point of chart
MacdData
MACD calculation results
Fields:
macdLine (series float) : Main MACD line
signalLine (series float) : Signal line
histogram (series float) : MACD histogram
MacdRange
MACD range metrics for normalization
Fields:
highest (series float) : Highest MACD value
lowest (series float) : Lowest MACD value
BRange (series float) : Total range
StochData
Stochastic calculation results
Fields:
k_smooth (series float) : Smoothed %K line
d (series float) : %D line
StochSignals
Stochastic signals
Fields:
buySignal (series bool) : Buy signal flag
sellSignal (series bool) : Sell signal flag
PanelPositions
Panel positioning data
Fields:
macdTop (series float) : MACD panel top
macdBottom (series float) : MACD panel bottom
rsiTop (series float) : RSI panel top
rsiBottom (series float) : RSI panel bottom
stochTop (series float) : Stochastic panel top
stochBottom (series float) : Stochastic panel bottom
VisualArrays
Visual elements arrays container
Fields:
macdLines (array) : Array of MACD lines
macdHist (array) : Array of MACD histogram boxes
rsiLines (array) : Array of RSI lines
stochLines (array) : Array of Stochastic lines
stochAreas (array) : Array of Stochastic areas
stochSignals (array) : Array of Stochastic signals
panelBackgrounds (array) : Array of panel backgrounds
SMC Structures and FVGสวัสดีครับ! ผมจะอธิบายอินดิเคเตอร์ "SMC Structures and FVG + MACD" ที่คุณให้มาอย่างละเอียดในแต่ละส่วน เพื่อให้คุณเข้าใจการทำงานของมันอย่างถ่องแท้ครับ
อินดิเคเตอร์นี้เป็นการผสมผสานแนวคิดของ Smart Money Concept (SMC) ซึ่งเน้นการวิเคราะห์โครงสร้างตลาด (Market Structure) และ Fair Value Gap (FVG) เข้ากับอินดิเคเตอร์ MACD เพื่อใช้เป็นตัวกรองหรือตัวยืนยันสัญญาณ Choch/BoS (Change of Character / Break of Structure)
1. ภาพรวมอินดิเคเตอร์ (Overall Purpose)
อินดิเคเตอร์นี้มีจุดประสงค์หลักคือ:
ระบุโครงสร้างตลาด: ตีเส้นและป้ายกำกับ Choch (Change of Character) และ BoS (Break of Structure) บนกราฟโดยอัตโนมัติ
ผสานการยืนยันด้วย MACD: สัญญาณ Choch/BoS จะถูกพิจารณาก็ต่อเมื่อ MACD Histogram เกิดการตัดขึ้นหรือลง (Zero Cross) ในทิศทางที่สอดคล้องกัน
แสดง Fair Value Gap (FVG): หากเปิดใช้งาน จะมีการตีกล่อง FVG บนกราฟ
แสดงระดับ Fibonacci: คำนวณและแสดงระดับ Fibonacci ที่สำคัญตามโครงสร้างตลาดปัจจุบัน
ปรับตาม Timeframe: การคำนวณและการแสดงผลทั้งหมดจะปรับตาม Timeframe ที่คุณกำลังใช้งานอยู่โดยอัตโนมัติ
2. ส่วนประกอบหลักของโค้ด (Code Breakdown)
โค้ดนี้สามารถแบ่งออกเป็นส่วนหลัก ๆ ได้ดังนี้:
2.1 Inputs (การตั้งค่า)
ส่วนนี้คือตัวแปรที่คุณสามารถปรับแต่งได้ในหน้าต่างการตั้งค่าของอินดิเคเตอร์ (คลิกที่รูปฟันเฟืองข้างชื่ออินดิเคเตอร์บนกราฟ)
MACD Settings (ตั้งค่า MACD):
fast_len: ความยาวของ Fast EMA สำหรับ MACD (ค่าเริ่มต้น 12)
slow_len: ความยาวของ Slow EMA สำหรับ MACD (ค่าเริ่มต้น 26)
signal_len: ความยาวของ Signal Line สำหรับ MACD (ค่าเริ่มต้น 9)
= ta.macd(close, fast_len, slow_len, signal_len): คำนวณค่า MACD Line, Signal Line และ Histogram โดยใช้ราคาปิด (close) และค่าความยาวที่กำหนด
is_bullish_macd_cross: ตรวจสอบว่า MACD Histogram ตัดขึ้นเหนือเส้น 0 (จากค่าลบเป็นบวก)
is_bearish_macd_cross: ตรวจสอบว่า MACD Histogram ตัดลงใต้เส้น 0 (จากค่าบวกเป็นลบ)
Fear Value Gap (FVG) Settings:
isFvgToShow: (Boolean) เปิด/ปิดการแสดง FVG บนกราฟ
bullishFvgColor: สีสำหรับ Bullish FVG
bearishFvgColor: สีสำหรับ Bearish FVG
mitigatedFvgColor: สีสำหรับ FVG ที่ถูก Mitigate (ลดทอน) แล้ว
fvgHistoryNbr: จำนวน FVG ย้อนหลังที่จะแสดง
isMitigatedFvgToReduce: (Boolean) เปิด/ปิดการลดขนาด FVG เมื่อถูก Mitigate
Structures (โครงสร้างตลาด) Settings:
isStructBodyCandleBreak: (Boolean) หากเป็น true การ Break จะต้องเกิดขึ้นด้วย เนื้อเทียน ที่ปิดเหนือ/ใต้ Swing High/Low หากเป็น false แค่ไส้เทียนทะลุก็ถือว่า Break
isCurrentStructToShow: (Boolean) เปิด/ปิดการแสดงเส้นโครงสร้างตลาดปัจจุบัน (เส้นสีน้ำเงินในภาพตัวอย่าง)
pivot_len: ความยาวของแท่งเทียนที่ใช้ในการมองหาจุด Pivot (Swing High/Low) ยิ่งค่าน้อยยิ่งจับ Swing เล็กๆ ได้, ยิ่งค่ามากยิ่งจับ Swing ใหญ่ๆ ได้
bullishBosColor, bearishBosColor: สีสำหรับเส้นและป้าย BOS ขาขึ้น/ขาลง
bosLineStyleOption, bosLineWidth: สไตล์ (Solid, Dotted, Dashed) และความหนาของเส้น BOS
bullishChochColor, bearishChochColor: สีสำหรับเส้นและป้าย CHoCH ขาขึ้น/ขาลง
chochLineStyleOption, chochLineWidth: สไตล์ (Solid, Dotted, Dashed) และความหนาของเส้น CHoCH
currentStructColor, currentStructLineStyleOption, currentStructLineWidth: สี, สไตล์ และความหนาของเส้นโครงสร้างตลาดปัจจุบัน
structHistoryNbr: จำนวนการ Break (Choch/BoS) ย้อนหลังที่จะแสดง
Structure Fibonacci (จากโค้ดต้นฉบับ):
เป็นชุด Input สำหรับเปิด/ปิด, กำหนดค่า, สี, สไตล์ และความหนาของเส้น Fibonacci Levels ต่างๆ (0.786, 0.705, 0.618, 0.5, 0.382) ที่จะถูกคำนวณจากโครงสร้างตลาดปัจจุบัน
2.2 Helper Functions (ฟังก์ชันช่วยทำงาน)
getLineStyle(lineOption): ฟังก์ชันนี้ใช้แปลงค่า String ที่เลือกจาก Input (เช่น "─", "┈", "╌") ให้เป็นรูปแบบ line.style_ ที่ Pine Script เข้าใจ
get_structure_highest_bar(lookback): ฟังก์ชันนี้พยายามหา Bar Index ของแท่งเทียนที่ทำ Swing High ภายในช่วง lookback ที่กำหนด
get_structure_lowest_bar(lookback): ฟังก์ชันนี้พยายามหา Bar Index ของแท่งเทียนที่ทำ Swing Low ภายในช่วง lookback ที่กำหนด
is_structure_high_broken(...): ฟังก์ชันนี้ตรวจสอบว่าราคาปัจจุบันได้ Break เหนือ _structureHigh (Swing High) หรือไม่ โดยพิจารณาจาก _highStructBreakPrice (ราคาปิดหรือราคา High ขึ้นอยู่กับการตั้งค่า isStructBodyCandleBreak)
FVGDraw(...): ฟังก์ชันนี้รับ Arrays ของ FVG Boxes, Types, Mitigation Status และ Labels มาประมวลผล เพื่ออัปเดตสถานะของ FVG (เช่น ถูก Mitigate หรือไม่) และปรับขนาด/ตำแหน่งของ FVG Box และ Label บนกราฟ
2.3 Global Variables (ตัวแปรทั่วทั้งอินดิเคเตอร์)
เป็นตัวแปรที่ประกาศด้วย var ซึ่งหมายความว่าค่าของมันจะถูกเก็บไว้และอัปเดตในแต่ละแท่งเทียน (persists across bars)
structureLines, structureLabels: Arrays สำหรับเก็บอ็อบเจกต์ line และ label ของเส้น Choch/BoS ที่วาดบนกราฟ
fvgBoxes, fvgTypes, fvgLabels, isFvgMitigated: Arrays สำหรับเก็บข้อมูลของ FVG Boxes และสถานะต่างๆ
structureHigh, structureLow: เก็บราคาของ Swing High/Low ที่สำคัญของโครงสร้างตลาดปัจจุบัน
structureHighStartIndex, structureLowStartIndex: เก็บ Bar Index ของจุดเริ่มต้นของ Swing High/Low ที่สำคัญ
structureDirection: เก็บสถานะของทิศทางโครงสร้างตลาด (1 = Bullish, 2 = Bearish, 0 = Undefined)
fiboXPrice, fiboXStartIndex, fiboXLine, fiboXLabel: ตัวแปรสำหรับเก็บข้อมูลและอ็อบเจกต์ของเส้น Fibonacci Levels
isBOSAlert, isCHOCHAlert: (Boolean) ใช้สำหรับส่งสัญญาณ Alert (หากมีการตั้งค่า Alert ไว้)
2.4 FVG Processing (การประมวลผล FVG)
ส่วนนี้จะตรวจสอบเงื่อนไขการเกิด FVG (Bullish FVG: high < low , Bearish FVG: low > high )
หากเกิด FVG และ isFvgToShow เป็น true จะมีการสร้าง box และ label ใหม่เพื่อแสดง FVG บนกราฟ
มีการจัดการ fvgBoxes และ fvgLabels เพื่อจำกัดจำนวน FVG ที่แสดงตาม fvgHistoryNbr และลบ FVG เก่าออก
ฟังก์ชัน FVGDraw จะถูกเรียกเพื่ออัปเดตสถานะของ FVG (เช่น การถูก Mitigate) และปรับการแสดงผล
2.5 Structures Processing (การประมวลผลโครงสร้างตลาด)
Initialization: ที่ bar_index == 0 (แท่งเทียนแรกของกราฟ) จะมีการกำหนดค่าเริ่มต้นให้กับ structureHigh, structureLow, structureHighStartIndex, structureLowStartIndex
Finding Current High/Low: highest, highestBar, lowest, lowestBar ถูกใช้เพื่อหา High/Low ที่สุดและ Bar Index ของมันใน 10 แท่งล่าสุด (หรือทั้งหมดหากกราฟสั้นกว่า 10 แท่ง)
Calculating Structure Max/Min Bar: structureMaxBar และ structureMinBar ใช้ฟังก์ชัน get_structure_highest_bar และ get_structure_lowest_bar เพื่อหา Bar Index ของ Swing High/Low ที่แท้จริง (ไม่ใช่แค่ High/Low ที่สุดใน lookback แต่เป็นจุด Pivot ที่สมบูรณ์)
Break Price: lowStructBreakPrice และ highStructBreakPrice จะเป็นราคาปิด (close) หรือราคา Low/High ขึ้นอยู่กับ isStructBodyCandleBreak
isStuctureLowBroken / isStructureHighBroken: เงื่อนไขเหล่านี้ตรวจสอบว่าราคาได้ทำลาย structureLow หรือ structureHigh หรือไม่ โดยพิจารณาจากราคา Break, ราคาแท่งก่อนหน้า และ Bar Index ของจุดเริ่มต้นโครงสร้าง
Choch/BoS Logic (ส่วนสำคัญที่ถูกผสานกับ MACD):
if(isStuctureLowBroken and is_bearish_macd_cross): นี่คือจุดที่ MACD เข้ามามีบทบาท หากราคาทำลาย structureLow (สัญญาณขาลง) และ MACD Histogram เกิด Bearish Zero Cross (is_bearish_macd_cross เป็น true) อินดิเคเตอร์จะพิจารณาว่าเป็น Choch หรือ BoS
หาก structureDirection == 1 (เดิมเป็นขาขึ้น) หรือ 0 (ยังไม่กำหนด) จะตีเป็น "CHoCH" (เปลี่ยนทิศทางโครงสร้างเป็นขาลง)
หาก structureDirection == 2 (เดิมเป็นขาลง) จะตีเป็น "BOS" (ยืนยันโครงสร้างขาลง)
มีการสร้าง line.new และ label.new เพื่อวาดเส้นและป้ายกำกับ
structureDirection จะถูกอัปเดตเป็น 1 (Bullish)
structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow จะถูกอัปเดตเพื่อกำหนดโครงสร้างใหม่
else if(isStructureHighBroken and is_bullish_macd_cross): เช่นกันสำหรับขาขึ้น หากราคาทำลาย structureHigh (สัญญาณขาขึ้น) และ MACD Histogram เกิด Bullish Zero Cross (is_bullish_macd_cross เป็น true) อินดิเคเตอร์จะพิจารณาว่าเป็น Choch หรือ BoS
หาก structureDirection == 2 (เดิมเป็นขาลง) หรือ 0 (ยังไม่กำหนด) จะตีเป็น "CHoCH" (เปลี่ยนทิศทางโครงสร้างเป็นขาขึ้น)
หาก structureDirection == 1 (เดิมเป็นขาขึ้น) จะตีเป็น "BOS" (ยืนยันโครงสร้างขาขึ้น)
มีการสร้าง line.new และ label.new เพื่อวาดเส้นและป้ายกำกับ
structureDirection จะถูกอัปเดตเป็น 2 (Bearish)
structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow จะถูกอัปเดตเพื่อกำหนดโครงสร้างใหม่
การลบเส้นเก่า: d.delete_line (หากไลบรารีทำงาน) จะถูกเรียกเพื่อลบเส้นและป้ายกำกับเก่าออกเมื่อจำนวนเกิน structHistoryNbr
Updating Structure High/Low (else block): หากไม่มีการ Break เกิดขึ้น แต่ราคาปัจจุบันสูงกว่า structureHigh หรือต่ำกว่า structureLow ในทิศทางที่สอดคล้องกัน (เช่น ยังคงเป็นขาขึ้นและทำ High ใหม่) structureHigh หรือ structureLow จะถูกอัปเดตเพื่อติดตาม High/Low ที่สุดของโครงสร้างปัจจุบัน
Current Structure Display:
หาก isCurrentStructToShow เป็น true อินดิเคเตอร์จะวาดเส้น structureHighLine และ structureLowLine เพื่อแสดงขอบเขตของโครงสร้างตลาดปัจจุบัน
Fibonacci Display:
หาก isFiboXToShow เป็น true อินดิเคเตอร์จะคำนวณและวาดเส้น Fibonacci Levels ต่างๆ (0.786, 0.705, 0.618, 0.5, 0.382) โดยอิงจาก structureHigh และ structureLow ของโครงสร้างตลาดปัจจุบัน
Alerts:
alertcondition: ใช้สำหรับตั้งค่า Alert ใน TradingView เมื่อเกิดสัญญาณ BOS หรือ CHOCH
plot(na):
plot(na) เป็นคำสั่งที่สำคัญในอินดิเคเตอร์ที่ไม่ได้ต้องการพล็อต Series ของข้อมูลบนกราฟ (เช่น ไม่ได้พล็อตเส้น EMA หรือ RSI) แต่ใช้วาดอ็อบเจกต์ (Line, Label, Box) โดยตรง
การมี plot(na) ช่วยให้ Pine Script รู้ว่าอินดิเคเตอร์นี้มีเอาต์พุตที่แสดงผลบนกราฟ แม้ว่าจะไม่ได้เป็น Series ที่พล็อตตามปกติก็ตาม
3. วิธีใช้งาน
คัดลอกโค้ดทั้งหมด ที่อยู่ในบล็อก immersive ด้านบน
ไปที่ TradingView และเปิดกราฟที่คุณต้องการ
คลิกที่เมนู "Pine Editor" ที่อยู่ด้านล่างของหน้าจอ
ลบโค้ดเดิมที่มีอยู่ และ วางโค้ดที่คัดลอกมา ลงไปแทน
คลิกที่ปุ่ม "Add to Chart"
อินดิเคเตอร์จะถูกเพิ่มลงในกราฟของคุณโดยอัตโนมัติ คุณสามารถคลิกที่รูปฟันเฟืองข้างชื่ออินดิเคเตอร์บนกราฟเพื่อเข้าถึงหน้าต่างการตั้งค่าและปรับแต่งตามความต้องการของคุณได้
Hello! I will explain the "SMC Structures and FVG + MACD" indicator you provided in detail, section by section, so you can fully understand how it works.This indicator combines the concepts of Smart Money Concept (SMC), which focuses on analyzing Market Structure and Fair Value Gaps (FVG), with the MACD indicator to serve as a filter or confirmation for Choch (Change of Character) and BoS (Break of Structure) signals.1. Overall PurposeThe main purposes of this indicator are:Identify Market Structure: Automatically draw lines and label Choch (Change of Character) and BoS (Break of Structure) on the chart.Integrate MACD Confirmation: Choch/BoS signals will only be considered when the MACD Histogram performs a cross (Zero Cross) in the corresponding direction.Display Fair Value Gap (FVG): If enabled, FVG boxes will be drawn on the chart.Display Fibonacci Levels: Calculate and display important Fibonacci levels based on the current market structure.Adapt to Timeframe: All calculations and displays will automatically adjust to the timeframe you are currently using.2. Code BreakdownThis code can be divided into the following main sections:2.1 Inputs (Settings)This section contains variables that you can adjust in the indicator's settings window (click the gear icon next to the indicator's name on the chart).MACD Settings:fast_len: Length of the Fast EMA for MACD (default 12)slow_len: Length of the Slow EMA for MACD (default 26)signal_len: Length of the Signal Line for MACD (default 9) = ta.macd(close, fast_len, slow_len, signal_len): Calculates the MACD Line, Signal Line, and Histogram using the closing price (close) and the specified lengths.is_bullish_macd_cross: Checks if the MACD Histogram crosses above the 0 line (from negative to positive).is_bearish_macd_cross: Checks if the MACD Histogram crosses below the 0 line (from positive to negative).Fear Value Gap (FVG) Settings:isFvgToShow: (Boolean) Enables/disables the display of FVG on the chart.bullishFvgColor: Color for Bullish FVG.bearishFvgColor: Color for Bearish FVG.mitigatedFvgColor: Color for FVG that has been mitigated.fvgHistoryNbr: Number of historical FVG to display.isMitigatedFvgToReduce: (Boolean) Enables/disables reducing the size of FVG when mitigated.Structures (โครงสร้างตลาด) Settings:isStructBodyCandleBreak: (Boolean) If true, the break must occur with the candle body closing above/below the Swing High/Low. If false, a wick break is sufficient.isCurrentStructToShow: (Boolean) Enables/disables the display of the current market structure lines (blue lines in the example image).pivot_len: Lookback length for identifying Pivot points (Swing High/Low). A smaller value captures smaller, more frequent swings; a larger value captures larger, more significant swings.bullishBosColor, bearishBosColor: Colors for bullish/bearish BOS lines and labels.bosLineStyleOption, bosLineWidth: Style (Solid, Dotted, Dashed) and width of BOS lines.bullishChochColor, bearishChochColor: Colors for bullish/bearish CHoCH lines and labels.chochLineStyleOption, chochLineWidth: Style (Solid, Dotted, Dashed) and width of CHoCH lines.currentStructColor, currentStructLineStyleOption, currentStructLineWidth: Color, style, and width of the current market structure lines.structHistoryNbr: Number of historical breaks (Choch/BoS) to display.Structure Fibonacci (from original code):A set of inputs to enable/disable, define values, colors, styles, and widths for various Fibonacci Levels (0.786, 0.705, 0.618, 0.5, 0.382) that will be calculated from the current market structure.2.2 Helper FunctionsgetLineStyle(lineOption): This function converts the selected string input (e.g., "─", "┈", "╌") into a line.style_ format understood by Pine Script.get_structure_highest_bar(lookback): This function attempts to find the Bar Index of the Swing High within the specified lookback period.get_structure_lowest_bar(lookback): This function attempts to find the Bar Index of the Swing Low within the specified lookback period.is_structure_high_broken(...): This function checks if the current price has broken above _structureHigh (Swing High), considering _highStructBreakPrice (closing price or high price depending on isStructBodyCandleBreak setting).FVGDraw(...): This function takes arrays of FVG Boxes, Types, Mitigation Status, and Labels to process and update the status of FVG (e.g., whether it's mitigated) and adjust the size/position of FVG Boxes and Labels on the chart.2.3 Global VariablesThese are variables declared with var, meaning their values are stored and updated on each bar (persists across bars).structureLines, structureLabels: Arrays to store line and label objects for Choch/BoS lines drawn on the chart.fvgBoxes, fvgTypes, fvgLabels, isFvgMitigated: Arrays to store FVG box data and their respective statuses.structureHigh, structureLow: Stores the price of the significant Swing High/Low of the current market structure.structureHighStartIndex, structureLowStartIndex: Stores the Bar Index of the start point of the significant Swing High/Low.structureDirection: Stores the status of the market structure direction (1 = Bullish, 2 = Bearish, 0 = Undefined).fiboXPrice, fiboXStartIndex, fiboXLine, fiboXLabel: Variables to store data and objects for Fibonacci Levels.isBOSAlert, isCHOCHAlert: (Boolean) Used to trigger alerts in TradingView (if alerts are configured).2.4 FVG ProcessingThis section checks the conditions for FVG formation (Bullish FVG: high < low , Bearish FVG: low > high ).If FVG occurs and isFvgToShow is true, a new box and label are created to display the FVG on the chart.fvgBoxes and fvgLabels are managed to limit the number of FVG displayed according to fvgHistoryNbr and remove older FVG.The FVGDraw function is called to update the FVG status (e.g., whether it's mitigated) and adjust its display.2.5 Structures ProcessingInitialization: At bar_index == 0 (the first bar of the chart), structureHigh, structureLow, structureHighStartIndex, and structureLowStartIndex are initialized.Finding Current High/Low: highest, highestBar, lowest, lowestBar are used to find the highest/lowest price and its Bar Index of it in the last 10 bars (or all bars if the chart is shorter than 10 bars).Calculating Structure Max/Min Bar: structureMaxBar and structureMinBar use get_structure_highest_bar and get_structure_lowest_bar functions to find the Bar Index of the true Swing High/Low (not just the highest/lowest in the lookback but a complete Pivot point).Break Price: lowStructBreakPrice and highStructBreakPrice will be the closing price (close) or the Low/High price, depending on the isStructBodyCandleBreak setting.isStuctureLowBroken / isStructureHighBroken: These conditions check if the price has broken structureLow or structureHigh, considering the break price, previous bar prices, and the Bar Index of the structure's starting point.Choch/BoS Logic (Key Integration with MACD):if(isStuctureLowBroken and is_bearish_macd_cross): This is where MACD plays a role. If the price breaks structureLow (bearish signal) AND the MACD Histogram performs a Bearish Zero Cross (is_bearish_macd_cross is true), the indicator will consider it a Choch or BoS.If structureDirection == 1 (previously bullish) or 0 (undefined), it will be labeled "CHoCH" (changing structure direction to bearish).If structureDirection == 2 (already bearish), it will be labeled "BOS" (confirming bearish structure).line.new and label.new are used to draw the line and label.structureDirection will be updated to 1 (Bullish).structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow will be updated to define the new structure.else if(isStructureHighBroken and is_bullish_macd_cross): Similarly for bullish breaks. If the price breaks structureHigh (bullish signal) AND the MACD Histogram performs a Bullish Zero Cross (is_bullish_macd_cross is true), the indicator will consider it a Choch or BoS.If structureDirection == 2 (previously bearish) or 0 (undefined), it will be labeled "CHoCH" (changing structure direction to bullish).If structureDirection == 1 (already bullish), it will be labeled "BOS" (confirming bullish structure).line.new and label.new are used to draw the line and label.structureDirection will be updated to 2 (Bearish).structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow will be updated to define the new structure.Deleting Old Lines: d.delete_line (if the library works) will be called to delete old lines and labels when their number exceeds structHistoryNbr.Updating Structure High/Low (else block): If no break occurs, but the current price is higher than structureHigh or lower than structureLow in the corresponding direction (e.g., still bullish and making a new high), structureHigh or structureLow will be updated to track the highest/lowest point of the current structure.Current Structure Display:If isCurrentStructToShow is true, the indicator draws structureHighLine and structureLowLine to show the boundaries of the current market structure.Fibonacci Display:If isFiboXToShow is true, the indicator calculates and draws various Fibonacci Levels (0.786, 0.705, 0.618, 0.5, 0.382) based on the structureHigh and structureLow of the current market structure.Alerts:alertcondition: Used to set up alerts in TradingView when BOS or CHOCH signals occur.plot(na):plot(na) is an important statement in indicators that do not plot data series directly on the chart (e.g., not plotting EMA or RSI lines) but instead draw objects (Line, Label, Box).Having plot(na) helps Pine Script recognize that this indicator has an output displayed on the chart, even if it's not a regularly plotted series.3. How to UseCopy all the code in the immersive block above.Go to TradingView and open your desired chart.Click on the "Pine Editor" menu at the bottom of the screen.Delete any existing code and paste the copied code in its place.Click the "Add to Chart" button.The indicator will be added to your chart automatically. You can click the gear icon next to the indicator's name on the chart to access the settings window and customize it to your needs.I hope this explanation helps you understand this indicator in detail. If anything is unclear, or you need further adjustments, please let me know.
Combined ATPC & MACD DivergenceTrend Optimizer + Divergence Finder in One Unified Tool
🔍 Overview:
This powerful dual-system indicator merges two proven analytical engines:
✅ The Algorganic Typical Price Channel (ATPC) — a custom trend oscillator that highlights mean-reversion and directional bias.
✅ A refined MACD system with divergence detection, enhanced with an adjusted Donchian midline for real-time trend strength filtering.
Together, they provide a high-confidence, multi-signal system ideal for swing trading, scalping, or confirming reversals with context.
⚙️ Core Components & Logic
🧠 1. ATPC Engine (Trend Commodity Index)
A momentum and volatility-normalized oscillator based on the typical price (H+L+C)/3:
TrendCI Line (Blue) – Main trend signal based on smoothed CCI logic.
TrendLine2 (Orange) – A slower smoothing of TrendCI for crossovers.
Key Zones (customizable):
🔴 Ultra Overbought: +73
🟣 Overbought: +58
🟣 Oversold: -58
🔴 Ultra Oversold: -73
Trade Logic:
✅ Buy Signal: TrendCI crosses above TrendLine2 while in oversold zone
❌ Sell Signal: TrendCI crosses below TrendLine2 while in overbought zone
Additional visual feedback:
Histogram Bars show strength and direction of momentum shift
Green/Red Circles highlight potential long/short setups
📉 2. MACD System + Divergence Finder
Classic MACD enhanced with a Donchian Midline overlay to filter trend bias.
🔷 MACD Line and 🟠 Signal Line show crossover momentum
🟩/🟥 Histogram shows distance from the signal line
🟪 Adjusted Donchian Midline dynamically adapts to range-bound vs trending environments
Background Color provides real-time trend state:
✅ Green = Bullish Trend
❌ Red = Bearish Trend
No color = Neutral / Choppy
MACD Boundaries (user-defined):
Overbought: +1.0
Oversold: -1.0
🔀 3. Divergence Detection
Spot hidden power shifts before price reacts:
🔼 Positive Divergence – Price makes lower lows, but MACD histogram rises
🔽 Negative Divergence – Price makes higher highs, but MACD histogram weakens
These are visually marked with:
Green “+Div” label (bullish reversal cue)
Red “–Div” label (bearish exhaustion signal)
🎯 How to Use It
For Trend Traders:
Stay in sync with macro trend using MACD histogram + background
Use ATPC crossovers for precision entries
Avoid signals during neutral background (chop filter)
For Reversal Traders:
Look for bullish +Div with ATPC buy signal in oversold zone
Look for bearish –Div with ATPC sell signal in overbought zone
Mid-Donchian line can act as confluence or breakout trigger
For Scalpers & Intraday Traders:
Combine with VWAP, liquidity zones, or order flow levels
ATPC crossovers + MACD histogram zero-line flip = potential scalp entry
Use histogram slope and divergence to avoid false momentum traps
🧩 Customizable Inputs
🎛️ ATPC: Channel & Smoothing lengths, overbought/oversold thresholds
🎛️ MACD: Fast/slow EMAs, signal smoothing, Donchian period, bounds
🎨 Fully theme-compatible with adjustable colors and line styles
🔔 Alerts (Add Your Own)
While this version doesn’t contain built-in alerts, you can easily add alerts based on:
buySignal or sellSignal from ATPC logic
Histogram cross zero or trend flip
MACD Divergence event
📜 “This indicator doesn't just show signals—it tells a story about who’s in control of the market, and when that control might be slipping.”
DAMA OSC - Directional Adaptive MA OscillatorOverview:
The DAMA OSC (Directional Adaptive MA Oscillator) is a highly customizable and versatile oscillator that analyzes the delta between two moving averages of your choice. It detects trend progression, regressions, rebound signals, MA cross and critical zone crossovers to provide highly contextual trading information.
Designed for trend-following, reversal timing, and volatility filtering, DAMA OSC adapts to market conditions and highlights actionable signals in real-time.
Features:
Support for 11 custom moving average types (EMA, DEMA, TEMA, ALMA, KAMA, etc.)
Customizable fast & slow MA periods and types
Histogram based on percentage delta between fast and slow MA
Trend direction coloring with “Green”, “Blue”, and “Red” zones
Rebound detection using close or shadow logic
Configurable thresholds: Overbought, Oversold, Underbought, Undersold
Optional filters: rebound validation by candle color or flat-zone filter
Full visual overlay: MA lines, crossover markers, rebound icons
Complete alert system with 16 preconfigured conditions
How It Works:
Histogram Logic:
The histogram measures the percentage difference between the fast and slow MA:
hist_value = ((FastMA - SlowMA) / SlowMA) * 100
Trend State Logic (Green / Blue / Red):
Green_Up = Bullish acceleration
Blue_Up (or Red_Up, depending the display settings) = Bullish deceleration
Blue_Down (or Green_Down, depending the display settings) = Bearish deceleration
Red_Down = Bearish acceleration
Rebound Logic:
A rebound is detected when price:
Crosses back over a selected MA (fast or slow)
After being away for X candles (rebound_backstep)
Optional: filtered by histogram zones or candle color
Inputs:
Display Options:
Show/hide MA lines
Show/hide MA crosses
Show/hide price rebounds
Enable/disable blue deceleration zones
DAMA Settings:
Fast/Slow MA type and length
Source input (close by default)
Overbought/Oversold levels
Underbought/Undersold levels
Rebound Settings:
Use Close and/or Shadow
Rebound MA (Fast/Slow)
Candle color validation
Flat zone filter rebounds (between UnderSold and UnderBought)
Available MA type:
SMA (Simple MA)
EMA (Exponential MA)
DEMA (Double EMA)
TEMA (Triple EMA)
WMA (Weighted MA)
HMA (Hull MA)
VWMA (Volume Weighted MA)
Kijun (Ichimoku Baseline)
ALMA (Arnaud Legoux MA)
KAMA (Kaufman Adaptive MA)
HULLMOD (Modified Hull MA, Same as HMA, tweaked for Pine v6 constraints)
Notes:
**DEMA/TEMA** reduce lag compared to EMA, useful for faster reaction in trending markets.
**KAMA/ALMA** are better suited to noisy or volatile environments (e.g., BTC).
**VWMA** reacts strongly to volume spikes.
**HMA/HULLMOD** are great for visual clarity in fast moves.
Alerts Included (Fully Configurable):
Golden Cross:
Fast MA crosses above Slow MA
Death Cross:
Fast MA crosses below Slow MA
Bullish Rebound:
Rebound from below MA in uptrend
Bearish Rebound:
Rebound from above MA in downtrend
Bull Progression:
Transition into Green_Up with positive delta
Bear Progression:
Transition into Red_Down with negative delta
Bull Regression:
Exit from Red_Down into Blue/Green with negative delta
Bear Regression:
Exit from Green_Up into Blue/Red with positive delta
Crossover Overbought:
Histogram crosses above Overbought
Crossunder Overbought:
Histogram crosses below Overbought
Crossover Oversold:
Histogram crosses above Oversold
Crossunder Oversold:
Histogram crosses below Oversold
Crossover Underbought:
Histogram crosses above Underbought
Crossunder Underbought:
Histogram crosses below Underbought
Crossover Undersold:
Histogram crosses above Undersold
Crossunder Undersold:
Histogram crosses below Undersold
Credits:
Created by Eff_Hash. This code is shared with the TradingView community and full free. do not hesitate to share your best settings and usage.
MACD with DPO Strategy by NGExplanation of the MACD with DPO Strategy:
MACD (Moving Average Convergence Divergence):
The MACD is a trend-following indicator that shows the relationship between two moving averages of a price.
In this script:
We calculate the MACD line by subtracting the slow moving average (typically 26-period EMA) from the fast moving average (typically 12-period EMA).
The Signal line is calculated as a 9-period EMA of the MACD line.
The Histogram is the difference between the MACD line and the Signal line, indicating the momentum of the price trend.
Buy Condition: The script generates a buy signal when the MACD histogram crosses from negative to positive (indicating a bullish momentum) and DPO is also positive.
Sell Condition: The script generates a sell signal when the MACD histogram crosses from positive to negative (indicating a bearish momentum) and DPO is also negative.
DPO (Detrended Price Oscillator):
The DPO removes long-term trends from prices, making it easier to identify shorter-term cycles or oscillations.
In this script:
We calculate the DPO by subtracting a shifted simple moving average (SMA) from the close price. The shifting period depends on half the specified period.
We also calculate the DPO SMA as a 30-period EMA of the DPO values.
DPO Color: The DPO line is colored green when the DPO is above zero (indicating upward momentum) and red when it is below zero (indicating downward momentum). The histogram is also colored based on whether the DPO is positive or negative.
Plotting and Alerts:
The script plots the MACD, Signal, and Histogram on the chart.
Additionally, it plots the DPO and its SMA with different colors depending on whether the DPO is above or below zero.
Buy Signal: A green arrow labeled "BUY" is plotted below the bar when both MACD and DPO indicate a bullish condition.
Sell Signal: A red arrow labeled "SELL" is plotted above the bar when both MACD and DPO indicate a bearish condition.
Background colors are used to highlight the chart whenever a buy or sell condition occurs.
The script also includes alerts for both buy and sell signals, allowing users to set notifications when conditions are met.
How to Use:
Identify Buy and Sell Signals:
The script generates a Buy signal when:
The MACD histogram crosses from negative to positive (bullish momentum), and
The DPO is above zero (indicating upward momentum).
The script generates a Sell signal when:
The MACD histogram crosses from positive to negative (bearish momentum), and
The DPO is below zero (indicating downward momentum).
Chart Visualization:
The MACD histogram and Signal line help visualize the momentum and potential trend reversal.
The DPO and DPO SMA help visualize the shorter-term price cycles.
The signals (Buy and Sell) will be plotted on the chart with arrows indicating entry points.
Customization:
You can adjust the MACD and DPO parameters (such as fast_length, slow_length, period_) to fit your trading style or market conditions.
The script can be used in any timeframe depending on your strategy (e.g., intraday trading or longer-term trading).
Example Scenario:
If you're looking for potential buy opportunities, wait for the script to generate a buy signal (green arrow) where the MACD histogram has shifted to positive, and DPO is also in the green (above zero). This signals that both momentum and cycle direction are aligned for a potential upward movement.
Conversely, for sell opportunities, wait for the red arrow where MACD momentum is turning negative and DPO is also negative (below zero), indicating a bearish condition.
This combination of MACD and DPO allows traders to identify stronger and more reliable entry/exit points by confirming the trend with the MACD and detecting shorter-term price cycles with the DPO.






















