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:
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:
PHP 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. 3Lines
Version: 1.0 09/25/2008
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).
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);
}