| 
 PureBytes Links 
Trading Reference Links 
 | 
Here is the way , I coded it. T is the lookback period.
The formula is, for those that don't have the magazine, 
CG = -Num/Denom; where
Num = Sum of ( 1 + j ) * Price(j) for j = 0 to T
Denom = Sum(Price,T); //AFL Formulation.
I was thinking , this could be done in AFL with WMA function. But 
doesn't quite look the way vbscript code looks.
/*John Ehler's Center of Gravity Oscillator
** From S& C May 2002 
**
**/
EnableScript("VBScript");
Price = (H+L)/2;
T = 40;
<%
Price = AFL("Price")
nSize = UBound( Price )
' nLength is the Look back period
nLength = AFL("T") - 1
'INITIALIZE THE ARRAYS
Num = Price ' need this for type definition
Denom = Price
for i = 0 to nSize
Num( i ) = 0 
Denom( i ) = 1 
next
' CG Oscillator Calculation
' Start Calculating from the Look back period point
for i = nLength to nSize
' Now Calculate the Num AND Denom Looking 
' back from the Current price point
for j = 0 to nLength
Num( i ) = Num( i ) + ( 1 + j ) * Price( i - j )
Denom( i ) = Denom( i ) + Price ( i - j )
next
next
AFL("Num") = Num
AFL("Denom") = Denom
%>
CG = IIf(Denom > 0,-Num/Denom,0);
Plot(CG,"CG",4,1);
Plot(Ref(CG,-1),"",6,1);
Mohan
--- In amibroker@xxxx, "nkis22" <nkishor@xxxx> wrote:
> I tried coding John Ehler's Center of Gravity Indicator
> as published in TASC,May, 02, page 21.
> 
> When you look back with "Ref" it works very well. However, how far
> to look back is always an important issue. So, instead of coding 
with
> tons of Refs, I wanted this script to automate lookback thru
> N (N=5 in this case). It works, but when I change this N to 10, 15 
or
> any other number, the indicator doesn't change. Why? There may
> be something wrong with the script. Can u help, please.
> 
> /*J.F.Ehler's Center of Gravity, TASC, 05/02*/
> EnableScript("Vbscript");
> top=0; bot=0
> <%
> N=5
> price=AFL("Close")
> toptot=0
> bottot=0
> for i = 1 to N
> bottot=bottot+price(i)
> toptot=toptot+(price(i) * N)
> N=N-1
> next
> AFL.Var("top")=toptot
> AFL.Var("bot")=bottot
> %>
> ntop=top+Close;
> Cg=ntop/bot;
> Graph0=Cg;Graph0Style=8;
> Graph1=Cg-ref(cg,-1);
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> .
 |