Автор темы#1
Мне, с моими лимитами на всё, странно такое писать, но наступил. MT5, хеджинговый счёт, советник открывает одну позицию по сигналу. Во вторник в 16:30 OrderSend вернул 10012, запрос отменён по таймауту. Моя обёртка считает неудачей всё, кроме «исполнено», и повторяет до трёх раз с паузой 300 мс. Второй запрос прошёл. А через пару секунд в терминале две позиции: первый запрос, оказывается, тоже исполнился на сервере, просто ответ до терминала вовремя не дошёл.
Вторую позицию закрыл руками, потерял немного на спреде, но сам факт неприятный. Лимит на число заявок у меня есть, а правила «не отправлять повтор, пока не ясно, что стало с первой» не было.
Как вы проверяете перед повтором? Ждёте OnTradeTransaction, лезете в историю, что-то ещё?
Вторую позицию закрыл руками, потерял немного на спреде, но сам факт неприятный. Лимит на число заявок у меня есть, а правила «не отправлять повтор, пока не ясно, что стало с первой» не было.
Как вы проверяете перед повтором? Ждёте OnTradeTransaction, лезете в историю, что-то ещё?