Saturday, 2 November 2013

Aroon Oscillator AFL for Amibroker



Making money with share trading has become an art. The share trader needs to arm himself with a technical analysis software and data. above all he needs to have the right king of methodology in place.To day i am posting an AFL called Aroon Oscillator which is one of the most reliable method of trend finding.

The Aroon Oscillator is essentially the difference between Aroon-Up and Aroon-Down. The Aroon –Up and Aroon –Down along with the difference of these two values are plotted together for a chart reader’s reference. This Oscillator fluctuates between -100 and +100. There is a middle line which is taken as zero. When the oscillator is positive it indicates a positive trend in the market.  When it is negative it should be taken as the market is in bearish mode. In other words, a greater value above zero of Aroon-Up than Aroon-Down indicates the price movement of the share in question to take an upward turn or see new highs in the following trading days. On the contrary, if the Aroon Down is greater than Aroon –Up, which is an indication of weakness of the share in question.
 

The AFL that I am posting today can be customized with changing of colors, plotting of levels etc as shown above.
The Aroon Oscillator is a very simple indicator that clearly suggests the trend of the market. For a beginner of technical analysis, this oscillator could be an excellent tool. I am posting the AFL  of Aroon Oscillator below for the those who are interested.
Best of Luck
///////////////////////////////////////code begins below this line///////////////////////////////
 _SECTION_BEGIN("Aroon/Prices");
if( ParamToggle("Tooltip Shows", "Aroon|Prices" ) )
{
ToolTip=StrFormat("Open: %g\nHigh: %g\nLow: %g\nClose: %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
}
Aroonswitch = ParamToggle("Aroon","On,Off");
Periods = Param("Aroon Periods", 14, 1, 100, 1 );
_SECTION_END();

_SECTION_BEGIN("Aroon_UP");
UPcolor = ParamColor( "Aroon_UP Color", colorGreen );
UPstyle = ParamStyle("Aroon_UP Style",styleThick);
_SECTION_END();

_SECTION_BEGIN("Aroon_DN");
DNcolor = ParamColor( "Aroon_DN Color", colorRed );
DNstyle = ParamStyle("Aroon_DN Style",styleThick);
_SECTION_END();

_SECTION_BEGIN("Aroon_Oscillator");
OSswitch = ParamToggle("Aroon_OSc","On,Off");
OScolor = ParamColor( "Aroon_OSc Color", colorBlack );
OSstyle = ParamStyle("Aroon_OSc Style",styleHistogram | styleOwnScale, maskHistogram );
_SECTION_END();

HHVBarsSince = HHVBars(H, Periods+1);
LLVBarsSince = LLVBars(L, Periods+1);

Aroon_Up = ((Periods - HHVBarsSince) / Periods) * 100;
Aroon_Down = ((Periods - LLVBarsSince) / Periods) * 100;
Aroon_Osc = Aroon_Up - Aroon_Down;

Plot(IIf(Aroonswitch,Null,Aroon_Up),"Aroon_Up",UPcolor,UPstyle);
Plot(IIf(Aroonswitch,Null,Aroon_Down),"Aroon_Down",DNcolor,DNstyle);
Plot(IIf(OSswitch,Null,Aroon_Osc),"Aroon_Osc",OScolor,OSstyle);

UPline = Param("Upper Limit",80,50,100,1);
DNline = Param("Down Limit",20,1,50,1);
Plot(UPline,"",ParamColor("Upper Limit Color",4),ParamStyle("Upper Limit Style",styleNoLabel+styleDashed ));
Plot(DNline,"",ParamColor("Down Limit Color",5),ParamStyle("Down Limit Style",styleNoLabel+styleDashed ));
Plot(50,"",6, ParamStyle("Center Line Style",styleNoLabel ));

_SECTION_BEGIN("Fill Color");
Fillswitch = ParamToggle("Fill Color1","On,Off");
r1 = Aroon_down;
r2 = Aroon_Up;
FillColor = IIf( r1 > 50 OR r2 < 50, ParamColor("Up Fill Color1", colorRose),ParamColor("Down Fill Color1", colorPaleGreen));
if (NOT Fillswitch) PlotOHLC( r1,r1,50,r1, "", FillColor, styleNoLabel | styleCloud | styleClipMinMax, DNline, UPline );
if (NOT Fillswitch) PlotOHLC( r2,r2,50,r2, "", FillColor, styleNoLabel | styleCloud | styleClipMinMax, DNline, UPline );
_SECTION_END();

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

No comments:

Post a Comment