public static ISignalSeries Derive(this ISignalSeries self, ObjectDescriptor type, Func <TimedValue <DateTime, Signal>, TimedValue <DateTime, Signal> > converter) { var convertedSignals = self.Select(s => converter(s)); var identifier = self.Identifier.Derive(type); var series = SignalSeries.FromSortedSet(self.Reference, identifier, convertedSignals); return(series); }
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 SignalSeries(ISignalSeries series) : base(series) { Reference = series.Reference; }
public SignalSeriesSection( string name, ISignalSeries signals ) : base(name) { Signals = signals; }
public void SetSignals(ISignalSeries signals) { Signals = new SignalCurve(signals); Signals.ViewPort = ViewPort; }
public SignalSeriesRange(ISignalSeries series, int from, int to) : base(series, from, to) { mySeries = series; }
public SignalSeriesRange(ISignalSeries series, ClosedInterval <int> interval) : this(series, interval.Min, interval.Max) { }
public SignalSeriesSection(string name, ISignalSeries signals) : base(name) { Signals = signals; }
public void SetSignals( ISignalSeries signals ) { Signals = new SignalCurve( signals ); Signals.ViewPort = ViewPort; }