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

_SECTION_BEGIN(" ");
fs=Param("font size",13,10,100,1);
GfxSelectFont("french script mt", fs, 700, True ); 
GfxSetBkMode( colorRed ); 
GfxSetTextColor( ParamColor("color",colorYellow) ); 
GfxTextOut("H="+H+" ",340,0); 
GfxTextOut("O="+O+" ",240,0); 
GfxTextOut("L="+L+" ",440,0); GfxTextOut("C="+C+" " ,540,0);
 
_SECTION_END();

_SECTION_BEGIN("Elliot Wave");
SetChartOptions(1, chartShowDates);   // put dates at bottom of chart

pr = Param("Elliot Wave minimum % move", 2, 1, 100);
// Beginner Elliot Wave stuff 
EWpk = PeakBars(H, pr, 1) == 0;
EWtr = TroughBars(L, pr, 1) == 0;

// Intermediate Elliot Wave stuff 
zz = Zig(C, pr);
zzHi = Zig(H, pr);
zzLo = Zig(L, pr);
Avg = (zzHi+zzLo)/2;

// Advanced Elliot Wave stuff 
RetroSuccessSecret = IIf(EWpk, zzHi, IIf(EWtr, zzLo, IIf(Avg > Ref(Avg,-1), H, L)));
EW = Zig(RetroSuccessSecret, pr);

// Plot on price chart 
Plot(C, "Close", colorBrightGreen, styleCandle);
Plot(EW, "EW", colorBlue, styleLine);

// Plot buy and sell arrows 
Buy = TroughBars(EW, pr, 1) == 0;
Sell = PeakBars(EW, pr, 1) ==0;
Buy = ExRem(Buy, Sell);
Sell = ExRem(Sell, Buy);
PlotShapes( shapeSmallUpTriangle * Buy, colorBrightGreen, 0, Low );
PlotShapes( shapeSmallDownTriangle * Sell, colorRed, 0, High );

_SECTION_END();

_SECTION_BEGIN("Elliot Wave");
k = (GetPerformanceCounter()/100)%100; 
printf("GetPerformance Counter %g",k);
GfxSelectFont("jokerman", 14,800); 
GfxSetBkMode(1); 
GfxSetTextColor(colorCustom12); 
GfxTextOut("Elliot Wave+Automatic Fib Levels",300+k,30); 
RequestTimedRefresh(10); 
_SECTION_END();



_SECTION_BEGIN("Automatic Fib Levels");
 /*--------------------------------------------------- 
Automatic Fib Levels 
Aron Pipa, December, 11, 2005 
modified by Kook 30 December 2005 
--------------------------------------------------------*/ 

GraphXSpace=2; 
Plot(C,"", colorBlack,styleCandle|styleNoLabel); 

// Get values for fib levels 

StartBar=SelectedValue(BarIndex()); 
FinishBar = EndValue( BarIndex() ); 
i = startbar; 
period = FinishBar - StartBar; 

Lo =LLV(L,period); 
Hi = HHV(H,period); 
Line0 = 0; 
Line1 = 0; 
Line2 = 0; 
Line3 = 0; 
Line4 = 0; 
Line5 = 0; 
Line6 = 0;
Line7 = 0; 
Line100 = 0; 

for( i = startbar; i < finishbar; i++ ) 
{ 
if(EndValue(C)<SelectedValue(C)) 
{ 
Line0 = EndValue(Lo); 
Line100 = EndValue(Hi); 
Line1 = Line0 + abs(Line100-Line0)*0.382; 
Line2 = Line0 + abs(Line100-Line0)*0.5; 
Line3 = Line0 + abs(Line100-Line0)*0.618; 
Line4 = Line0 + abs(Line100-Line0)*0.764; 
Line5 = Line0 + abs(Line100-Line0)*0.236; 
Line6 = Line0 + abs(Line100-Line0)*0.14; 
Line7 = Line0 + abs(Line100-Line0)*0.88; 
} 
else 
{ 
Line100 = EndValue(Lo); 
Line0 = EndValue(Hi); 
Line1 =Line0 - abs(Line100-Line0)*0.382; 
Line2 = Line0 - abs(Line100-Line0)*0.5; 
Line3 = Line0 - abs(Line100-Line0)*0.618; 
Line4 = Line0 - abs(Line100-Line0)*0.764; 
Line5 = Line0 - abs(Line100-Line0)*0.236; 
Line6 = Line0 - abs(Line100-Line0)*0.147; 
Line7 = Line0 - abs(Line100-Line0)*0.88; 
} 
} 

// external fib lines begining fom selecetdbarindex() 
fib0= LineArray(startbar, Line0, finishbar, Line0, 0, 1); 
fib100 = LineArray(startbar, Line100, finishbar, Line100, 0, 1); 

// depth of middle lines 
n= round((finishbar-startbar)/2); 

// middle lines 
fib1= LineArray((finishbar-n), Line1, finishbar, Line1, 0, 1); 
fib2= LineArray((finishbar-n), Line2, finishbar, Line2, 0, 1); 
fib3= LineArray((finishbar-n), Line3, finishbar, Line3, 0, 1); 
fib4= LineArray((finishbar-n), Line4, finishbar, Line4, 0, 1); 
fib5= LineArray((finishbar-n), Line5, finishbar, Line5, 0, 1); 
fib6= LineArray((finishbar-n), Line6, finishbar, Line6, 0, 1); 
fib7= LineArray((finishbar-n), Line7, finishbar, Line7, 0, 1);


