internal SymbolHistory(HistoryView raw) { Market = raw.Id.Market; Symbol = raw.Id.Symbol; Resolution = raw.Id.Resolution; Ticks = new TimeSerieNavigator <ITradeBar>(raw.Ticks); }
public EMA(int emaPeriod, Func <T, double> valueSelector, TimeSerieNavigator <T> signal, DateTime warmUpTime) : base("EMA", signal, warmUpTime) { ValueSelector = valueSelector; Period = emaPeriod; Alpha = 1d / Period; }
internal SymbolHistory(HistoryView raw, DateTime startOfData, DateTime endOfData) { Market = raw.Id.Market; Symbol = raw.Id.Symbol; Resolution = raw.Id.Resolution; Ticks = new TimeSerieNavigator <ITradeBar>(raw.Ticks.Where(t => t.Time >= startOfData && t.Time <= endOfData)); }
/// <summary> /// Initializes a new instance of the <see cref="MeanAndVariance"/> class using the specified name and period. /// </summary> public ZeroLagMA(string name, int period, TimeSerieNavigator <ITradeBar> chart, DateTime warmUpTime) : base(name, chart, warmUpTime) { Period = period; Inputs = new RollingWindow <ITradeBar>(Period); Outputs = new RollingWindow <ZeroLagMARecord>(Period); }
public AverageTrueRange(string name, int period, TimeSerieNavigator <ITradeBar> chart, DateTime warmUpTime) : base(name, chart, warmUpTime) { TrueRanges = new RollingWindow <IndicatorDataPoint>(period + 1); Period = period; TrueRange = new TrueRange($"{name} Companion"); }
public BollingerBands(string name, int period, double deviation, TimeSerieNavigator <ITradeBar> data, DateTime warmUpTime) : base(name, data, warmUpTime) { MeanAndVariance = new MeanAndVariance($"{name} Companion", period); Period = period; Deviation = deviation; }
public Indicator(string name, TimeSerieNavigator <TIn> signal, DateTime warmUpTime) : this(name) { Name = name; Signal = new TimeSerieNavigator <TIn>(signal); Signal.SeekNearestBefore(warmUpTime); while (Signal.MoveNext()) { this.Update(Signal.Current); } signal.OnNewRecord += rec => Update(rec); }
public virtual Task <TimeSerie <ITradeBar> > GetHistoryNavigator(DateTime historyStartTime) { //todo fetch history from database TimeSerie <ITradeBar> newNavigator = new TimeSerie <ITradeBar>(); //consolidate the currently available data using (var navigator = new TimeSerieNavigator <ITradeBar>(this.DataSource.Ticks)) { //add all records up to current time navigator.SeekNearestBefore(historyStartTime); while (navigator.MoveNext() && navigator.Time <= this.DataSource.Ticks.Time) { newNavigator.AddRecord(navigator.Current); } } return(Task.FromResult(newNavigator)); }
/// <summary> /// Initializes a new instance of the <see cref="MeanAndVariance"/> class using the specified period. /// </summary> public ZeroLagMA(SymbolInfo symbol, int period, TimeSerieNavigator <ITradeBar> chart, DateTime warmUpTime) : this($"ZLMA {symbol.Key} {period}", period, chart, warmUpTime) { }
public SweptArea(string name, int period, TimeSerieNavigator <ITradeBar> candles) : base(name) { Period = period; Inputs = new RollingWindow <IBaseData>(period); }
/// <summary> /// Initializes a new instance of the <see cref="MeanAndVariance"/> class using the specified period. /// </summary> public MeanAndVariance(string name, int period, TimeSerieNavigator <ITradeBar> chart, DateTime warmUpTime) : base(name, chart, warmUpTime) { Inputs = new RollingWindow <ITradeBar>(Period); Period = period; }
public TrueRange(string name, TimeSerieNavigator <ITradeBar> chart, DateTime warmUpTime) : base(name, chart, warmUpTime) { }
public HighPass(string name, int cutOffPeriod, TimeSerieNavigator <TIn> signal, DateTime warmUpTime) : base(name, signal, warmUpTime) { CutoffPeriod = cutOffPeriod; alpha = (double)CutoffPeriod / (1 + CutoffPeriod); }
public MarketMeannessIndex(string name, int period, TimeSerieNavigator <ITradeBar> chart) : base(name) { Period = period; Inputs = new RollingWindow <ITradeBar>(period); }