← Zurück

[BUG?] Вчерашняя дата в RealTimeEmulationTrader<QuikTrader>

Только что появилась проблема - Trader.MarketTime начал показывать вчерашнюю дату. Проблема появилась буквально несколько часов назад, в начале вечерки ее еще не было.

Для сравнения, вывел время свечек, которые приходят в CandleManager.CandlesFinished:

candle = 25.08.2011 10:53:00, market = 24.08.2011 23:32:40

Соответственно, в квике все таблицы показывают корректную сегодняшнюю дату.

War dieses Thema hilfreich?

Thema teilen

Kommentare (8)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Alexander
Alexander

А внизу квика, слева, какая дата выводится?

Church
Church Autor
  1. Правда, сейчас уже 26, и непонятно - должна она обновляться при закрытых рынках или нет.
Alexander
Alexander

странно что CandlesFinished в середине вечерки у вас выводит 10 утра, а market выводит вчерашнюю дату. какое время установлено на компе? что писалось в квике в то время, когда выводились свечки? перегружаете ли RealTimeEmulationTrader?

Church
Church Autor

RealTimeEmulationTrader не перегружаю. Происходит ли такое с реальным QuikTrader'ом - пока не знаю, не останавливал рабочий, запущенный несколькими часами ранее. На компе время корректное, тогда было 25. Что было в квике в правом углу в то время - не обратил внимания...

Думаю, виноват брокер. Завтра позвоню и узнаю, в чем проблема.

А пока что, может быть подскажете более робастый способ обрабатывать историю? Я пока что делаю это через подписку на CandlesFinished и обрабатываю пакеты, которые он возвращает по мере формирования свечек, до тех пор пока их время не станет = рыночному. GetLastCandles идеален, но как узнать, когда CandleManager закончил формировать нужные свечки?

// Обработчик новых свечек
private void ProcessCandles(CandleToken token, IEnumerable<Candle> candles)
{
    CancelActiveOrders();

    if (token != _candleToken) return;
    foreach (var candle in candles)
    {
        ...

        if (!Working)
            if (candle.Time + _timeFrame + _timeFrame > Trader.MarketTime)
            {
                Working = true;
                this.AddInfoLog("История обработана.");
                BeginCoreCycle();
            }
                        
    }

    Traded = false;
}

Буду очень признателен.

Mikhail Sukhov
Mikhail Sukhov

Church: Только что появилась проблема - Trader.MarketTime начал показывать вчерашнюю дату. Проблема появилась буквально несколько часов назад, в начале вечерки ее еще не было.

Для сравнения, вывел время свечек, которые приходят в CandleManager.CandlesFinished:

candle = 25.08.2011 10:53:00, market = 24.08.2011 23:32:40

> Соответственно, в квике все таблицы показывают корректную сегодняшнюю дату.

Может быть [это](http://stocksharp.com/forum/1811/MarketTime/)? А вообще нужно сделать по уму, как здесь [было предложено](http://stocksharp.com/forum/1425/BaseTrader-MartketTime--priedlozhieniie/). Все что-то ходят, мучаются с этим временем, ждут пока Саша сделает. Нет чтобы сделать и выложить на форум. Мы бы вставили в очередной релиз. Видимо все в Москве живут.
Alexander
Alexander

Mikhail Sukhov:

Church: Только что появилась проблема - Trader.MarketTime начал показывать вчерашнюю дату. Проблема появилась буквально несколько часов назад, в начале вечерки ее еще не было.

Для сравнения, вывел время свечек, которые приходят в CandleManager.CandlesFinished:

candle = 25.08.2011 10:53:00, market = 24.08.2011 23:32:40

> > Соответственно, в квике все таблицы показывают корректную сегодняшнюю дату.
> 
> Может быть [это](http://stocksharp.com/forum/1811/MarketTime/)? А вообще нужно сделать по уму, как здесь [было предложено](http://stocksharp.com/forum/1425/BaseTrader-MartketTime--priedlozhieniie/). Все что-то ходят, мучаются с этим временем, ждут пока Саша сделает. Нет чтобы сделать и выложить на форум. Мы бы вставили в очередной релиз. Видимо все в Москве живут.

Да, проблема как раз с этим связана.
Решил не делать получение времени через NTP сервер, т.к. там есть проблема с работой через прокси.
Church
Church Autor

Но у меня московский часовой пояс... Вряд ли у сервера провайдера другой, время в таблицах совпадает с компьютерным.

Alexander
Alexander

Church: Но у меня часовой московский часовой пояс... Вряд ли у сервера провайдера другой, время в таблицах совпадает с компьютерным.

Периодически время в левом углу квика работает неверно. В 3.2.11 будет кое-что на эту тему.