// Downloaded From https://www.WiseStockTrader.com
//Chande's Adaptive Stochastic Oscillator

n=Param("Volatility** lookback length",55,1,377,1);
lenmax=Param(" length Max",34,1,377,1);
lenmin=Param(" length Min",13,1,50,1);
v1=StDev(C,n);
v2=HHV(v1,n);
v3=LLV(v1,n);
v4=((v1-v3)/(v2-v3));
currlen=(int(lenmin+(lenmax-lenmin)*(1-v4)));
hh=HHV(H,LastValue(currlen));
ll=LLV(L,LastValue(currlen));
RawStoch=((C-ll)/(hh-ll))*100;
for( i= 1; i < BarCount; i++ ){
stochma[i]=(.5*RawStoch[i])+(.5*RawStoch[i-1]);
}
Plot(RawStoch, "adapt_stoch",colorBlue,styleLine| styleNoLabel) ;
Plot(stochma, "stochma",colorRed,styleLine| styleNoLabel) ;
Upper = Param("%Upper Level", 80, 0, 100);
Lower = Param("%Lower Level", 20, 0, 100);
Plot(Upper, "", colorBlack, styleDashed| styleNoLabel);
Plot(Lower, "", colorBlack, styleDashed| styleNoLabel);
PlotOHLC( RawStoch, RawStoch,50, RawStoch,"",IIf( RawStoch > 50, ParamColor( "Color1", colorCycle ),ParamColor( "Color2", colorCycle )),styleCloud | styleClipMinMax| styleNoLabel, Lower,Upper);