Написание советника помогите разобратся с функциями я только начинаю. - страница 2

 
Что то не хочет он у меня работать ((
 

extern double Lots=0.1;
void CheckForOpen()
{
//----------------открыть BUY-------------------------------
if (iFractals(NULL, 0, MODE_UPPER, 3)>0)//условие открытия БАЙ
{
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),5,0,0,"",0,0,Blue);
}
//---------------- открыть SELL-----------------------------
if ((iFractals(NULL, 0, MODE_LOWER, 3)>0))// условия открытия СЕЛЛ
{
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),5,0,0,"",0,0,Red);
}
}

void CheckForClose()
{

for (int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS);
if (OrderType()==OP_BUY)
{
if (Bid-OrderOpenPrice()>=0.0004) OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);
}
if (OrderType()==OP_SELL)
{
if (OrderOpenPrice()-Ask>=0.0004) OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}

}

}

void start()
{

if (Volume[0]>3)return;
if (OrdersTotal()<1) CheckForOpen();
else CheckForClose();
}

Просто замени свой код на этот и все.

Или просто скачай приклепленный файл.

Файлы:
exp1_1.mq4  2 kb
 

Пасибо большое но что то я еще одного не понял советник рабоатет не так как я хочу

Появился фрактал верх начинаем продовать и через 5 пунктов он закрывается в прибыль, появляется новый фрактал в низ начинаем покупать открываем сделку и выходит через 5 пунктов. А сечас советник не так работает, появился фрактал на покупку он покупает выходит через 5 пунктов и открывает сел хотя фрактала нет, он сразу открывает сел после завершения прошлой покупки что то я немогу эту ошибку найти хотя все верно в чем проблема, ТО что вы написали выглядит вот так )))


Можете подправить так как я написал ?

 

ну я просто лишний код удалил, условия для открытий позиции не менял

 
Так я вроде же правильно указал для открытия позиций? или нет
 
попробуй так
Файлы:
exp1_2.mq4  2 kb
Причина обращения: