_SECTION_BEGIN("AlgoJi.com Range Breakout Strategy");
SetPositionSize(1,spsShares);
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() );

SetBarsRequired(10000,0);
SetPositionSize(1, spsShares);
OptimizerSetEngine("cmae");


per1= Param("Band Periods", 20,1,50,1);
per2= Param("Band SD", 2,1,10,0.1);

ubb= Ref(HHV(H,per1), -1);

Lbb= Ref(LLV(L,per1), -1);



Buy=Cross(C,ubb);
Sell=Cross(Lbb,C);
Buy = ExRem( Buy, Sell );
Sell = ExRem( Sell, Buy );

Short = Cross(Lbb,C);
Cover = Cross(C,ubb);
Short = ExRem( Short, Cover );
Cover = ExRem( Cover, Short );

Plot(ubb, "", colorBlue, styleLine);
Plot(lbb, "", colorRed, styleLine);
Plot(EMA(C,per1), "", colorDarkGrey);



Title = NumToStr( DateTime(), formatDateTime ) + " O " + O + " H " + H + " L " + L + " C " + C ;

PlotShapes( IIf( Buy, shapeSquare, shapeNone ), colorGreen, 0, L, Offset = -40 );
PlotShapes( IIf( Buy, shapeSquare, shapeNone ), colorLime, 0, L, Offset = -50 );
PlotShapes( IIf( Buy, shapeUpArrow, shapeNone ), colorWhite, 0, L, Offset = -45 );
PlotShapes( IIf( Sell, shapeDownArrow, shapeNone ), colorRed, 0, H, Offset = -45 );
PlotShapes( IIf( Short, shapeSquare, shapeNone ), colorRed, 0, H, Offset = 40 );
PlotShapes( IIf( Short, shapeSquare, shapeNone ), colorOrange, 0, H, Offset = 50 );
PlotShapes( IIf( Short, shapeDownArrow, shapeNone ), colorWhite, 0, H, Offset = -45 );
PlotShapes( IIf( Cover, shapeUpArrow, shapeNone ), colorBlue, 0, L, Offset = -45 );

_SECTION_END();