Table of Contents

Class Signal

Namespace
Balsam
Assembly
Balsam.Backtester.dll

Encapsulates an integer series of +1/0/-1 trading signals.

public class Signal : IntegerSeries, ISeries, IEnumerable<int>, IEnumerable, ICloneable
Inheritance
Signal
Implements
Inherited Members
Extension Methods

Constructors

Signal()

Initializes a new empty Signal.

public Signal()

Signal(BooleanSeries)

Initializes a new binary Signal using the specified BooleanSeries.

public Signal(BooleanSeries series)

Parameters

series BooleanSeries

Signal(IntegerSeries)

Initializes a new Signal using the specified IntegerSeries.

public Signal(IntegerSeries series)

Parameters

series IntegerSeries

Signal(TimeSeries)

Initializes a new Signal using the specified TimeSeries.

public Signal(TimeSeries series)

Parameters

series TimeSeries

Signal(IEnumerable<DateTime>)

Initializes a new Signal using the specified dates.

public Signal(IEnumerable<DateTime> dates)

Parameters

dates IEnumerable<DateTime>

Properties

SignalType

Gets/sets the signal type.

public SignalType SignalType { get; set; }

Property Value

SignalType

Methods

And(Signal, Signal)

Takes two signals and combines them such that a signal is issued only if both underlying signals agree.

public static Signal And(Signal left, Signal right)

Parameters

left Signal
right Signal

Returns

Signal

And(params Signal[])

Combines multiple signals using and logic. All signals must have the same signal type.

public static Signal And(params Signal[] series)

Parameters

series Signal[]

Returns

Signal

Clone()

Returns a clone of this object.

public Signal Clone()

Returns

Signal

Consecutive(Signal, int)

Converts a signal so that it is only valid if there have been the the specified number of consecutive readings.

public static Signal Consecutive(Signal signal, int consecutiveObs)

Parameters

signal Signal
consecutiveObs int

Returns

Signal

OnAdd(DateTime, int)

Overrides base implementation to add only +1/0/-1.

protected override void OnAdd(DateTime date, int value)

Parameters

date DateTime
value int

Or(Signal, Signal)

Takes two signals are returns a new one if either indicates a signal. Can only be used on like SignalTypes.

public static Signal Or(Signal left, Signal right)

Parameters

left Signal
right Signal

Returns

Signal

Sync(ISeries)

Returns a new Signal synced to the specified series.

public Signal Sync(ISeries series)

Parameters

series ISeries

Returns

Signal

Sync(IEnumerable<DateTime>)

Returns a new Signal synced to the specified dates.

public Signal Sync(IEnumerable<DateTime> syncDates)

Parameters

syncDates IEnumerable<DateTime>

Returns

Signal

ToSignal(TimeSeries, double, double, bool)

Converts a timeseries to a Signal using the specified parameters.

public static Signal ToSignal(TimeSeries series, double buyThreshold, double sellThreshold, bool invert)

Parameters

series TimeSeries
buyThreshold double
sellThreshold double
invert bool

Returns

Signal

Within(Signal, int)

Returns a new signal if there was a signal within the specified lookback (and no opposite signals during the same time).

public static Signal Within(Signal signal, int lookback)

Parameters

signal Signal
lookback int

Returns

Signal