← Назад

Работа с потоками и т.д.

Добрый день. Во-первых, спасибо за прекрасную библиотеку, очень понравилось с ней работать. Я пытаюсь написать высокочастотного робота для торговли на ФОРТС, для этого я зарегистрировал ДЕМО счет на IT-Invest (никак не могу понять, есть ли принципиальные отличия ДЕМО счета от реального), но у меня сразу возникли проблемы.

  1. Я подписываюсь на события MyTrades, NewTrades и QuotesChanged. Правильно ли я понимаю, что каждому событию соответствует отдельный поток и они не синхронизированны?

  2. По MyTrades я только обновляю текущую позицию. В NewTrades и QuotesChanged у меня происходит принятие решения, и могут создаваться новые заявки/удаляться старые. Нужно ли блокировать исполнение во всех других потоках для этого? Я столкнулся с проблемой, когда робот пытается переставить заявку, статус которой (смотрю в терминале SmartX) Filled, а в программе статус Active, как такое могло произойти?

  3. Можно ли делать Cancel у заявки, по которой еще не пришел OrderID? У меня кидается исключение, хотя я предполагал, что в библиотеке такие вещи будут делаться прозрачно (т.е. если заявку нельзя отменить, то она будет снята тогда, когда это станет возможным).

Если есть какие-то общие рекомендации по тому как лучше организовать работу подобной МТС, буду рад выслушать любые замечания.

Комментарии (1)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mikhail Sukhov
Mikhail Sukhov
  1. Да.
  2. Не успело прийти обновление.
  3. Библиотека относительно низкоуровневая, и такие вещи не умеет делать.