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

ADX PDI MDI + ADX Ribbon for Amibroker (AFL)

Rating:
4 / 5 (Votes 10)
Tags:
oscillator, amibroker, ribbon

I have customized by the ADX Standard Day, Week, Month Label from the side and below the Ribbon added to the strength of the trend is likely to occur.

Screenshots

Similar Indicators / Formulas

Guppy RSI
Submitted by joe over 14 years ago
Trading Volume Statistic
Submitted by tuanstock1 over 10 years ago
Chande Momentum Oscillator
Submitted by klimpek about 14 years ago
BoH Risk Aversion Indicator
Submitted by genkumag almost 13 years ago
Ergodic Oscillator
Submitted by dljtrader about 14 years ago
KPShortTermTrend Bias
Submitted by knifeman about 14 years ago

Indicator / Formula

Copy & Paste Friendly
_SECTION_BEGIN("ADX");
GraphXSpace=20;
range = Param("Periods", 13, 2, 200, 1 );
Color = IIf(ROC(ADX(range),1) > 0, colorYellow,colorWhite);
Plot( ADX(range), _DEFAULT_NAME(), Color , ParamStyle("ADX style", styleThick ) );
Plot( PDI(range), "+DI", ParamColor( "+DI color", colorBrightGreen), styleLine );
Plot( MDI(range), "-DI", ParamColor( "-DI color", colorRed ), styleLine  );

uptrend=ROC(ADX(13),1)> 0 AND ADX(13) > 20 AND PDI(13) > MDI(13) AND Signal()<MACD();
downtrend=ROC(ADX(13),1) > 0 AND ADX(13) > 20 AND PDI(13) < MDI(13) AND Signal()>MACD();
sideway = ROC(ADX(13),1) <=0;

Plot( 4, /* defines the height of the ribbon in percent of pane width
*/"ribbon",
IIf( uptrend, colorGreen, IIf( downtrend, colorRed, IIf(sideway,colorLightGrey,colorDefault ))),styleOwnScale|styleArea|styleNoLabel, -0.5, 100 );

//Magfied Market Price 
GfxSetTextAlign( 6 );// center alignment
fse=Param("Font Sizee",18,11,100,1);
GfxSelectFont("Times New Roman", fse, 700, True ); 
GfxSetBkMode( colorGold );  
GfxSetTextColor( ParamColor("Color",colorGold) ); 
Hora=Param("Horizontal Positiona",420,1,2000,1);
Vera=Param("Vertical Positiona",1,1,1000,1); 

MyADX = ROC(ADX(range),1,1.2);
MyMDI = ROC(MDI(range),1,1.2);

bi = BarIndex();
ii = SelectedValue( bi ) - bi[ 0 ]; 

if(MyADX[ii]>10){
	GfxTextOut("("+Prec(MyADX,2) +"%)  ("+Prec(MyMDI,2)+"%)", Hora , Vera+45 );
}

GfxSetTextAlign( 6 );// center alignment
_SECTION_END();

_SECTION_BEGIN("Trending MACD+PDI Ribbon");
Plot( 60, "60", colorPaleBlue,styleDashed );
Plot( 40, "40", colorPaleBlue,styleDashed );
Plot( 30, "30", colorGreen,styleDashed );
Plot( 20, "20", colorPaleBlue,styleDashed );

//START Multi Time Frame ***********************************************************************************************************************************************

TimeFrameSet( inDaily ); 
uptrendmDaily  = ROC(ADX(13),1)> 1 AND Ref(ROC(ADX(13),1),-1) > 1 AND ADX(13) > 20 AND PDI(13) > MDI(13) AND Signal()<MACD();
downtrendmDaily= ROC(ADX(13),1)> 1 AND Ref(ROC(ADX(13),1),-1) > 1 AND ADX(13) > 20 AND PDI(13) < MDI(13) AND Signal() > MACD();
sidewaymDaily  = ROC(ADX(13),1) <=0;
ADXmDaily = ADX(13);
ROCADXmDaily = ROC(ADX(13),1);
TimeFrameRestore(); // restore time frame to original ***********************************************************************************************************************************************


TimeFrameSet( inWeekly ); 
uptrendmWeekly  = ROC(ADX(13),1)> 1 AND Ref(ROC(ADX(13),1),-1) > 1 AND ADX(13) > 20 AND PDI(13) > MDI(13) AND Signal()<MACD();
downtrendmWeekly= ROC(ADX(13),1)> 1 AND Ref(ROC(ADX(13),1),-1) > 1 AND ADX(13) > 20 AND PDI(13) < MDI(13) AND Signal() > MACD();
sidewaymWeekly  = ROC(ADX(13),1) <=0;
ADXmWeekly = ADX(13);
ROCADXmWeekly = ROC(ADX(13),1);
TimeFrameRestore(); // restore time frame to original ***********************************************************************************************************************************************


