Советники: Auto ADX

 

Auto ADX:

Советник использует индикатор iADX (Average Directional Movement Index, ADX), выставляет Стоп лосс, Тейк профит, может включать трейлинг позиций. Используются два главных параметра: "Период усреднения индикатора ADX" и "Уровень индикатора ADX".

Auto ADX (level)

Автор: Vladimir Karputov

 
Amazing Ea Попробуйте это с менее волатильными парами, такими как NzdUsd AudCad NzdCad
 

Когда я пытаюсь скомпилировать советник, то получаю две ошибки: "INIT FAILED" - выражение не является булевым.

Обе ошибки одинаковые.

'INIT_FAILED' - выражение не булево Auto ADX.mq5 строка 279 столбец 20

'INIT_FAILED' - выражение не boolean Auto ADX.mq5 строка 285 столбец 17.

Где ошибка в коде? Спасибо за помощь.

Hatee



 
Heinz Thieme :

При попытке скомпилировать советник я получил две ошибки: "INIT FAILED" - expression not boolean.

Обе ошибки одинаковые.

'INIT_FAILED' - выражение не является булевым Auto ADX.mq5 строка 279 столбец 20

'INIT_FAILED' - выражение не является булевым Auto ADX.mq5 строка 285 столбец 17.

Где ошибка в коде? Спасибо за помощь.

Hatee



Замените старую функцию на эту:

//+------------------------------------------------------------------+
//| Лоты или риск в процентах для сделки со свободной маржой |
//+------------------------------------------------------------------+
bool LotsOrRisk(const double lots,const double risk,const int digits_adjust)
  {
   if(lots<0.0 && risk<0.0)
     {
      Print(__FUNCTION__,", ERROR: Parameter (\"lots\" or \"risk\") can't be less than zero");
      return(false);
     }
   if(lots==0.0 && risk==0.0)
     {
      Print(__FUNCTION__,", ERROR: Trade is impossible: You have set \"lots\" == 0.0 and \"risk\" == 0.0");
      return(false);
     }
   if(lots>0.0 && risk>0.0)
     {
      Print(__FUNCTION__,", ERROR: Trade is impossible: You have set \"lots\" > 0.0 and \"risk\" > 0.0");
      return(false);
     }
   if(lots>0.0)
     {
      string err_text="";
      if(!CheckVolumeValue(lots,err_text))
        {
         Print(__FUNCTION__,", ERROR: ",err_text);
         return(false);
        }
     }
   else if(risk>0.0)
     {
      if(m_money!=NULL)
         delete m_money;
      m_money=new CMoneyFixedMargin;
      if(m_money!=NULL)
        {
         if(!m_money.Init(GetPointer(m_symbol),Period(),m_symbol.Point()*digits_adjust))
            return(false);
         m_money.Percent(risk);
        }
      else
        {
         Print(__FUNCTION__,", ERROR: Object CMoneyFixedMargin is NULL");
         return(false);
        }
     }
//---
   return(true);
  }
 
я получаю сообщение об ошибке при компиляции выражения не логическая строка 1 столбец 1
 
mfhassan22:
я получаю сообщение об ошибке при компиляции выражения не логическая строка 1 столбец 1

Вот version   "1.001

Файлы:
Auto_ADX.mq5  46 kb