Вопрос по коду

 

Чем отличается этот код 

extern double lots=0.1;
extern int slippadge=2;
extern int ST=0;
extern int TP=0;
extern int magic=777;
extern string comment="Test 1";
    
bool inside_bar_buy;
double takeprofit, stoploss, urovenlimitaIB_buy;
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
if (High[3]>=Open[2]&&Low[3]<=Close[2]&&High[3]>=Close[2]&&Low[3]<=Open[2])inside_bar_buy=true; else inside_bar_buy=false;
      
      urovenlimitaIB_buy=High[3];
      
      if (Close[1]>High[3]&& inside_bar_buy==true)
      {stoploss = NormalizeDouble (urovenlimitaIB_buy - ST*Point, Digits);
      takeprofit = NormalizeDouble (urovenlimitaIB_buy + TP*Point, Digits);
      OrderSend (Symbol(), OP_BUYLIMIT, lots, urovenlimitaIB_buy, slippadge, stoploss, takeprofit, comment, magic, 0, clrGreen);}
   
  }

 От этого:

extern double lots=0.1;
extern int slippadge=2;
extern int ST=0;
extern int TP=0;
extern int magic=777;
extern string comment="Test 2";

bool inside_bar_sell;
double takeprofit, stoploss, urovenlimitaIB_sell;
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
if (High[3]>=Open[2]&&Low[3]<=Close[2]&&High[3]>=Close[2]&&Low[3]<=Open[2])inside_bar_sell=true; else inside_bar_sell=false;
      
      urovenlimitaIB_sell=Low[3];
      
      if (Close[1]<Low[1]&& inside_bar_sell == true)
      {stoploss = NormalizeDouble (urovenlimitaIB_sell - ST*Point, Digits);
      takeprofit = NormalizeDouble (urovenlimitaIB_sell + TP*Point, Digits);
      OrderSend (Symbol(), OP_SELLLIMIT, lots, urovenlimitaIB_sell, slippadge, stoploss, takeprofit, comment, magic, 0, clrRed);}
   
  }

 По первому коду все прекрасно работает: открываются покупки. По второму, для продаж - абсолютно никакой реакции. В чем проблема?

 
Repcon:

Чем отличается этот код 

 От этого:

 По первому коду все прекрасно работает: открываются покупки. По второму, для продаж - абсолютно никакой реакции. В чем проблема?

Потому и не работает.

Похоже Вас ошибки не интересуют, которые можно проанализировать. Обработки ошибок нету (а то ответ бы уже давно получили).

Я только хочу спросить почему стопы и тейки считаются по одной и той же модели в обоих случаях. Может надо знаки поменять. Где был "+" использовать "-" и наоборот 

 
if (Close[1]<Low[1]&& inside_bar_sell == true)
Цена закрытия никак не может быть ниже минимальной цены на одном и том же баре.
 
Vinin:

Потому и не работает.

Похоже Вас ошибки не интересуют, которые можно проанализировать. Обработки ошибок нету (а то ответ бы уже давно получили).

Я только хочу спросить почему стопы и тейки считаются по одной и той же модели в обоих случаях. Может надо знаки поменять. Где был "+" использовать "-" и наоборот 

Спасибо. Глупая ошибка. Действительно, надо смотреть на коды ошибок

 

PozitiF:
Цена закрытия никак не может быть ниже минимальной цены на одном и том же баре.

 Да, естественно. Описался.

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