TimeFrameSet( inMonthly ); 
uptrendmMonthly  = ROC(ADX(13),1)> 1 AND Ref(ROC(ADX(13),1),-1) > 1 AND ADX(13) > 20 AND PDI(13) > MDI(13) AND Signal()<MACD();
downtrendmMonthly= ROC(ADX(13),1)> 1 AND Ref(ROC(ADX(13),1),-1) > 1 AND ADX(13) > 20 AND PDI(13) < MDI(13) AND Signal() > MACD();
sidewaymMonthly  = ROC(ADX(13),1) <=0;
ADXmMonthly = ADX(13);
ROCADXmMonthly = ROC(ADX(13),1);
TimeFrameRestore(); // restore time frame to original ***********************************************************************************************************************************************



Title = EncodeColor(colorRed) + "== ADX-PDI-MDI & Ribbon Indicator == : "+ EncodeColor(colorBrightGreen) +  Name() + " " 
/*
+ EncodeColor(colorGreen)  + "+DI=" +EncodeColor(colorWhite) + WriteVal(PDI(range),1.0) + " " 
+ EncodeColor(colorGreen) + "%G=" +EncodeColor(colorWhite) + WriteVal(ROC(PDI(range),1,1.2)) + " " 
+ EncodeColor(colorRed) +"-DI=" +EncodeColor(colorWhite) + WriteVal(MDI(range),1.0) + " " 
+ EncodeColor(colorRed) + "%G=" +EncodeColor(colorWhite) + WriteVal(ROC(MDI(range),1,1.2))+ " " 
+ EncodeColor(colorYellow) + "ADX(13)=" +EncodeColor(colorWhite) + WriteVal(ADX(13),1.0) + " " 
+ EncodeColor(colorYellow) + "%G=" +EncodeColor(colorWhite) + WriteVal(ROC(ADX(range),1,1.2))+ " " 
*/

+ EncodeColor(colorYellow) + "\n Power of ADX Trend Daily       : " + EncodeColor(colorGreen) +WriteIf(uptrendmDaily  ," UpTrend" ," ")+ EncodeColor(colorRed) + WriteIf(downtrendmDaily," Down Trend" ," " )+ EncodeColor(colorPink)
   +WriteIf(sidewaymDaily ,"Side Way" ," " ) + EncodeColor(colorYellow) + "   ADX :"  + EncodeColor(colorWhite)+ WriteIf(ADXmDaily>20,EncodeColor(colorBrightGreen),EncodeColor(colorLightGrey)) + WriteVal(ADXmDaily,1.0) 
	+ EncodeColor(colorYellow)+" %G ="+ WriteIf(ROCADXmDaily>0,EncodeColor(colorBrightGreen),EncodeColor(colorLightGrey))+ WriteVal(ROCADXmDaily,1.0)

+ EncodeColor(colorYellow) + "\n Power of ADX Trend Weekly   : " + EncodeColor(colorGreen) +WriteIf(uptrendmWeekly  ," UpTrend" ," ")+ EncodeColor(colorRed) + WriteIf(downtrendmWeekly," Down Trend" ," " )+ EncodeColor(colorPink)
   +WriteIf(sidewaymWeekly ,"Side Way" ," " ) + EncodeColor(colorYellow) + "   ADX :"  + EncodeColor(colorWhite)+ WriteIf(ADXmWeekly>20,EncodeColor(colorBrightGreen),EncodeColor(colorLightGrey)) + WriteVal(ADXmWeekly,1.0) 
	+ EncodeColor(colorYellow)+" %G ="+ WriteIf(ROCADXmWeekly>0,EncodeColor(colorBrightGreen),EncodeColor(colorLightGrey))+ WriteVal(ROCADXmWeekly,1.0)

+ EncodeColor(colorYellow) + "\n Power of ADX Trend Monthly  : " + EncodeColor(colorGreen) +WriteIf(uptrendmMonthly  ," UpTrend" ," ")+ EncodeColor(colorRed) + WriteIf(downtrendmMonthly," Down Trend" ," " )+ EncodeColor(colorPink)
   +WriteIf(sidewaymMonthly ,"Side Way" ," " ) + EncodeColor(colorYellow) + "   ADX :"  + EncodeColor(colorWhite)+ WriteIf(ADXmMonthly>20,EncodeColor(colorBrightGreen),EncodeColor(colorLightGrey)) + WriteVal(ADXmMonthly,1.0) 
	+ EncodeColor(colorYellow)+" %G ="+ WriteIf(ROCADXmMonthly>0,EncodeColor(colorBrightGreen),EncodeColor(colorLightGrey))+ WriteVal(ROCADXmMonthly,1.0)


;

2 comments

1. kitika
Rattanasak Sir, Hello, as u have tried to make such gud afl but formula is not correct according to market trend so if u want to correct it plz give ur mail address so that i send u correct modify formula according to market trend…..kindly post ur mail id

so that i cant contact u……urgently reply

Kitika

2. johnnypareek

@kitika

Why don’t u post here. Why you just want to share with him only?

Posting here will benefit lots of peoples and may be some one may come our with more good idea.

Just a thought. I don’t need though

Leave Comment

Please login here to leave a comment.

Back