public void Strength_Buy50Sell100_ReturnsNeutral25() { var combinedSignal = new DefensiveCombinedSignal(new BuySignal(50), new SellSignal(100)); var expectedSignal = new NeutralSignal(25); Assert.That(combinedSignal, Is.EqualTo(expectedSignal)); }
public void Strength_Buy100Neutral0_ReturnsNeutral100() { var combinedSignal = new DefensiveCombinedSignal(new BuySignal(100), new NeutralSignal(0)); var expectedSignal = new NeutralSignal(100); Assert.That(combinedSignal, Is.EqualTo(expectedSignal)); }
public void Strength_Sell0Neutral100_ReturnsNeutral50() { var combinedSignal = new OffensiveCombinedSignal(new SellSignal(0), new NeutralSignal(100)); var expectedSignal = new NeutralSignal(50); Assert.That(combinedSignal, Is.EqualTo(expectedSignal)); }
protected Signal GetCurrentSignal(ISignalSeries signals, IPriceSeries indicatorPoints) { if (indicatorPoints.Last().Time < Context.DateUnderAnalysis) { // no data for the DUA return(Signal.None); } // we had data so default is "neutral" Signal currentSignal = new NeutralSignal(); var currentTimedSignal = signals.FirstOrDefault(s => s.Time == Context.DateUnderAnalysis); if (currentTimedSignal != null) { // found a "better" signal for the DUA - take this one currentSignal = currentTimedSignal.Value; } return(currentSignal); }
public void NeutralSignal_WhenCreated_StrengthIs50() { var signal = new NeutralSignal(); Assert.That(signal.Strength.Value, Is.EqualTo(50)); }