_SECTION_BEGIN("Unnamed 6");
// E.M.Pottasch, Jul 2010
// from Metastock formula, link:
http://stocata.org/metastock/stop_trail_atr.html
// added separate parameters for upward and downward market environment
function vstop_func(trBull,trBear)
{
trailArray[ 0 ] = C[ 0 ]; // initialize
for( i = 1; i < BarCount; i++ )
{
prev = trailArray[ i - 1 ];
if (C[ i ] > prev AND C[ i - 1 ] > prev)
{
trailArray[ i ] = Max(prev,C[ i ] - trBull[ i ]);
}
else if (C[ i ] < prev AND C[ i - 1 ] < prev)
{
trailArray[ i ] = Min(prev,C[ i ] + trBear[ i ]);
}
else if (C[ i ] > prev)
{
trailArray[ i ] = C[ i ] - trBull[ i ];
}
else
{
trailArray[ i ] = C[ i ] + trBear[ i ];
}
}
return trailArray;
}
per = Param("per",20, 1, 150, 1);
multBull = Param("multBull",2, 1, 4, 0.05);
multBear = Param("multBear",2, 1, 4, 0.05);
trBull = multBull * ATR(per);
trBear = multBear * ATR(per);
trailArray = vstop_func(trBull,trBear);
SetChartBkColor( ParamColor("ColorBG", ColorRGB( 0, 0, 0 ) ) );
GraphXSpace = 5;
SetChartOptions(0, chartShowDates);
Plot(IIf(trailArray > C,trailArray,Null),"\ntrailShort",ParamColor("Colo rTrailShort",ColorRGB(255,0,0)),styleStaircase);
Plot(IIf(trailArray < C,trailArray,Null),"\ntrailLong",ParamColor("Color TrailLong",ColorRGB(0,255,0)),styleStaircase);
Plot( C, "\nCandle",colorWhite, styleCandle );
_SECTION_END();
_SECTION_BEGIN("Unnamed 8");
//ADD THESE LINES.
//Buysell arrows(IF CHART IS BLACK BACKGROUND)
Buy = Cross(C,trailarray);
Sell = Cross(trailarray,C);
//shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
shape = Buy * shapeUpTriangle + Sell * shapeDownTriangle;
PlotShapes( shape, IIf( Buy, colorBrightGreen, colorYellow ), 0, IIf( Buy, Low, High ) );
_SECTION_END();