← 戻る

Замена заявок

Допустим мы отправили заявку и знаем ее TransactionId, но ответ о регистрации еще не пришел от биржи т.е id мы не знаем. Можно ли оправить ReRegisterOrder зная только TransactionId или нужно дожидаться ответа от биржи о судьбе отправленной заявки, прежде чем ее заменять?

このトピックは参考になりましたか?

トピックを共有

コメント (9)

ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください

Alexander
Alexander

Необходимо вначале отправить CancelOrder, тогда заявка снимется по внешнему номеру. Затем - RegisterOrder.

Непосредственно ReRegisterOrder нельзя делать без id заявки.

Alexander
Alexander

Alexander Mukhanchikov: Необходимо вначале отправить CancelOrder, тогда заявка снимется по внешнему номеру. Затем - RegisterOrder.

Непосредственно ReRegisterOrder нельзя делать без id заявки.

Т.к. Move_order биржей не поддерживается если не известен внутренний номер (order.Id).

Макс
Макс 著者

Alexander Mukhanchikov:

Alexander Mukhanchikov: Необходимо вначале отправить CancelOrder, тогда заявка снимется по внешнему номеру. Затем - RegisterOrder.

Непосредственно ReRegisterOrder нельзя делать без id заявки.

Т.к. Move_order биржей не поддерживается если не известен внутренний номер (order.Id).

Спасибо за ответ! Интересно, дает ли такой метод выйгрыш в скорости, или скорее приведет к путанице заявок... Кто-нибудь так уже пробовал делать?

Maxim
Maxim

Alexander Mukhanchikov: Необходимо вначале отправить CancelOrder, тогда заявка снимется по внешнему номеру. Затем - RegisterOrder.

Непосредственно ReRegisterOrder нельзя делать без id заявки.

Действительно ли это возможно? Отменять заявку до того, как она стала Active?

Провел тест:
Создаю заявку и отправляю ее на биржу. Жду 10 мс. Посылаю сигнал на отмену заявки. Мне приходит ошибка в OrdersRegisterFailed о том, что заявку снять не удалось.

Где подвох? Или я что-то не так понял?

Alexander
Alexander

Я так делал. Естественно выигрыш есть. Особенно полезно когда вы послали заявку и тут же после очередного обновления поняли что она устарела.

Макс
Макс 著者

Alexander Mukhanchikov: Я так делал. Особенно полезно когда вы послали заявку и тут же после очередного обновления поняли что она устарела. Проведенные тесты показали, что вероятность наступления такого события крайне мала. Т.к. среднее время от отправки заявки до получения по ней ответа 20-40 милсек, а время между ревизиями содержащими изменение цены на порядок больше.

Alexander
Alexander

Макс: Т.к. среднее время от отправки заявки до получения по ней ответа 20-40 милсек

Ого, это на бою у вас такие данные? У меня сервер на бирже стоит, редко, но бывают моменты когда и пару секунд задержка...

Макс
Макс 著者

Ого, это на бою у вас такие данные?

Да, на боевом. Сервер не на бирже, пинг до пром серверов биржи 2 милсек.

но бывают моменты когда и пару секунд задержка... Пару секунд вроде не видел. Бывает 100-300 милсек на дневной сессии, особенно на 1-й заявке долго висит. На вечерней сессии 20-40 милсек.

Maxim
Maxim

Скорей всего заявка за 10мс еще не успела дойти до биржи. Так как если паузу увеличить до 30мс, то заявка отменяется без получения номера Id от биржи.