rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | IServerRealization #5. Метод SendOrder. Что там и чего там быть не должно. Коннекторы к OsEngine #91

Пост о том, как сделать отсылку ордера в реализации коннектора. Как это делать правильно и где взять нормальный пример.

*серия постов «Коннекторы к OsEngine» — для программистов. Если Вы пользуетесь OsEngine как пользователь, можете дальше не читать.

IServerRealization #5. Метод SendOrder. Что там и чего там быть не должно. Коннекторы к OsEngine #91


1. Открываем исходники коннектора
BitGet.

IServerRealization #5. Метод SendOrder. Что там и чего там быть не должно. Коннекторы к OsEngine #91

Далее, находим метод SendOrder:

IServerRealization #5. Метод SendOrder. Что там и чего там быть не должно. Коннекторы к OsEngine #91

2. SendOrder.

В общем случае должен состоять из следующих частей:

IServerRealization #5. Метод SendOrder. Что там и чего там быть не должно. Коннекторы к OsEngine #91

  1. Ограничитель на кол-во запросов к методу. Класс RateGate, настроенный на кол-во возможных запросов к методам работы с ордерами.
  2. Формирование тела запроса на выставление ордера и его отсылка в торговую систему.
  3. В случае выставления ордера больше ничего в этом методе делать не нужно. Ордер выставился – всё хорошо. Миссия закончена.
  4. Если ордер не выставился, и была какая-то явная ошибка, о которой нам с биржи пришёл ответ, записываем код ошибки и выставляем ордер, у которого нужно было выставить статус FAIL. Это делается в данном случае в методе CreateOrderFail.

 

3. Не следует указывать статус ордера в этом методе как Active или Done.

Иногда покажется логичным сделать статус ордера Active в случае успешного запроса на выставление ордера. Однако делать этого не следует.

Сообщение о том, что ордер был успешно выставлен и ожидает своего исполнения или исполнился, приходят в других местах коннектора.

Исключение для этого правила тоже бывают. Но только в том случае если АПИ брокера выдаёт нам номер ордера на бирже, как это делает Т-Инвест АПИ. В таком случае можно указать статус ордера как Active, ибо номер по нему уже известен и уже можно его отзывать:

IServerRealization #5. Метод SendOrder. Что там и чего там быть не должно. Коннекторы к OsEngine #91

Удачных алгоритмов!

Комментарии открыты для друзей!

IServerRealization #5. Метод SendOrder. Что там и чего там быть не должно. Коннекторы к OsEngine #91

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support

★1

теги блога OS_Engine_team

....все тэги



UPDONW
Новый дизайн