А что соссна значит ошибка 128?

 

Вопрос наверное к разработчикам.

Вот написано

ERR_TRADE_TIMEOUT128Истек срок ожидания совершения сделки

Это отвечает сервер, или просто таймер в MT досчитывает до какого-то значения?

И если в этот момент (пока MT ждет результатов) оборвалась связь, что будет - 6 или 128.

Как правильно обрабатывать такую ошибку.

Конткретно попробовал 2 варианта (при открытии ордера)

1. Зацикливать OrderSend, пока не откроется - было 2 или 3 случая, что открывалось сразу несколько ордеров

2 Раз вызвать OrderSend и поверить, что все хорошо - бывает, что не открывается.

А как правильно?

Это не так часто встречается, так что отладить по ошметкам информации в логах сложновато

HELP!!!

 
 
probapera писал(а) >>
Вот что советуют разработчики:
ERR_TRADE_TIMEOUT 128 Истек срок ожидания совершения сделки. Прежде, чем производить повторную попытку (не менее, чем через 1 минуту), необходимо убедиться, что торговая операция действительно не прошла (новая позиция не была открыта, либо существующий ордер не был изменён или удалён, либо существующая позиция не была закрыта)
Лично я, перед OrderSend запоминаю текущее время и если получена такая ошибка, то через необходимый промежуток смотрю нет ли ордера со временем открытия больше запомненого, вот как-то так.
 
Talex >>:
Вот что советуют разработчики:
ERR_TRADE_TIMEOUT 128 Истек срок ожидания совершения сделки. Прежде, чем производить повторную попытку (не менее, чем через 1 минуту), необходимо убедиться, что торговая операция действительно не прошла (новая позиция не была открыта, либо существующий ордер не был изменён или удалён, либо существующая позиция не была закрыта)
Лично я, перед OrderSend запоминаю текущее время и если получена такая ошибка, то через необходимый промежуток смотрю нет ли ордера со временем открытия больше запомненого, вот как-то так.

А необходимый - это какой? 1 мин?

 
probapera писал(а) >>

А необходимый - это какой? 1 мин?

Ну, да, написано же, "не менее, чем через 1 минуту"