MovAvgX2_20.efs EFSLibrary - Discussion Board
File Name: MovAvgX2_20.efs
Description:
This Indicator plots 2/20 Exponential Moving Average
Formula Parameters:
Moving average source: close
Length: 20
Notes:
This indicator plots 2/20 exponential moving average. For the Mov
Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
Download File:
MovAvgX2_20.efs
EFS Code:
/*********************************Provided By: eSignal (Copyright c eSignal), a division of Interactive Data Corporation. 2008. All rights reserved. This sample eSignal Formula Script (EFS) is for educational purposes only and may be modified and saved under a new file name. eSignal is not responsible for the functionality once modified. eSignal reserves the right to modify and overwrite this EFS file with each new release. Description: This Indicator plots 2/20 Exponential Moving AverageVersion: 1.0 09/26/2008Notes: This indicator plots 2/20 exponential moving average. For the Mov Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met. Formula Parameters: Default: Moving average source close Length 20 **********************************/ var fpArray = new Array(); var bInit = false; function preMain() { setPriceStudy(true); setStudyTitle("Mov Avg X 2/20"); setCursorLabelName("XAverage"); setColorPriceBars(true); setDefaultPriceBarColor(Color.black); askForInput(); var x = 0; fpArray[x] = new FunctionParameter("MASource", FunctionParameter.STRING); with (fpArray[x++]) { setName("Source of moving average"); addOption("open"); addOption("high"); addOption("low"); addOption("close"); addOption("hl2"); addOption("hlc3"); addOption("ohlc4"); setDefault("close"); } fpArray[x] = new FunctionParameter("Length", FunctionParameter.NUMBER); with (fpArray[x++]) { setLowerLimit(1); setDefault(20); } } var xXA = null; function main(MASource, Length) { var nBarState = getBarState(); if (nBarState == BARSTATE_ALLBARS) { if (MASource == null) MASource = "close"; if (Length == null) Length = 20; } if (bInit == false) { var xPrice = eval(MASource)(); xXA = ema(Length, xPrice); bInit = true; } if (getCurrentBarCount() < Length) return; var nHH = Math.max(high(0), high(-1)); var nLL = Math.min(low(0), low(-1)); var nXA = xXA.getValue(0); if (nLL > nXA || nHH < nXA) setPriceBarColor(Color.red); return nXA; }