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

Re: [amibroker] Re: ANGLE/ Degree



PureBytes Links

Trading Reference Links

>From Dennis's Woodies CCI script (made into a function)

function angle_of(ain)
{
    PI = atan(1.00) * 4; 
    periods = 30; 
    HighHigh = HHV(H, periods); 
    LowLow = LLV(L, periods); 
    range = 25 / (HighHigh - LowLow) * LowLow; 
    x1 = 0; 
    x2 = 1; 
    y1 = 0; 
    y2 = (Ref(ain, -1) - ain) / Avg * range; 
    zzz = sqrt((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)); 
    angle = round(180 * acos((x2 - x1)/zzz) / PI); 
    angle = IIf(y2 > 0, - angle, angle); 
return angle ;
}

// Calc angle of AMA, EMA, LSMA and CCI14 
//

angle_EMA34 = angle_of(EMA34);
angle_LSMA = angle_of(Lsma25);
angle_kama = angle_of(kama);
angle_cci14 = angle_of(CA);

----- Original Message ----
From: o_guba <o_guba@xxxxxxxx>
To: amibroker@xxxxxxxxxxxxxxx
Sent: Monday, February 12, 2007 12:02:50 PM
Subject: [amibroker] Re: ANGLE/ Degree

thanks joe, works well!

Oli



--- In amibroker@xxxxxxxxxxxxxxx, "Joe Landry" <jelandry@xxx> wrote:
>
> Just checked and this works.  Hope it will help you see how slopes
are determined and angle is calculated.
> 
> JOE L. 
> 
> ema1period=Param("ema1Period",4,4,9,1);
> 
> EMA2period=Param("ema2Period",9,9,20,1);
> 
> EMA3period=Param("ema3Period",20,20,28,1);
> 
> SlopePeriods=Param("SlopePeriods",10,2,25,1);
> 
> PI=3.14159;
> 
> Array=C;
> 
> Var1=EMA(array,EMA1period);
> 
> Var2=EMA(array,EMA2period);
> 
> Var3=EMA(array,EMA3period);
> 
> EMAFast=LinRegSlope(Var1,SlopePeriods);
> 
> EMAMedium=LinRegSlope(Var2,SlopePeriods);
> 
> EMASlow=LinRegSlope(Var3,SlopePeriods);
> 
> Radians=atan(EMAFast);//radians
> 
> Radians2=atan(EMAMedium);
> 
> Radians3=atan(EMASlow);
> 
> degrees=Radians*(180/PI);//Degrees
> 
> degrees2=Radians2*(180/PI);
> 
> degrees3=Radians3*(180/PI);
> 
> 
> 
> Plot(Var1,"emaFast",colorRed,styleLine);
> 
> Plot(Var2,"emaMedium",colorBlue,styleLine);
> 
> Plot(Var3,"emaSlow",colorYellow,styleLine);
> 
> Plot(C,"",colorBlack,styleBar);
> 
> Title=Name()+"..."+Date()+"\n"+"Based on (
"+WriteVal(slopeperiods,1)+" )
> 
> period LinearRegSlope of Variable "+"\n"+"The (
"+WriteVal(EMA1period,1)+
> 
> " ) period EMA is moving "+WriteIf(degrees > 0,"UP ","Down ")+"(
> 
> "+WriteVal(degrees,1)+" )"+" Degrees"+"\n"+"The (
"+WriteVal(EMA2period,1)+
> 
> " ) period EMA is moving "+WriteIf(degrees2 > 0,"UP ","Down ")+"(
> 
> "+WriteVal(degrees2,1)+" )"+" Degrees"+"\n"+"The (
"+WriteVal(EMA3period,1)+
> 
> " ) period EMA is moving "+WriteIf(degrees3 > 0,"UP ","Down ")+"(
> 
> "+WriteVal(degrees3,1)+" )" +" Degrees";
> 
>   ----- Original Message ----- 
>   From: o_guba 
>   To: amibroker@xxxxxxxxxxxxxxx 
>   Sent: Monday, February 12, 2007 9:45 AM
>   Subject: [amibroker] Re: ANGLE/ Degree
> 
> 
>   thanks sai,
> 
>   but it didn´t worked, perhaps another guy has a formula?
>   thanks
> 
>   --- In amibroker@xxxxxxxxxxxxxxx, "sai20_2000" <sai20_2000@> wrote:
>   >
>   > This is one of the code for angles I had in my archieve 
>   > CREDITS to the DEveloper
>   > 
>   > Hope this helps
>   > 
>   > 
>   > //Angle
>   > 
>   > 
>   > EMA34=EMA(C,20);
>   > Lsma=EMA(C,21);
>   > 
>   > PI = atan(1.00) * 4; 
>   > 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); 
>   > 
>   > TitleAngleEMA34 = EncodeColor(colorWhite) + "\nEMA34 angle = "; 
>   > 
>   > angle_EMA34 = IIf(y2_EMA34 > 0, - angle_EMA34, angle_EMA34); 
>   > if(abs(SelectedValue(angle_EMA34)) >= 25) 
>   > { 
>   > TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorLime); 
>   > } 
>   > else if(abs(SelectedValue(angle_EMA34)) >= 15) 
>   > { 
>   > TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorYellow); 
>   > } 
>   > else 
>   > { 
>   > TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorRed); 
>   > } 
>   > TitleAngleEMA34 = TitleAngleEMA34 + angle_EMA34; 
>   > // End Angle of EMA34 ****************** 
>   > 
>   > 
>   > Color_ema_20_eangle=TimeFrameExpand(
>   > IIf(angle_ema34>=15,colorBrightGreen,IIf(angle_ema34<=-
>   > 15,colorCustom12,
>   > IIf(angle_ema34>5,colorGreen,IIf(angle_ema34<-
>   > 5,colorRed,colorDarkYellow)))),in5Minute*2); 
>   > 
>   > 
>   > 
>   > //Plot Ema and LSMA 
>   > pricecolor= IIf(TimeFrameExpand(EMA(C,5),in15Minute*2)>
>   >
TimeFrameExpand(Ref(DEMA(C,5),-4),in15Minute*2),colorGreen,colorRed);
>   > //pricecolor= IIf(TimeFrameExpand(TimeFrameCompress(DEMA
>   > (C,5),in15Minute*2),in15Minute*2)>
>   > //TimeFrameExpand(TimeFrameCompress(Ref(DEMA(C,5),-
>   > 4),in15Minute*2),in15Minute*2),colorGreen,colorRed);
>   > //
>   > //Plot(C,"",colorWhite,styleBar);
>   > 
>   > 
>   > 
>   > --- In amibroker@xxxxxxxxxxxxxxx, "o_guba" <o_guba@> wrote:
>   > >
>   > > how can write in AB an angle or see, if example a line have a 20 
>   > degree?
>   > > how can i write in AB for example INV TAN?
>   > > haven`t seen anythig in the help menue?
>   > > 
>   > > thanks for the answers
>   > >
>   >
>




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links








Content-Description: "AVG certification"
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.17.37/682 - Release Date: 2/12/2007 1:23 PM