Как начать работу только со "свежими" данными

Как начать работу только со "свежими" данными
Atom
3/10/2017
Prival


В NinjaTrader все было просто if (Historical) return; пропускалась вся история и начинаешь работать только со свежими данными. Как это сделать тут ? Пытался сделать вот так,

    private DateTimeOffset _startTime;

    protected override void OnStarted()
    {
        Connector.NewTrades += Connector_NewTrades;
        _startTime = this.StartedTime.DateTime;//+TimeSpan.FromMinutes(1);//ждем 1 мин что бы все подгрузилось, но так тоже не очень хорошо
        Console.WriteLine(@"Время старта = {0}", _startTime.DateTime);
        base.OnStarted();
    }
private void Connector_NewTrades(IEnumerable<StockSharp.BusinessEntities.Trade> trades)
    {
        foreach (var trade in trades)
        {
           if (trade.Time.DateTime<=_startTime) return;
          // но пока грузятся данные уже проходят изменения 
         ......
        }

}

Как лучше (правильнее) пропустить все исторические данные и начать работать только со свежими (вновь поступившими) данными ?




Thanks:


Support

Avatar
Date: 3/10/2017
Reply


TimeSpan _timeError = TimeSpan.FromSeconds(3); // погрешность синхронизации локального и биржевого времени

private void Connector_NewTrades(IEnumerable<StockSharp.BusinessEntities.Trade> trades) { foreach (var trade in trades) {

 if (DateTimeOffset.Now - trade.Time > _timeError) return;
    // но пока грузятся данные уже проходят изменения 

...... }

Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy