Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Советники

Exp_WeightOscillator_Direct - эксперт для MetaTrader 5

Просмотров:
1563
Рейтинг:
(21)
Опубликован:
2017.02.03 11:32
Обновлен:
2023.03.16 17:25
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Торговая система, построенная на изменениях направления взвешенного осциллятора WeightOscillator. Продаем, если осциллятор поменял направление движения с растущего на падающее, покупаем при изменении направления на растущее. Сигнал на совершение сделки формируется в момент закрытия бара.

Индикатор WeightOscillator_HTF в эксперте предназначен только для более удобной визуализации трендов в тестере стратегий, и в других режимах он не работает.

Для корректной компиляции советника необходимо наличие откомпилированных файлов индикаторов WeightOscillator.ex5 и WeightOscillator_HTF.ex5 в папке <каталог_данных_терминала>\MQL5\Indicators.

После компиляции файл эксперта Exp_WeightOscillator.ex5 содержит индикаторы WeightOscillator.ex5 и WeightOscillator_HTF.ex5 в себе как ресурсы, и поэтому дальнейшей необходимости их наличия в папке терминала для работы откомпилированного эксперта нет! Для этого в код эксперта добавлен соответствующий код для включения этих индикаторов в исполняемый файл эксперта.

На глобальном уровне добавлены исполняемые файлы индикаторов как ресурсы:

//---- Включение индикаторов в код эксперта как ресурсов
#resource "\\Indicators\\WeightOscillator.ex5"
#resource "\\Indicators\\WeightOscillator_HTF.ex5"

В блоке функции OnInit() изменены строковые пути к используемым как ресурсы индикаторам:

//---- получение хендла индикатора WeightOscillator
   InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\\WeightOscillator",RSIWeight,RSIPeriod,RSIPrice,MFIWeight,MFIPeriod,MFIVolumeType,
                         WPRWeight,WPRPeriod,DeMarkerWeight,DeMarkerPeriod,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
   if(InpInd_Handle==INVALID_HANDLE)
     {
      Print(" Не удалось получить хендл индикатора WeightOscillator");
      return(INIT_FAILED);
     }

//---- получение хендла индикатора WeightOscillator_HTF для визуализации в тестере стратегий   
   if(MQLInfoInteger(MQL_VISUAL_MODE))
     {
      //---- получение хендла индикатора WeightOscillator_HTF
      int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\WeightOscillator_HTF",InpInd_Timeframe,
                             RSIWeight,RSIPeriod,RSIPrice,MFIWeight,MFIPeriod,MFIVolumeType,
                             WPRWeight,WPRPeriod,DeMarkerWeight,DeMarkerPeriod,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
      if(Ind_Handle==INVALID_HANDLE)
        {
         Print(" Не удалось получить хендл индикатора WeightOscillator_HTF");
         return(INIT_FAILED);
        }
     }

Таким образом, откомпилированный исполняемый файл эксперта можно использовать на других торговых терминалах без индикаторов самостоятельно.

Следует учесть, что файл библиотеки TradeAlgorithms.mqh предназначен для использования экспертов у брокеров, предлагающих ненулевой спред и возможность установки Stop Loss и Take Profit одновременно с открытием позиции. Другие варианты этой библиотеки можно скачать по ссылке Trade Algorithms.

В тестах, приведенных ниже, использовались входные параметры эксперта по умолчанию. Stop Loss и Take Profit в тестах не использовались.

Рис. 1. Примеры сделок на графике

Рис. 1. Примеры сделок на графике

Результаты тестирования за 2015 год на EURAUD H6:

Рис. 2. График результатов тестирования

Рис. 2. График результатов тестирования

IBS_RSI_CCI_v4_HTF IBS_RSI_CCI_v4_HTF

Индикатор IBS_RSI_CCI_v4 с возможностью изменения таймфрейма индикатора во входных параметрах

NRTR_extr_ZigZag NRTR_extr_ZigZag

Индикатор ZigZag, построенный с использованием алгоритма индикатора NRTR_extr

Exp_IBS_RSI_CCI_v4 Exp_IBS_RSI_CCI_v4

Торговая система с использованием индикатора IBS_RSI_CCI_v4

IchimokuAlert IchimokuAlert

Индикатор Ichimoku с алертом.