Приветствую!
Мне интересно как кто выбирает заявки для мува.
Ну например стоит у меня на продажу
1 лот по 100
10 лотов по 99
100 лотов по 98
А я хочу поставить
111 лотов по 97
Значит мне надо замувить одну заявку, а две заявки заканселить.
Ок, допустим я отправляю одновременно мув 1 лота до 111 и cancel 10 и 100 лотов.
Но тогда может получится так что мув уже начинает «блокировать» 111 лотов, а заявки 10 и 100 лотов ещё не сняты. А в сумме тогда надо будет 111 + 10 + 100 = 221 лот.
А на мамбе например есть куча бумаг которые в шорт вообще не дают, и если у меня на счету ровно 111 лотов, то есть большой риск того что транзакции вообще не пройдут.
А если бумаг/ГО хватает то есть риск того что будет продано 221 лот, ведь может получится так что 2 заявки не могут быть сняты по причине того что они исполнены.
Логичным тогда кажется разбивать транзакцию на 2:
1. Снять 2 заявки (проверить что они сняты, если они исполнены, то нужно что то переиграть, возможно уменьшить объём мува)
2. Произвести один мув.
Но и тут засада — мы очень сильно потеряем в летенси, потому что мы должны дождаться отчёта о снятии заявок. А если мы хотим продать 111 лотов по рынку например то эти потери в летенси вполне могут оказаться критическими.
Как я понимаю, если хочется летенси, то логично всё таки отправлять все заявки за раз, и брать риск того, что нагрузишь двойную позицию, но зато на летенси не теряем. На низколиквиде мамбовом вообще смешно получается, например если хочешь поторговать 10 лотов Ленэнерго то надо загрузить в лонг 15 лотов. Тогда робот в «нормальном» режиме будет «болтать» депо между 10 и 20 лотами, и «подушка» в 10 лотов нужна для того чтобы мы имели возможность одновременно поставить новую заявку на продажу 10 лотов пока предыдущая заявка(заявки) «находится в процессе снятия».
Интересно было бы узнать как у других организованны описанные процессы, или может какие-нибудь ресурсы по теме имеются почитать?