PureBytes Links
Trading Reference Links
|
If been having a devil of a time trying to calculate the actual
number of degrees of the slope of the 34 EMA and 25 LSMA. I've got
some opensource AMIbroker code and was able to get some information
from www.metastocktools.com which get me close but not quite there.
I have no trouble creating an exploration using the slope, to produce
an equivalent results that I require, however I really would like to
be able to calculate the actual number of degrees of both slopes for
other purposes.
A simple atan function of the slope does not do the trick.
Posted below is the relavent open source amibroker code that
caclulates the actual number of degrees of the angle of the 34 ema
and 25 LSMA.
Any help would be most appreciated.
I would like to replicate these in Metastock:
EMA34 = EMA(C,34);
PI = 3.141593;
periods = 30;
HighHigh = HHV(H, periods);
LowLow = LLV(L, periods);
range = 25 / (HighHigh - LowLow) * LowLow;
x1_EMA34 = 0;
x2_EMA34 = 2;
y1_EMA34 = 0;
y2_EMA34 = (Ref(EMA34, -2) - EMA34) / Avg * range;
c_EMA34 = sqrt((x2_EMA34 - x1_EMA34)*(x2_EMA34 - x1_EMA34) +
(y2_EMA34 - y1_EMA34)*(y2_EMA34 - y1_EMA34));
angle_EMA34 = round(180 * acos((x2_EMA34 - x1_EMA34)/c_EMA34) / PI);
x1_LSMA25 = 0;
x2_LSMA25 = 2;
y1_LSMA25 = 0;
y2_LSMA25 = (Ref(LSMA25, -2) - LSMA25) / Avg * range;
c_LSMA25 = sqrt((x2_LSMA25 - x1_LSMA25)*(x2_LSMA25 - x1_LSMA25) +
(y2_LSMA25 - y1_LSMA25)*(y2_LSMA25 - y1_LSMA25));
angle_LSMA25 = round(180 * acos((x2_LSMA25 - x1_LSMA25)/c_LSMA25) /
PI);
I tried using/modifying the following code from metastocktools.com
with no luck:
MetaStock -> Tools -> Indicator Builder -> New
Copy and paste formula below.
============================
Linear Regression true slope
============================
---8<---------------------------
{ Linear Regression true Slope v3.5 }
{ -100~+100% / -90~+90 degrees }
{ ©Copyright 2003-2004 Jose Silva }
{ http://www.metastocktools.com }
pds:=
Input("Linear Regression periods",2,2520,21);
pds1:=
Input("Lin Reg Signal periods",1,252,5);
x:=Input("Open=1, High=2, Low=3, Close=4, Volume=5, P=6",1,6,4);
display:=Input("display -100~100%=1, -90~90 degrees=2",1,2,1);
hist:=Input("display positive histogram fill (on=1, off=0)",0,1,1);
plot:=Input("[1] LinReg Slope, [2] signals",
1,2,1);
x:=If(x=1,O,If(x=2,H,If(x=3,L,
If(x=5,V,If(x=6,P,C)))));
LRlast:=LinearReg(x,pds);
LRS:=LinRegSlope(x,pds);
LRprev:=LRlast-LRS;
{LRstart:=Ref(LRlast-LRS*(pds-1),pds-1);}
a:=Min(LRlast,LRprev)/Max(LRlast,LRprev);
LRratio:=(If(LRlast>LRprev,2-a,a)-1)*80;
LRSdeg:=If(LRratio<0,Atan(LRratio,1)-360,
Atan(LRratio,1));
LRSper:=LRSdeg*10/9;
LRStrue:=If(display=2,LRSdeg,LRSper);
signal:=Mov(LRStrue,pds1,E);
BuySell:=
Cross(LRStrue,signal)-Cross(signal,LRStrue);
odd:=Cum(1)/2=Int(Cum(1)/2);
odd:=If(hist=1 AND LRStrue>signal,
If(odd,signal,LRStrue),LRStrue);
If(plot=1,odd,0);
If(plot=1,signal,0);
If(plot=1,LRStrue,BuySell)
---8<---------------------------
http://www.metastocktools.com
and
MetaStock -> Tools -> Indicator Builder -> New
Copy and paste formula below.
=============
EMA - slope %
=============
---8<---------------------------
{ EMA slope % v2.0, +/- 0~100% }
{ ©Copyright 2003 Jose Silva }
{ http://www.metastocktools.com }
pds:=Input("EMA periods",2,2520,21);
x:=Input("use Open=1 High=2 Low=3 Close=4 Volume=5 P=6",1,6,4);
x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,V,If(x=6,P,C)))));
EMA:=Mov(x,pds,E);
EMAprev:=Ref(EMA,-1);
y:=Min(EMA,EMAprev)/Max(EMA,EMAprev);
EMAratio:=(If(EMA>EMAprev,2-y,y)-1)*100;
EMAper:=If(EMAratio<0,Atan(EMAratio,1)-360,
Atan(EMAratio,1))*10/9;
signal:=Mov(EMAper,pds,E);
0;signal;EMAper
---8<---------------------------
http://www.metastocktools.com
------------------------ Yahoo! Groups Sponsor --------------------~-->
<font face=arial size=-1><a href="http://us.ard.yahoo.com/SIG=12hcmkofu/M=362343.6886682.7839641.1493532/D=groups/S=1705375617:TM/Y=YAHOO/EXP=1124689916/A=2894352/R=0/SIG=11fdoufgv/*http://www.globalgiving.com/cb/cidi/tsun.html">Help tsunami villages rebuild at GlobalGiving. The real work starts now</a>.</font>
--------------------------------------------------------------------~->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/equismetastock/
<*> To unsubscribe from this group, send an email to:
equismetastock-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|