Подскажите новичку! Закрытие по OrderClose()

 

Здравствуйте!

Я новичок в программирование на языке mqlи наткнулся на такую проблему!

Задача простая но не пойму почему не работает:

Открыт ордер Bay с TP=50 SL=0

Нужно его закрыть Если текущая цена опустилась ниже самой низкой цены предыдущего бара.

Я делаю так:

///////////////////////////////////////////////////////////////////////////////////

for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер

{

if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий

{

//Закрытие ордера Bay

if(Ask>iLow(NULL,0,1))

{

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),2,Red);

}

}

}

///////////////////////////////////////////////////////////////////////////////////

Буду рад выслушать поучения. Всем заранее СПАСИБО!!!

 

Попробуйте if(Bid<iLow(NULL,0,1)).

 
Zendom:

 for(int i=1; i<=OrdersTotal(); i++) // Нумерация ордеров с нуля, а не с единицы


Должно выглядеть так:


for(int i=0; i<OrdersTotal(); i++)

А еще лучше в обратную сторону:

for(int i=OrdersTotal(); i>=0; i--)