File Name: EMAcalc.efs
Description:
Demonstrates how to create an exponential moving average calculation in EFS.
Formula Parameters:
nLength: Default is 10
Notes:
Default settings draw a 10 period exponential moving average of the Close.
Download File:
EMAcalc.efs
EFS Code:
Description:
Demonstrates how to create an exponential moving average calculation in EFS.
Formula Parameters:
nLength: Default is 10
Notes:
Default settings draw a 10 period exponential moving average of the Close.
Download File:
EMAcalc.efs
EFS Code:
PHP Code:
/*********************************
Provided By : eSignal. (c) Copyright 2003
*********************************/
function preMain() {
setPriceStudy(true);
setStudyTitle("EMA calculation");
setCursorLabelName("EMA of Close", 0);
setDefaultBarFgColor(Color.lime, 0);
}
var vEMA = null;
var vEMA1 = null;
var dPercent = 0.0;
var bPrimed = false;
function EMA(nLength, nArray) {
var nBarState = getBarState();
var dSum = 0.0;
var dRef;
if(nBarState == BARSTATE_ALLBARS || bPrimed == false) {
dPercent = (2.0 / (nLength + 1.0));
bPrimed = false;
}
if (nBarState == BARSTATE_NEWBAR) {
vEMA1 = vEMA;
}
if(bPrimed == false) {
for(i = 0; i < nLength; i++) {
dSum += nArray[i];
}
bPrimed = true;
return (dSum / nLength);
} else {
return (((close() - vEMA1) * dPercent) + vEMA1);
}
}
function main(nLength) {
if(nLength == null || nLength <= 0) nLength = 10;
var nArray = getValue("Close", 0, -nLength);
if(nArray == null) return;
vEMA = EMA(nLength, nArray);
return vEMA;
}