Exponential Deviation

Modified on 2019/05/30 10:49 by Eugene — Categorized as: TASCIndicators


public static ExpDev Series(DataSeries ds, int period, bool useEMA)
public ExpDev(DataSeries ds, int period, bool useEMA, string description)

Parameter Description

dsDataSeries used to build ExpDev
periodLookback period
useEMAUses SMA if unchecked, or EMA if checked


Standard Deviation is the statistical measure of market volatility. If prices trade in a tight narrow trading range then StdDev will return a low value indicating volatility is low. Conversely if prices swing wildly up and down then StdDev returns a high value indicating volatility is high. What it does is measure how widely prices are dispersed from the average or mean price.

What makes ExpDev (exponential deviation) different is the use of exponential smoothing (EMA) vs. simple averaging that takes place inside the indicator. This is believed to make the Exponential Deviation bands more sensitive to the market action.




/* Normalized */
double C = Close[bar];
if( ( ExpDev.Series( C, 20 )[bar] / C ) < ( 1.5 / C ) )...


Initial exponential deviation: Mean deviation (subtract the N-period average of the price from each period's price, take the absolute values of these numbers, sum the absolute values, and divide by the total number of periods (N))

  1. Period deviation (PD) = Absolute value of each period's deviation (close less SMA or EMA)
  2. Multiplier (MLTP) = 2 / (Time periods + 1)
  3. Exponential deviation (ED) = PD * MLTP + ED (previous day) * (1-MLTP)


Please refer to July 2019 Traders' Tip article's code.