public static TR2DSeries Series(Bars bars) { string description = string.Concat(new object[] { "True Range Two Days()" }); if (bars.Cache.ContainsKey(description)) { return((TR2DSeries)bars.Cache[description]); } TR2DSeries _TR2DSeries = new TR2DSeries(bars, description); bars.Cache[description] = _TR2DSeries; return(_TR2DSeries); }
public DevStops(Bars bars, int period, double trFactor, double sdFactor, string description) : base(bars, description) { TR2DSeries tr2d = TR2DSeries.Series(bars); this.FirstValidValue = period; DataSeries avg = Community.Indicators.FastSMA.Series(tr2d, period * 2); StdDev sd = StdDev.Series(tr2d, period * 2, StdDevCalculation.Sample); for (int bar = FirstValidValue; bar < bars.Count; bar++) { base[bar] = trFactor * avg[bar] + sdFactor * sd[bar]; } }