Baseline Deviation Oscillator [Alpha Extract]A sophisticated normalized oscillator system that measures price deviation from a customizable moving average baseline using ATR-based scaling and dynamic threshold adaptation. Utilizing advanced HL median filtering and multi-timeframe threshold calculations, this indicator delivers institutional-grade overbought/oversold detection with automatic zone adjustment based on recent oscillator extremes. The system's flexible baseline architecture supports six different moving average types while maintaining consistent ATR normalization for reliable signal generation across varying market volatility conditions.
🔶 Advanced Baseline Construction Framework
Implements flexible moving average architecture supporting EMA, RMA, SMA, WMA, HMA, and TEMA calculations with configurable source selection for optimal baseline customization. The system applies HL median filtering to the raw baseline for exceptional smoothing and outlier resistance, creating ultra-stable trend reference levels suitable for precise deviation measurement.
// Flexible Baseline MA System
ma(src, length, type) =>
if type == "EMA"
ta.ema(src, length)
else if type == "TEMA"
ema1 = ta.ema(src, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
3 * ema1 - 3 * ema2 + ema3
// Baseline with HL Median Smoothing
Baseline_Raw = ma(src, MA_Length, MA_Type)
Baseline = hlMedian(Baseline_Raw, HL_Filter_Length)
🔶 ATR Normalization Engine
Features sophisticated ATR-based scaling methodology that normalizes price deviations relative to current volatility conditions, ensuring consistent oscillator readings across different market regimes. The system calculates ATR bands around the baseline and uses half the band width as the normalization factor for volatility-adjusted deviation measurement.
🔶 Dynamic Threshold Adaptation System
Implements intelligent threshold calculation using rolling window analysis of oscillator extremes with configurable smoothing and expansion parameters. The system identifies peak and trough levels over dynamic windows, applies EMA smoothing, and adds expansion factors to create adaptive overbought/oversold zones that adjust to changing market conditions.
1D
3D
1W
🔶 Multi-Source Configuration Architecture
Provides comprehensive source selection including Close, Open, HL2, HLC3, and OHLC4 options for baseline calculation, enabling traders to optimize oscillator behavior for specific trading styles. The flexible source system allows adaptation to different market characteristics while maintaining consistent ATR normalization methodology.
🔶 Signal Generation Framework
Generates bounce signals when oscillator crosses back through dynamic thresholds and zero-line crossover signals for trend confirmation. The system identifies both standard threshold bounces and extreme zone bounces with distinct alert conditions for comprehensive reversal and continuation pattern detection.
Bull_Bounce = ta.crossover(OSC, -Active_Lower) or
ta.crossover(OSC, -Active_Lower_Extreme)
Bear_Bounce = ta.crossunder(OSC, Active_Upper) or
ta.crossunder(OSC, Active_Upper_Extreme)
// Zero Line Signals
Zero_Cross_Up = ta.crossover(OSC, 0)
Zero_Cross_Down = ta.crossunder(OSC, 0)
🔶 Enhanced Visual Architecture
Provides color-coded oscillator line with bullish/bearish dynamic coloring, signal line overlay for trend confirmation, and optional cloud fills between oscillator and signal. The system includes gradient zone fills for overbought/oversold regions with configurable transparency and threshold level visualization with automatic label generation.
snapshot
🔶 HL Median Filter Integration
Features advanced high-low median filtering identical to DEMA Flow for exceptional baseline smoothing without lag introduction. The system constructs rolling windows of baseline values, performs median extraction for both odd and even window lengths, and eliminates outliers for ultra-clean deviation measurement baseline.
🔶 Comprehensive Alert System
Implements multi-tier alert framework covering bullish bounces from oversold zones, bearish bounces from overbought zones, and zero-line crossovers in both directions. The system provides real-time notifications for critical oscillator events with customizable message templates for automated trading integration.
🔶 Performance Optimization Framework
Utilizes efficient calculation methods with optimized array management for median filtering and minimal computational overhead for real-time oscillator updates. The system includes intelligent null value handling and automatic scale factor protection to prevent division errors during extreme market conditions.
🔶 Why Choose Baseline Deviation Oscillator ?
This indicator delivers sophisticated normalized oscillator analysis through flexible baseline architecture and dynamic threshold adaptation. Unlike traditional oscillators with fixed levels, the BDO automatically adjusts overbought/oversold zones based on recent oscillator behavior while maintaining consistent ATR normalization for reliable cross-market and cross-timeframe comparison. The system's combination of multiple MA type support, HL median filtering, and intelligent zone expansion makes it essential for traders seeking adaptive momentum analysis with reduced false signals and comprehensive reversal detection across cryptocurrency, forex, and equity markets.
Crossoveralert
DEMA Flow [Alpha Extract]A sophisticated trend identification system that combines Double Exponential Moving Average methodology with advanced HL median filtering and ATR-based band detection for precise trend confirmation. Utilizing dual-layer smoothing architecture and volatility-adjusted breakout zones, this indicator delivers institutional-grade flow analysis with minimal lag while maintaining exceptional noise reduction. The system's intelligent band structure with asymmetric ATR multipliers provides clear trend state classification through price position analysis relative to dynamic threshold levels.
🔶 Advanced DEMA Calculation Engine
Implements double exponential moving average methodology using cascaded EMA calculations to significantly reduce lag compared to traditional moving averages. The system applies dual smoothing through sequential EMA processing, creating a responsive yet stable trend baseline that maintains sensitivity to genuine market structure changes while filtering short-term noise.
// Core DEMA Framework
dema(src, length) =>
EMA1 = ta.ema(src, length)
EMA2 = ta.ema(EMA1, length)
DEMA_Value = 2 * EMA1 - EMA2
DEMA_Value
// Primary Calculation
DEMA = dema(close, DEMA_Length)
2H
🔶 HL Median Filter Smoothing Architecture
Features sophisticated high-low median filtering using rolling window analysis to create ultra-smooth trend baselines with outlier resistance. The system constructs dynamic arrays of recent DEMA values, sorts them for median extraction, and handles both odd and even window lengths for optimal smoothing consistency across all market conditions.
// HL Median Filter Logic
hlMedian(src, length) =>
window = array.new_float()
for i = 0 to length - 1
array.push(window, src)
array.sort(window)
// Median Extraction
lenW = array.size(window)
median = lenW % 2 == 1 ?
array.get(window, lenW / 2) :
(array.get(window, lenW/2 - 1) + array.get(window, lenW/2)) / 2
// Smooth DEMA Calculation
Smooth_DEMA = hlMedian(DEMA_Value, HL_Filter_Length)
🔶 ATR Band Construction Framework
Implements volatility-adaptive band structure using Average True Range calculations with asymmetric multiplier configuration for optimal trend identification. The system creates upper and lower threshold bands around the smoothed DEMA baseline with configurable ATR multipliers, enabling precise trend state determination through price breakout analysis.
// ATR Band Calculation
atrBands(src, atr_length, upper_mult, lower_mult) =>
ATR = ta.atr(atr_length)
Upper_Band = src + upper_mult * ATR
Lower_Band = src - lower_mult * ATR
// Band Generation
= atrBands(Smooth_DEMA, ATR_Length, Upper_ATR_Mult, Lower_ATR_Mult)
15min
🔶 Intelligent Flow Signal Engine
Generates binary trend states through band breakout detection, transitioning to bullish flow when price exceeds upper band and bearish flow when price breaches lower band. The system maintains flow state persistence until opposing band breakout occurs, providing clear trend classification without whipsaw signals during normal volatility fluctuations.
🔶 Comprehensive Visual Architecture
Provides multi-dimensional flow visualization through color-coded DEMA line, trend-synchronized candle coloring, and bar color overlay for complete chart integration. The system uses institutional color scheme with neon green for bullish flow, neon red for bearish flow, and neutral gray for undefined states with configurable band visibility.
🔶 Asymmetric Band Configuration
Features intelligent asymmetric ATR multiplier system with default upper multiplier of 2.1 and lower multiplier of 1.5, optimizing for market dynamics where upside breakouts often require stronger momentum confirmation than downside breaks. This configuration reduces false signals while maintaining sensitivity to genuine flow changes.
🔶 Dual-Layer Smoothing Methodology
Combines DEMA's inherent lag reduction with HL median filtering to create exceptional smoothing without sacrificing responsiveness. The system first applies double exponential smoothing for initial noise reduction, then applies median filtering to eliminate outliers and create ultra-clean flow baseline suitable for high-frequency and institutional trading applications.
🔶 Alert Integration System
Features comprehensive alert framework for flow state transitions with customizable notifications for bullish and bearish flow confirmations. The system provides real-time alerts on crossover events with clear directional indicators and exchange/ticker integration for multi-symbol monitoring capabilities.
🔶 Performance Optimization Framework
Utilizes efficient array management with optimized median calculation algorithms and minimal variable overhead for smooth operation across all timeframes. The system includes intelligent bar indexing for median filter initialization and streamlined flow state tracking for consistent performance during extended analysis periods.
🔶 Why Choose DEMA Flow ?
This indicator delivers sophisticated flow identification through dual-layer smoothing architecture and volatility-adaptive band methodology. By combining DEMA's reduced-lag characteristics with HL median filtering and ATR-based breakout zones, it provides institutional-grade flow analysis with exceptional noise reduction and minimal false signals. The system's asymmetric band structure and comprehensive visual integration make it essential for traders seeking systematic trend-following approaches across cryptocurrency, forex, and equity markets with clear entry/exit signals and comprehensive alert capabilities for automated trading strategies.
Ehlers Adaptive Trend Indicator [Alpha Extract]Ehlers Adaptive Trend Indicator
The Ehlers Adaptive Trend Indicator combines Ehlers' advanced digital signal processing techniques with dynamic volatility bands to identify robust trend conditions and potential reversals. This powerful tool helps traders visualize trend strength, adaptive support/resistance levels, and momentum shifts across various market conditions.
🔶 CALCULATION
The indicator employs a sophisticated adaptive algorithm that responds to changing market conditions:
• Ehlers Filter : Calculates a weighted average based on momentum differences to create an adaptive trend baseline.
• Dynamic Bands : Volatility-adjusted bands that expand and contract based on recent price action.
• Trend Level : A dynamic support/resistance level that adapts to the current trend direction.
• Smoothed Volatility : Market volatility measured and smoothed to provide reliable band width.
Formula:
• Ehlers Basis = Weighted average of price, with weights determined by momentum differences
• Volatility = Standard deviation of price over Ehlers Length period
• Smoothed Volatility = EMA of volatility over Smoothing Length
• Upper Band = Ehlers Basis + Smoothed Volatility × Sensitivity
• Lower Band = Ehlers Basis - Smoothed Volatility × Sensitivity
• Trend Level = Adaptive support in uptrends, resistance in downtrends
🔶 DETAILS
Visual Features :
• Ehlers Basis Line (Yellow): The core adaptive trend reference that serves as the primary trend indicator.
• Trend Level Line (Dynamic Color): Changes between green (bullish) and red (bearish) based on the current trend state.
• Fill Areas : Transparent green fill during bullish trends and transparent red fill during bearish trends for clear visual identification.
• Bar Coloring : Optional price bar coloring that reflects the current trend direction for enhanced visualization.
Interpretation :
• **Bullish Signal**: Price crosses above the upper band, triggering a trend change with the Trend Level becoming dynamic support.
• **Bearish Signal**: Price drops below the lower band, confirming a trend change with the Trend Level becoming dynamic resistance.
• **Trend Continuation**: Trend Level rises in bullish markets and falls in bearish markets, providing adaptive trailing support/resistance.
🔶 EXAMPLES
The chart demonstrates:
• Bullish Trend Identification : When price breaks above the upper band, the indicator shifts to bullish mode with green trend level and fill.
• Bearish Trend Identification : When price falls below the lower band, the indicator shifts to bearish mode with red trend level and fill.
• Trend Persistence : Trend Level adapts to market movement, rising during uptrends to provide dynamic support and falling during downtrends to act as resistance.
Example Snapshots :
• During a strong uptrend, the Trend Level continuously adjusts upward, keeping traders in the trend while filtering out minor retracements.
• During trend reversals, clear color changes and Trend Level shifts provide early warning of potential direction changes.
🔶 SETTINGS
Customization Options :
• Ehlers Length (p1) (Default: 30): Controls the primary adaptive calculation period, balancing responsiveness with stability.
• Momentum Length (p2) (Default: 25): Determines the lag for momentum calculations used in the adaptive weighting.
• Smoothing Length (Default: 10): Adjusts the volatility smoothing period—higher values provide more stable bands.
• Sensitivity (Default: 1.0): Multiplier for band width—higher values increase distance between bands, lower values tighten them.
• Visual Settings : Customizable colors for bullish and bearish trends, basis line, and optional bar coloring.
The Ehlers Adaptive Trend Indicator combines John Ehlers' digital signal processing expertise with modern volatility analysis to create a robust trend-following system that adapts to changing market conditions, helping traders stay on the right side of the market.
Weight Gain 4000 - (Adjustable Volume Weighted MA) - [mutantdog]Short Version:
This is a fairly self-contained system based upon a moving average crossover with several unique features. The most significant of these is the adjustable volume weighting system, allowing for transformations between standard and weighted versions of each included MA. With this feature it is possible to apply partial weighting which can help to improve responsiveness without dramatically altering shape. Included types are SMA, EMA, WMA, RMA, hSMA, DEMA and TEMA. Potentially more will be added in future (check updates below).
In addition there are a selection of alternative 'weighted' inputs, a pair of Bollinger-style deviation bands, a separate price tracker and a bunch of alert presets.
This can be used out-of-the-box or tweaked in multiple ways for unusual results. Default settings are a basic 8/21 EMA cross with partial volume weighting. Dev bands apply to MA2 and are based upon the type and the volume weighting. For standard Bollinger bands use SMA with length 20 and try adding a small amount of volume weighting.
A more detailed breakdown of the functionality follows.
Long Version:
ADJUSTABLE VOLUME WEIGHTING
In principle any moving average should have a volume weighted analogue, the standard VWMA is just an SMA with volume weighting for example. Actually, we can consider the SMA to be a special case where volume is a constant 1 per bar (the value is somewhat arbitrary, the important part is that it's constant). Similar principles apply to the 'elastic' EVWMA which is the volume weighted analogue of an RMA. In any case though, where we have standard and weighted variants it is possible to transform one into the other by gradually increasing or decreasing the weighting, which forms the basis of this system. This is not just a simple multiplier however, that would not work due to the relative proportions being the same when set at any non zero value. In order to create a meaningful transformation we need to use an exponent instead, eg: volume^x , where x is a variable determined in this case by the 'volume' parameter. When x=1, the full volume weighting applies and when x=0, the volume will be reduced to a constant 1. Values in between will result in the respective partial weighting, for example 0.5 will give the square root of the volume.
The obvious question here though is why would you want to do this? To answer that really it is best to actually try it. The advantages that volume weighting can bring to a moving average can sometimes come at the cost of unwanted or erratic behaviour. While it can tend towards much closer price tracking which may be desirable, sometimes it needs moderating especially in markets with lower liquidity. Here the adjustability can be useful, in many cases i have found that adding a small amount of volume weighting to a chosen MA can help to improve its responsiveness without overpowering it. Another possible use case would be to have two instances of the same MA with the same length but different weightings, the extent to which these diverge from each other can be a useful indicator of trend strength. Other uses will become apparent with experimentation and can vary from one market to another.
THE INCLUDED MODES
At the time of publication, there are 7 included moving average types with plans to add more in future. For now here is a brief explainer of what's on offer (continuing to use x as shorthand for the volume parameter), starting with the two most common types.
SMA: As mentioned above this is essentially a standard VWMA, calculated here as sma(source*volume^x,length)/sma(volume^x,length). In this case when x=0 then volume=1 and it reduces to a standard SMA.
RMA: Again mentioned above, this is an EVWMA (where E stands for elastic) with constant weighting. Without going into detail, this method takes the 1/length factor of an RMA and replaces it with volume^x/sum(volume^x,length). In this case again we can see that when x=0 then volume=1 and the original 1/length factor is restored.
EMA: This follows the same principle as the RMA where the standard 2/(length+1) factor is replaced with (2*volume^x)/(sum(volume^x,length)+volume^x). As with an RMA, when x=0 then volume=1 and this reduces back to the standard 2/(length+1).
DEMA: Just a standard Double EMA using the above.
TEMA: Likewise, a standard Triple EMA using the above.
hSMA: This is the same as the SMA except it uses harmonic mean calculations instead of arithmetic. In most cases the differences are negligible however they can become more pronounced when volume weighting is introduced. Furthermore, an argument can be made that harmonic mean calculations are better suited to downtrends or bear markets, in principle at least.
WMA: Probably the most contentious one included. Follows the same basic calculations as for the SMA except uses a WMA instead. Honestly, it makes little sense to combine both linear and volume weighting in this manner, included only for completeness and because it can easily be done. It may be the case that a superior composite could be created with some more complex calculations, in which case i may add that later. For now though this will do.
An additional 'volume filter' option is included, which applies a basic filter to the volume prior to calculation. For types based around the SMA/VWMA system, the volume filter is a WMA-4, for types based around the RMA/EVWMA system the filter is a RMA-2.
As and when i add more they will be listed in the updates at the bottom.
WEIGHTED INPUTS
The ohlc method of source calculations is really a leftover from a time when data was far more limited. Nevertheless it is still the method used in charting and for the most part is sufficient. Often the only important value is 'close' although sometimes 'high' and 'low' can be relevant also. Since we are volume weighting however, it can be useful to incorporate as much information as possible. To that end either 'hlc3' or 'hlcc4' tend to be the best of the defaults (in the case of 24/7 charting like crypto or intraday trading, 'ohlc4' should be avoided as it is effectively the same as a lagging version of 'hlcc4'). There are many other (infinitely many, in fact) possible combinations that can be created, i have included a few here.
The premise is fairly straightforward, by subtracting one value from another, the remaining difference can act as a kind of weight. In a simple case consider 'hl2' as simply the midrange ((high+low)/2), instead of this using 'high+low-open' would give more weight to the value furthest from the open, providing a good estimate of the median. An even better estimate can be achieved by combining that with 'high+low-close' to give the included result 'hl-oc2'. Similarly, 'hlc3' can be considered the basic mean of the three significant values, an included weighted version 'hlc2-o2' combines a sum with subtraction of open to give an estimated mean that may be more accurate. Finally we can apply a similar principle to the close, by subtracting the other values, this one potentially gets more complex so the included 'cc-ohlc4' is really the simplest. The result here is an overbias of the close in relation to the open and the midrange, while in most cases not as useful it can provide an estimate for the next bar assuming that the trend continues.
Of the three i've included, hlc2-o2 is in my opinion the most useful especially in this context, although it is perhaps best considered to be experimental in nature. For that reason, i've kept 'hlcc4' as the default for both MAs.
Additionally included is an 'aux input' which is the standard TV source menu and, where possible, can be set as outputs of other indicators.
THE SYSTEM
This one is fairly obvious and straightforward. It's just a moving average crossover with additional deviation (bollinger) bands. Not a lot to explain here as it should be apparent how it works.
Of the two, MA1 is considered to be the fast and MA2 is considered to be the slow. Both can be set with independent inputs, types and weighting. When MA1 is above, the colour of both is green and when it's below the colour of both is red. An additional gradient based fill is there and can be adjusted along with everything else in the visuals section at the bottom. Default alerts are available for crossover/crossunder conditions along with optional marker plots.
MA2 has the option for deviation bands, these are calculated based upon the MA type used and volume weighted according to the main parameter. In the case of a unweighted SMA being used they will be standard Bollinger bands.
An additional 'source direct' price tracker is included which can be used as the basis for an alert system for price crossings of bands or MAs, while taking advantage of the available weighted inputs. This is displayed as a stepped line on the chart so is also a good way to visualise the differences between input types.
That just about covers it then. The likelihood is that you've used some sort of moving average cross system before and are probably still using one or more. If so, then perhaps the additional functionality here will be of benefit.
Thanks for looking, I welcome any feedack
HMA-Crossover AlertsThis simple script plots bullish and bearish Hull Moving Average Crossovers and fires Alerts when long or short conditions are met.




