public static double Value(ISeries input, int index, int length, double k, BarData barData = BarData.Close) { if (index >= length - 1) { double num = BBL.Value(input, index, length, k, barData); double num2 = BBU.Value(input, index, length, k, barData); return((input[index, barData] - num) / (num2 - num)); } return(double.NaN); }
protected internal override void Calculate(int index) { if (this.calculate) { this.Calculate(); return; } double num = BBL.Value(this.input, index, this.length, this.k, this.barData); if (!double.IsNaN(num)) { base.Add(this.input.GetDateTime(index), num); } }
protected override void OnStrategyStart() { Portfolio.Account.Deposit(AllocationPerInstrument, CurrencyId.USD, "Initial allocation"); bbu = new BBU(Bars, Length, K); bbl = new BBL(Bars, Length, K); sma = new SMA(Bars, Length); AddGroups(); }