Два вопроса
- Почему иногда события свечек вызываются в следующем порядке 2011-02-11 23:00:00.4416 Info OnNewCandles 11.02.2011 <mark>23:00:00</mark> (время свечи) 2011-02-11 23:00:00.4416 Info <mark>OnCandlesChanged</mark> 11.02.2011 22:45:00 2011-02-11 23:00:00.4416 Info OnCandlesFinished 11.02.2011 22:45:00
то есть нет гарантии что после появления новой свечи старая неизменна?
- Почему при подписке на эти события они возвращают данные не с момента подписки а с начала дня? То есть ожидая только актуальные свечки я получаю все свечки дня...
Комментарии (2)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Типичная ситуация, пришли тики за 2 тайм-фрейма. Они обрабатываются CandleManager. Итог, два события - появление новой свечки, и обновление старой.
Так работает QuikTrader, Квик + ДДЕ.
Именно так. Поэтому и ввел интерфейс ICandleSource.
Хм, означает ли это что Квик получает тики не отсортированные по оси времени? То есть за тиком в новом тайфрейме приходит тик в старом? Сомневаюсь, что окно все сделки (источник данных для CandleManager) собержит такие данные. Поправь меня если я неправ
Вообще, для меня текущий порядок вызовов этих событий достаточно странный - сначала OnNewCandles затем OnCandlesFinished По моему, <mark>естественный</mark> порядок для пользователя должен быть несколко иной, ведь для нас события по оси времени линейны... старая свеча закончилась, новая началась
10:59.59 - последник тик старого таймфрейма OnCandlesChanged(старая свеча) 11:00.01 - первый тик нового таймфрейма, OnCandlesFinished(старая свеча), OnNewCandles(новая "плоская" свеча O=H=L=C) 11:00.03 - тик нового таймфрейма, OnCandlesChanged(текушая свеча)
Я это понимаю, ты просто строишь свечи на основе тех данный, которые есть в окне все сделки. Однако это <mark>особенность реализации</mark> Для пользователя смотрящего на API и читающего документацию это <mark>тайна</mark> Мне кажется, естественно предполагать, что эти события будут генерить данные актуальный свечей с момента подписки на событие тем более,что для получения прошлый свечек у тебя есть прекрасный метод GetTimeFrameCandles :)
Вообщем к чему я это все - любое поведение компонентов библиотеки должно быть либо однозначно предсказуемо либо однозначно документировано
Не совсем понял, при чем здесь это, сорри