Отправка ордеров на произвольные роуты
Atom Ответить
02.02.2015


В данный момент в платформе присутствуют некоторые неудобства, связанные с выбором роутов для отправки ордеров.

Сейчас платформой полностью поддерживаются ордера, отправленные на инструменты из списка Trader.Securities. Если нужно отправить ордер на роут, не представленный в этом списке, то приходится прибегать ко всяким ухищрениям.

В данный список инструменты попадают следующими путями (может есть еще, но я нашел только эти):
1. Trader.LookupSecurities() и ждем, когда нужная нам ECN появится в списке. Это произойдет только если у нас есть подписка на данные по нашей ECN (BATS Book и пр.).
2. Если в этот день по нужному нам инструменту и роуту уже были совершены какие-либо действия, например поставлен и отменен ордер, тогда такой инструмент сам появляется в списке.

Есть способ отправки ордера на инструмент, не представленный в данном списке. При создании ордера создаем инструмент сами, и отправляем ордер на него.
Пример:
Код
var sec = new Security()
{
    Code = "C",
    Board = new ExchangeBoard()
    {
        Code = "BATS",
    },
};

Ордер отправится и появится в терминале, но фреймворк не ожидает такого развития событий и начинаются всякие глюки. Создается автоматически еще один ордер и работа идет уже с ним, а наш ордер с вручную созданным инструментом не обновляется. При отмене ордера он может продублироваться еще раз и т.п.

Еще одна проблема связана с тем, что при отправке описанным выше способом ордера на какой-нибудь нестандартный роут, например "NSDQ", фреймворк его заблокирует и никуда не отправит. У меня в платформе к примеру есть отдельные роуты для стоп ордеров, соответственно на них тоже ничего не уходит ни в каком виде.

В связи с этим просьба реализовать в будущих версиях какой-нибудь адекватный механизм отправки с отслеживанием ордеров на произвольные роуты без необходимости подписки на котировки, выполнения LookupSecurities() и какой-либо деятельности в терминале перед торговлей.

Теги:


Спасибо:




2 Ответов
Валентин Лебедев

Фотография
Программист
Дата: 10.02.2015
Ответить


Как вариант решения для данной проблемы могу предложить добавить в коннектор функцию наподобие такой - AddSecurity(string security, string board)
Делаем например Trader.AddSecurity("AAPL", "BATS") и инструмент добавляется в Trader.Securities и приходит по событию Trader.NewSecurities.
А дальше берем его и торгуем спокойно, не ожидая его появления в торговой платформе.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 11.02.2015
Ответить


Выложите в Гит пожелание. Но не обещаю, что оно будет сделано ранее 2016 года.
Спасибо:


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

loading
clippy