Подскажите новичку! Закрытие по OrderClose() Новый комментарий Zendom 2013.08.29 06:32 Здравствуйте! Я новичок в программирование на языке 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); } } } /////////////////////////////////////////////////////////////////////////////////// Буду рад выслушать поучения. Всем заранее СПАСИБО!!! Как правильно прописать OrderClose для альпари??? закрытие ордера Вопрос о циклах Valeriy Korobeynik 2013.08.29 09:47 #1 Попробуйте if(Bid<iLow(NULL,0,1)). ilunga 2013.08.29 13:04 #2 Zendom: for(int i=1; i<=OrdersTotal(); i++) // Нумерация ордеров с нуля, а не с единицы Должно выглядеть так: for(int i=0; i<OrdersTotal(); i++) А еще лучше в обратную сторону: for(int i=OrdersTotal(); i>=0; i--) Новый комментарий
Здравствуйте!
Я новичок в программирование на языке 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);
}
}
}
///////////////////////////////////////////////////////////////////////////////////
Буду рад выслушать поучения. Всем заранее СПАСИБО!!!