← К каталогу
Исходный код · ID 171

Hydra Expert

hydrafinal1.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Hydra Expert — торговый советник для MetaTrader 4, работающий на языке MQL4. Советник анализирует сигналы пользовательского индикатора (Hydra Signals Indicator или super-arrow-indicator) и принимает решения об открытии и закрытии позиций. Обработка выполняется в функции OnTick, инициализация — в OnInit, завершение — в OnDeinit.

Советник открывает позиции по направлению сигнала индикатора или против него в зависимости от настройки revers. Для подтверждения сигнала может использоваться проверка направления на нескольких старших таймфреймах, а также пересечение ценой границы канала индикатора. Закрытие позиций может выполняться по сигналу индикатора или при достижении заданного уровня прибыли или убытка от баланса.

Поддерживаются управление стоплоссом и тейкпрофитом, перенос стоплосса при достижении определённого профита, трейлинг стоплосса, а также ограничение времени открытия ордеров по часам. Объём позиции может быть фиксированным или рассчитываться динамически в зависимости от баланса. Советник использует торговые операции MetaTrader 4 и не является индикатором или библиотекой.

Настройки программы

НастройкаОписание
orders Открывать ордера на каждой свече — Определяет, открывать ордера на каждой свече или только при появлении стрелки.
name Имя индикатора — Имя используемого пользовательского индикатора.
ind1 Использовать super-arrow-indicator — Переключатель выбора используемого индикатора: super-arrow-indicator или Hydra Signals Indicator.
C1 Параметр C1 — Строковый параметр, связанный с индикатором super-arrow-indicator.
BollingerBandsDeviation Отклонение полос Боллинджера — Отклонение для полос Боллинджера, используемое в индикаторе super-arrow-indicator.
Alerts Оповещения — Включает или отключает оповещения в используемом индикаторе.
UtStup Ступень — Целочисленный параметр ступени, передаваемый в индикатор super-arrow-indicator.
C2 Параметр C2 — Строковый параметр, связанный с индикатором Hydra Signals Indicator.
tf Таймфрейм — Таймфрейм, передаваемый в индикатор Hydra Signals Indicator.
Amplitude Амплитуда — Целочисленный параметр амплитуды, передаваемый в индикатор Hydra Signals Indicator.
ChannelDeviation Отклонение канала — Отклонение канала, передаваемое в индикатор Hydra Signals Indicator.
Получить полный код

Поиск по коду файла

#property version   "4.00"
#property description "Hydra Expert"
#property strict  /*
input uchar magic = 1   ,// Идентификатор эксперта
       start_hour = 7   ,// Час начала времени открытия ордеров
         end_hour = 23  ,// Час конца времени открытия ордеров
       timeframes = 2   ;// Кол-во ближайших старших таймфреймов, на которых ищем подтверждения сигнала
input bool cl_tfs = 0   ,// Требовать для закрытия позиций подтверждения на старших таймфреймах?
      traversal_g = 1   ,// Требовать для открытия позиции пересечения ценой соответствующей границы канала?
           revers = 0   ;// Торговать против последней стрелки? Иначе - в ее направлении
input int      SL = 200 ,// Стоплосс в пипсах. Если 0, то стоплосс не применяется
               TP = 0   ,// Тейкпрофит в пипсах. Если 0, то тейкпрофит не применяется
             TP01 = 20  ,// Профит в пипсах, по превышении которого sl переносится на расстояние SL01 пипсов от цены. Если 0, то это не применяется
             SL01 = 10  ,// Расстояние в пипсах от впервые перемещенного стоплосса до цены в момент этого перемещения. Если 0, то это не применяется
              TP0 = 200 ,// Профит в пипсах, по превышении которого включается трейлинг. Если 0, то трейлинг не применяется
              SL0 = 200 ,// Максимальное расстояние впипсах от стоплосса до цены при трейлинге. Если 0, то трейлинг не применяется
         slippage = 5   ;// Максимальное проскальзывание в пипсах
input double lots = 0   ,// Фиксированное кол-во лотов. Если 0, то объем динамический.
             teta = 0.2 ,// Доля в % от баланса, на каждые 10 единиц которой открывается 1 лот (при fixlot = 0)
       max_profit = 15  ,// Профит в % от баланса, по достижении которого позиции закрываются
         max_loss = 15  ;// Просадка в % от баланса, по достижении которой позиции закрываются
input int   sleep = 10  ,// Начальная пауза в мс между этими попытками
        reconnect = 5   ;// Максимальное кол-во попыток открыть или закрыть ордер
input bool orders = 1   ;// Открывать ордера на каждой свече? Иначе - только при появлении стрелки
input string name = "Hydra Signals Indicator";// Имя используемого индикатора
input bool   ind1 = 0   ;// Используется super-arrow-indicator? Иначе - Hydra Signals Indicator
*/
input uchar magic = 1,
       start_hour = 0,
         end_hour = 24,
       timeframes = 0;
input bool cl_tfs = 0,
      traversal_g = 0,
           revers = 0;
input int      SL = 200,
               TP = 0,
             TP01 = 20,
             SL01 = 10,
              TP0 = 200,
              SL0 = 200,
         slippage = 5;
input double lots = 0,
             teta = 0.2,
       max_profit = 15,
         max_loss = 15;
input int   sleep = 10,
        reconnect = 5;
input bool orders = 1;
input string name = "Hydra Signals Indicator";
input bool   ind1 = 0;
input string   C1 = "   super-arrow-indicator";
input int        FasterMovingAverage = 5  ,
                 SlowerMovingAverage = 12 ,
                           RSIPeriod = 12 ,
                   MagicFilterPeriod = 1  ,
                BollingerBandsPeriod = 10 ,
                 BollingerBandsShift = 0  ;
input double BollingerBandsDeviation = 0.5;
input int           BullsPowerPeriod = 50 ,
                    BearsPowerPeriod = 50 ;
input bool                    Alerts = 0  ;
input int                     UtStup = 10 ;
input string   C2 = "   Hydra Signals Indicator";
input ENUM_TIMEFRAMES             tf = 0;
input int                  Amplitude = 4;
input double        ChannelDeviation = 6;
input bool                  alertsOn = 0,
                     alertsOnCurrent = 0,
                       alertsMassage = 0,
                         alertsSound = 0,
                         alertsEmail = *,
                        showChannels = 1,
                          ShowArrows = 1,
                    ArrowsOnFirstBar = 1;

double _max_loss, _max_profit, _SL, _TP, _SL0, _TP0, _SL01, _TP01;

int OnInit()
{
      // код доступен только после оплаты
   }

void OnDeinit(const int reason)
{
   Print("DEINIT_SUCCEEDED");
}

void OnTick()
{
      // код доступен только после оплаты
   }

void TSL()
{
   for(int o = OrdersTotal(); o --> 0;)
      if(OrderSelect(o, SELECT_BY_POS) ? OrderSymbol() == _Symbol ? OrderMagicNumber() == magic : false : false) {
         int sell = OrderType();
         if(sell < 2) {
            double price = OrderOpenPrice(), sl = OrderStopLoss();
            bool sl0 = SL0 ? sell
             ? price > _TP0 + Ask ? _Point > sl || sl > _SL0 + Ask : false
             : price + _TP0 < Bid && sl < Bid - _SL0 : false, sl01 = !sl0 && SL01 ? sell
             ? price > _TP01 + Ask ? _Point > sl || sl > price + _S

Показано первые 50% кода (символов: 8695)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
869,50₽ ≈ $10.63