コード例 #1
0
 internal SymbolHistory(HistoryView raw)
 {
     Market     = raw.Id.Market;
     Symbol     = raw.Id.Symbol;
     Resolution = raw.Id.Resolution;
     Ticks      = new TimeSerieNavigator <ITradeBar>(raw.Ticks);
 }
コード例 #2
0
 public EMA(int emaPeriod, Func <T, double> valueSelector, TimeSerieNavigator <T> signal, DateTime warmUpTime)
     : base("EMA", signal, warmUpTime)
 {
     ValueSelector = valueSelector;
     Period        = emaPeriod;
     Alpha         = 1d / Period;
 }
コード例 #3
0
 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));
 }
コード例 #4
0
ファイル: ZeroLagMA.cs プロジェクト: frabul/SharpTrader
 /// <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);
 }
コード例 #5
0
 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");
 }
コード例 #6
0
ファイル: BollingerBands.cs プロジェクト: frabul/SharpTrader
 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;
 }
コード例 #7
0
        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);
        }
コード例 #8
0
ファイル: SymbolFeed.cs プロジェクト: frabul/SharpTrader
        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));
        }
コード例 #9
0
ファイル: ZeroLagMA.cs プロジェクト: frabul/SharpTrader
 /// <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)
 {
 }
コード例 #10
0
ファイル: SweptArea.cs プロジェクト: frabul/SharpTrader
 public SweptArea(string name, int period, TimeSerieNavigator <ITradeBar> candles)
     : base(name)
 {
     Period = period;
     Inputs = new RollingWindow <IBaseData>(period);
 }
コード例 #11
0
ファイル: MeanAndVariance.cs プロジェクト: frabul/SharpTrader
 /// <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;
 }
コード例 #12
0
 public TrueRange(string name, TimeSerieNavigator <ITradeBar> chart, DateTime warmUpTime) :
     base(name, chart, warmUpTime)
 {
 }
コード例 #13
0
ファイル: HighPass.cs プロジェクト: frabul/SharpTrader
 public HighPass(string name, int cutOffPeriod, TimeSerieNavigator <TIn> signal, DateTime warmUpTime)
     : base(name, signal, warmUpTime)
 {
     CutoffPeriod = cutOffPeriod;
     alpha        = (double)CutoffPeriod / (1 + CutoffPeriod);
 }
コード例 #14
0
ファイル: MMI.cs プロジェクト: frabul/SharpTrader
 public MarketMeannessIndex(string name, int period, TimeSerieNavigator <ITradeBar> chart) : base(name)
 {
     Period = period;
     Inputs = new RollingWindow <ITradeBar>(period);
 }