// Downloaded From https://www.WiseStockTrader.com
_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor(ParamColor("Outer Panel",colorDarkGrey));
SetChartBkGradientFill(ParamColor("Upper Chart",colorCustom2),ParamColor("Lower Chart",colorDarkGrey));
GraphXSpace=Param("GraphXSpace",5,-10,25,1);
SetBarFillColor(IIf(O>C,24,19));
Plot(C,"Price",IIf(O>C,32,34),64);
_SECTION_END();

//_SECTION_BEGIN("Raghee Horner EMA");
//Plot( EMA(H,34), "EMA 34H" ,ParamColor( "Color1", colorGreen ));
//Plot( EMA(L,34), "EMA 34L" ,ParamColor( "Color2", colorRed ));
//Plot( EMA(C,34), "EMA 34C" ,ParamColor( "Color3", colorBlue ));
//_SECTION_END();

Plot( EMA(C,13), "EMA 13" ,ParamColor( "Color1", colorYellow ));
Plot( EMA(C,21), "EMA 21" ,ParamColor( "Color2", colorLime )); 
Plot( EMA(C,34), "EMA 34" ,ParamColor( "Color3", colorBlue )); 
Plot( EMA(C,55), "EMA 55" ,ParamColor( "Color4", colorRed ));
//Plot( EMA(C,100), "EMA 100" ,ParamColor( "Color8", colorViolet ));
//Plot( EMA(C,200), "EMA 200" ,ParamColor( "Color9", colorGold ));

_SECTION_BEGIN("Vegas Tunnel");
Plot( EMA(C,144), "EMA 144" ,ParamColor( "Color4", colorOrange ));
Plot( EMA(C,169), "EMA 169" ,ParamColor( "Color5", colorTurquoise ));
_SECTION_END();

_SECTION_BEGIN("Volume At Price");
PlotVAPOverlay( Param("Lines", 300, 100, 1000, 1 ), Param("Width", 12, 1, 100, 1 ), ParamColor("Color", colorViolet ), ParamToggle("Side", "Left|Right" ) | 4*ParamToggle("Z-order", "On top|Behind", 0 ) );
_SECTION_END();


procedure CalcFloorPvts( _H, _L, _C ) {	 
	 VarSet( "pp", ( _H + _L + _C ) / 3 );
	 VarSet( "R1", 2 * VarGet( "pp" ) - _L );
	 VarSet( "S1", 2 * VarGet( "pp" ) - _H );
	 VarSet( "R2", VarGet( "pp" ) + ( VarGet( "R1" ) - VarGet( "S1" ) ) );
	 VarSet( "R3", VarGet( "R1" ) + ( _H - _L ) );
	 VarSet( "S2", VarGet( "pp" ) - ( VarGet( "R1" ) - VarGet( "S1" ) ) );
	 VarSet( "S3", VarGet( "S1" ) - ( _H - _L ) );
}

