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

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

Просмотров:
4075
Рейтинг:
(20)
Опубликован:
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

Рис.1 Рабочий график эксперта Exp_ATR_Trailing 

PositionInfo PositionInfo

Простейший индикатор для вывода некоторой актуальной информации о позиции прямо на текущий график.

i-AnyRange2 i-AnyRange2

Индикатор двух диапазонов произвольных временных интервалов

ColorStochastic_HTF ColorStochastic_HTF

Классический вариант стохастического осциллятора, который можно располагать, зафиксировав таймфрейм индикатора на значении, отличающемся от таймфрейма графика, и выполненный в виде облака.

iMACD±ATR iMACD±ATR

MACD, смещенная на торговый диапазон, используется для определения зон перекупленности/перепроданности и тренда.