Rolling EMAVWAP with Standard Deviation BandsThis is experimental code trying to implement exponentially decreasing weights over time in a simple VWAP.
Also i applied EMA rules when calculating the Standard Deviation Bands.
The script produces results from 1 candle.
There is an "log space" option to neutralize bands shifts when charting in log space - this gives the correct geometrically equal distances on both sides of the emaVWAP.
In den Scripts nach "Exponential" suchen
Bitcoin Logarithmic Fractal Growth Model By ARUDDThis model, which I'm calling the Logarithmic Fractal Growth Mode (L.F.G) , uses Bitcoin's mathematical monetary policy to evaluate the future possible price valuation.
It takes into account fractal (and logarithmic) growth as well as how those who hold bitcoins might react to certain events such as changes in supply and demand. It also shows that it is mathematically logical that someday it must become stable.
The information gained from knowing this helps people make more informed decisions when buying bitcoin and thinking of its future possibilities.
The model can serve as some type of general guideline for determining how much bitcoins should be worth in the future if it follows a certain path from its current price.
Modeling Bitcoin's money supply mathematically, and knowing that there is a finite number of them, makes this whole process much more rational than just thinking about the possibilities in pure subjective terms.
Before going any further I want to say that no one can know with absolute certainty what will happen to bitcoins price in the future, but using mathematics gives us an idea of where things are headed.
The results presented here are based on very reasonable assumptions for how bitcoin might continue to grow (and then level out) once there are over 21 million bitcoins in existence.
The model shows that bitcoin's price can never go down to zero (thus creating the "death spiral" phenomenon), and as such, bitcoin has an extremely high probability of becoming stable as it approaches infinity.
Conversely, this model also shows that at some point there is a high probability that bitcoin will not continue to grow exponentially forever.
Credit goes to Quantadelic for the awesome original script.
ARUDD
"DSS" Bessert Double Smooth Stochastic Alma Variant Hi colleagues I share this time DSS bressert.
As usual they have all the adjustable colors and signals. I hope you enjoy them and leave here below the length of signals that best suit your needs so that we can continue sharing content
Description
One after the other, William Blau and Walter Bressert each presented a version of the Double Smoothed Stochastics. Two exponentially smoothed MAs are used to even out the input values (H, L and C), in a similar way to the well-known stochastic formula.
Parameters
The adjustable period length can be chosen from 2 to 500. The most common settings will have a period length ranging from 5 to 30. In addition, the indicator can be smoothed in the interval from 1 to 50. Meaningful smoothing values lie in the short-term range.
Interpretation
The application of the DSS is comparable with that of the stochastic method. Accordingly, values above 70 or 80 must be regarded as overbought and values below 20 or 30 as oversold. A rise of the DSS above its center line should be viewed as bullish, and a fall of the DSS below its center line as bearish.
/// Quick Explained ALMA ///
//Window size: The window size is the look-back period and it is a basic setting of ALMA.
//Experienced traders can change this setting according to their preference.
//But if you are using this indicator for the first time, it is recommended to go with the default setting.
//Offset: The offset value is used to tweak the ALMA so that it will be more inclined
//towards responsiveness or smoothness. You can set the offset in decimals between the 0 to1.
//The value of 0.01 makes it smoother, while a setting of 0.99 makes the indicator more responsive.
//Sigma: The sigma is used for the filter. Any value less than 6 makes the indicator
//more focused, whereas the setting of 6 makes the filter large. According to Mr Arnaud,
//a sigma value of 6 is offer good performance.
/// Explain DSS ///
//Parameters
//The adjustable period length can be chosen from 2 to 500.
//The most common settings will have a period length ranging from 5 to 30.
//In addition, the indicator can be smoothed in the interval from 1 to 50.
//Meaningful smoothing values lie in the short-term range.
//Interpretation
//The application of the DSS is comparable with that of the stochastic method.
//Accordingly, values above 70 or 80 must be regarded as overbought and values below 20 or 30 as oversold.
//A rise of the DSS above its center line should be viewed as bullish,
//and a fall of the DSS below its center line as bearish
/// End Of The Code///
4 MA Strategy + Position Management// This is a simple crossover Moving Average strategy, good for long term crypto trades.
// It buys when the MA "X" crosses up the MA "Y", viceversa for shorts.
// Both MAs are selectable from the Inputs section in the front panel.
// There is also a Position Management option thats
// sizes positions to have the same USD risk (using leverage) on each trade,
// based on the percentage distance to the stop loss level.
// If you turn this option on you will see how the profit
// grows exponentially while the drawdown percentage almost remains the same.
Volume, Momentum and Volatility weighted moving averageMoving averages are filters on price data. This moving average creates a filter which factors in:
- the price RSI or it's Momentum
- the volume RSI
- the RVI or Volatility
Each factor is put through a least squares filter to smooth them first.
Then the factors are used to build a coefficient for an exponentially weighted average.
The chart above shows a comparison of standard average types with this script.
This is useful if you are looking for a moving average based trigger and do not wish to react to candle noise price action.
Linear Regression + Moving Average1. Linear Regression including 2 x Standard Deviation + High / Low. Middle line colour depends on colour change of Symmetrically Weighted Moving Average . Green zones indicate good long positions. Red zones indicate good short positions. (Custom)
2. Symmetrically Weighted Moving Average. Colour change depending on cross of offset -1. (Fixed)
3. Exponentially Weighted Moving Average. Colour change depending on cross with Symmetrically Weighted Moving Average. (Custom)
Log MACDThis is just a MACD indicator using the log of the closing price rather than the normal closing price. Useful for exponentially growing stocks and cryptocurrency.
Volume Weighted Directional BiasThis indicator uses a series of five volume weighted moving averages cast out in successive powers of three to calculate a value which expresses the direction and momentum of a trend. It can be used as a contrary indicator to identify waning momentum at the top or bottom of a rally or selloff. It can be used to identify trendline divergence. It can also be used for trend confirmation.
The length of the moving averages can be changed in the indicator inputs, but each should be longer than the previous.
The problem with most trend indicators is that they are either too lagging or too noisy. This indicator seeks to combine smoothed data and a long lookback period with an exponentially forward weighted calculation, making it still very responsive to market changes without too much signal noise.
Grid ToolThe core idea of this grid tool is that you have to concentrate less on the trade entries (this happens automatically time-independent but price-dependant) but rather on the validity of the macro trend. Exiting a trend when it is no longer valid is more important than entering a trade. But as long as the trend is valid, the trader participates exponentially in the overall trend.
It is advisable to start with a basic position and then "set up" the grid on this in a ratio of 1/10.
A major advantage of grid trading is that the average entry price in a trend moves further and further away from the current market price while the position continues to grow.
A small timeframe should be used so that the distance between the trades corresponds as closely as possible to the selected grid gap and since TV backtests are carried out with closed bars.
Before starting a grid, pre-analysis the market to make sure it is trending. Select the grid gap and grid position size that you are comfortable with. Monitor the trend and from time to time take some profit :).
PS: The ADX filter looks interesting.
[SCL] Bitcoin Hashrate Dips (Miner Capitulation)Gives long-term buy signals for Bitcoin from dips and recoveries in the hashrate (the "miner capitulation" theory). It has an overlay and a standalone mode and is fully configurable. It uses Williams Lows and ATR instead of moving averages.
Features that might be interesting for Pinescripters:
+ Automatic (as far as is possible currently) adjustment of plots for overlay and standalone display modes.
+ A neat label function for debugging floats
+ Fully commented
+ The debug that I used to overcome problems in developing it is left in
+ Ideas for how to deal with a wildly oscillating and exponentially increasing data source
You need to run this indicator on the Bitcoin daily chart for it to make any sense. The best is a BTC/USD chart with a long history, such as BNC:BLX.
KINSKI Flexible Multi MA (EMA, SMA, RMA, WMA, VWMA, KAMA, HMA)This Multi Moving Average (MA) indicator is more flexible than any other indicator of this type offered so far. You can define up to 10 different Moving Average (MA) lines based on different calculation variants.
The following MA types can be configured.
- EMA: Exponentially Moving Average
- SMA: Small Moving Average
- RMA: Rolling Moving Average
- WMA: Weighted Moving Average
- VWMA: Volume Weighted Moving Average
- KAMA: Kaufman's Adaptive Moving Average
- HMA: Hull Moving Average
Which settings can be made?
- Selection for calculation formula ("Calculation Source"). The default value is "close".
- for each MA line the "Length" and the "Type" can be defined
- furthermore you can make layout adjustments via the "Style" menu
Dynamic Money FlowDynamic Money Flow is a volume indicator based on Marc Chaikin's Money Flow with a few improvements.
It can be used to confirm break-outs and trends.
Zero line crosses and divergences can provide useful signals while considering chart analysis as well.
Two weaknesses of CMF have been already fixed by Colin Twiggs (IncredibleCharts)...
1.CMF uses Chaikin's accumulation/distribution line to calculate the flow of money.
Accumulation/distribution line does not take the gaps into account. This can be solved using true range.
I call it true accumulation/distribution.
2.Oscillators have a tendency to center because of averaging calculations.
DMF is average of flowing volume divided by average of total volume. This means indicator plots the change of first factor compared to the other one. In Simple Averaging method every data is given an equal weight thus when the last data drops it will have heavy impact on the averages and the change of them.
It is much easier to identity these impacts after the drop of very high or very low data... So reducing the weight exponentially is a better option.
3.There is something else with CMF... changes of close price is ignored, because the formula only compares close price to its range.
To include the movements of close beside the close to range comparison, the distance between two last close prices should be compared to true range as well.
So volume can be distributed between close to range comparison (True Accumulation/Distribution) and close to close comparison automatically. And then results are summed to have a single multiplier.
An example for how close to close comparison affects DMF...
Or here you can see how lower wicks keep TMF (same as CMF in this case) from crossing zero line while price is trending down.
Bitmex Funding Killzones v3 [MaliciousUpload]Originally built off of "Oscarvs: BITCOIN KILL ZONES v2" indicator, updated to now highlight a different time period based event.
1. The indicator should not be affected by what time zone you are in, it will show true Funding periods by default.
2. This needs to be used on the 1min time frame to be used to its full extent
3. The more the funding fee is the more likely you are to have price get manipulated by people looking to act on its benefit
4. This indicator will work only for XBTUSD and ETHUSD perpetual contract symbols as they are the only two ones with funding...
My opinion: Funding is literally the exchanges insurance policy, they are "the house", they will always win.
With that in mind you can trade "with the house" in this regard, getting onto the side that will benefit from exponentially large funding rebates.
Do you ever ask how those "whales" got to be rich? It was by saving every penny they could while trading.
Funding gives people the option to jump out right before, avoiding the fee and then immediately enter in after at no loss (assuming limit orders ofc).
If that doesn't make sense to you i cant help, sorry. :pray: :pray: :pray:
"Build up period" = Usually when we see people start getting into positions to try and get the rebate from funding and/or people getting out of positions that would be negatively impacted by funding
"Entry window" = If you are trying to scalp the "rebound" in price which should happen right after funding happens from people re-entering their position which previously exited just to avoid the funding fee or from all of the people who entered just to get the funding rebate
"Take profit period" = The time period I have determined to be most influential, very volatile IF the funding has an effect on price
Hit me up on Discord if you are an **experienced** trader that takes trading seriously.
MaliciousUpload#1637
VWMA RibbonVolume Weighted Moving Average of HLC3's, spread over a wide range of periods to get an overall feel of any market.
The 15 periods used are exponentially increasing to provide somewhat even spacings in moving markets, which can be useful for progressive stop-buys (dollar cost averaging in) or progressive stop-losses (dollar cost averaging out):
4
7
12
20
33
54
87
140
226
365
590
955
1545
2500
5000
Delta Volume v2, by AlexIncHere is my new version of exponentially-attinuated volume based indicator, which can be used for confirmation of other signals.
Triple Moving Averages++Extended version of Triple Moving Averages
Puts three moving averages on the chart can choose from
Simple Moving Average
Exponentially Weighted Moving Average
RSI Moving Average
Weighted Moving Average
Arnaud Legoux Moving Average
Volume Weighted Moving Average
Also includes options to hide each of the moving averages
Richard Carey - Crypto Appropriate EWMACAn exponentially weighted moving average crossover strategy with variable MA types and Fast Slow periods.
WhenWasThePriceAction
Bars of largest range (volatility)
* see moments of strongest price action immediately
* colored & upDown by candle color
* amplifier: you see only the bull runs, and subsequent dumps
Very nice on the 5 years scale of BITSTAMP:BTCUSD - nothing comparable to 2013 has happened yet.
Internals:
squared_range = pow(high-low, 2)
That is essentially it already. The rest are details:
* gauge with (in case of Bitcoin exponentially rising) price
* show in red for negative candles
* take even higher polynomial (than 2) to show only the very largest values
* allow some user input (but there is not much more that can be chosen here.)
Sorry for such a simple formula - but sometimes the easiest things are powerful.
Please give feedback. www.tradingview.com and/or in the cryptocurrency chat. Thanks.
FREE INDICATOR: POLARIZED FRACTAL EFFICIENCYLooking for something other than a moving average to help determine not only a trend's strength, but also it's direction? Try PFE!
PFE was developed by Hans Hannula that was invented to determine price efficiency over a user-defined time period.
The Polarized Fractal Efficiency indicator is, in the essence, an exponentially smoothed ratio of the length of two lines: (1) of a straight line between today’s close and the close Period days ago, and (2) of a broken line connecting all Close points between today and Period days ago. The indicator output varies between -100 and 100. The theory behind this indicator is that if it is >50 (or <-50) then the market is likely to reverse its trend from positive to negative (or from negative to positive).
Other usage:
Securities with a PFE greater than zero are deemed to be trending up, while a reading of less than zero indicates the trend is down. The strengh of the trend is measured by the position of the PFE relative to the zero line. As a general rule, the further the PFE value is away from zero, the stronger and more efficient the given trend is. A PFE value that fluctuates around the zero line could indicate that the supply and demand for the security are in balance and price may trade sideways.
As with all indicators, finding something that works well along side this would be the most beneficial way to use it.
Perhaps something like the Choppiness Index (related idea below) could do the trick.
Grab the source code here: pastebin.com
Installation video by @ChrisMoody here : blog.tradingview.com
Multi-MA SuiteMulti-MA Suite - Customizable Moving Averages Indicator
Overview
Multi-MA Suite is a comprehensive moving average indicator that combines both Exponential Moving Averages (EMAs) and Simple Moving Averages (SMAs) in a single, highly customizable tool. Designed for traders who rely on multiple timeframe analysis, this indicator provides up to 9 moving averages (5 EMAs + 4 SMAs) with full control over visibility, color schemes, and parameters.
Key Features
✓ Dual MA Types:
5 Exponential Moving Averages (EMAs) - Responsive to recent price action, ideal for short to medium timeframes
4 Simple Moving Averages (SMAs) - Slow and stable, specifically designed for long timeframe analysis
✓ Full Customization:
Individual toggle switches to show/hide each moving average
Custom color picker for each MA line
Adjustable length and source for all moving averages
Progressive line width (thicker lines for longer periods)
✓ Pre-configured Defaults:
EMA: 9, 21, 50, 100, 200 (common swing trading periods)
SMA: 50, 100, 200, 300 (institutional reference levels for long-term trends)
Color-coded scheme: Warm colors (yellow-orange) for EMAs, Cool colors (blue-purple) for SMAs
✓ Clean Interface:
Organized input groups for easy navigation
Clear labeling and logical parameter ordering
Minimal chart clutter with toggle controls
Key Difference - Speed & Timeframe:
EMAs: Fast and reactive → Best for short to medium timeframes (1-min to 4-hour charts)
SMAs: Slow and smooth → Best for long timeframes (daily, weekly, monthly charts)
Recommended Settings
Day Trading (Short Timeframes):
Focus on EMAs: 9, 21, 50
Use 1-minute to 15-minute charts
SMAs react too slowly for intraday timeframes
Swing Trading (Medium Timeframes):
Use all EMAs with SMA 50 and 200
1-hour to daily charts work best
Mix of EMAs for entries, SMAs for trend context
Position Trading (Long Timeframes):
Focus primarily on SMAs: 50, 100, 200, 300
Daily to weekly charts recommended
SMAs excel here due to their slow, stable nature
Can add EMA 200 for comparison
Investment Analysis (Very Long Timeframes):
SMAs only: 100, 200, 300
Weekly to monthly charts
SMA's slow calculation filters noise perfectly for long-term trends
EMA Timeframe-Specific Recommendations
📌 Important Notes on EMA Usage by Timeframe:
Small Timeframes (5-minute and 15-minute charts):
Use 9 EMA and 21 EMA
These fast EMAs respond quickly to price changes
Perfect for scalping and day trading
The 9/21 EMA crossover is a popular day trading strategy
Medium Timeframes (1-hour to 4-hour charts):
Use 21 EMA and 50 EMA
Balances responsiveness with trend reliability
Ideal for swing trading and intraday position holding
The 21/50 EMA combination filters out noise while staying responsive
Long Timeframes (Daily and Weekly charts):
Use 50 EMA and 200 EMA
The classic trend-following combination
50 EMA for medium-term trend, 200 EMA for major trend
The 50/200 EMA crossover is known as the "Golden Cross" (bullish) or "Death Cross" (bearish)
For very long-term analysis on these timeframes, consider using SMAs instead
Quick Reference Guide:
5m / 15m: EMA 9 & 21
1h / 4h: EMA 21 & 50
1D / 1W: EMA 50 & 200 (or switch to SMAs for even smoother signals)
Practical Trading Strategy with EMAs
📌 Why Use EMAs for Active Trading:
For active trading, use EMAs because they have faster movement compared to SMAs. This faster response to price changes allows you to catch trends earlier and exit trades before major reversals occur.
Three-EMA Trading System:
1. 9 EMA - Quick Trend Recognition:
Use the 9 EMA to understand the trend quickly
When price is above 9 EMA = Short-term uptrend
When price is below 9 EMA = Short-term downtrend
The 9 EMA reacts immediately to price momentum changes
Perfect for entry timing and quick trend identification
2. 21 EMA - Exit Signal and Trend Confirmation:
When the 21 EMA breaks (price crosses it), exit your trade
This is critical because when the 21 EMA breaks, the trend will likely reverse
The 21 EMA acts as your "stop-loss line"
Breaking the 21 EMA signals that the short-term momentum has shifted
Example: In an uptrend, when price crosses below 21 EMA, exit longs immediately
Example: In a downtrend, when price crosses above 21 EMA, exit shorts immediately
3. 50 EMA - Full Correction Understanding:
Use the 50 EMA to understand the complete correction
The 50 EMA shows where the full pullback or correction might end
When price reaches the 50 EMA, it often bounces (in a strong trend)
Breaking the 50 EMA indicates a deeper correction or potential trend reversal
Use it to gauge the strength of the overall trend
Customization Tips
Toggle unnecessary MAs off to reduce chart clutter based on your trading style and timeframe
For the 3-EMA trading strategy, enable only 9, 21, and 50 EMAs
For long timeframes (daily+), disable EMAs and use only SMAs to avoid over-reactive signals
Match your EMA selection to your timeframe using the guide above
Adjust colors to match your chart theme or to highlight specific MAs
Modify lengths to fit specific market conditions or asset volatility
Change source from close to high/low/HL2 for alternative perspectives
Use thicker lines for key decision MAs (edit linewidth in settings)
Color Scheme Rationale
EMAs (Warm Colors):
Yellow → Orange progression represents increasing timeframes while maintaining visual cohesion. The warm palette signals "active" or "fast-reacting" nature of EMAs, perfect for shorter timeframes and active trading.
SMAs (Cool Colors):
Blue → Purple progression provides clear visual distinction from EMAs. The cool palette suggests "stable," "slow," and "smooth" characteristics of SMAs, ideal for long timeframe analysis.
What Makes This Different?
Unlike basic MA indicators, Multi-MA Suite provides:
Both EMA and SMA in one indicator (saves indicator slots)
Optimized MA selection based on speed characteristics - fast EMAs for short timeframes, slow SMAs for long timeframes
Clear timeframe-specific EMA recommendations for immediate use
Practical trading strategy included - 9 EMA for trend, 21 EMA for exit, 50 EMA for corrections
Individual control over each MA (toggle, color, parameters)
Thoughtful default settings based on widely-used trading periods
Color-coded system for instant visual differentiation
Clean, organized interface for efficient workflow
Installation & Usage
Add the indicator to your chart
Open indicator settings to customize
For active trading: Enable 9, 21, and 50 EMAs (the recommended trading system)
Select appropriate MAs for your timeframe (use the EMA timeframe guide above)
Toggle MAs on/off based on your analysis needs
Adjust colors if desired to match your chart theme
Modify lengths and sources as needed for your strategy
⚠️ IMPORTANT DISCLAIMER
EDUCATIONAL AND INFORMATIONAL PURPOSES ONLY
This indicator and its accompanying documentation are provided for educational and informational purposes only. The content does not constitute financial advice, investment advice, trading advice, or any other sort of advice, and you should not treat any of the indicator's content as such.
NO GUARANTEE OF RESULTS
Past performance is not indicative of future results. The strategies, techniques, and concepts discussed herein are provided "as is" without any warranty of any kind. Trading and investing in financial markets involves substantial risk of loss and is not suitable for every investor.
RISK ACKNOWLEDGMENT
You can lose money trading: Trading stocks, forex, futures, options, cryptocurrencies, and other financial instruments carries a high level of risk and may not be suitable for all investors. You may sustain a total loss of your investment.
No guaranteed profits: The use of moving averages or any technical indicator does not guarantee profitable trades. Markets can remain irrational longer than you can remain solvent.
Lagging indicators: All moving averages are lagging indicators based on historical price data and may not predict future price movements.
False signals: Moving averages can produce false signals, especially in choppy, sideways, or low-volume market conditions.
YOUR RESPONSIBILITY
Do your own research: Before making any trading or investment decision, you should conduct your own research and due diligence.
Consult professionals: Consider seeking advice from qualified financial advisors, certified public accountants, or licensed professionals before making financial decisions.
Risk management: Always use proper risk management, including stop-losses, position sizing, and diversification.
Demo trading: Test any strategy on a demo account before risking real capital.
Understand the markets: Ensure you fully understand the markets you're trading and the risks involved.
PERSONAL TRADING DECISIONS
All trading decisions are made at your own discretion and at your own risk. You are solely responsible for all trading decisions you make. The strategies mentioned (including the 9/21/50 EMA system) are examples only and should not be followed blindly without proper testing and risk assessment.
MARKET CONDITIONS VARY
Market conditions change constantly. What works in one market condition may not work in another. Trending strategies (like the ones discussed) typically perform poorly in ranging markets. Adapt your approach based on current market conditions.
USE AT YOUR OWN RISK
By using this indicator, you acknowledge that you have read this disclaimer and agree to be bound by its terms. If you do not agree with any part of this disclaimer, do not use this indicator.
Ultimate MACD [captainua]Ultimate MACD - Comprehensive MACD Trading System
Overview
This indicator combines traditional MACD calculations with advanced features including divergence detection, volume analysis, histogram analysis tools, regression forecasting, strong top/bottom detection, and multi-timeframe confirmation to provide a comprehensive MACD-based trading system. The script calculates MACD using configurable moving average types (EMA, SMA, RMA, WMA) and applies various smoothing methods to reduce noise while maintaining responsiveness. The combination of these features creates a multi-layered confirmation system that reduces false signals by requiring alignment across multiple indicators and timeframes.
Core Calculations
MACD Calculation:
The script calculates MACD using the standard formula: MACD Line = Fast MA - Slow MA, Signal Line = Moving Average of MACD Line, Histogram = MACD Line - Signal Line. The default parameters are Fast=12, Slow=26, Signal=9, matching the traditional MACD settings. The script supports four moving average types:
- EMA (Exponential Moving Average): Standard and most responsive, default choice
- SMA (Simple Moving Average): Equal weight to all periods
- RMA (Wilder's Moving Average): Smoother, less responsive
- WMA (Weighted Moving Average): Recent prices weighted more heavily
The price source can be configured as Close (standard), Open, High, Low, HL2, HLC3, or OHLC4. Alternative sources provide different sensitivity characteristics for various trading strategies.
Configuration Presets:
The script includes trading style presets that automatically configure MACD parameters:
- Scalping: Fast/Responsive settings (8,18,6 with minimal smoothing)
- Day Trading: Balanced settings (10,22,7 with minimal smoothing)
- Swing Trading: Standard settings (12,26,9 with moderate smoothing)
- Position Trading: Smooth/Conservative settings (15,35,12 with higher smoothing)
- Custom: Full manual control over all parameters
Histogram Smoothing:
The histogram can be smoothed using EMA to reduce noise and filter minor fluctuations. Smoothing length of 1 = raw histogram (no smoothing), higher values (3-5) = smoother histogram. Increased smoothing reduces noise but may delay signals slightly.
Percentage Mode:
MACD values can be converted to percentage of price (MACD/Close*100) for cross-instrument comparison. This is useful when comparing MACD signals across instruments with different price levels (e.g., BTC vs ETH). The percentage mode normalizes MACD values, making them comparable regardless of instrument price.
MACD Scale Factor:
A scale factor multiplier (default 1.0) allows adjusting MACD display size for better visibility. Use 0.3-0.5 if MACD appears too compressed, or 2.0-3.0 if too small.
Dynamic Overbought/Oversold Levels:
Overbought and oversold levels are calculated dynamically based on MACD's mean and standard deviation over a lookback period. The formula: OB = MACD Mean + (StdDev × OB Multiplier), OS = MACD Mean - (StdDev × OS Multiplier). This adapts to current market conditions, widening in volatile markets and narrowing in calm markets. The lookback period (default 20) controls how quickly the levels adapt: longer periods (30-50) = more stable levels, shorter (10-15) = more responsive.
OB/OS Background Coloring:
Optional background coloring can highlight the entire panel when MACD enters overbought or oversold territory, providing prominent visual indication of extreme conditions. The background colors are drawn on top of the main background to ensure visibility.
Divergence Detection
Regular Divergence:
The script uses the MACD line (not histogram) for divergence detection, which provides more reliable signals. Bullish divergence: Price makes a lower low while MACD line makes a higher low. Bearish divergence: Price makes a higher high while MACD line makes a lower high. Divergences often precede reversals and are powerful reversal signals.
Pivot-Based Divergence:
The divergence detection uses actual pivot points (pivotlow/pivothigh) instead of simple lowest/highest comparisons. This provides more accurate divergence detection by identifying significant pivot lows/highs in both price and MACD line. The pivot-based method compares two recent pivot points: for bullish divergence, price makes a lower low while MACD makes a higher low at the pivot points. This method reduces false divergences by requiring actual pivot points rather than just any low/high within a period.
The pivot lookback parameters (left and right) control how many bars on each side of a pivot are required for confirmation. Higher values = more conservative pivot detection.
Hidden Divergence:
Continuation patterns that signal trend continuation rather than reversal. Bullish hidden divergence: Price makes a higher low but MACD makes a lower low. Bearish hidden divergence: Price makes a lower high but MACD makes a higher high. These patterns indicate the trend is likely to continue in the current direction.
Zero-Line Filter:
The "Don't Touch Zero Line" option ensures divergences occur in proper context: for bullish divergence, MACD must stay below zero; for bearish divergence, MACD must stay above zero. This filters out divergences that occur in neutral zones.
Range Filtering:
Minimum and maximum lookback ranges control the time window between pivots to consider for divergence. This helps filter out divergences that are too close together (noise) or too far apart (less relevant).
Volume Confirmation System
Volume threshold filtering requires current volume to exceed the volume SMA multiplied by the threshold factor. The formula: Volume Confirmed = Volume > (Volume SMA × Threshold). If the threshold is set to 1.0 or lower, volume confirmation is effectively disabled (always returns true). This allows you to use the indicator without volume filtering if desired. Volume confirmation significantly increases divergence and signal reliability.
Volume Climax and Dry-Up Detection:
The script can mark bars with extremely high volume (volume climax) or extremely low volume (volume dry-up). Volume climax indicates potential reversal points or strong momentum continuation. Volume dry-up indicates low participation and may produce unreliable signals. These markers use standard deviation multipliers to identify extreme volume conditions.
Zero-Line Cross Detection
MACD zero-line crosses indicate momentum shifts: above zero = bullish momentum, below zero = bearish momentum. The script includes alert conditions for zero-line crosses with cooldown protection to prevent alert spam. Zero-line crosses can provide early warning signals before MACD crosses the signal line.
Histogram Analysis Tools
Histogram Moving Average:
A moving average applied to the histogram itself helps identify histogram trend direction and acts as a signal line for histogram movements. Supports EMA, SMA, RMA, and WMA types. Useful for identifying when histogram momentum is strengthening or weakening.
Histogram Bollinger Bands:
Bollinger Bands are applied to the MACD histogram instead of price. The calculation: Basis = SMA(Histogram, Period), StdDev = stdev(Histogram, Period), Upper = Basis + (StdDev × Deviation Multiplier), Lower = Basis - (StdDev × Deviation Multiplier). This creates dynamic zones around the histogram that adapt to histogram volatility. When the histogram touches or exceeds the bands, it indicates extreme conditions relative to recent histogram behavior.
Stochastic MACD (StochMACD):
Stochastic MACD applies the Stochastic oscillator formula to the MACD histogram instead of price. This normalizes the histogram to a 0-100 scale, making it easier to identify overbought/oversold conditions on the histogram itself. The calculation: %K = ((Histogram - Lowest Histogram) / (Highest Histogram - Lowest Histogram)) × 100. %K is smoothed, and %D is calculated as the moving average of smoothed %K. Standard thresholds are 80 (overbought) and 20 (oversold).
Regression Forecasting
The script includes advanced regression forecasting that predicts future MACD values using mathematical models. This helps anticipate potential MACD movements and provides forward-looking context for trading decisions.
Regression Types:
- Linear: Simple trend line (y = mx + b) - fastest, works well for steady trends
- Polynomial: Quadratic curve (y = ax² + bx + c) - captures curvature in MACD movement
- Exponential Smoothing: Weighted average with more weight on recent values - responsive to recent changes
- Moving Average: Uses difference between short and long MA to estimate trend - stable and smooth
Forecast Horizon:
Number of bars to forecast ahead (default 5, max 50 for linear/MA, max 20 for polynomial due to performance). Longer horizons predict further ahead but may be less accurate.
Confidence Bands:
Optional upper/lower bands around forecast show prediction uncertainty based on forecast error (standard deviation of prediction vs actual). Wider bands = higher uncertainty. The confidence level multiplier (default 1.5) controls band width.
Forecast Display:
Forecast appears as dotted lines extending forward from current bar, with optional confidence bands. All forecast values respect percentage mode and scale factor settings.
Strong Top/Bottom Signals
The script detects strong recovery from extreme MACD levels, generating "sBottom" and "sTop" signals. These identify significant reversal potential when MACD recovers substantially from overbought/oversold extremes.
Strong Bottom (sBottom):
Triggered when:
1. MACD was at or near its lowest point in the bottom period (default 10 bars)
2. MACD was in or near the oversold zone
3. MACD has recovered by at least the threshold amount (default 0.5) from the lowest point
4. Recovery persists for confirmation bars (default 2 consecutive bars)
5. MACD has moved out of the oversold zone
6. Volume is above average
7. All enabled filters pass
8. Minimum bars have passed since last signal (reset period, default 5 bars)
Strong Top (sTop):
Triggered when:
1. MACD was at or near its highest point in the top period (default 7 bars)
2. MACD was in or near the overbought zone
3. MACD has declined by at least the threshold amount (default 0.5) from the highest point
4. Decline persists for confirmation bars (default 2 consecutive bars)
5. MACD has moved out of the overbought zone
6. Volume is above average
7. All enabled filters pass
8. Minimum bars have passed since last signal (reset period, default 5 bars)
Label Placement:
sTop/sBottom labels appear on the historical bar where the actual extreme occurred (not on current bar), showing the exact MACD value at that extreme. Labels respect the unified distance checking system to prevent overlaps with Buy/Sell Strength labels.
Signal Strength Calculation
The script calculates a composite signal strength score (0-100) based on multiple factors:
- MACD distance from signal line (0-50 points): Larger separation indicates stronger signal
- Volume confirmation (0-15 points): Volume above average adds points
- Secondary timeframe alignment (0-15 points): Higher timeframe agreement adds points
- Distance from zero line (0-20 points): Closer to zero can indicate stronger reversal potential
Higher scores (70+) indicate stronger, more reliable signals. The signal strength is displayed in the statistics table and can be used as a filter to only accept signals above a threshold.
Smart Label Placement System
The script includes an advanced label placement system that tracks MACD extremes and places Buy/Sell Strength labels at optimal locations:
Label Placement Algorithm:
- Labels appear on the current bar at confirmation (not on historical extreme bars), ensuring they're visible when the signal is confirmed
- The system tracks pending signals when MACD enters OB/OS zones or crosses the signal line
- During tracking, the system continuously searches for the true extreme (lowest MACD for buys, highest MACD for sells) within a configurable historical lookback period
- Labels are only finalized when: (1) MACD exits the OB/OS zone, (2) sufficient bars have passed (2x minimum distance), (3) MACD has recovered/declined by a configurable percentage from the extreme (default 15%), and (4) tracking has stopped (no better extreme found)
Label Spacing and Overlap Prevention:
- Minimum Bars Between Labels: Base distance requirement (default 5 bars)
- Label Spacing Multiplier: Scales the base distance (default 1.5x) for better distribution. Higher values = more spacing between labels
- Effective distance = Base Distance × Spacing Multiplier (e.g., 5 × 1.5 = 7.5 bars minimum)
- Unified distance checking prevents overlaps between all label types (Buy Strength, Sell Strength, sTop, sBottom)
Strength-Based Filtering:
- Label Strength Minimum (%): Only labels with strength at or above this threshold are displayed (default 75%)
- When multiple potential labels are close together, the system automatically compares strengths and keeps only the strongest one
- This ensures only the most significant signals are displayed, reducing chart clutter
Zero Line Polarity Enforcement:
- Enforce Zero Line Polarity (default enabled): Ensures labels follow traditional MACD interpretation
- Buy Strength labels only appear when the tracked extreme MACD value was below zero (negative territory)
- Sell Strength labels only appear when the tracked extreme MACD value was above zero (positive territory)
- This prevents counter-intuitive labels (e.g., Buy labels above zero line) and aligns with standard MACD trading principles
Recovery/Decline Confirmation:
- Recovery/Decline Confirm (%): Percent move away from the extreme required before finalizing (default 15%)
- For Buy labels: MACD must recover by at least this percentage from the tracked bottom
- For Sell labels: MACD must decline by at least this percentage from the tracked top
- Higher values = more confirmation required, fewer but more reliable labels
Historical Lookback:
- Historical Lookback for Label Placement: Number of bars to search for true extremes (default 20)
- The system searches within this period to find the actual lowest/highest MACD value
- Higher values analyze more history but may be slower; lower values are faster but may miss some extremes
Cross Quality Score
The script calculates a MACD cross quality score (0-100) that rates crossover quality based on:
- Cross angle (0-50 points): Steeper crosses = stronger signals
- Volume confirmation (0-25 points): Volume above average adds points
- Distance from zero line (0-25 points): Crosses near zero line are stronger
This score helps identify high-quality crossovers and can be used as a filter to only accept signals meeting minimum quality threshold.
Filtering System
Histogram Filter:
Requires histogram to be above zero for buy signals, below zero for sell signals. Ensures momentum alignment before generating signals.
Signal Strength Filter:
Requires minimum signal strength score for signals. Higher threshold = only strongest signals pass. This combines multiple confirmation factors into a single filter.
Cross Quality Filter:
Requires minimum cross quality score for signals. Rates crossover quality based on angle, volume, momentum, and distance from zero. Only signals meeting minimum quality threshold will be generated.
All filters use the pattern: filterResult = not filterEnabled OR conditionMet. This means if a filter is disabled, it always passes (returns true). Filters can be combined, and all must pass for a signal to fire.
Multi-Timeframe Analysis
The script can display MACD from a secondary (higher) timeframe and use it for confirmation. When secondary timeframe confirmation is enabled, signals require the higher timeframe MACD to align (bullish/bearish) with the signal direction. This ensures signals align with the larger trend context, reducing counter-trend trades.
Secondary Timeframe MACD:
The secondary timeframe MACD uses the same calculation parameters (fast, slow, signal, MA type) as the main MACD but from a higher timeframe. This provides context for the current timeframe's MACD position relative to the larger trend. The secondary MACD lines are displayed on the chart when enabled.
Noise Filtering
Noise filtering hides small histogram movements below a threshold. This helps focus on significant moves and reduces chart clutter. When enabled, only histogram movements above the threshold are displayed. Typical threshold values are 0.1-0.5 for most instruments, depending on the instrument's price range and volatility.
Signal Debounce
Signal debounce prevents duplicate MACD cross signals within a short time period. Useful when MACD crosses back and forth quickly, creating multiple signals. Debounce ensures only one signal per period, reducing signal spam during choppy markets. This is separate from alert cooldown, which applies to all alert types.
Background Color Modes
The script offers three background color modes:
- Dynamic: Full MACD heatmap based on OB/OS conditions, confidence, and momentum. Provides rich visual feedback.
- Monotone: Soft neutral background but still allows overlays (OB/OS zones). Keeps the chart clean without overpowering candles.
- Off: No MACD background (only overlays and plots). Maximum chart cleanliness.
When OB/OS background colors are enabled, they are drawn on top of the main background to ensure visibility.
Statistics Table
A real-time statistics table displays current MACD values, signal strength, distance from zero line, secondary timeframe alignment, volume confirmation status, and all active filter statuses. The table dynamically adjusts to show only enabled features, keeping it clean and relevant. The table position can be configured (Top Left, Top Right, Bottom Left, Bottom Right).
Performance Statistics Table
An optional performance statistics table shows comprehensive filter diagnostics:
- Total buy/sell signals (raw crossover count before filters)
- Filtered buy/sell signals (signals that passed all filters)
- Overall pass rates (percentage of signals that passed filters)
- Rejected signals count
- Filter-by-filter rejection diagnostics showing which filters rejected how many signals
This table helps optimize filter settings by showing which filters are most restrictive and how they impact signal frequency. The diagnostics format shows rejections as "X B / Y S" (X buy signals rejected, Y sell signals rejected) or "Disabled" if the filter is not active.
Alert System
The script includes separate alert conditions for each signal type:
- MACD Cross: MACD line crosses above/below Signal line (with or without secondary confirmation)
- Zero-Line Cross: MACD crosses above/below zero
- Divergence: Regular and hidden divergence detections
- Secondary Timeframe: Higher timeframe MACD crosses
- Histogram MA Cross: Histogram crosses above/below its moving average
- Histogram Zero Cross: Histogram crosses above/below zero
- StochMACD: StochMACD overbought/oversold entries and %K/%D crosses
- Histogram BB: Histogram touches/breaks Bollinger Bands
- Volume Events: Volume climax and dry-up detections
- OB/OS: MACD entry/exit from overbought/oversold zones
- Strong Top/Bottom: sTop and sBottom signal detections
Each alert type has its own cooldown system to prevent alert spam. The cooldown requires a minimum number of bars between alerts of the same type, reducing duplicate alerts during volatile periods. Alert types can be filtered to only evaluate specific alert types (All, MACD Cross, Zero Line, Divergence, Secondary Timeframe, Histogram MA, Histogram Zero, StochMACD, Histogram BB, Volume Events, OB/OS, Strong Top/Bottom).
How Components Work Together
MACD crossovers provide the primary signal when the MACD line crosses the Signal line. Zero-line crosses indicate momentum shifts and can provide early warning signals. Divergences identify potential reversals before they occur.
Volume confirmation ensures signals occur with sufficient market participation, filtering out low-volume false breakouts. Histogram analysis tools (MA, Bollinger Bands, StochMACD) provide additional context for signal reliability and identify significant histogram zones.
Signal strength combines multiple confirmation factors into a single score, making it easy to filter for only the strongest signals. Cross quality score rates crossover quality to identify high-quality setups. Multi-timeframe confirmation ensures signals align with higher timeframe trends, reducing counter-trend trades.
Usage Instructions
Getting Started:
The default configuration shows MACD(12,26,9) with standard EMA calculations. Start with default settings and observe behavior, then customize settings to match your trading style. You can use configuration presets for quick setup based on your trading style.
Customizing MACD Parameters:
Adjust Fast Length (default 12), Slow Length (default 26), and Signal Length (default 9) based on your trading timeframe. Shorter periods (8,17,7) for faster signals, longer (15,30,12) for smoother signals. You can change the moving average type: EMA for responsiveness, RMA for smoothness, WMA for recent price emphasis.
Price Source Selection:
Choose Close (standard), or alternative sources (HL2, HLC3, OHLC4) for different sensitivity. HL2 uses the midpoint of the high-low range, HLC3 and OHLC4 incorporate more price information.
Histogram Smoothing:
Set smoothing to 1 for raw histogram (no smoothing), or increase (3-5) for smoother histogram that reduces noise. Higher smoothing reduces false signals but may delay signals slightly.
Percentage Mode:
Enable percentage mode when comparing MACD across instruments with different price levels. This normalizes MACD values, making them directly comparable.
Dynamic OB/OS Levels:
The dynamic thresholds automatically adapt to volatility. Adjust the multipliers (default 1.5) to fine-tune sensitivity: higher values (2.0-3.0) = more extreme thresholds (fewer signals), lower (1.0-1.5) = more frequent signals. Adjust the lookback period to control how quickly levels adapt. Enable OB/OS background colors for visual indication of extreme conditions.
Volume Confirmation:
Set volume threshold to 1.0 (default, effectively disabled) or higher (1.2-1.5) for standard confirmation. Higher values require more volume for confirmation. Set to 0.1 to completely disable volume filtering.
Filters:
Enable filters gradually to find your preferred balance. Start with histogram filter for basic momentum alignment, then add signal strength filter (threshold 50+) for moderate signals, then cross quality filter (threshold 50+) for high-quality crossovers. Combine filters for highest-quality signals but expect fewer signals.
Divergence:
Enable divergence detection and adjust pivot lookback parameters. Pivot-based divergence provides more accurate detection using actual pivot points. Hidden divergence is useful for trend-following strategies. Adjust range parameters to filter divergences by time window.
Zero-Line Crosses:
Zero-line cross alerts are automatically available when alerts are enabled. These provide early warning signals for momentum shifts.
Histogram Analysis Tools:
Enable Histogram Moving Average to see histogram trend direction. Enable Histogram Bollinger Bands to identify extreme histogram zones. Enable Stochastic MACD to normalize histogram to 0-100 scale for overbought/oversold identification.
Multi-Timeframe:
Enable secondary timeframe MACD to see higher timeframe context. Enable secondary confirmation to require higher timeframe alignment for signals.
Signal Strength:
Signal strength is automatically calculated and displayed in the statistics table. Use signal strength filter to only accept signals above a threshold (e.g., 50 for moderate, 70+ for strong signals only).
Smart Label Placement:
Configure label placement settings to control label appearance and quality:
- Label Strength Minimum (%): Set threshold (default 75%) to show only strong signals. Higher = fewer, stronger labels
- Label Spacing Multiplier: Adjust spacing (default 1.5x) for better distribution. Higher = more spacing between labels
- Recovery/Decline Confirm (%): Set confirmation requirement (default 15%). Higher = more confirmation, fewer labels
- Enforce Zero Line Polarity: Enable (default) to ensure Buy labels only appear when tracked extreme was below zero, Sell labels only when above zero
- Historical Lookback: Adjust search period (default 20 bars) for finding true extremes. Higher = more history analyzed
Cross Quality:
Cross quality score is automatically calculated for crossovers. Use cross quality filter to only accept high-quality crossovers (threshold 50+ for moderate, 70+ for high quality).
Alerts:
Set up alerts for your preferred signal types. Enable alert cooldown (default enabled, 5 bars) to prevent alert spam. Use alert type filter to only evaluate specific alert types (All, MACD Cross, Zero Line, Divergence, Secondary Timeframe, Histogram MA, Histogram Zero, StochMACD, Histogram BB, Volume Events, OB/OS, Strong Top/Bottom). Each signal type has its own alert condition, so you can be selective about which signals trigger alerts.
Visual Elements and Signal Markers
The script uses various visual markers to indicate signals and conditions:
- MACD Line: Green when above signal (bullish), red when below (bearish) if dynamic colors enabled. Optional black outline for enhanced visibility
- Signal Line: Orange line with optional black outline for enhanced visibility
- Histogram: Color-coded based on direction and momentum (green for bullish rising, lime for bullish falling, red for bearish falling, orange for bearish rising)
- Zero Line: Horizontal reference line at MACD = 0
- Fill to Zero: Green/red semi-transparent fill between MACD line and zero line showing bullish/bearish territory
- Fill Between OB/OS: Blue semi-transparent fill between overbought/oversold thresholds highlighting neutral zone
- OB/OS Background Colors: Background coloring when MACD enters overbought/oversold zones
- Background Colors: Dynamic or monotone backgrounds indicating MACD state, or custom chart background
- Divergence Labels: "🐂" for bullish, "🐻" for bearish, "H Bull" for hidden bullish, "H Bear" for hidden bearish
- Divergence Lines: Colored lines connecting pivot points when divergences are detected
- Volume Climax Markers: ⚡ symbol for extremely high volume
- Volume Dry-Up Markers: 💧 symbol for extremely low volume
- Buy/Sell Strength Labels: Show signal strength percentage (e.g., "Buy Strength: 75%")
- Strong Top/Bottom Labels: "sTop" and "sBottom" for extreme level recoveries
- Secondary MACD Lines: Purple lines showing higher timeframe MACD
- Histogram MA: Orange line showing histogram moving average
- Histogram BB: Blue bands around histogram showing extreme zones
- StochMACD Lines: %K and %D lines with overbought/oversold thresholds
- Regression Forecast: Dotted blue lines extending forward with optional confidence bands
Signal Priority and Interpretation
Signals are generated independently and can occur simultaneously. Higher-priority signals generally indicate stronger setups:
1. MACD Cross with Multiple Filters - Highest priority: Requires MACD crossover plus all enabled filters (histogram, signal strength, cross quality) and secondary timeframe confirmation if enabled. These are the most reliable signals.
2. Zero-Line Cross - High priority: Indicates momentum shift. Can provide early warning signals before MACD crosses the signal line.
3. Divergence Signals - Medium-High priority: Pivot-based divergence is more reliable than simple divergence. Hidden divergence indicates continuation rather than reversal.
4. MACD Cross with Basic Filters - Medium priority: MACD crosses signal line with basic histogram filter. Less reliable alone but useful when combined with other confirmations.
Best practice: Wait for multiple confirmations. For example, a MACD crossover combined with divergence, volume confirmation, and secondary timeframe alignment provides the strongest setup.
Chart Requirements
For proper script functionality and compliance with TradingView requirements, ensure your chart displays:
- Symbol name: The trading pair or instrument name should be visible
- Timeframe: The chart timeframe should be clearly displayed
- Script name: "Ultimate MACD " should be visible in the indicator title
These elements help traders understand what they're viewing and ensure proper script identification. The script automatically includes this information in the indicator title and chart labels.
Performance Considerations
The script is optimized for performance:
- Calculations use efficient Pine Script functions (ta.ema, ta.sma, etc.) which are optimized by TradingView
- Conditional execution: Features only calculate when enabled
- Label management: Old labels are automatically deleted to prevent accumulation
- Array management: Divergence label arrays are limited to prevent memory accumulation
The script should perform well on all timeframes. On very long historical data with many enabled features, performance may be slightly slower, but it remains usable.
Known Limitations and Considerations
- Dynamic OB/OS levels can vary significantly based on recent MACD volatility. In very volatile markets, levels may be wider; in calm markets, they may be narrower.
- Volume confirmation requires sufficient historical volume data. On new instruments or very short timeframes, volume calculations may be less reliable.
- Higher timeframe MACD uses request.security() which may have slight delays on some data feeds.
- Stochastic MACD requires the histogram to have sufficient history. Very short periods on new charts may produce less reliable StochMACD values initially.
- Divergence detection requires sufficient historical data to identify pivot points. Very short lookback periods may produce false positives.
Practical Use Cases
The indicator can be configured for different trading styles and timeframes:
Swing Trading:
Use MACD(12,26,9) with secondary timeframe confirmation. Enable divergence detection. Use signal strength filter (threshold 50+) and cross quality filter (threshold 50+) for higher-quality signals. Enable histogram analysis tools for additional context.
Day Trading:
Use MACD(8,17,7) or use "Day Trading" preset with minimal histogram smoothing for faster signals. Enable zero-line cross alerts for early signals. Use volume confirmation with threshold 1.2-1.5. Enable histogram MA for momentum tracking.
Trend Following:
Use MACD(12,26,9) or longer periods (15,30,12) for smoother signals. Enable secondary timeframe confirmation for trend alignment. Hidden divergence signals are useful for trend continuation entries. Use cross quality filter to identify high-quality crossovers.
Reversal Trading:
Focus on divergence detection (pivot-based for accuracy) combined with zero-line crosses. Enable volume confirmation. Use histogram Bollinger Bands to identify extreme histogram zones. Enable StochMACD for overbought/oversold identification.
Multi-Timeframe Analysis:
Enable secondary timeframe MACD to see context from larger timeframes. For example, use daily MACD on hourly charts to understand the larger trend context. Enable secondary confirmation to require higher timeframe alignment for signals.
Practical Tips and Best Practices
Getting Started:
Start with default settings and observe MACD behavior. The default configuration (MACD 12,26,9 with EMA) is balanced and works well across different markets. After observing behavior, customize settings to match your trading style. Consider using configuration presets for quick setup.
Reducing Repainting:
All signals are based on confirmed bars, minimizing repainting. The script uses confirmed bar data for all calculations to ensure backtesting accuracy.
Signal Quality:
MACD crosses with multiple filters provide the highest-quality signals because they require alignment across multiple indicators. These signals have lower frequency but higher reliability. Use signal strength scores to identify the strongest signals (70+). Use cross quality scores to identify high-quality crossovers (70+).
Filter Combinations:
Start with histogram filter for basic momentum alignment, then add signal strength filter for moderate signals, then cross quality filter for high-quality crossovers. Combining all filters significantly reduces false signals but also reduces signal frequency. Find your balance based on your risk tolerance.
Volume Filtering:
Set volume threshold to 1.0 (default, effectively disabled) or lower to effectively disable volume filtering if you trade instruments with unreliable volume data or want to test without volume confirmation. Standard confirmation uses 1.2-1.5 threshold.
MACD Period Selection:
Standard MACD(12,26,9) provides balanced signals suitable for most trading. Shorter periods (8,17,7) for faster signals, longer (15,30,12) for smoother signals. Adjust based on your timeframe and trading style. Consider using configuration presets for optimized settings.
Moving Average Type:
EMA provides balanced responsiveness with smoothness. RMA is smoother and less responsive. WMA gives more weight to recent prices. SMA gives equal weight to all periods. Choose based on your preference for responsiveness vs. smoothness.
Divergence:
Pivot-based divergence is more reliable than simple divergence because it uses actual pivot points. Hidden divergence indicates continuation rather than reversal, useful for trend-following strategies. Adjust pivot lookback parameters to control sensitivity.
Dynamic Thresholds:
Dynamic OB/OS thresholds automatically adapt to volatility. In volatile markets, thresholds widen; in calm markets, they narrow. Adjust the multipliers to fine-tune sensitivity. Enable OB/OS background colors for visual indication.
Zero-Line Crosses:
Zero-line crosses indicate momentum shifts and can provide early warning signals before MACD crosses the signal line. Enable alerts for zero-line crosses to catch these early signals.
Alert Management:
Enable alert cooldown (default enabled, 5 bars) to prevent alert spam. Use alert type filter to only evaluate specific alert types. Signal debounce (default enabled, 3 bars) prevents duplicate MACD cross signals during choppy markets.
Technical Specifications
- Pine Script Version: v6
- Indicator Type: Non-overlay (displays in separate panel below price chart)
- Repainting Behavior: Minimal - all signals are based on confirmed bars, ensuring accurate backtesting results
- Performance: Optimized with conditional execution. Features only calculate when enabled.
- Compatibility: Works on all timeframes (1 minute to 1 month) and all instruments (stocks, forex, crypto, futures, etc.)
- Edge Case Handling: All calculations include safety checks for division by zero, NA values, and boundary conditions. Alert cooldowns and signal debounce handle edge cases where conditions never occurred or values are NA.
Technical Notes
- All MACD values respect percentage mode conversion when enabled
- Volume confirmation uses cached volume SMA for performance
- Label arrays (divergence) are automatically limited to prevent memory accumulation
- Background coloring: OB/OS backgrounds are drawn on top of main background to ensure visibility
- All calculations are optimized with conditional execution - features only calculate when enabled (performance optimization)
- Signal strength calculation combines multiple factors into a single score for easy filtering
- Cross quality calculation rates crossover quality based on angle, volume, and distance from zero
- Secondary timeframe MACD uses request.security() for higher timeframe data access
- Histogram analysis features (Bollinger Bands, MA, StochMACD) provide additional context beyond basic MACD signals
- Statistics table dynamically adjusts to show only enabled features, keeping it clean and relevant
- Divergence detection uses MACD line (not histogram) for more reliable signals
- Configuration presets automatically optimize MACD parameters for different trading styles
- Smart label placement: Labels appear on current bar at confirmation, using strength from tracked extreme point
- Label spacing uses effective distance (base distance × spacing multiplier) for better distribution
- Zero line polarity enforcement ensures Buy labels only appear when tracked extreme MACD < 0, Sell labels only when tracked extreme MACD > 0
- Label finalization requires MACD exit from OB/OS zone, sufficient bars passed, and recovery/decline percentage confirmation
- Strength-based filtering automatically compares and keeps only the strongest label when multiple signals are close together
- Enhanced visualization: Line outlines drawn behind main lines for superior visibility (black default, configurable)
- Enhanced visualization: Fill between MACD and zero line provides instant visual feedback (green above, red below)
- Enhanced visualization: Fill between OB/OS thresholds highlights neutral zone when dynamic levels are active
- Custom chart background overrides background mode when enabled, allowing theme-consistent indicator panels
DDDDD : EMA Pack (Matched Colors + MTF)📌 DDDDD : EMA Pack (Matched Colors + MTF)
🔹 Concept
DDDDD : EMA Pack is a clean and minimal Exponential Moving Average (EMA) overlay designed for trend structure analysis and multi-timeframe context.
This indicator focuses on visual clarity, consistent color mapping, and optional MTF EMA projection, allowing traders to read market structure without clutter or signal noise.
It is not an entry or signal generator, but a trend and regime visualization tool.
🔹 Logic
The script plots a fixed set of EMAs commonly used to define short-term momentum, intermediate trend, and long-term bias:
EMA 5
EMA 10
EMA 25
EMA 50
EMA 75
EMA 200
Each EMA is calculated using the standard exponential moving average formula.
If a higher timeframe is selected, the EMA is calculated on that timeframe and projected onto the current chart using request.security().
🔹 Methodology
Users may select:
Source price (default: close)
EMA timeframe
Empty = current chart timeframe
Any higher timeframe = true MTF EMA projection
All EMA colors are manually matched and fixed to maintain visual consistency across markets and timeframes.
Line thickness is kept uniform to avoid visual hierarchy bias.
This design ensures the indicator remains purely structural, without repainting logic, smoothing tricks, or adaptive parameters.
🔹 How to Use
Use EMA alignment and spacing to assess:
Trend direction
Trend strength
Compression vs expansion
Higher-timeframe EMA projection can be used as:
Dynamic support/resistance
Trend filter
Regime context for lower-timeframe execution
This indicator works best when combined with:
Price action
Market structure
Separate entry/exit logic of your own system
⚠️ This indicator does not provide buy/sell signals and should not be used alone for trade execution.
🔹 Notes
No repainting beyond standard MTF behavior
No performance or profitability claims
Designed for discretionary and systematic traders
Suitable for stocks, crypto, forex, and indices






















