File Name: Chaikin.efs
Description:
Money Flow Indicator (Chaikin Oscillator)
Formula Parameters:
Fast : 3
Slow : 10
Notes:
Indicator plots Money Flow Indicator (Chaikin). This indicator looks
to improve on Larry William's Accumulation Distribution formula
The indicator subtracts a 10 period exponential moving average of the
AccumDist function from a 3 period exponential moving average of the
AccumDist function.
Download File:
Chaikin.efs
EFS Code:
Description:
Money Flow Indicator (Chaikin Oscillator)
Formula Parameters:
Fast : 3
Slow : 10
Notes:
Indicator plots Money Flow Indicator (Chaikin). This indicator looks
to improve on Larry William's Accumulation Distribution formula
The indicator subtracts a 10 period exponential moving average of the
AccumDist function from a 3 period exponential moving average of the
AccumDist function.
Download File:
Chaikin.efs
EFS Code:
PHP Code:
/*********************************
Provided By:
eSignal (Copyright c eSignal), a division of Interactive Data
Corporation. 2009. 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:
Money Flow Indicator (Chaikin Oscillator)
Version: 1.0 04/20/2009
Formula Parameters: Default:
Fast 3
Slow 10
Notes:
Indicator plots Money Flow Indicator (Chaikin). This indicator looks
to improve on Larry William's Accumulation Distribution formula
The indicator subtracts a 10 period exponential moving average of the
AccumDist function from a 3 period exponential moving average of the
AccumDist function.
**********************************/
var fpArray = new Array();
var bInit = false;
function preMain() {
setStudyTitle("Money Flow Indicator (Chaikin Oscillator)");
setCursorLabelName("Chaikin Oscillator");
var x = 0;
fpArray[x] = new FunctionParameter("Fast", FunctionParameter.NUMBER);
with(fpArray[x++]) {
setLowerLimit(1);
setDefault(3);
}
fpArray[x] = new FunctionParameter("Slow", FunctionParameter.NUMBER);
with(fpArray[x++]) {
setLowerLimit(1);
setDefault(10);
}
}
var xemaMax = null;
var xemaMin = null;
function main(Fast, Slow) {
var nBarState = getBarState();
var nMFI_Chaikin = 0;
if (nBarState == BARSTATE_ALLBARS) {
if (Fast == null) Fast = 3;
if (Slow == null) Slow = 10;
}
if (bInit == false) {
xemaMax = ema(Fast, accDist());
xemaMin = ema(Slow, accDist());
bInit = true;
}
nMFI_Chaikin = xemaMax.getValue(0) - xemaMin.getValue(0);
if (nMFI_Chaikin == null) return;
return nMFI_Chaikin;
}