Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Exp_ATR_Trailing - эксперт для MetaTrader 5
- Просмотров:
- 4145
- Рейтинг:
- Опубликован:
- 2012.08.27 14:04
- Обновлен:
- 2023.03.16 17:37
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Этот эксперт передвигает стоплосс открытой позиции по границе канала, построенного с помощью индикатора ATR_Trailing. Модификация стоплосса происходит только на смене бара на основе данных с только что закрытого бара и в случае если стоплосс будет в итоге прижат к текущей цене.
В этом эксперте добавлена возможность отображения индикатора, используемого в эксперте на текущем графике напрямую из эксперта без необходимости вручную накидывать этот индикатор на график. Это оказывается достаточно удобным, так как индикатор на графике возникает на графике автоматически, после установки эксперта на график и этот индикатор всегда имеет входные параметры, тождественные входным параметрам эксперта.
Я на всякий случай приведу здесь весь код, который позволяет осуществить подобную возможность:
//+------------------------------------------------------------------+ //| Включение класса CChart в состав эксперта | //+------------------------------------------------------------------+ #include <Charts\Chart.mqh> //---- объявление глобальной переменной типа CChart CChart cchart; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //---- получение хендла индикатора ATR_Trailing InpInd_Handle=iCustom(Symbol(),PERIOD_CURRENT,"ATR_Trailing",Period_ATR,Sell_Factor,Buy_Factor); if(InpInd_Handle==INVALID_HANDLE) Print(" Не удалось получить хендл индикатора ATR_Trailing"); //--- сбросим код ошибки в ноль ResetLastError(); //--- поручим объекту cchart работать с текущим (ID=0) графиком, на котором запущен эксперт cchart.Attach(0); //---- добавление индикатора ATR_Trailing на график if(!cchart.IndicatorAdd(0,InpInd_Handle)) Print(" Не удалось добавить индикатор ATR_Trailing на график");
Входные параметры эксперта:
//+----------------------------------------------+ //| Входные параметры эксперта | //+----------------------------------------------+ input int Period_ATR=14; //период АТR input double Sell_Factor=2.0; input double Buy_Factor=2.0; input uint Deviation=10; //слиппаж
Рис.1 Рабочий график эксперта Exp_ATR_Trailing
Простейший индикатор для вывода некоторой актуальной информации о позиции прямо на текущий график.
i-AnyRange2Индикатор двух диапазонов произвольных временных интервалов
Классический вариант стохастического осциллятора, который можно располагать, зафиксировав таймфрейм индикатора на значении, отличающемся от таймфрейма графика, и выполненный в виде облака.
iMACD±ATRMACD, смещенная на торговый диапазон, используется для определения зон перекупленности/перепроданности и тренда.