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

[EquisMetaStock Group] Caculating the actual number of degrees of the slope of the 34 EMA



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/