Bill Williams Alligator Averages

ICE Data Services -


ABillW_Alligator.efs  EFSLibrary - Discussion Board
  

File Name: ABillW_Alligator.efs


Description:
Bill Williams Alligator Averages


Formula Parameters:
Length Slow 21
Length Medium 13
Length Fast 8
Offset Slow 8
Offset Medium 5
Offset Fast 3

Notes:
This indicator calculates 3 Moving Averages for 21, 13 and 8 days,
with displacement 8, 5 and 3 days: Median Price (High+Low/2).

Download File:
ABillW_Alligator.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:            Bill Williams Alligator AveragesVersion:            1.0  09/24/2008Notes:    This indicator calculates 3 Moving Averages for 21, 13 and 8 days,    with displacement 8, 5 and 3 days: Median Price (High+Low/2).Formula Parameters:                     Default:    Length Slow                             21    Length Medium                           13    Length Fast                             8    Offset Slow                             8    Offset Medium                           5    Offset Fast                             3                                     **********************************/var fpArray = new Array();var bInit = false;function preMain() {    setPriceStudy(true);    setStudyTitle("Alligator");    setCursorLabelName("Plot1", 0);    setCursorLabelName("Plot2", 1);    setCursorLabelName("Plot3", 2);    setDefaultBarFgColor(Color.blue, 0);    setDefaultBarFgColor(Color.red, 1);     setDefaultBarFgColor(Color.green, 2);    setDefaultBarFgColor(Color.black, 3);      var x=0;    fpArray[x] = new FunctionParameter("LengthSlow", FunctionParameter.NUMBER);    with(fpArray[x++]){        setName("Length Slow");         setLowerLimit(1);          setDefault(21);    }    fpArray[x] = new FunctionParameter("OffsetSlow", FunctionParameter.NUMBER);    with(fpArray[x++]){        setName("Offset Slow");        setLowerLimit(1);          setDefault(8);    }        fpArray[x] = new FunctionParameter("LengthMedium", FunctionParameter.NUMBER);    with(fpArray[x++]){        setName("Length Medium");         setLowerLimit(1);          setDefault(13);    }    fpArray[x] = new FunctionParameter("OffsetMedium", FunctionParameter.NUMBER);    with(fpArray[x++]){        setName("Offset Medium");        setLowerLimit(1);          setDefault(5);    }        fpArray[x] = new FunctionParameter("LengthFast", FunctionParameter.NUMBER);    with(fpArray[x++]){        setName("Length Fast");         setLowerLimit(1);          setDefault(8);    }    fpArray[x] = new FunctionParameter("OffsetFast", FunctionParameter.NUMBER);    with(fpArray[x++]){        setName("Offset Fast");        setLowerLimit(1);          setDefault(3);    }}var xhl2 = null;var xEMA1 = null;var xEMA2 = null;var xEMA3 = null;function main(LengthSlow, OffsetSlow, LengthMedium, OffsetMedium, LengthFast, OffsetFast) {var nXA1 = 0;var nXA2 = 0;var nXA3 = 0;    if (LengthSlow == null) LengthSlow = 21;    if (OffsetSlow == null) OffsetSlow = 8;    if (LengthMedium == null) LengthMedium = 13;    if (OffsetMedium == null)  OffsetMedium = 5;    if (LengthFast == null) LengthFast = 8;    if (OffsetFast == null) OffsetFast = 3;    if ( bInit == false ) {        xhl2 = hl2();        xEMA1 = offsetSeries(ema(LengthSlow, xhl2), OffsetSlow);        xEMA2 = offsetSeries(ema(LengthMedium, xhl2), OffsetMedium);        xEMA3 = offsetSeries(ema(LengthFast, xhl2), OffsetFast);        bInit = true;     }     nXA1 = xEMA1.getValue(0);    nXA2 = xEMA2.getValue(0);    nXA3 = xEMA3.getValue(0);    return new Array(nXA1, nXA2, nXA3);}