/// <summary> /// Construct indicators for display /// </summary> /// <returns></returns> string[] GetDisplayIndicators() { string[] indicators = new string[] { _time.ToString(), _EMA.GetSignal().ToString("F5", System.Globalization.CultureInfo.InvariantCulture), (_ATR.GetSignal() * 1000).ToString("F5", System.Globalization.CultureInfo.InvariantCulture), _lastBar.Close.ToString("F5", System.Globalization.CultureInfo.InvariantCulture) }; return(indicators); }
/// <summary> /// /// </summary> /// <returns></returns> public override decimal GetSignal() { decimal fastEMA = _fastEMA.GetSignal(); decimal slowEMA = _slowEMA.GetSignal(); decimal RSI = _RSI.GetSignal(); decimal diff = fastEMA - slowEMA; // Take linear combination of EMA difference and RSI to form new signal decimal signal = diff * _EMA_w + _EMA_b + RSI * _RSI_w + _RSI_b; return(signal); }