MWD XAverage

ICE Data Services -


MWDXAverage.efs  EFSLibrary - Discussion Board
  

File Name: MWDXAverage.efs


Description:
MWD XAverage indicator


Formula Parameters:
Moving average source: close
Smoothing factor: 0.2

Notes:
MWD Xaverage an exponential moving average indicator which uses
a [0,1] smoothing factor. The moving average length is calculated
from the smoothing factor according to formula:
LENGTH = 2/FAC - 1;

Download File:
MWDXAverage.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:            MWD XAverage indicator.    Version:            1.0  09/26/2008Notes:    MWD Xaverage an exponential moving average indicator which uses    a [0,1] smoothing factor. The moving average length is calculated    from the smoothing factor according to formula:     LENGTH = 2/FAC - 1;Formula Parameters:                     Default:    Moving average source               close    Smoothing factor                    0.2    **********************************/var fpArray = new Array();function preMain() {    setPriceStudy(true);    setStudyTitle("MWDXaverage");    setCursorLabelName("MWXAvg", 0);          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("nFAC", FunctionParameter.NUMBER);    with(fpArray[x++]) {        setName("Factor");        setLowerLimit(0.01);          setDefault(0.2);    }}var xPrice = null;var xMWDX = null;var bInit = false;function main(MASource, nFAC) {    var nBarState = getBarState();    var nBarCount = getCurrentBarCount();    if(nBarState == BARSTATE_ALLBARS) {        if (MASource == null) MASource = "close";        if (nFAC == null) nFAC = 0.2;    }      if(bInit == false) {        xPrice = eval(MASource)();        xMWDX = ema(Math.round(2/nFAC-1), xPrice);        bInit = true;    }    var nValue1 = xMWDX.getValue(0);    return nValue1;}