Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 2461
- Рейтинг:
- Опубликован:
- 2016.12.01 16:20
- Обновлен:
- 2023.03.16 17:30
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Реальный автор: Хлыстов Владимир
Самый простой советник по взвешенному осциллятору 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() изменёны строковые пути к используемым как ресурсы индикаторам
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. Примеры сделок на графике
Результаты тестирования за 2015 год на EURJPY H6:
Рис. 2. График результатов тестирования

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

Fractional Bands модифицирует ценовые изменения с помощью фрактального броуновского движения, которое принимает во внимание фрактальную размерность.

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

Два фрактальных канала Кёлтнера в облачном исполнении.