нет события OrdersChanged и NewOrders
Atom Ответить
18.01.2012


Не смог получить и эти два события. Сборка S# 4.15
Есть код:
Код

if (btnTest.Tag == null)
{
    _trader.NewOrders += OnNewOrders;
    _trader.OrdersChanged += OnOrdersChanged;
    btnTest.Tag = 1;
    btnTest.Content = "де проверка";
}

В этом коде я подписываюсь на события. Экспорт запущен и работает через StartExport(). Он точно работает потому что если я подписываюсь на SecurityChanged() то событие приходит и все ок.

В лог падает мессадж об обработке нового ордера и все такое, все правильно, НО нет событий на которые я подписан
Код
AlfaTrader | 18.01.2012 18:37:18.277 | OnProcessOrders() |11084|W|B|0,0669|1|1|18.01.2012 15:37:00||MICEX_SHR|0|0|


Старт экспорта ордеров делать не нужно, он стартует при запуске общего экспорта. Если прошарить код, то там даже фигурируют Raise методы для событий с ордерами, но логику проследить не можу (опять же обсфуркация).

В итоге невозможно отследить выполнение заявки по событию. Или создание новой заявки. В общем какая-то засада. Или я что-то не так делаю, что тоже вероятно.


ВАЖНЫЙ момент: сделки я совершаю руками в терминале а не из кода. По идее библиотека должна брать данные из терминала и отрабатывать по ним.

Теги:


Спасибо:




1 Ответов
ra81

Фотография
Дата: 19.01.2012
Ответить


Проверил запускать заявку из кода. В таком случае события вызываются. При создании заявка вызывается NewOrder и потом OrdersChanged.
Если затем в терминале заявку отменить, вызывается OrdersChanged и состояние заявки Done.

ЗЫ: в чем сакральный смысл такого поведения? Если я создаю заявку руками, события не отрабатывают, если же я создаю ее из кода, тогда события отрабатывают. Я полагаю это связано с тем что в поле комментария к заявке вписан номерт транзакции (или другое число связанное с заявкой) по которому при обработке заявки система понимает, что заявка была создана кодом и только тогда ее обрабатывает по полной программе.

Сакральный смысл раскрывается в этом посте.
Автор топика
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy