// Downloaded From https://www.WiseStockTrader.com
//3 Gradient Color

_SECTION_BEGIN("3 color gradient");

priceAxesWidth=0;
dateAxesHeight=0;
TitleHeight=0;

pxwidth = Status("pxwidth");
pxheight = Status("pxheight");

chartwidth = pxwidth-priceAxesWidth;
chartheight = pxheight-dateAxesHeight;

topColor=ParamColor("topColor",ColorRGB(207,254,240) );
centerColor=ParamColor("centerColor", ColorRGB(249,236,164));
botColor=ParamColor("BottomColor", ColorRGB( 253,223,196));
priceAxesColor=ParamColor("priceAxesColor", colorWhite );
dateAxesColor=ParamColor("dateAxesColor", colorWhite);

relPos=Param("centerPosition%",50,0,100,1)/100;
centerHeight=chartheight*Param("centerHeight%",10,0,100,1)/100;
x0=0;
y0=Max(TitleHeight,chartheight*relPos-centerHeight/2);
x1=chartwidth;
y1=Min(chartheight,chartheight*relPos+centerHeight/2);

GfxSetBkMode( 1 );
GfxSetOverlayMode(1);
GfxGradientRect(0,0,chartwidth,TitleHeight, colorWhite ,colorWhite);
GfxGradientRect(chartwidth,0,pxwidth,pxheight, priceAxesColor
,priceAxesColor);
GfxGradientRect(0,chartheight,chartwidth,pxheight, dateAxesColor
,dateAxesColor);
GfxGradientRect(x0,y0,x1,y1, CenterColor ,CenterColor );
GfxGradientRect(0,TitleHeight,chartwidth, y0,topColor, CenterColor );
GfxGradientRect(0,y1,chartwidth, chartheight,  CenterColor ,botColor);

_SECTION_END();

_SECTION_BEGIN("Awsome Oscilator");
center=(H+L)/2;
t1=Optimize("t1",34,20,50,3); //slow MA param
t2=Optimize("t2",5,3,10,1); //fast MA param
awi=MA(center,t2)-MA(center,t1);

Plot(awi,"Awsome",IIf(awi>Ref(awi,-1),colorGreen,colorRed),styleHistogram);

Buy=Cover=
Cross(awi,0) OR //cross 0
(awi<0 AND awi>Ref(awi,-1) AND Ref(awi, -BarsSince(awi<Ref(awi,-1)))>LLV(awi,BarsSince(awi>0))) OR //lower high built
(awi>0 AND awi>Ref(awi,-1)) // awi direction change to positive above 0 level
;
Short=Sell=
Cross(0,awi) OR //cross 0
(awi>0 AND awi<Ref(awi,-1) AND Ref(awi, -BarsSince(awi>Ref(awi,-1)))<HHV(awi,BarsSince(awi<0))) OR //higher low built
(awi<0 AND awi<Ref(awi,-1)) // awi direction change to negative below 0 level
;

Buy=Cover=ExRem(Buy,Sell);
Sell=Short=ExRem(Short,Cover);
PlotShapes( IIf( Buy, shapeUpArrow , shapeNone ), colorGreen ); 
PlotShapes( IIf( Short, shapeDownArrow, shapeNone ), colorRed );
_SECTION_END();

_SECTION_BEGIN("Momentum");
function Momentum( array, period )
{
  return array - Ref( array, -period );
}

Plot( Momentum( ParamField( "Field" ), Param("Period", 10, 1, 100 ) ),
		_DEFAULT_NAME(), ParamColor("Color", ColorCycle ) );
 
_SECTION_END();