Советник. Не открывает сделки. Поправьте

 
extern int Magic=33;
int start()
{
  double Sell=iFractals(NULL,0,MODE_UPPER,3);
  double Buy=iFractals(NULL,0,MODE_LOWER,3);
   if (Sell>0 &&  Buy==0 && Volume[0]<2)
   if (Sell==0 && Buy>0 && Volume[0]<2)
  {
   OrderSend(NULL,OP_SELL,8.0,Bid,10,0,Bid+15*Point,NULL,33,0,clrRed);
   OrderSend(NULL,OP_BUY,8.0,Ask,10,0,Ask+15*Point,NULL,33,0,clrRed);
  }
   return(0);
}
Помогите исправить
 
Arsen_Syharev:
Помогите исправить
EMPTY_VALUE у индикатора, а не 0
 
sergeev:
EMPTY_VALUE у индикатора, а не 0
А можно по подробнее, а как это влияет на открытие сделок?
 
Arsen_Syharev:
А можно по подробнее, а как это влияет на открытие сделок?
а кликнуть на зеленый линк не судьба?
 
Arsen_Syharev:
Помогите исправить
extern int Magic=33;
int start()
{
  double Sell=iFractals(NULL,0,MODE_UPPER,3);
  double Buy=iFractals(NULL,0,MODE_LOWER,3);
  if (Sell>0 &&  Buy==0 && Volume[0]<2)
  {
     OrderSend(NULL,OP_SELL,8.0,Bid,10,NormalizeDouble(Ask+15*Point,Digits),0,NULL,Magic,0,clrRed);
  }
  if (Sell==0 && Buy>0 && Volume[0]<2)
  {
     OrderSend(NULL,OP_BUY,8.0,Ask,10,NormalizeDouble(Bid-15*Point,Digits),0,NULL,Magic,0,clrRed);
  }
   return(0);
} 
Примерно так должно быть, но проверьте правильность параметров функции OrderSend() 
Должно быть так OrderSend(символ, тип ордера,объем,цена,проскальзывание,стоплосс, тейкпрофит,комментарий,магик,
время жизни для отложенного ордера,цвет метки ордера на графике)
Стоплосс, тейкпрофит и цена должны быть нормализованы с помощью функции NormalizeDouble(). 
Неплохо было бы еще и изучить справку по этим функциям.
 

Ув. Топикстартер,

Вы бы номер ошибки получали после OrderSend и от этого уже смотрели что не так с параметрами. 

Попробуйте вместо SL и TP ставить 0 в OrderSend, а затем модифицировать SL/TP. Ибо ежели у Вас 5-значный брокер, то 15 пипсов+спред может быть маловато от текущей цены и брокер не пропустит.

Ставьте отладочные Print'ы для прояснения ситуации.

Причина обращения: