Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

MA Difference 20 Period for Amibroker (AFL)

Copy & Paste Friendly
_SECTION_BEGIN("MA Difference 20 Period"); 
//------------------------------------------------------------------------------ 
// Note:  This formula is not my creation I found from my friends which work fine.
// T=20; /*Time Period for MA*/ 
// 
// KMA=((C-MA(C,T))/MA(C,T))*100; 
// 
// GRAPH0=KMA; 
// 
// GRAPH0STYLE=2+4; 
// 
// GRAPH0BARCOLOR=iif(KMA>0,5,4); 
// 
// graphxspace=5; 
// 
// title=name()+" "+date()+" The Close is 
// "+writeval(abs(KMA),format=1.2)+"%"+writeif(KM A>0, " above"," below")+" the 
// 20 period MA"; 
// 
// Mark Grid lines: 
// 
// Level 0 
// 
// Limits 
// 
// Show dates 
// 
// Percent 
// 
// Middle 
// 
//------------------------------------------------------------------------------ 
  
/*MA Diff 20*/
T=20; /*Time Period for MA*/
KMA=((C-MA(C,T))/MA(C,T))*100; 
Graph0=KMA; 
Graph0Style=2+4; 
Graph0BarColor=IIf(KMA>0,5,4); 
GraphXSpace=5; 
  
Title=Name()+" "+Date()+" The Close is "+WriteVal(abs(KMA),format=1.2)+"%"+WriteIf(KMA>0, " above"," below")+" the 13 period MA"; 
_SECTION_END(); 
  
_SECTION_BEGIN("Price"); 
SetChartOptions(0,chartShowArrows|chartShowDates); 
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); 
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); 
_SECTION_END(); 
  
//------------------------------------------------------------------------------ 
// 
_SECTION_BEGIN("ZIG - Zig"); 
P = ParamField( "Price field" ); 
change = Param("% change",5,0.1,25,0.1); 
Plot( Zig(P, change), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); 
_SECTION_END(); 
  
// Paste the code below to your price chart somewhere and green ribbon means both 
// both MACD and ADX trending up so if the red ribbon shows up the MACD and the ADX 
// are both trending down. 
  
_SECTION_BEGIN("trending ribbon"); 
uptrend=PDI()>MDI()AND Signal()<MACD(); 
downtrend=MDI()>PDI()AND Signal()>MACD(); 
  
  
Plot( 2, /* defines the height of the ribbon in percent of pane width */"ribbon", 
IIf( uptrend, colorGreen, IIf( downtrend, colorRed, 0 )), /* choose color */
styleOwnScale|styleArea|styleNoLabel, -0.5, 100 ); 
  
_SECTION_END(); 
  
_SECTION_BEGIN("EMA"); 
P = ParamField("Price field",-1); 
Periods = Param("Periods", 15, 2, 300, 1, 10 ); 
Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); 
_SECTION_END(); 
  
_SECTION_BEGIN("MACD Exploration"); 
r1 = Param( "Fast avg", 12, 2, 200, 1 ); 
r2 = Param( "Slow avg", 26, 2, 200, 1 ); 
r3 = Param( "Signal avg", 9, 2, 200, 1 ); 
Z=Param("zig",1,0,10,0.1); 
  
  
Cond1 = Cross(MACD(r1,r2),Signal(r1,r2,r3)); 
  
Cond3 = Zig(C,z)>Ref(Zig(C,z),-4); 
Buy = Cond1 AND Cond3; 
  
Cond4 = Cross(Signal(r1,r2,r3),MACD(r1,r2)); 
  
Cond6 = Zig(C,z)<Ref(Zig(C,z),-4); 
Sell = Cond4 AND Cond6; 
Trigger = WriteIf(Buy, "Buy", "") + WriteIf(Sell, "Sell", ""); 
  
_N(Title = StrFormat("{{NAME}} {{DATE}} {{INTERVAL}}: O=%1.2f, H=%1.2f, L=%1.2f, C=%1.2f, V=%1.0f\n{{VALUES}}", O, H, L, C, V)); 
  
BG = IIf(Buy, colorPaleGreen, IIf(Sell, colorRose, colorDefault)); 
FG = IIf(Buy, colorDarkGreen, IIf(Sell, colorDarkRed, colorDefault)); 
  
if(Status("action") == actionIndicator) 
{ 
Plot(C, "", colorGrey50, styleBar); 
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorAqua, 0, L, Offset=-15); 
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorPaleGreen, 0,L, Offset=-25); 
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorDarkGreen, 0,L, Offset=-20); 
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRose, 0, H, Offset=15); 
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorPink, 0,H, Offset=25); 
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorRed, 0,H, Offset=-20); 
  
} 
  
if(Status("action") == actionExplore) 
  
Filter = Buy OR Sell; 
SetOption("NoDefaultColumns", True); 
  
AddTextColumn(Name(), "Symbol", 77, FG, BG, 120); 
AddColumn(DateTime(), "Date", formatDateTime, FG, BG, 100); 
AddColumn(TimeNum() ,"Time",1); 
AddColumn( C, "Close", 1.3 ); 
AddColumn( H, "High", 1.3 ); 
AddColumn(V, "Volume"); 
AddColumn(Ref(V,-1),"P-Vol"); 
AddColumn(V/Ref(V,-1)*100,"Increase in Vol"); 
AddColumn( Buy, "Buy", 1 ); 
AddColumn( Sell, "Sell", 1 ); 
  
shape = Buy * shapeHollowUpTriangle + Sell * shapeHollowDownTriangle; 
  
Plot( Close, "Price", colorBlack, styleCandle ); 
  
PlotShapes( shape, IIf( Buy, colorBlue, colorBlue ), 0, IIf( Buy, Low, High ) ); 
  
GraphXSpace = 7; 
  
shape = Buy * shapeUpTriangle + Sell * shapeHollowDownTriangle; 
  
Plot( Close, "Price", colorBlack, styleCandle ); 
  
PlotShapes( shape, IIf( Buy, colorBlue, colorBlue ), 0, IIf( Buy, Low, High ) ); 
  
GraphXSpace = 7; 
_SECTION_END(); 
  
_SECTION_BEGIN("EMA3"); 
P = ParamField("Price field",-1); 
Periods = Param("Periods", 15, 2, 300, 1, 10 ); 
Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); 
_SECTION_END(); 
  
_SECTION_BEGIN("Time Left"); 
function GetSecondNum() 
{ 
Time = Now( 4 ); 
Seconds = int( Time % 100 ); 
Minutes = int( Time / 100 % 100 ); 
Hours = int( Time / 10000 % 100 ); 
SecondNum = int( Hours * 60 * 60 + Minutes * 60 + Seconds ); 
return SecondNum; 
} 
RequestTimedRefresh( 1 ); 
TimeFrame = Interval(); 
SecNumber = GetSecondNum(); 
Newperiod = SecNumber % TimeFrame == 0; 
SecsLeft = SecNumber - int( SecNumber / TimeFrame ) * TimeFrame; 
SecsToGo = TimeFrame - SecsLeft; 
  
x=Param("xposn",300,0,1000,1); 
y=Param("yposn",50,0,1000,1); 
  
GfxSelectSolidBrush( ColorRGB( 230, 230, 230 ) ); 
GfxSelectPen( ColorRGB( 230, 230, 230 ), 2 ); 
if ( NewPeriod ) 
{ 
GfxSelectSolidBrush( colorYellow ); 
GfxSelectPen( colorYellow, 2 ); 
Say( "New period" ); 
} 
GfxRoundRect( x+45, y+17, x-3, y-2, 0, 0 ); 
GfxSetBkMode(1); 
GfxSelectFont( "Arial", 12, 700, False ); 
GfxSetTextColor( colorBlack ); 
GfxTextOut( ""+SecsToGo+" / "+NumToStr( TimeFrame, 1.0 ), x, y ); 
_SECTION_END();
Back