Советники: VR---Moving

 

VR---Moving:

Советник торгует по индикатору "Moving Average", при этом все подготовительные и торговые функции реализованы в виде торгового класса CMoving в отдельном файле Moving.mqh.

Советник использует принцип качелей, при этом есть возможность увеличивать лоты, для работы применяется простая стратегия:

  • Если цена выше индикатора "Moving Average" на заданную дистанцию Distance from Moving Average, открываем BUY позицию;
  • Если цена уходит вниз от индикатора "Moving Average" на заданную дистанцию Distance from Moving Average, открываем SELL позицию тем же лотом;
  • Если цена поднялась вверх от BUY позиции с самой высокой ценой на заданную дистанцию Distance from Moving Average, открываем следующую BUY позицию;
  • Если цена опустилась вниз от SELL позиции с самой низкой ценой на заданную дистанцию Distance from Moving Average, открываем следующую SELL позицию.

GBPUSD, таймфрейм H1, режим генерации тиков "Каждый тик на основе реальных тиков".

VR---MUVING


Автор: Vladimir Karputov

 
Здравствуйте,
При установке VR --- Moving.mq5 (кодовая база) выдает ошибку в двух строках файла Moving.mqh.

Спасибо.
Файлы:
Erro.jpg  273 kb
 
Sergio Dutra Veiga:
Здравствуйте,
При установке VR --- Moving.mq5 (кодовая база) выдает ошибку в двух строках файла Moving.mqh.

Спасибо.

Торговый форум, автоматические торговые системы и тестирование торговых стратегий

Эксперты: советник ZigZag

Владимир Карпутов, 2019.11.22 19:10

Язык MQL5 стал более строгим - поэтому только сейчас возникла эта ошибка.

Обходной путь был следующим:

         if(!m_money.Init(GetPointer(m_symbol),Period(),m_symbol.Point()*digits_adjust))
            return(INIT_FAILED);
         m_money.Percent(risk);
        }
      else
        {
         Print(__FUNCTION__,", ERROR: Object CMoneyFixedMargin is NULL");
         return(INIT_FAILED);
        }
     }
//---
   return(true);
  }
//+------------------------------------------------------------------+ 
//| Создайте горизонтальную линию| 
//+------------------------------------------------------------------+ 

сделайте следующее:

         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);
  }
//+------------------------------------------------------------------+ 
//| Создайте горизонтальную линию| 
//+------------------------------------------------------------------+ 

 
Большое спасибо, друг.
 

Когда я компилирую заголовочный файл"Moving.mph"

Возникает ошибка

'INIT_FAILED' - expression not boolean Moving.mqh 213 20

Также при компиляции экспертного файла "VR--Moving.mph"

Он также имеет ошибку.

'm_moving' - undeclared identifier VR---Moving.mq5 66 4


Не могли бы вы помочь мне решить эту проблему.

Большое спасибо

 
Dhimasyashin Dhimasyashin :

Когда я компилирую заголовочный файл " Moving.mph"

возникает ошибка

'INIT_FAILED' - выражение не является булевым Moving.mqh 213 20

Также при компиляции экспертного файла "VR--Moving.mph"

Он также имеет ошибку.

'm_moving' - undeclared identifier VR---Moving.mq5 66 4


Не могли бы вы помочь мне решить эту проблему.

Большое спасибо

В приведенной выше строке замените 'INIT_FAILED' на 'false'.

 

Здравствуйте, проверьте советник, у меня не работает.

Файлы:
1.jpg  89 kb