← Назад к списку файлов

hydrafinal1.mq4

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

#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 = 0,
                        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 и нажмите кнопку, чтобы перейти к оплате.