Plot(fib0,"", colorWhite,styleDots|styleNoTitle); 
Plot(fib100,"", colorWhite,styleDots|styleNoTitle); 
Plot(fib1,"38.2%=", colorBrightGreen,32+styleThick|styleNoTitle); 
Plot(fib2,"50%=", colorYellow,1+styleThick|styleNoTitle); 
Plot(fib3,"61.8%=", colorPink,32+styleThick|styleNoTitle); 
Plot(fib4,"76.4%=", colorBrightGreen,32+styleThick|styleNoTitle); 
Plot(fib5,"23.6%=", colorTurquoise,32+styleThick|styleNoTitle); 
Plot(fib6,"14%=",colorPink,32+styleThick|styleNoTitle); 
Plot(fib7,"88%=", colorCustom11,32+styleThick|styleNoTitle); 

Title = "FIB"  + "@ "  + Interval(2) + EncodeColor() + "  & " + Date() 


+"\n"+EncodeColor(colorBlue)+"--------------------------------------"

+"\n"+EncodeColor(colorWhite)+ "100%= "+WriteVal(line100,format=1.2)
+"\n"+EncodeColor(colorCustom11)+"89% = "+WriteVal(line7,format=1.2)
+"\n"+EncodeColor(colorBrightGreen)+"76.4% = "+WriteVal(line4,format=1.2)
+"\n"+EncodeColor(colorPink)+"61.8% = "+WriteVal(line3,format=1.2) 
+"\n"+EncodeColor(colorYellow)+"50% = "+WriteVal(line2,format=1.2) 
+"\n"+EncodeColor(colorBrightGreen)+"38.6% = "+WriteVal(line1,format=1.2) 
+"\n"+EncodeColor(colorCustom11)+"23.6%= "+WriteVal(line5,format=1.2)
+"\n"+EncodeColor(colorPink)+"14%%= "+WriteVal(line6,format=1.2)    
+"\n"+EncodeColor(colorWhite)+"0%= "+WriteVal(line0,format=1.2); 


 

_SECTION_END();


_SECTION_BEGIN("Pivot and Support Resistance Lines ");

per1=Param("#1 S/R %", .25,.05,5,.05);
LB1=Param("#1 Lookback Period",2,2,30,1);
per2=Param("#2 S/R %", .5 ,.05,5,.05);
LB2=Param("#2 Lookback Period",2,2,30,1);
per3=Param("#3 S/R %", 2,.05,5,.05);
LB3=Param("#3 Lookback Period",2,2,30,1);
color=ParamColor("S/R Color",colorBlue);
colorPP=ParamColor("PP Color",colorGrey50);
////////////////////////////////////////////////////////////////////////
////Pivot and Support Resistance Lines /////////////////////////////
////Plots a daily and hourly Pivot Point on 1min, 5min, etc... charts //
//////// Also, 3 adjustable S/R lines///////////////////////////////////
////////////////////////////////////////

/////////////////////////////PIVOT POINT////////////////////////////////
TimeFrameSet(inDaily);
AVGd = Ref((L + H + C),-1)/3;
" PPd:\t "+ AVGd;
TimeFrameRestore();
Plot( TimeFrameExpand(AVGd,inDaily,expandFirst),"",colorPP,styleStaircase);

TimeFrameSet(inHourly);
AVGh = Ref((L + H + C),-1)/3;
" PPh:\t "+ Avgh;
TimeFrameRestore();
Plot( TimeFrameExpand(AVGh,inHourly,expandFirst),"",colorPP,styleStaircase);

//////////////////////////S?R LINES 1/////////////////////////////////////
procedure SRlines(per,Lb)
{
ys0=LastValue(Trough(L,per,Lb));
ys1=LastValue(Trough(L,per,Lb-1));
xs0=BarCount - 1 - LastValue(TroughBars(L,per,Lb));
xs1=BarCount - 1 - LastValue(TroughBars(L,per,Lb-1));
yr0=LastValue(Peak(H,per,Lb));
yr1=LastValue(Peak(H,per,Lb-1));
xr0=BarCount - 1 - LastValue(PeakBars(H,per,Lb));
xr1=BarCount - 1 - LastValue(PeakBars(H,per,Lb-1));
sl = LineArray( xs0, ys0, xs1, ys1,1 );
rL = LineArray( xr0, yr0, xr1, yr1,1 );
Plot( sl, "S line", color,1 );
Plot( rl, "R line", color,1 );
}
//////////////////////////S?R LINES 2/////////////////////////////////////

SRlines(per1,Lb1);
SRlines(per2,Lb2);
SRlines(per3,Lb3);
_SECTION_END();

_SECTION_BEGIN("Volume");
Plot( Volume, _DEFAULT_NAME(), ParamColor("Color", colorBlueGrey ), ParamStyle( "Style", styleHistogram | styleOwnScale | styleThick, maskHistogram  ), 2 );
_SECTION_END();