Обработчик события MarketDepth.QuotesChanged

Обработчик события MarketDepth.QuotesChanged
Atom
3/17/2011
rminko


Всем доброго времени суток.

Пытаюсь обрабатывать событие QuotesChanged Объекта MarketDepth
Обработчику передается два параметра в которых как я понял содержится информация об изменяемой котировке.
так вот если первый параметр с первым параметров все более или менее просто. то второй никак не могу побороть.
в документации про него кроме типа ничего не нашел. да и примерах нигде не освещается эта тема.
Расскажите подробней что представляет из себя этот параметр точнее как его крамотней окучить. и как я понял событие будет возникать для каждой строчки стакана?
а если не затруднит то приведите какой-нить пример обработки этого события и событий UpdatingStarted и UpdatingFinished (именно объекта MarketDepth)

Заранее спасибо

p.s. Еще один вопрос в догонку. Если в квике поставить разреженный режим стакана то по dde все равно передается обычный (тоесть с выкинутыми пустыми ценами).
это фишка самого квика? он их вырезает или библиотека?

Tags:


Thanks:


1 2  >
Mikhail Sukhov

Avatar
Date: 3/18/2011
Reply


rminko
Пытаюсь обрабатывать событие QuotesChanged Объекта MarketDepth
Обработчику передается два параметра в которых как я понял содержится информация об изменяемой котировке.
так вот если первый параметр с первым параметров все более или менее просто. то второй никак не могу побороть.
в документации про него кроме типа ничего не нашел. да и примерах нигде не освещается эта тема.


Не освещается, потому что устаревшее поведение. В новой версии нет таких параметров. Надо использовать ITrader.QuotesChanged.
Thanks:

rminko

Avatar
Date: 3/18/2011
Reply


Спасибо. Я наоборот решил что событие для каждого отдельного стакана - это новая фишка. а общее в Trader - это старое.
Тогда попутный вопрос так как даже новое поведение особо не описывается ни документации ни в примерах.
в обработчик Trader.QuotesChanged коллекция из двух (или из скольки?) стаканов, один с только с теми котировками которые добавились, а другой которые исчезли,а если котировка изменилась (изменился объем) то она будет в обоих стаканах?
Или я что-то не так понял?
Заранее спасибо
Thanks:

Mikhail Sukhov

Avatar
Date: 3/18/2011
Reply


rminko
Спасибо. Я наоборот решил что событие для каждого отдельного стакана - это новая фишка. а общее в Trader - это старое.
Тогда попутный вопрос так как даже новое поведение особо не описывается ни документации ни в примерах.
в обработчик Trader.QuotesChanged коллекция из двух (или из скольки?) стаканов, один с только с теми котировками которые добавились, а другой которые исчезли,а если котировка изменилась (изменился объем) то она будет в обоих стаканах?
Или я что-то не так понял?
Заранее спасибо


В этом событие, как и во всех других событиях ITrader, коллекция объектов. В данном случае, коллекция стаканов как они есть в торговой системе. Тоесть, ни то что было до этого, ни изменения. А просто сами стаканы.
Thanks:

rminko

Avatar
Date: 3/18/2011
Reply


Mikhail Sukhov

В этом событие, как и во всех других событиях ITrader, коллекция объектов. В данном случае, коллекция стаканов как они есть в торговой системе. Тоесть, ни то что было до этого, ни изменения. А просто сами стаканы.

А есть возможность получить только изменившиеся котировки или это уже надо реализовывать самому?
Thanks:

Mikhail Sukhov

Avatar
Date: 3/18/2011
Reply


rminko
Mikhail Sukhov

В этом событие, как и во всех других событиях ITrader, коллекция объектов. В данном случае, коллекция стаканов как они есть в торговой системе. Тоесть, ни то что было до этого, ни изменения. А просто сами стаканы.

А есть возможность получить только изменившиеся котировки или это уже надо реализовывать самому?


Самому.
Thanks:

rminko

Avatar
Date: 3/29/2011
Reply


Решил не заводить новую тему, так как вопрос очень соотвествует текущей.

Вообщем обрабатываю я событие получаю стакан при изменении - начинаю с ним работать но проблема в том что пока я обрабатываю биды в том числе лучший бид, аски могут поменяться до такой степени что значение лучшего бида станет выше лучшего аска.(потомучто я получаю не текущий "снимок" стакана а просто ссылку на массив где постоянно все меняется. Сказать что я сильно медленно обрабатываю стакан - нет не медленно на одну полную обработку события об изменении стакана уходит около 30микро (не мили а микро) секунд. но даже за это время на активном рынке бывают ситуации когда стакан успевает сильно измениться.
Как вариант сделать такой снимок самому но может в библеотеке есть уже такой функционал? да и идеально сделать снимок не получиться такак как опять есть два варианта как сделать слепок интересущей меня информации и оба варианта состоят из как минимум двух этапов между которыми стакан опять может измениться

1. а) получить все котировки
б) запросить луший аск
в)и лучший бид
2. а)получить все аски
б)получить все биды
во втором варианте нет необходимости запрашивать лучший аск и бид так как их можно легко вычислить из всех асков и всех бидов так как они отсортированы.
Вообщем пробовал оба варианта и в обоих вариантах в процессе запроса данных очень часто стакан мягко говоря бредовым. (получил лучшие бид по индексу к примеру 190000 и тут же запрашиваю лучший аск а он равен 189990....... вот и как побороть?
Thanks:

Mikhail Sukhov

Avatar
Date: 3/29/2011
Reply


rminko

Вообщем пробовал оба варианта и в обоих вариантах в процессе запроса данных очень часто стакан мягко говоря бредовым. (получил лучшие бид по индексу к примеру 190000 и тут же запрашиваю лучший аск а он равен 189990....... вот и как побороть?


MarketDepth.Clone пробовали в самом начале делать?
Thanks: rminko

rminko

Avatar
Date: 3/29/2011
Reply


Mikhail Sukhov

MarketDepth.Clone пробовали в самом начале делать?


Нет не пробовал. так как мне кажеться это будет медленно. а я борюсь за каждую ну или каждую микросекудну.
надо попробовать и замерить


p.s. Попробовал. 3 микросекунды. нормально. хотя конечно если сравнить с остальным кодом который пробегает по всему стакану и не просто пробегает а анализирует за 30 микросекунд. то 10 процентный прирост времени только на одной строчке кода выглядит мягко говоря странно [glare]. Но это я только проверил саму функцию клон. смотреть что происходит со стаканом - клонируется ли нормально или все равно успевает изменится еще не смотрел
Thanks:

Mikhail Sukhov

Avatar
Date: 3/29/2011
Reply


rminko
Mikhail Sukhov

MarketDepth.Clone пробовали в самом начале делать?


Нет не пробовал. так как мне кажеться это будет медленно. а я борюсь за каждую ну или каждую микросекудну.
надо попробовать и замерить


А что за брокер и инструмент, что дает такую скорость обновления стакана?
Thanks:

rminko

Avatar
Date: 3/30/2011
Reply


Это на РИМ1, но там дело не в скорости обновления. Так как даже если брокер обновляет стакан раз в секунду. а я 20 раз в секунду, то существует большая вероятность (примерно 1 к 20) что я начну обновлять стакан до обновления брокером, а закончу после. вот только почему такие ситуации получаются очень часто...
Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy