// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("Volitility Stop"); // fcVS // // volatility stop // // version :1.0 // first release // version :1.1 // fixed buy/short for backtesting and added options SetBarsRequired(1000000, 1000000); SetChartOptions(2,chartShowArrows|chartShowDates); SetTradeDelays(0,0,0,0); period = Param("Period", 13, 1, 240, 1); mult = Param("Multiplier", 1.7, 1, 240, 0.1); showPrice = ParamToggle("Show Price","No|yes",1); showArrows = ParamToggle("Show Arrows","No|yes",1); showRibbon = ParamToggle("Show Ribbon","No|yes",1); f=ATR(period); VS[0] = Close[0]; trend[0] = 0; HighC[0]=0; Lowc[0]=0; for( i = period+1; i < BarCount; i++ ) { vs[i] = vs[i-1]; trend[i] = trend[i-1]; highC[i] = HighC[i-1]; lowc[i] = lowc[i-1]; if ((trend[i]>=0) && ( C[i] VS[i])) { trend[i]=1; HighC[i] = C[i]; lowc[i] = C[i]; } if (trend[i]==-1) { if (C[i]HighC[i]) HighC[i] = C[i]; VS[i]= HighC[i]-(mult*f[i]); } } Buy=Cross(Trend,0); Sell=Cross(0, Trend); Short = Sell; Cover = Buy; if (ShowPrice) Plot(Close,"Close",colorWhite,styleCandle); Plot(VS, "Vol Stop",IIf(trend==1,10,11 ),styleThick); mkol = IIf( Trend==1, 10, 11); if (ShowRibbon) Plot(5, "ribbon", mkol, styleOwnScale|styleArea|styleNoLabel|styleNoTitle, 0, -5); shape = Buy * shapeUpArrow + Sell* shapeDownArrow; if (ShowArrows) PlotShapes( shape, IIf( Buy, colorGreen, colorRed ), 0, IIf( Buy, Low-f, High+f)); _SECTION_END();