Когда я пытаюсь скомпилировать советник, то получаю две ошибки: "INIT FAILED" - выражение не является булевым.
Обе ошибки одинаковые.
'INIT_FAILED' - выражение не булево Auto ADX.mq5 строка 279 столбец 20
'INIT_FAILED' - выражение не boolean Auto ADX.mq5 строка 285 столбец 17.
Где ошибка в коде? Спасибо за помощь.
Hatee
При попытке скомпилировать советник я получил две ошибки: "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); }
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Владимир Карпутов, 28/09/2019 17:37
Вот версия "1.001
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Auto ADX:
Советник использует индикатор iADX (Average Directional Movement Index, ADX), выставляет Стоп лосс, Тейк профит, может включать трейлинг позиций. Используются два главных параметра: "Период усреднения индикатора ADX" и "Уровень индикатора ADX".
Автор: Vladimir Karputov