Bill Williams Averages. 3Lines.

ICE Data Services -


BWAverages3lines.efs  EFSLibrary - Discussion Board
  

File Name: BWAverages3lines.efs


Description:
This Indicator plots Bill Williams Averages. 3Lines


Formula Parameters:
Long length: 13
Medium length: 8
Short length: 5
Displacement for long length: 8
Displacement for medium length: 5
Displacement for short length: 3

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

The most popular method of interpreting a moving average is to compare
the relationship between a moving average of the security's price with
the security's price itself (or between several moving averages).

Download File:
BWAverages3lines.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 Bill Williams Averages. 3LinesVersion:            1.0  09/25/2008Notes:    This indicator calculates 3 Moving Averages for default values of    13, 8 and 5 days, with displacement 8, 5 and 3 days: Median Price (High+Low/2).    The most popular method of interpreting a moving average is to compare     the relationship between a moving average of the security's price with     the security's price itself (or between several moving averages).Formula Parameters:                     Default:    Long length                              13    Medium length                             8    Short length                              5    Displacement for long length              8    Displacement for medium length            5    Displacement for short length             3**********************************/var bInit = false;var fpArray = new Array();function preMain() {    setPriceStudy(true);    setStudyTitle("Average Bill Williams 3 Lines");    setCursorLabelName("BLblue", 0);    setCursorLabelName("BLRed", 1);    setCursorLabelName("BLGreen", 2);    setDefaultBarFgColor(Color.blue, 0);	setDefaultBarFgColor(Color.red, 1); 	setDefaultBarFgColor(Color.green, 2);		var x = 0;		fpArray[x] = new FunctionParameter("LLength", FunctionParameter.NUMBER);    with(fpArray[x++]) {        setName("Long length");        setLowerLimit(1);        setDefault(13);    }        fpArray[x] = new FunctionParameter("MLength", FunctionParameter.NUMBER);    with(fpArray[x++]) {        setName("Medium length");        setLowerLimit(1);        setDefault(8);    }    fpArray[x] = new FunctionParameter("SLength", FunctionParameter.NUMBER);    with(fpArray[x++]) {        setName("Short length");        setLowerLimit(1);        setDefault(5);    }        fpArray[x] = new FunctionParameter("LOffset", FunctionParameter.NUMBER);    with(fpArray[x++]) {        setName("Long offset");        setLowerLimit(1);        setDefault(8);    }        fpArray[x] = new FunctionParameter("MOffset", FunctionParameter.NUMBER);    with(fpArray[x++]) {        setName("Medium offset");        setLowerLimit(1);        setDefault(5);    }        fpArray[x] = new FunctionParameter("SOffset", FunctionParameter.NUMBER);    with(fpArray[x++]) {        setName("Short offset");        setLowerLimit(1);        setDefault(3);    }}var xhl2 = null;var xLSma = null;var xMSma = null;var xSSma = null;function main(LLength, MLength, SLength, LOffset, MOffset, SOffset) {    if (LLength == null) LLength = 13;    if (MLength == null) MLength = 8;    if (SLength == null) SLength = 5;    if (LOffset == null) LOffset = 8;    if (MOffset == null) MOffset = 5;    if (SOffset == null) SOffset = 3;    if ( bInit == false ) {         xhl2 = hl2();        xLSma = offsetSeries(sma(LLength, xhl2), LOffset);        xMSma = offsetSeries(sma(MLength, xhl2), MOffset);        xSSma = offsetSeries(sma(SLength, xhl2), SOffset);        bInit = true;     }     var nLSma = 0;    var nMSma = 0;    var nSSma = 0;    nLSma = xLSma.getValue(0);    nMSma = xMSma.getValue(0);    nSSma = xSSma.getValue(0);    return new Array(nLSma, nMSma, nSSma);}