← Назад

RealtimeEmulationTrader - неправильные свечи

Здравствуйте! Никак не могу разобраться в следующем: При тестировании с помощью RealtimeEmulationTrader (пример SampleRealTimeTesting) приходят свечки, отличающиеся от финамовских. С чем это может быть связано?

В примерах меняю таймфрейм на 1 мин и после формирования candle вывожу в файл ее свойства в следующем формате <DATE> <TIME> <OPEN> <HIGH> <LOW> <CLOSE>:

Cвечки из Квика для RIZ1: <DATE> <TIME> <OPEN> <HIGH> <LOW> <CLOSE> 06.12.2011 11:19:00 153135 153150 153105 153145 06.12.2011 11:20:00 153160 153160 153110 153110 06.12.2011 11:21:00 153080 153115 152955 152985 Свечки через СмартКом: 06.12.2011 11:19:00 153135 153150 153105 153145 06.12.2011 11:20:00 153160 153160 153120 153140 06.12.2011 11:21:00 153080 153115 152955 152990 С Финама (указываю как и нужно время начала свечи): 20111206 111900 153135 153290 153105 153165 2097 20111206 112000 153160 153160 152905 153095 2814 20111206 112100 153080 153115 152945 153030 1344

Тоже и с Лукойл. Причем объем на Финаме гораздо больше: Квик: <DATE> <TIME> <OPEN> <HIGH> <LOW> <CLOSE> <VOL> 06.12.2011 14:27:00 1727,4 1727,4 1727,3 1727,3 353 06.12.2011 14:28:00 1725,4 1725,9 1725,4 1725,9 180 06.12.2011 14:29:00 1725,4 1725,8 1725 1725,8 579 06.12.2011 14:30:00 1725,5 1726,2 1725,3 1726,2 518 Финам: 20111206 1427 1727.4 1727.4 1724.8 1725.9 4071 20111206 1428 1725.4 1725.9 1724 1725.5 3356 20111206 1429 1725.4 1726.9 1723 1725.2 5500 20111206 143 1725.5 1727.7 1725.3 1727.2 2275

Такое ощущение, что с квика приходит только малая часть всех сделок.

Комментарии (20)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Alexander
Alexander

Версия S#? Если использовать не RealtimeEmulationTrader, а напрямую Trader?

Lera
Lera Автор

4.0.7 но тоже самое наблюдала и с 4.0.4, которая была до этого

Alexander
Alexander

Lera: 4.0.7 но тоже самое наблюдала и с 4.0.4, которая была до этого

Если использовать не RealtimeEmulationTrader, а напрямую Trader?

этот вопрос остался пока без ответа

Mikhail Sukhov
Mikhail Sukhov

А на графиках в самом Квике какие значения?

Lera
Lera Автор

Если напрямую Trader, то тоже самое..

Quik: 06.12.2011 21:42:00 146230 146265 146225 146260 68 06.12.2011 21:43:00 146265 146275 146180 146180 42 06.12.2011 21:44:00 146005 146005 145900 145930 522 06.12.2011 21:45:00 145975 146025 145975 146015 170

Финам: 20111206 214200 146230 146310 146155 146225 782 20111206 214300 146265 146275 146000 146010 1163 20111206 214400 146005 146045 145855 145950 1606 20111206 214500 145975 146145 145975 146085 874

Lera
Lera Автор

На графиках в Квике правильные свечки

Alexander
Alexander

Не подтверждается у меня по тестам. Постройте свечки в примере SampleCandles и прикрепите скриншот неверных свечек. Лучше - если свечки будут до клиринга, после клиринга время сдвинуто, об этой проблеме известно, лечим.

Lera
Lera Автор

Alexander Mukhanchikov: Не подтверждается у меня по тестам. Постройте свечки в примере SampleCandles и прикрепите скриншот неверных свечек. Лучше - если свечки будут до клиринга, после клиринга время сдвинуто, об этой проблеме известно, лечим.

Прикрепляю скрин

Alexander
Alexander

На скриншоте 5-минутка: Объём 11931, время 12:30.

В квике - всё аналогично.

Где конкретно у вас расходятся данные с квиком?

Lera
Lera Автор

Alexander Mukhanchikov: На скриншоте 5-минутка: Объём 11931, время 12:30.

В квике - всё аналогично.

Где конкретно у вас расходятся данные с квиком?

Изучила доскональнее: До 14:00 объем и закрытия правильные В 14:00: Volume на графике 31724 Close 146800, в квике 13653 Close 146885 И после 14 все неправильно: и объем и закрытие, те как раз после промежуточного клиринга Теперь понятно, спасибо

Alexander
Alexander

будет фикс сегодня, известно

Lera
Lera Автор

Спасибо. В продплжение темы:

Создаю 2 свечки следующим образом: _candleManager.CandlesStarted += (token, candles) => { var candle1 =_candleManager.GetTimeFrameCandle(_riz1, _timeFrame, 0); var candle2 =_candleManager.GetTimeFrameCandle(_riz1, _timeFrame, 1);

                        if (candle1 != null)
                        {
                            f.WriteLine("{0} {1} {2} {3} {4} {5} {6}",trader.MarketTime, candle1.Time, candle1.OpenPrice, candle1.HighPrice, candle1.LowPrice, candle1.ClosePrice,candle1.TotalVolume);
                            f.WriteLine("{0} {1} {2} {3} {4} {5} {6}",trader.MarketTime, candle2.Time, candle2.OpenPrice, candle2.HighPrice, candle2.LowPrice, candle2.ClosePrice,candle2.TotalVolume);

                        }
                    };

