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

Fractal_WeightOscillator - индикатор для MetaTrader 5

Просмотров:
2291
Рейтинг:
(22)
Опубликован:
2016.12.06 17:13
Обновлен:
2023.03.16 17:30
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Осциллятор, представляющий взвешенную сглаженную сумму четырёх индикаторов: Fractal_RSI, Fractal_MFI, Fractal_WPR и Fractal_DeMarker.

Для корректной компиляции индикатора Fractal_WeightOscillator необходимо наличие откомпилированных файлов индикаторов Fractal_RSI.mq5, Fractal_MFI.mq5, Fractal_WPR.mq5 и Fractal_DeMarker.mq5 в папке <каталог_данных_терминала>\MQL5\Indicators.

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

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

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

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

//---- получение хендла индикатора Fractal_RSI
   RSI_Handle=iCustom(NULL,0,"::Indicators\\Fractal_RSI",e_period,normal_speed,RSIPrice);
   if(RSI_Handle==INVALID_HANDLE)
     {
      Print(" Не удалось получить хендл индикатора Fractal_RSI");
      return(INIT_FAILED);
     }
//---- получение хендла индикатора Fractal_MFI
   MFI_Handle=iCustom(NULL,0,"::Indicators\\Fractal_MFI",e_period,normal_speed,MFIPrice,MFIVolumeType);
   if(MFI_Handle==INVALID_HANDLE)
     {
      Print(" Не удалось получить хендл индикатора Fractal_MFI");
      return(INIT_FAILED);
     }
//---- получение хендла индикатора Fractal_WPR
   WPR_Handle=iCustom(NULL,0,"::Indicators\\Fractal_WPR",e_period,normal_speed);
   if(WPR_Handle==INVALID_HANDLE)
     {
      Print(" Не удалось получить хендл индикатора Fractal_WPR");
      return(INIT_FAILED);
     }
//---- получение хендла индикатора Fractal_DeMarker
   DeMarker_Handle=iCustom(NULL,0,"::Indicators\\Fractal_DeMarker",e_period,normal_speed);
   if(DeMarker_Handle==INVALID_HANDLE)
     {
      Print(" Не удалось получить хендл индикатора Fractal_DeMarker");
      return(INIT_FAILED);
     }

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

Индикатор использует классы библиотеки SmoothAlgorithms.mqh (нужно скопировать в <каталог_данных_терминала>\MQL5\Include), подробное описание работы с которыми было опубликовано в статье "Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов".

Порядок компиляции файлов:

  1. Fractal_RSI.mq5, Fractal_MFI.mq5, Fractal_WPR.mq5 и Fractal_DeMarker.mq5
  2. Fractal_WeightOscillator.mq5

Рис.1. Индикатор Fractal_WeightOscillator

Рис.1. Индикатор Fractal_WeightOscillator

Fractal_MFI_HTF Fractal_MFI_HTF

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

Exp_Fractal_MFI Exp_Fractal_MFI

Самый простой советник по фрактальному MFI.

DayPositionsCount DayPositionsCount

Функция возвращает количество открытых советником позиций за день.

Angry Bird (Scalping) Angry Bird (Scalping)

Советник по мотивам Ilan 1.6. Используются индикаторы iCCI(CCI, Commodity Channel Index), iRSI(RSI, Relative Strength Index).