SetUpdateCallback - как определить что начали приходить Не исторические данные.

Страницы: 1
RSS
SetUpdateCallback - как определить что начали приходить Не исторические данные., SetUpdateCallback - как определить что начали приходить Не исторические данные.
 
Подскажите пожалуйста, вот я вызываю SetUpdateCallback - предположим по Газпрому по дневному интервалу и в колбек  начинают приходить данные, но сначала приходят исторические данные, а не реальные онлайн изменения цены сделки.
И вот вопрос: а как мне тогда определить, что данные которые начали приходить в колбек - уже реальные изменения цены купли/продажи - чтобы я на них реагировал, а не исторические данные ?

Использовать счетчик свечей не предлагать - так как он естественно работать не будет: потому что ну пришел индекс последней Дневной свечи к примеру 100 датированная сегодняшним днем, начала пришли за половину дня исторические данные, а потом начали приходить онлайн изменения - НО индекс свечи все равно будет тот же - так как день еще не прошел.
 
Цитата
Saturn написал:
Подскажите пожалуйста, вот я вызываю SetUpdateCallback - предположим по Газпрому по дневному интервалу и в колбек  начинают приходить данные, но сначала приходят исторические данные, а не реальные онлайн изменения цены сделки.
И вот вопрос: а как мне тогда определить, что данные которые начали приходить в колбек - уже реальные изменения цены купли/продажи - чтобы я на них реагировал, а не исторические данные ?

Использовать счетчик свечей не предлагать - так как он естественно работать не будет: потому что ну пришел индекс последней Дневной свечи к примеру 100 датированная сегодняшним днем, начала пришли за половину дня исторические данные, а потом начали приходить онлайн изменения - НО индекс свечи все равно будет тот же - так как день еще не прошел.
используйте OnParam или OnAllTrade
 
Цитата
nikolz написал:
Цитата
Saturn написал:
Подскажите пожалуйста, вот я вызываю SetUpdateCallback - предположим по Газпрому по дневному интервалу и в колбек  начинают приходить данные, но сначала приходят исторические данные, а не реальные онлайн изменения цены сделки.
И вот вопрос: а как мне тогда определить, что данные которые начали приходить в колбек - уже реальные изменения цены купли/продажи - чтобы я на них реагировал, а не исторические данные ?

Использовать счетчик свечей не предлагать - так как он естественно работать не будет: потому что ну пришел индекс последней Дневной свечи к примеру 100 датированная сегодняшним днем, начала пришли за половину дня исторические данные, а потом начали приходить онлайн изменения - НО индекс свечи все равно будет тот же - так как день еще не прошел.
используйте OnParam или OnAllTrade
Не хочу, у меня уже настроено все под SetUpdateCallback - вот только единственная проблема есть описанная.
С  OnParam или OnAllTrade - есть еще большая проблема - потому что там нужно самому формировать данные в интервалы, а это вообще капец неудобно, потому что нужно учитывать ночные переходы времени, выходные, праздники - геморрой короче один только.
 
Цитата
Saturn написал:
Цитата
nikolz написал:
 
Цитата
Saturn  написал:
Подскажите пожалуйста, вот я вызываю SetUpdateCallback - предположим по Газпрому по дневному интервалу и в колбек  начинают приходить данные, но сначала приходят исторические данные, а не реальные онлайн изменения цены сделки.
И вот вопрос: а как мне тогда определить, что данные которые начали приходить в колбек - уже реальные изменения цены купли/продажи - чтобы я на них реагировал, а не исторические данные ?

Использовать счетчик свечей не предлагать - так как он естественно работать не будет: потому что ну пришел индекс последней Дневной свечи к примеру 100 датированная сегодняшним днем, начала пришли за половину дня исторические данные, а потом начали приходить онлайн изменения - НО индекс свечи все равно будет тот же - так как день еще не прошел.
 используйте OnParam или OnAllTrade
Не хочу, у меня уже настроено все под SetUpdateCallback - вот только единственная проблема есть описанная.
С  OnParam или OnAllTrade - есть еще большая проблема - потому что там нужно самому формировать данные в интервалы, а это вообще капец неудобно, потому что нужно учитывать ночные переходы времени, выходные, праздники - геморрой короче один только.
Вы не поняли.
OnParam или OnAllTrade использовать для определения, что приходят реальные данные, а не исторические.
 
Можете просто сравнивать время сервера и время свечи и решать какие это данные.
 
еще проще сравнивать время свечи и текущее время компа.
 
Придумал :)
По Volume.
Первоначально заполняется при вызове SetUpdateCallback - заполнятся таблица CreateDataSource, я беру размер таблицы и Volume из последней свечи это таблицы и сохраняю в отельную переменную.
После того, как начали вызывается колбеки SetUpdateCallback  - проверяю в каждом вызове:

- размер таблицы  - если размер таблицы совпадает, то проверяю Volume, если Volume совпадает, значит новых данных еще нет.
-Если размер таблицы совпадает, но Volume нет, то в данной колбеке - были первые новые данные.
- ну и если размер таблицы Не совпадает, то точно пришли новые данные и даже уже новая свеча.
 
Цитата
nikolz написал:
еще проще сравнивать время свечи и текущее время компа.
Тоже не вариант, так как свечи могут приходить немного с опозданием и в итоге на границе времени интервала - эти свечи будут отбрасывается.
 
Цитата
Saturn написал:
Цитата
nikolz написал:
еще проще сравнивать время свечи и текущее время компа.
Тоже не вариант, так как свечи могут приходить немного с опозданием и в итоге на границе времени интервала - эти свечи будут отбрасывается.
Вы ошибаетесь.
В любом случае свечи истории - это свечи прошедших торговых дней.
и как минимум не могут быть в предыдущем отсчете.  
 
Цитата
nikolz написал:
Цитата
Saturn написал:
 
Цитата
nikolz  написал:
еще проще сравнивать время свечи и текущее время компа.
 Тоже не вариант, так как свечи могут приходить немного с опозданием и в итоге на границе времени интервала - эти свечи будут отбрасывается.
Вы ошибаетесь.
В любом случае свечи истории - это свечи прошедших торговых дней.
и как минимум не могут быть в предыдущем отсчете.  
В чем же я ошибаюсь то :)
Это факт - онлайн свечи могут приходить с примерно с 3 секундной задержкой.
Вчерашний пример который я заметил на тестировании: 3 минутная свеча:

-время пришедшей свечи в callback 20:00, время сервера 20:01:34     (пока все нормально, треxминтная свеча укладывается в диапазон сервера с 20:00:00 - 20:02:59, поэтому эта свеча считается онлайн)
-время пришедшей свечи в callback 20:00, время сервера 20:02:47     (пока все нормально, треxминтная свеча укладывается в диапазон сервера с 20:00:00 - 20:02:59, поэтому эта свеча считается онлайн)
-время пришедшей свечи в callback 20:00, время сервера 20:03:02     (ТОЛЬКО ЧТО Пришедшая свеча все еще находится в 3 минутном диапазоне  с 20:00:00 - 20:02:59 ,НО время сервера уже вышло из этого диапазона, то есть Квик или сервер брокера прислал запоздавшую сделку на несколько секунд, и если сравнивать это  временем сервера, то получается, что эта сделка относится к исторической свече, хотя по факту - эта последняя онлайн сделка присланная с сервера)

Так что повторю без всяких ошибок: К сожалению Тоже не вариант, так как свечи могут приходить немного с опозданием и в итоге на границе времени интервала - эти свечи будут отбрасывается.
 
Свечи могут вообще не приходить. Может быть так, что сделок вообще нет на минутках.
 
Цитата
Станислав написал:
Свечи могут вообще не приходить. Может быть так, что сделок вообще нет на минутках.
По-моему - ваш комментарий минимум не соответствует контексту обсуждения, максимум - неадекватный немного :)
 
Цитата
Saturn написал:
Цитата
nikolz написал:
 
Цитата
Saturn  написал:
 
Цитата
 nikolz   написал:
еще проще сравнивать время свечи и текущее время компа.
  Тоже не вариант, так как свечи могут приходить немного с опозданием и в итоге на границе времени интервала - эти свечи будут отбрасывается.
 Вы ошибаетесь.
В любом случае свечи истории - это свечи прошедших торговых дней.
и как минимум не могут быть в предыдущем отсчете.  
В чем же я ошибаюсь то :)
Это факт - онлайн свечи могут приходить с примерно с 3 секундной задержкой.
Вчерашний пример который я заметил на тестировании: 3 минутная свеча:

-время пришедшей свечи в callback 20:00, время сервера 20:01:34     (пока все нормально, треxминтная свеча укладывается в диапазон сервера с 20:00:00 - 20:02:59, поэтому эта свеча считается онлайн)
-время пришедшей свечи в callback 20:00, время сервера 20:02:47     (пока все нормально, треxминтная свеча укладывается в диапазон сервера с 20:00:00 - 20:02:59, поэтому эта свеча считается онлайн)
-время пришедшей свечи в callback 20:00, время сервера 20:03:02     (ТОЛЬКО ЧТО Пришедшая свеча все еще находится в 3 минутном диапазоне  с 20:00:00 - 20:02:59 ,НО время сервера уже вышло из этого диапазона, то есть Квик или сервер брокера прислал запоздавшую сделку на несколько секунд, и если сравнивать это  временем сервера, то получается, что эта сделка относится к исторической свече, хотя по факту - эта последняя онлайн сделка присланная с сервера)

Так что повторю без всяких ошибок: К сожалению Тоже не вариант, так как свечи могут приходить немного с опозданием и в итоге на границе времени интервала - эти свечи будут отбрасывается.
Поясняю.
Запоздалыми свечи не бывают. сервер не может прислать Вам предыдущую свечу, если он Вам уже присылает текущую свечу.
Запоздалыми бывают обезличенные сделки, когда Вы их либо начинаете принимать либо допринимаете после разрыва.
И это происходит лишь тогда, когда этих сделок очень много.
Относительно свечей такого быть не может в принципе.
Сервер всего хранит 3000 свечей  и он их Вам будет посылать, если Вы все стерли в архиве или подписались на совершенно новый инструмент или новый тайм, которого у вас не было раньше.
----------------------------
В остальных случаях.  Все свечи истории уже есть в вашем архиве, либо их относительно мало и они догрузятся одним несколькими пакетами буквально за секунды.
------------------------
Перейдем к Вашим примерам:
----------------------
-время пришедшей свечи в callback 20:00, время сервера 20:01:34 (пока все нормально, треxминтная свеча укладывается в диапазон сервера с 20:00:00 - 20:02:59, поэтому эта свеча считается онлайн)
-время пришедшей свечи в callback 20:00, время сервера 20:02:47 (пока все нормально, треxминтная свеча укладывается в диапазон сервера с 20:00:00 - 20:02:59, поэтому эта свеча считается онлайн)
-время пришедшей свечи в callback 20:00, время сервера 20:03:02 (ТОЛЬКО ЧТО Пришедшая свеча все еще находится в 3 минутном диапазоне с 20:00:00 - 20:02:59 ,НО время сервера уже вышло из этого диапазона, то есть Квик или сервер брокера прислал запоздавшую сделку на несколько секунд, и если сравнивать это временем сервера, то получается, что эта сделка относится к исторической свече, хотя по факту - эта последняя онлайн сделка присланная с сервера)
------------------
Вы ошибаетесь.
Это не время пришедшей свечи. Это время пришедшей сделки.
Если свеча в момент пришедшей сделки не закрыта, то это текущая свеча, вне зависимости от времени сервера.  
Но если Вы проверяете время сделки, а с временем текущей свечи.
Собственно параметр Size и позволяет определить есть новая свеча или это текущая.
 
Цитата
nikolz написал:
Цитата
Вы ошибаетесь.
Это не время пришедшей свечи. Это время пришедшей сделки.
Если свеча в момент пришедшей сделки не закрыта, то это текущая свеча, вне зависимости от времени сервера.
Но если Вы проверяете время сделки, а с временем текущей свечи.
Собственно параметр Size и позволяет определить есть новая свеча или это текущая.
Да Вы батенька фантазер. Про вас даже песня есть "фантазер ты меня называла" :)

Я еще не допустил не одной ошибки, а Вы только и делаете, что пишите ошибающуюся чушь. :)

Еще раз повторю приходит время свечи, разуйте глаза, если они у вас заклеились - " 20:00" - это время трехминутной свечи. Вы Квик вчера первый раз что ли открыли ?

Поэтому я и написал, что "Тоже не вариант, так как свечи могут приходить немного с опозданием и в итоге на границе времени интервала - эти свечи будут отбрасывается." на предложение "еще проще сравнивать время свечи и текущее время компа."

Тренируйте внимательность, и логику.

Хорошего дня :)
Страницы: 1
Читают тему
Наверх