Раз в месяц кто-нибудь выходит с этой ошибкой.
При закрытии ордеров считать ордера надо с конца, а не с начала. Т.е.
for (i = total-1; i >=0; i--)
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброго дня.
Помогите разобраться с ситуацией, пожалуйста.
При тестировании возникает ситуация, когда
Задача: Удалить все отложенные ордера и закрыть все торговые ордера по текущей цене.
Примечание: Пользуюсь своим логгером событий, его логи и покажу.
Код:
Лог:
12:54:00 12:54:00 [myOrderDelete]: Сбрасываем баласт
12:54:00 12:54:00 [myOrderDelete]: OrdersTotal: 4
12:54:00 12:54:00 [myOrderDelete]: выбран ордер: 19
12:54:00 12:54:00 [myOrderDelete]: тип ордера: 0
12:54:00 12:54:00 [myOrderDelete]: i: 0; total = 4
12:54:00 12:54:00 [myOrderDelete]: закрываем ордер
12:54:00 12:54:00 [myOrderDelete]: выбран ордер: 21
12:54:00 12:54:00 [myOrderDelete]: тип ордера: 0
12:54:00 12:54:00 [myOrderDelete]: i: 1; total = 4
12:54:00 12:54:00 [myOrderDelete]: закрываем ордер
12:54:00 12:54:00 [myOrderDelete]: ошибка OrderSelect: no error
12:54:00 12:54:00 [myOrderDelete]: ошибка OrderSelect: no error