[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Metastockusers] Re: Code adjustment



PureBytes Links

Trading Reference Links

Trendchaser, your code is a Linear Regression mixture of the Typ() SMA 
and Close.  It doesn't address the original problem.

Ron, 
http://finance.groups.yahoo.com/group/Metastockusers/message/9753
welcome to one of MetaStock's single precision limitations:
MS can't handle accurate number crunching in complex processing.

The code below, using and external dll to process the Linear 
Regression values, tracks the Mov(Typ(),20,S) correctly:

---8<--------------------

{ Adaptive.dll (not avail to public) must be in
 ...\MetaStock\External Function DLLs\ folder }

pds:=Input("Linear Regression Trendline periods",2,2520,21);

x:=Mov(Typ(),20,S);
LRSlope:=ExtFml("Adaptive.LinRegSlope",x,pds);
LRInd:=LRSlope*Cum(1)
 -LRSlope*ExtFml("Adaptive.Mov",Cum(1),pds)
 +ExtFml("Adaptive.Mov",x,pds);

lastVal:=LastValue(LRInd);
countback:=LastValue(Cum(1))-Cum(1);
LR:=
lastVal-LastValue(LRSlope)*countback;
restrict:=0-(LastValue(Cum(1))-pds);
LRT:=Ref(Ref(LR,-restrict),restrict);

LRT

---8<--------------------

Adaptive.dll is not available for public release, so you'll have to 
take my word for it.


Now, the same code, using MetaStock's Linear Regression functions, 
plots a Linear Regression line that does not track Mov(Typ(),20,S):

---8<--------------------

pds:=Input("Linear Regression Trendline periods",2,2520,21);

x:=Mov(Typ(),20,S);
LRSlope:=LinRegSlope(x,pds);
LRInd:=LinearReg(x,pds);

lastVal:=LastValue(LRInd);
countback:=LastValue(Cum(1))-Cum(1);
LR:=
lastVal-LastValue(LRSlope)*countback;
restrict:=0-(LastValue(Cum(1))-pds);
LRT:=Ref(Ref(LR,-restrict),restrict);

LRT

---8<--------------------


Linear Regression has been a thorn in MetaStock's side for a while.


jose '-)


--- In Metastockusers@xxxxxxxxxxxxxxx, "trendchaser2003" 
<trendchaser2003@xxxx> wrote:
> Try this.
> 
> Ps:=Input("Mov(Typ() Periods",2,1000,20);
> Pe:=Input("LinearReg Periods",2,1000,21);
> x:=Mov(Typ(),Ps,S);
> x:=LastValue(X);
> Z:=LastValue(LinearReg(C,Pe));
> Z:=(Z+X)-Z;
> Y:=LastValue(Cum(1))-Cum(1);
> U:=Z-(LastValue(LinRegSlope(C,Pe))*Y);
> R:=0-(LastValue(Cum(1))-Pe);
> A:=U+Ref(C,R)-Ref(C,R);
> Range:=LastValue(Mov(H,Pe,E)-LastValue(Mov(L,Pe,E)));
> a+(16*(0.125*Range));
> a+(8*(0.125*Range));
> A;
> a-(8*(0.125*Range));
> a-(16*(0.125*Range));
> 
> Trendchaser
> http://www.freewebs.com/trendchaser/

> > --- In Metastockusers@xxxxxxxxxxxxxxx, karile <karile@xxxx> 
wrote:
 
> > Hi,
 
> > I have a code which calculates a linear regression (see 
below).

> > What I would like to have is a linear regression of a 20 SMA
> > (  (mov(typical(),20,s)  ) instead of the close.
> > Could anyone adjust the code below to perform that ?
 
> > Here is the code :
 
> > Pe:=Input("Periods",2,1000,6);
> > Z:=LastValue(LinearReg(C,Pe));
> > Y:=LastValue(Cum(1))-Cum(1);
> > U:=Z-(LastValue(LinRegSlope(C,Pe))*Y);
> > R:=0-(LastValue(Cum(1))-Pe);
> > U+Ref(C,R)-Ref(C,R);

> > Thanks for your help,
> > Regards,
 
> > Karile




------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com.  Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/zMEolB/TM
---------------------------------------------------------------------~->

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
     http://groups.yahoo.com/group/Metastockusers/

<*> To unsubscribe from this group, send an email to:
     Metastockusers-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
     http://docs.yahoo.com/info/terms/