// Downloaded From https://www.WiseStockTrader.com
_SECTION_BEGIN("PCT");

SetChartOptions(0,chartShowArrows|chartShowDates,0);
GraphXSpace=12;

mode = ParamList("Display", "Pivot Point|CDP|3 Level Price" );

Plot( C, "",IIf(C>O,4,28), 64+4096);
Plot( SelectedValue(C), "",54,16);

PH = TimeFrameGetPrice( "H", inDaily, -1 ); 
PL = TimeFrameGetPrice( "L", inDaily, -1 );
PC = TimeFrameGetPrice( "C", inDaily, -1 );
PT=PH-PL;

//Pivot Point
DPP=round((PH+PL+PC)/3);
DR3=round(2*DPP-2*PL+PH);
DR2=round(DPP+PT); 
DR1=round(2*DPP-PL);
DS1=round(2*DPP-PH);
DS2=round(DPP-PT);
DS3=round(2*DPP-2*PH+PL);

//CDP
CDP=round((PH+PL+PC*2)/4);
AH=round(CDP+PT);
NH=round(CDP*2-PL);
AL=round(CDP-PT);
NL=round(NH-PT);

//3 Level Price
UP=round(PL+PT*1.382);
MI=round((PH+PL)/2);
DN=round(PH-PT*1.382);

switch( mode ) 
{ 
case "Pivot Point": 
Plot(DPP,"",42,32+512+4096);
Plot( SelectedValue(DPP)  , "",42,16);
Plot(DR3,"",4,32+512+4096);
Plot( SelectedValue(DR3)  , "",4,16);
Plot(DR2,"",4,32+512+4096);
Plot( SelectedValue(DR2)  , "",4,16);
Plot(DR1,"",4,32+512+4096);
Plot( SelectedValue(DR1)  , "",4,16);
Plot(DS1,"",34,32+512+4096);
Plot( SelectedValue(DS1)  , "",34,16);
Plot(DS2,"",34,32+512+4096);
Plot( SelectedValue(DS2)  , "",34,16);
Plot(DS3,"",34,32+512+4096);
Plot( SelectedValue(DS3)  , "",34,16);
break;

case "CDP": 
Plot( CDP,"",42,32+512+4096);
Plot( SelectedValue(CDP)  , "",42,16);
Plot( AH,"",4,32+512+4096);
Plot( SelectedValue(AH)  , "",4,16);
Plot( NH,"",4,32+512+4096);
Plot( SelectedValue(NH)  , "",4,16);
Plot( AL,"",34,32+512+4096);
Plot( SelectedValue(AL)  , "",34,16);
Plot( NL,"",34,32+512+4096);
Plot( SelectedValue(NL)  , "",34,16);
break;

case "3 Level Price": 
Plot( MI,"",42,32+512+4096);
Plot( SelectedValue(MI)  , "",42,16);
Plot( UP,"",4,32+512+4096);
Plot( SelectedValue(UP)  , "",4,16);
Plot( DN,"",34,32+512+4096);
Plot( SelectedValue(DN)  , "",34,16);
break;
}

Title = EncodeColor(44)+Name() +" ( "+Interval(2)+" )    "+EncodeColor(41 )+WriteVal( DateTime(), formatDateTime)+
EncodeColor(54)+ "    "+mode;
_SECTION_END();