Не все ордера и позиции закрываются
Наткнулся на проблему, когда MT возвращает определенное количество ордеров или позиций, но не по всем может вернуть тикет, поэтому не получается закрыть позицию или удалить ордер. Приходится в цикле повторять действие несколько раз.
Этот код НЕ работает (остаются некоторые позиции и ордера):
Этот код работает (все позиции закрываются и все ордера удаляются):
Почему мне нужно в цикле несколько раз брать ордера и позиции, чтобы точно закрыть все?
Более правильный перебор всех открытых позиций и отложенных ордеров.
for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) //ордер предварительно должен быть выбран { ......... //Любые действия с ордерами } }
Наткнулся на проблему, когда MT возвращает определенное количество ордеров или позиций, но не по всем может вернуть тикет, поэтому не получается закрыть позицию или удалить ордер. Приходится в цикле повторять действие несколько раз.
Этот код НЕ работает (остаются некоторые позиции и ордера):
Этот код работает (все позиции закрываются и все ордера удаляются):
Почему мне нужно в цикле несколько раз брать ордера и позиции, чтобы точно закрыть все?