New EFS Study ##
Averages > MFI - Money Flow Indicator (Chaikin) [eSignal EFS Indicators]
Download:
Category: Oscillators
Description:
Indicator plots Money Flow Indicator (Chaikin). This indicator looks to improve on Larry William's Accumulation Distribution formula that compared the closing price with the opening price. In the early 1970's, opening prices for stocks stopped being transmitted by the exchanges. This made it difficult to calculate Williams' formula. The Chaikin Oscillator uses the average price of the bar calculated as follows (High + Low) /2 instead of the Open.
The indicator subtracts a 10 period exponential moving average of the AccumDist function from a 3 period exponential moving average of the AccumDist function.
Inputs:
MyVol - the volume of the day
Slow - period used to calculate the fast exponential moving average
Fast - period used to calculate the slow exponential moving average
EFS Code:
Averages > MFI - Money Flow Indicator (Chaikin) [eSignal EFS Indicators]
Download:
Category: Oscillators
Description:
Indicator plots Money Flow Indicator (Chaikin). This indicator looks to improve on Larry William's Accumulation Distribution formula that compared the closing price with the opening price. In the early 1970's, opening prices for stocks stopped being transmitted by the exchanges. This made it difficult to calculate Williams' formula. The Chaikin Oscillator uses the average price of the bar calculated as follows (High + Low) /2 instead of the Open.
The indicator subtracts a 10 period exponential moving average of the AccumDist function from a 3 period exponential moving average of the AccumDist function.
Inputs:
MyVol - the volume of the day
Slow - period used to calculate the fast exponential moving average
Fast - period used to calculate the slow exponential moving average
EFS Code:
Code:
/******************************************************************* Description : This Indicator plots Money Flow Indicator Provided By : Developed by TS Support, LLC for eSignal. (c) Copyright 2002 ********************************************************************/ function preMain() { setStudyTitle("Money Flow Indicator (Chaikin Oscillator)"); setCursorLabelName("Chaikin Oscillator"); } var XA1_1 = 0.0; var XA2_1 = 0.0; function main(MyVol,Fast,Slow) { var myVol = "Volume"; if (MyVol != null) myVol = MyVol; var fast = 3; if (Fast != null) fast = Fast; var slow = 13; if (Slow != null) slow = Slow; var AD =0; var lenMax = Math.max(fast,slow); var lenMin = Math.min(fast,slow); var i = 0; var j = 0; var SumMax = 0.0; var SumMin = 0.0; var Div = 0.0; var XA1 = 0.0; var XA2 = 0.0; var Vol = 0.0; var vVolume = getValue("Volume",0,-lenMax); var vHigh = getValue("High",0,-lenMax); var vLow = getValue("Low",0,-lenMax); var vOpen = getValue("Open",0,-lenMax); var vClose = getValue("Close",0,-lenMax); for (i = (lenMax - 1);i >= 0;i--) { Vol = vVolume[i]; Div = (vHigh[i] - vLow[i]) * Vol; if (Div > 0) { SumMax += (vClose[i] - vOpen[i])/(vHigh[i] - vLow[i])*Vol; if (i < lenMin) { SumMin += (vClose[i] - vOpen[i])/(vHigh[i] - vLow[i])*Vol; } } } var FactorMax = 2 / (lenMax + 1); var FactorMin = 2 / (lenMin + 1); if (lenMax == slow) { if (XA1_1 == 0.0) { XA1 = SumMax; XA2 = SumMin; } else { XA1 = FactorMax * SumMax + (1 - FactorMax) * XA1_1; XA2 = FactorMin * SumMin + (1 - FactorMin) * XA2_1; } } else { if (XA1_1 == 0.0) { XA1 = SumMin; XA2 = SumMax; } else { XA2 = FactorMax * SumMax + (1 - FactorMax) * XA1_1; XA1 = FactorMin * SumMin + (1 - FactorMin) * XA2_1; } } var res = (XA1 - XA2); if (getBarState() == BARSTATE_NEWBAR) { XA1_1 = XA1; XA2_1 = XA2; } return res; }
Comment