[BUG?] Вчерашняя дата в RealTimeEmulationTrader
Atom Ответить
25.08.2011


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

Для сравнения, вывел время свечек, которые приходят в CandleManager.CandlesFinished:
Код
candle = 25.08.2011 10:53:00, market = 24.08.2011 23:32:40

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



Спасибо:




8 Ответов
Alexander

Фотография
Дата: 25.08.2011
Ответить


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

Church

Фотография
Дата: 25.08.2011
Ответить


25. Правда, сейчас уже 26, и непонятно - должна она обновляться при закрытых рынках или нет.
Автор топика
Спасибо:

Alexander

Фотография
Дата: 25.08.2011
Ответить


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

Church

Фотография
Дата: 25.08.2011
Ответить


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

Фотография
Автор статей Программист Трейдер
Дата: 26.08.2011
Ответить


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

Для сравнения, вывел время свечек, которые приходят в CandleManager.CandlesFinished:
Код
candle = 25.08.2011 10:53:00, market = 24.08.2011 23:32:40

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


Может быть это? А вообще нужно сделать по уму, как здесь было предложено. Все что-то ходят, мучаются с этим временем, ждут пока Саша сделает. Нет чтобы сделать и выложить на форум. Мы бы вставили в очередной релиз. Видимо все в Москве живут.
Спасибо:

Alexander

Фотография
Дата: 27.08.2011
Ответить


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

Для сравнения, вывел время свечек, которые приходят в CandleManager.CandlesFinished:
Код
candle = 25.08.2011 10:53:00, market = 24.08.2011 23:32:40

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


Может быть это? А вообще нужно сделать по уму, как здесь было предложено. Все что-то ходят, мучаются с этим временем, ждут пока Саша сделает. Нет чтобы сделать и выложить на форум. Мы бы вставили в очередной релиз. Видимо все в Москве живут.


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

Church

Фотография
Дата: 27.08.2011
Ответить


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

Alexander

Фотография
Дата: 27.08.2011
Ответить


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


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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy