Избранное трейдера Gregori
Обычный трейдер смотрит на свечной график, но свеча — это уже тень прошлого, постфактум. Между тем настоящая динамика рождается в глубине торгового стакана — Limit Order Book, где борьба заявок определяет будущий импульс.
Проблема в том, что историю стакана почти нигде не увидеть: розничные терминалы для частных клиентов дают лишь текущую таблицу DOM ( Depth of Market ) и это статичный срез без прошлого.
Чтобы увидеть то, на что обычный трейдер не обращает внимание я собрал инструмент, который превращает исторические данные L2 Order Book (стакан заданной глубиной) и Trades Stream (обезличенные сделки) в тепловые карты и позволяет изучать эволюцию заявок на Московской бирже через браузер с Deep Zoom — плавно, как в Google Maps.



Сегодня завершаем работу с заявками:
Функция OnTransReply
Функция OnOrder
Получение остатка по заявке, контроль исполнения полного объема
Таблица транзакций
Общая логика выставления лимитной заявки в стакане
В предыдущих примерах мы закладывали на обработку заявки небольшой таймаут (в пределах от 300 мс до 1 секунды), но правильнее отслеживать результат по коллбэкам, т.к. это время может быть и менее 300 мс, а может затянуться (по разным причинам) на секунды. Поможет нам в этом отслеживании функции обратного вызова OnTransReply и OnOrder.
Если отправляя заявку через sendTransaction мы на старте могли получить ошибку на стороне терминала (неправильно указанный торговый код/инструмент/класс рынка), то через OnTransReply мы получаем результат обработки нашей транзакции на сервере брокера (например ошибка при выставлении заявки из-за отсутствия подключения, либо у клиента нет прав на отправку транзакции конкретного типа, либо заявка не проходит по лимитам и пр.).
Функция OnTransReply возвращает ответ на транзакцию, выставленную средствами qlua.