_SECTION_BEGIN( "Pivots" );
	 SetChartBkColor( colorBlack );
	 SetChartOptions( 1, chartShowDates );
	 Plot( C, "Price", colorDefault, styleCandle );

	 ppColor = ParamColor( "Pivot Line Color", colorWhite );
	 rColor = ParamColor( "Resistance Line Color", colorRed );
	 sColor = ParamColor( "Support Line Color", colorBrightGreen );

	 ShLabels = ParamToggle( "Show pivot labels?", "No|Yes", 0 );

	 ShDevPvts = ParamToggle( "Show developing pivots?", "No|Yes", 1 );
	 ShDevPvtLabels = ParamToggle( "Show developing pivot labels?", "No|Yes", 1);

	 bi = BarIndex();
	 DaysFrstBi = TimeFrameExpand( TimeFrameCompress( bi, inDaily, compressOpen ), inDaily, expandFirst );
	 DaysFrstBiCond = bi == DaysFrstBi;

	 PrevDayH = TimeFrameGetPrice( "H", inDaily, -1, expandFirst );
	 PrevDayL = TimeFrameGetPrice( "L", inDaily, -1, expandFirst );
	 PrevDayC = TimeFrameGetPrice( "C", inDaily, -1, expandFirst );
	 CalcFloorPvts( PrevDayH, PrevDayL, PrevDayC );

	 Plot( IIf( DaysFrstBiCond, Null, VarGet( "pp" ) ), "", ppColor, styleNoRescale | styleNoLabel, Null, Null, 0, -2 );
	 Plot( IIf( DaysFrstBiCond, Null, VarGet( "pp" ) ), "", ppColor, styleNoRescale | styleNoLabel, Null, Null, -1, -2 );
	 if( ShLabels ) PlotTextSetFont( StrFormat( "PP %1.2f", SelectedValue( pp ) ), "Courier New", 8, SelectedValue( DaysFrstBi ), SelectedValue( pp ), ppColor, colorDefault, 0 );

	 nP = 3;  
	 for( i = 1; i <= nP; i++ ) {
		 Plot( IIf( DaysFrstBiCond, Null, VarGet( "R" + i ) ), "", rColor, styleNoRescale | styleNoLabel, Null, Null, 0, -2 );
		 Plot( IIf( DaysFrstBiCond, Null, VarGet( "R" + i ) ), "", rColor, styleNoRescale | styleNoLabel, Null, Null, -1, -2 );
 
		 Plot( IIf( DaysFrstBiCond, Null, VarGet( "S" + i ) ), "", sColor, styleNoRescale | styleNoLabel, Null, Null, 0, -2 );
		 Plot( IIf( DaysFrstBiCond, Null, VarGet( "S" + i ) ), "", sColor, styleNoRescale | styleNoLabel, Null, Null, -1, -2 );

		 if( ShLabels ) {
			 PlotTextSetFont( StrFormat( "R%0.0f %1.2f", i, SelectedValue( VarGet( "R" + i ) ) ), "Courier New", 8, SelectedValue( DaysFrstBi ), SelectedValue( VarGet( "R" + i ) ), rColor, colorDefault, 0 ); 
			 PlotTextSetFont( StrFormat( "S%0.0f %1.2f", i, SelectedValue( VarGet( "S" + i ) ) ), "Courier New", 8, SelectedValue( DaysFrstBi ), SelectedValue( VarGet( "S" + i ) ), sColor, colorDefault, 0 );
		 }
	 }

	 if( ShDevPvts ) {
		 shift = 7;  
		 lvbi = LastValue( bi );
		 LAx0 = lvbi - shift + 1;
		 LAx1 = lvbi;
	 
		 DaysH = TimeFrameGetPrice( "H", inDaily, 0, expandFirst );
		 DaysL = TimeFrameGetPrice( "L", inDaily, 0, expandFirst );
		 DaysC = TimeFrameGetPrice( "C", inDaily, 0, expandFirst );
		 CalcFloorPvts( DaysH, DaysL, DaysC );

		 Plot( LineArray( LAx0, LastValue( VarGet( "pp" ) ), LAx1, LastValue( VarGet( "pp" ) ) ), "", ppColor, styleNoRescale | styleNoLabel, Null, Null, shift );
		 if( ShDevPvtLabels ) PlotTextSetFont( StrFormat( "PP %1.0f", LastValue( pp ) ), "Courier New", 10, lvbi + shift / 2, LastValue( pp ), ppColor, colorDefault, 0 );
		 for( i = 1; i <= nP; i++ ) {
			 Plot( LineArray( LAx0, LastValue( VarGet( "R" + i ) ), LAx1, LastValue( VarGet( "R" + i ) ) ), "", rColor, styleNoRescale | styleNoLabel, Null, Null, shift );
			 Plot( LineArray( LAx0, LastValue( VarGet( "S" + i ) ), LAx1, LastValue( VarGet( "S" + i ) ) ), "", sColor, styleNoRescale | styleNoLabel, Null, Null, shift );

			 if( ShDevPvtLabels ) {
				 PlotTextSetFont( StrFormat( "R%0.0f %1.0f", i, LastValue( VarGet( "R" + i ) ) ), "Courier New", 10, lvbi + shift / 2, LastValue( VarGet( "R" + i ) ), rColor, colorDefault, 0 );
				 PlotTextSetFont( StrFormat( "S%0.0f %1.0f", i, LastValue( VarGet( "S" + i ) ) ), "Courier New", 10, lvbi + shift / 2, LastValue( VarGet( "S" + i ) ), sColor, colorDefault, 0 );
			 }
		 }
	 }
_SECTION_END();