IServerRealization #5. Метод SendOrder. Что там и чего там быть не должно. Коннекторы к OsEngine #91
Пост о том, как сделать отсылку ордера в реализации коннектора. Как это делать правильно и где взять нормальный пример.*серия постов «Коннекторы к OsEngine» — для программистов. Если Вы пользуетесь OsEngine как пользователь, можете дальше не читать. 1. Открываем исходники коннектора BitGet. Далее, находим метод SendOrder: 2. SendOrder.В общем случае должен состоять из следующих частей:Ограничитель на кол-во запросов к методу. Класс RateGate, настроенный на кол-во возможных запросов к методам работы с ордерами.Формирование тела запроса на выставление ордера и его отсылка в торговую систему.В случае выставления ордера больше ничего в этом методе делать не нужно. Ордер выставился – всё хорошо. Миссия закончена.Если ордер не выставился, и была какая-то явная ошибка, о которой нам с биржи пришёл ответ, записываем код ошибки и выставляем ордер, у которого нужно было выставить статус FAIL. Это делается в данном случае в методе CreateOrderFail. 3. Не следует указывать статус ордера в этом методе как Active или Done.Иногда покажется логичным сделать статус ордера Active в случае успешного запроса на выставление ордера. Однако делать этого не следует.Сообщение о том, что ордер был успешно выставлен и ожидает своего исполнения или исполнился, приходят в других местах коннектора. Исключение для этого правила тоже бывают. Но только в том случае если АПИ брокера выдаёт нам номер ордера на бирже, как это делает Т-Инвест АПИ. В таком случае можно указать статус ордера как Active, ибо номер по нему уже известен и уже можно его отзывать: Удачных алгоритмов!Комментарии открыты для друзей!OsEngine: https://github.com/AlexWan/OsEngine Поддержка OsEngine: https://t.me/osengine_official_support

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

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

Далее, находим метод SendOrder:
2. SendOrder.
В общем случае должен состоять из следующих частей:
- Ограничитель на кол-во запросов к методу. Класс RateGate, настроенный на кол-во возможных запросов к методам работы с ордерами.
- Формирование тела запроса на выставление ордера и его отсылка в торговую систему.
- В случае выставления ордера больше ничего в этом методе делать не нужно. Ордер выставился – всё хорошо. Миссия закончена.
- Если ордер не выставился, и была какая-то явная ошибка, о которой нам с биржи пришёл ответ, записываем код ошибки и выставляем ордер, у которого нужно было выставить статус FAIL. Это делается в данном случае в методе CreateOrderFail.
3. Не следует указывать статус ордера в этом методе как Active или Done.
Иногда покажется логичным сделать статус ордера Active в случае успешного запроса на выставление ордера. Однако делать этого не следует.
Сообщение о том, что ордер был успешно выставлен и ожидает своего исполнения или исполнился, приходят в других местах коннектора.
Исключение для этого правила тоже бывают. Но только в том случае если АПИ брокера выдаёт нам номер ордера на бирже, как это делает Т-Инвест АПИ. В таком случае можно указать статус ордера как Active, ибо номер по нему уже известен и уже можно его отзывать:
Удачных алгоритмов!
Комментарии открыты для друзей!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support