// Downloaded From https://www.WiseStockTrader.com



/*
Formula in Metastock

Stop Loss (Buy)= HHV((LLV(L,3)-(ATR(10)/2)),10)

Stop Loss (Sell)= LLV((HHV(H,3)+(ATR(10)/2)),10)

HHV = Highest High Value
LLV = Lowest Low Value
*/

//FORMULA IN AMIBROKER

ATRper= Param("ATRper",12,1,50,1,0) ;
BuyPer= Param("BuyPer",1,1,50,1,0) ;
SellPer= Param("SellPer",1,1,50,1,0) ;

BuyStop= HHV((LLV(L,BuyPer)+(ATR(ATRper)/2)),ATRper) ;
SellStop= LLV((HHV(H,SellPer)-(ATR(ATRper)/2)),ATRper) ;

Plot(BuyStop,"\nBuyStop",colorRed,styleLine) ;
Plot(SellStop,"\nSellStop",colorBlue,styleLine) ;

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

//HEIKIN-ASHI ORIGINAL

//SetChartOptions(0,chartShowArrows | chartShowDates);
HaClose = (O + H + L + C)/4; 
HaOpen = AMA( Ref( HaClose, -1 ), 0.5 ); 
HaHigh = Max( H, Max( HaClose, HaOpen ) ); 
HaLow = Min( L, Min( HaClose, HaOpen ) ); 
xDiff = (HaHigh - Halow) * 10000;
//barcolor = IIf(HaClose >= HaOpen,colorGreen,colorRed);
//barcolor= IIf(HaClose>=HaOpen AND C>Ref(C,-1) AND C>=O,colorGreen,
//          IIf(HaClose<HaOpen AND C<Ref(C,-1) AND C<O, colorRed, colorBrown)) ;
//SetBarFillColor(IIf(HaClose>=HaOpen,colorBrightGreen,colorOrange));
//SetBarFillColor(IIf(HaClose>=HaOpen AND C>Ref(C,-1) AND C>=O,colorBrightGreen,
//                IIf(HaClose<HaOpen AND C<Ref(C,-1) AND C<O, colorOrange, colorTan)) );
//PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "\nHeikin-ashi", barcolor, styleCandle );
//PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "\nHeikin-ashi", colorBlack, styleCandle );

//HaDelta & MA

HaDelta= HaClose-HaOpen ;
MAhadelta= MA(Hadelta,3) ;
Hadeltaup3= Hadelta>MA(Hadelta,3) ;
Hadeltaup33 = Hadelta>MA(MA(Hadelta,3),3) ;
//Plot(Hadelta,"haDelta",colorBlack) ;
//Plot(0,"",colorBrown) ;
//Plot( MA1, "MA1", colorRed );
//Plot( MA2, "MA2", colorBlue );

Haup= HaClose>=HaOpen ;
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

//TRENDING RIBBON

// 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 MACD()>Signal()) ;
downtrend=MDI()>PDI() AND Signal()>MACD();
Plot( 2, /* defines the height of the ribbon in percent of pane width */"",
    IIf(uptrend,colorLime,IIf(downtrend,colorRed,colorTan)),styleOwnScale|styleArea|styleNoLabel,-0.5,100 );
_SECTION_END();
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

//MODEL PENTRU 3 CULORI , ADICA 3 CONDITII

//bar3culori= IIf(C> NLBL, colorBlue, IIf(C<NLSL, colorRed, colorTan));//MODEL MODEL MODEL 3 CULORI
//SetBarFillColor(IIf(HaClose>=HaOpen,colorBrightGreen,colorOrange));

//bar3culori= IIf(C> NLBL, colorBlue, IIf(C<NLSL, colorRed, colorTan));//MODEL MODEL MODEL 3 CULORI
//SetBarFillColor(IIf(HaClose>=HaOpen AND C>Ref(C,-1),colorBrightGreen,IIf(HaClose<HaOpen AND C<Ref(C,-1), colorRed, colorTan)) );
//SetBarFillColor= IIf(C> NLBL, colorBlue, IIf(C<NLSL, colorRed, colorTan));//MODEL MODEL MODEL 3 CULORI
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

//PRICE

_SECTION_BEGIN("Price");
//SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%)Vol " +
            WriteVal( V, 1.0 ) + " {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));
barcolor= IIf(C>O AND C>Ref(C,-1) AND HaClose>=HaOpen,colorBlue,
          IIf(C<O AND C<Ref(C,-1) AND HaClose<HaOpen,colorRed,colorTan)) ;
//Plot( C, "", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); 
Plot( C, "", barcolor,styleBar+styleThick ); 
_SECTION_END();
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Buy= Cross(C,buystop) ;
Sell= Cross(sellstop,C) ;

Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);

PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorBlue,0,Low,Offset=-15);
PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed,0,High,Offset=-15);