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


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

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

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

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

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

Теги:


Спасибо:


Mikhail Sukhov

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


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


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

loading
clippy