1-ая свеча текущая, 2-ая предпоследняя. Вывожу в файл и вижу, что предпоследняя свеча правильная, а текущая нет

<MARKET TIME> <CANDLE TIME> <OPEN> <HIGH> <LOW> <CLOSE>

08.12.2011 13:47:11 08.12.2011 13:46:00 149180 149200 149145 149160 691 08.12.2011 13:47:11 08.12.2011 13:45:00 149025 149200 148950 149195 3967

08.12.2011 13:47:59 08.12.2011 13:47:00 149205 149210 149200 149200 7 08.12.2011 13:47:59 08.12.2011 13:46:00 149180 149325 149075 149205 5730

08.12.2011 13:49:00 08.12.2011 13:48:00 149250 149265 149245 149265 21 08.12.2011 13:49:00 08.12.2011 13:47:00 149205 149295 149165 149280 1964

08.12.2011 13:50:00 08.12.2011 13:49:00 149210 149210 149210 149210 1 08.12.2011 13:50:00 08.12.2011 13:48:00 149250 149275 149175 149210 1732

08.12.2011 13:51:00 08.12.2011 13:50:00 149135 149135 149135 149135 1 08.12.2011 13:51:00 08.12.2011 13:49:00 149210 149265 149110 149115 1636

Finam: 20111208,134500,149025.00000,149200.00000,148950.00000,149195.00000,3967 20111208,134600,149180.00000,149325.00000,149075.00000,149205.00000,5730 20111208,134700,149205.00000,149295.00000,149165.00000,149280.00000,1964 20111208,134800,149250.00000,149275.00000,149175.00000,149210.00000,1732 20111208,134900,149210.00000,149265.00000,149110.00000,149115.00000,1636

Т.е. GetTimeFrameCandle возращает неправильную последнюю свечку Непонятно, почему так происходит?

Alexander
Alexander

Не увидел расхождений с финамом. Где конкретно?

Lera
Lera Автор

Alexander Mukhanchikov: Не увидел расхождений с финамом. Где конкретно?

Расхождений нет, но только в предпоследней свечке. А последняя, текущая свечка как раз неправильная. Например, в 13:50 я ожидаю увидеть свечку 13:49 (где 13:49 - время начала свечи, 13:40 - окончания) и получаю неверные значение:

<MARKET TIME> <CANDLE TIME> <OPEN> <HIGH> <LOW> <CLOSE> 08.12.2011 13:50:00 08.12.2011 13:49:00 149210 149210 149210 149210 1

А верное приходит только в 13:51: 08.12.2011 13:51:00 08.12.2011 13:49:00 149210 149265 149110 149115 1636

Alexander
Alexander

Lera:

Alexander Mukhanchikov: Не увидел расхождений с финамом. Где конкретно?

Расхождений нет, но только в предпоследней свечке. А последняя, текущая свечка как раз неправильная. Например, в 13:50 я ожидаю увидеть свечку 13:49 (где 13:49 - время начала свечи, 13:40 - окончания) и получаю неверные значение:

<MARKET TIME> <CANDLE TIME> <OPEN> <HIGH> <LOW> <CLOSE> 08.12.2011 13:50:00 08.12.2011 13:49:00 149210 149210 149210 149210 1

А верное приходит только в 13:51: 08.12.2011 13:51:00 08.12.2011 13:49:00 149210 149265 149110 149115 1636

Вы получаете текущую свечку которая ещё формируется, естественно она ещё не до конца готова, отсюда и данные такие.

Lera
Lera Автор

Видимо я что-то недоронимаю..Я думала свечка 13:49 формируется с 13:49 до 13:50, и в 13:50 я могу ее получить? Или когда она заканчивает формироваться?

Alexander
Alexander

Lera: Видимо я что-то недоронимаю..Я думала свечка 13:49 формируется с 13:49 до 13:50, и в 13:50 я могу ее получить? Или когда она заканчивает формироваться?

Когда пришла хоть 1 сделка для новой свечки - для свечки с новым временем.

Lera
Lera Автор

Прошу прощения за такое количество походих вопросов по свечкам.. Продолжаю тест свечек... Событие окончания формирования свечи 10:33 приходит в 10:35, а не в 10:34:

10:35:00 752 candle finished 09.12.2011 10:33:00 143350 143380 143190 143300

И что касается 5-минуток, тоже задержка в минуту: свечка 10:50 заканчивает формироваться в 10:55:59, а не в 10:55:00

10:55:59 539 candle finished 09.12.2011 10:50:00 142070 142080 141055 141590 11:05:59 859 candle finished 09.12.2011 11:00:00 141345 141390 140405 140425 11:10:59 704 candle finished 09.12.2011 11:05:00 140445 140650 140155 140335

Так и должно быть?

Mikhail Sukhov
Mikhail Sukhov

Lera: Так и должно быть?

Случаем на компе время на минуту не спешит с биржевым?

Lera
Lera Автор

Действительно спешит! Хотя и настроенр на автоматическую синхронизацию Спасибо большое, все встало на свои места