Mikhail Sukhov
|
Date: 3/18/2011
rminko Пытаюсь обрабатывать событие QuotesChanged Объекта MarketDepth Обработчику передается два параметра в которых как я понял содержится информация об изменяемой котировке. так вот если первый параметр с первым параметров все более или менее просто. то второй никак не могу побороть. в документации про него кроме типа ничего не нашел. да и примерах нигде не освещается эта тема.
Не освещается, потому что устаревшее поведение. В новой версии нет таких параметров. Надо использовать ITrader.QuotesChanged.
|
|
Thanks:
|
|
|
|
|
rminko
|
Date: 3/18/2011
Спасибо. Я наоборот решил что событие для каждого отдельного стакана - это новая фишка. а общее в Trader - это старое. Тогда попутный вопрос так как даже новое поведение особо не описывается ни документации ни в примерах. в обработчик Trader.QuotesChanged коллекция из двух (или из скольки?) стаканов, один с только с теми котировками которые добавились, а другой которые исчезли,а если котировка изменилась (изменился объем) то она будет в обоих стаканах? Или я что-то не так понял? Заранее спасибо
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 3/18/2011
rminko Спасибо. Я наоборот решил что событие для каждого отдельного стакана - это новая фишка. а общее в Trader - это старое. Тогда попутный вопрос так как даже новое поведение особо не описывается ни документации ни в примерах. в обработчик Trader.QuotesChanged коллекция из двух (или из скольки?) стаканов, один с только с теми котировками которые добавились, а другой которые исчезли,а если котировка изменилась (изменился объем) то она будет в обоих стаканах? Или я что-то не так понял? Заранее спасибо
В этом событие, как и во всех других событиях ITrader, коллекция объектов. В данном случае, коллекция стаканов как они есть в торговой системе. Тоесть, ни то что было до этого, ни изменения. А просто сами стаканы.
|
|
Thanks:
|
|
|
|
|
rminko
|
Date: 3/18/2011
Mikhail Sukhov В этом событие, как и во всех других событиях ITrader, коллекция объектов. В данном случае, коллекция стаканов как они есть в торговой системе. Тоесть, ни то что было до этого, ни изменения. А просто сами стаканы.
А есть возможность получить только изменившиеся котировки или это уже надо реализовывать самому?
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 3/18/2011
rminko Mikhail Sukhov В этом событие, как и во всех других событиях ITrader, коллекция объектов. В данном случае, коллекция стаканов как они есть в торговой системе. Тоесть, ни то что было до этого, ни изменения. А просто сами стаканы.
А есть возможность получить только изменившиеся котировки или это уже надо реализовывать самому? Самому.
|
|
Thanks:
|
|
|
|
|
rminko
|
Date: 3/29/2011
|
|
|
|
Решил не заводить новую тему, так как вопрос очень соотвествует текущей.
Вообщем обрабатываю я событие получаю стакан при изменении - начинаю с ним работать но проблема в том что пока я обрабатываю биды в том числе лучший бид, аски могут поменяться до такой степени что значение лучшего бида станет выше лучшего аска.(потомучто я получаю не текущий "снимок" стакана а просто ссылку на массив где постоянно все меняется. Сказать что я сильно медленно обрабатываю стакан - нет не медленно на одну полную обработку события об изменении стакана уходит около 30микро (не мили а микро) секунд. но даже за это время на активном рынке бывают ситуации когда стакан успевает сильно измениться. Как вариант сделать такой снимок самому но может в библеотеке есть уже такой функционал? да и идеально сделать снимок не получиться такак как опять есть два варианта как сделать слепок интересущей меня информации и оба варианта состоят из как минимум двух этапов между которыми стакан опять может измениться
1. а) получить все котировки б) запросить луший аск в)и лучший бид 2. а)получить все аски б)получить все биды во втором варианте нет необходимости запрашивать лучший аск и бид так как их можно легко вычислить из всех асков и всех бидов так как они отсортированы. Вообщем пробовал оба варианта и в обоих вариантах в процессе запроса данных очень часто стакан мягко говоря бредовым. (получил лучшие бид по индексу к примеру 190000 и тут же запрашиваю лучший аск а он равен 189990....... вот и как побороть?
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 3/29/2011
rminko Вообщем пробовал оба варианта и в обоих вариантах в процессе запроса данных очень часто стакан мягко говоря бредовым. (получил лучшие бид по индексу к примеру 190000 и тут же запрашиваю лучший аск а он равен 189990....... вот и как побороть?
MarketDepth.Clone пробовали в самом начале делать?
|
|
|
|
|
rminko
|
Date: 3/29/2011
Mikhail Sukhov MarketDepth.Clone пробовали в самом начале делать?
Нет не пробовал. так как мне кажеться это будет медленно. а я борюсь за каждую ну или каждую микросекудну. надо попробовать и замерить p.s. Попробовал. 3 микросекунды. нормально. хотя конечно если сравнить с остальным кодом который пробегает по всему стакану и не просто пробегает а анализирует за 30 микросекунд. то 10 процентный прирост времени только на одной строчке кода выглядит мягко говоря странно [glare]. Но это я только проверил саму функцию клон. смотреть что происходит со стаканом - клонируется ли нормально или все равно успевает изменится еще не смотрел
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 3/29/2011
rminko Mikhail Sukhov MarketDepth.Clone пробовали в самом начале делать?
Нет не пробовал. так как мне кажеться это будет медленно. а я борюсь за каждую ну или каждую микросекудну. надо попробовать и замерить А что за брокер и инструмент, что дает такую скорость обновления стакана?
|
|
Thanks:
|
|
|
|
|
rminko
|
Date: 3/30/2011
Это на РИМ1, но там дело не в скорости обновления. Так как даже если брокер обновляет стакан раз в секунду. а я 20 раз в секунду, то существует большая вероятность (примерно 1 к 20) что я начну обновлять стакан до обновления брокером, а закончу после. вот только почему такие ситуации получаются очень часто...
|
|
Thanks:
|
|
|
|