Ограниченное время работы роботы. - страница 3

 

И этот код запустил, дату поставил чтобы робот запретил работу...все-равно ноль реакций.

Что тыкал время работы, что нет.

Файлы:
1.png  76 kb
 

Индикаторы ниже в архиве.

 
Andrey Sayapin:
Вот индикаторы, к которым бо обращается.

сейчас заменю жесткий диск с другой операционной - где установлен терминал с мт4 и всё отладим как надо!

                                                                                                                                                                                                                                                                                                                      

Вот так должно работать - проверить не смог - не успел скачать ваши индикаторы. - Но, должно работать проверил на другом коде.

<жёлтым где было изменение>

//+------------------------------------------------------------------+
//|                                                    Renko_SIR.mq4 |
//|                                                            MONAH |
//+------------------------------------------------------------------+
#property copyright "MONAH"
#property link      "HELL"
#property version   "666.13"
#property strict

enum CloseOrders
  {
   arrow   = 1,   //По обратной стрелке
   channel = 2,   //По касанию границы канала
   both    = 3    // По стрелке или каналу (оба варианта)
  };

enum TBars
  {
   yes     = 1,   //Да
   no      = 0    //Нет
  };
//---
input datetime From = D'1970.01.01'; // От
input datetime To   = D'2030.01.01'; // К
//---
sinput   string      ea                = "";          //<----- Параметры советника ----->
input    double      lot               = 0.01;        //Лот первого ордера
input    double      sum               = 0.01;        //Значение увеличения лота
input    int         dist              = 150;         //Минимальный шаг до следующего ордера
input    CloseOrders closeOrders       = 1;           //Закрытие ордеров
input    int         magic             = 77777;       //Магик- номер ордеров
input    TBars       tBars             = 1;           //Учитывать индикатор Renko_krasilka?
sinput   string      tmaBars           = "";          //<----- Параметры индикатора Renko_krasilka ----->
input    string      TimeFrame         = "current time frame";
input    int         HalfLength        = 14;
sinput   string      arrows            = "";          //<----- Параметры индикатора Strelki_2 ----->
input    bool        Al                = false;
input    int         RSIPeriod         = 7;
input    int         T3Period1         = 5;
input    int         T3Period2         = 3;
input    int         Lup               = 51;
input    int         Ldown             = 49;
input    double      Indent            = 5;
sinput   string      adaptive          = "";          //<----- Параметры индикатора Trend_line ----->
input    string      _TimeFrame        = "60";
input    double      T3Period          = 5;
input    int         T3Price           = PRICE_OPEN;
input    double      T3Hot             = 0.5;
input    bool        T3Original        = true;
input    int         AdaptPeriod       = 1;
input    int         DeviationsPeriod  = 0;
input    int         DeviationsMethod  = MODE_SMA;
input    bool        alertsOn          = false;
input    bool        alertsOnCurrent   = false;
input    bool        alertsMessage     = false;
input    bool        alertsSound       = false;
input    bool        alertsNotify      = false;
input    bool        alertsEmail       = false;
input    string      soundFile         = "alert1.wav";
input    double      arrowsUpperGap    = 0.5;
input    double      arrowsLowerGap    = 0.5;
input    int         arrowSize         = 0;
sinput   string      chann             = "";          //<----- Параметры индикатора Price_Channel_for_Renko ----->
input    int         ChannelPeriod     = 55;
input    color       xc_Text           = LightGray;

int         orders,
            ordersType,
            tick;
double      price;
datetime    timeOpen;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int NewOrder(int Cmd, double Lot)
  {
   double TP = 0;
   double SL = 0;
   double PR = 0;
   if(Cmd == OP_BUY)
      PR = Ask;
   if(Cmd == OP_SELL)
      PR = Bid;
   int tic = OrderSend(_Symbol, Cmd, Lot, PR, 0, SL, TP, NULL, magic, 0, clrNONE);
   if(tic < 0)
      Print("Ошибка открытия ордера: ", GetLastError());
   else
     {
      timeOpen = TimeCurrent();
      if(Cmd == OP_BUY)
        {
         ordersType =  1;
         price = Ask;
        }
      if(Cmd == OP_SELL)
        {
         ordersType = -1;
         price = Bid;
        }
     }
   return(tic);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int MagicOrders()
  {
   int Orders = 0;
   for(int z = OrdersTotal() - 1; z >= 0; z--)
     {
      if(!OrderSelect(z, SELECT_BY_POS))
        {
         Print("OrderSelect(", z, ", SELECT_BY_POS) - Ошибка #", GetLastError());
         continue;
        }
      if(OrderSymbol() != _Symbol)
         continue;
      if(OrderMagicNumber() != magic)
         continue;
      Orders++;
     }
   return(Orders);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll()
  {
   for(int z = OrdersTotal() - 1; z >= 0; z--)
     {
      if(!OrderSelect(z, SELECT_BY_POS))
        {
         Print("OrderSelect(", z,", SELECT_BY_POS) - Ошибка #", GetLastError());
         continue;
        }
      if(OrderSymbol() != _Symbol)
         continue;
      if(OrderMagicNumber() != magic)
         continue;
      if(OrderType() == OP_BUY)
        {
         if(!OrderClose(OrderTicket(), OrderLots(), Bid, 0, clrNONE))
            Print("Ошибка закрытия ордера. Код ошибки = ", GetLastError());
        }
      if(OrderType() == OP_SELL)
        {
         if(!OrderClose(OrderTicket(), OrderLots(), Ask, 0, clrNONE))
            Print("Ошибка закрытия ордера. Код ошибки = ", GetLastError());
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
//if(TimeCurrent() > D'2020-09-07')
//{
//   Alert("Demo time has expired. Expert stopped.");
//   ExpertRemove();
//}
   for(int z = OrdersTotal() - 1; z >= 0; z--)
     {
      if(OrderSelect(z, SELECT_BY_POS) && OrderSymbol() == _Symbol && OrderMagicNumber() == magic)
        {
         if(OrderType() == OP_BUY)
            ordersType =  1;
         if(OrderType() == OP_SELL)
            ordersType = -1;
         break;
        }
     }
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick(void)
  {
//---
   if((From<To && TimeLocal()>=From && TimeLocal()<To) ||
      (From>To && (TimeLocal()<To || TimeLocal()>=From)))
     {
      OnTimerOnTick();
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTimerOnTick()
  {
   RefreshRates();
   orders = MagicOrders();
   if(orders == 0)
     {
      ordersType = 0;
      if(Bid > iCustom(_Symbol, 0, "Trend_line", _TimeFrame, T3Period, T3Price,
                       T3Hot, T3Original, AdaptPeriod, DeviationsPeriod, DeviationsMethod, alertsOn, alertsOnCurrent,
                       alertsMessage, alertsSound, alertsNotify, alertsEmail, soundFile, arrowsUpperGap,
                       arrowsLowerGap, arrowSize, 0, 1) &&
         iCustom(_Symbol, 0, "Trend_line", _TimeFrame, T3Period, T3Price,
                 T3Hot, T3Original, AdaptPeriod, DeviationsPeriod, DeviationsMethod, alertsOn, alertsOnCurrent,
                 alertsMessage, alertsSound, alertsNotify, alertsEmail, soundFile, arrowsUpperGap, arrowsLowerGap, arrowSize, 1, 1) == EMPTY_VALUE &&
         iCustom(_Symbol, 0, "Strelki_2", Al, RSIPeriod, T3Period1, T3Period2, Lup, Ldown, Indent, 0, 1) != EMPTY_VALUE &&
         ((iCustom(_Symbol, 0, "Renko_krasilka", TimeFrame, HalfLength, 0, 1) == Low[1] && tBars == 1) || tBars == 0))
         tick = NewOrder(OP_BUY, lot);
      if(Bid < iCustom(_Symbol, 0, "Trend_line", _TimeFrame, T3Period, T3Price,
                       T3Hot, T3Original, AdaptPeriod, DeviationsPeriod, DeviationsMethod, alertsOn, alertsOnCurrent,
                       alertsMessage, alertsSound, alertsNotify, alertsEmail, soundFile, arrowsUpperGap,
                       arrowsLowerGap, arrowSize, 0, 1) &&
         iCustom(_Symbol, 0, "Trend_line", _TimeFrame, T3Period, T3Price,
                 T3Hot, T3Original, AdaptPeriod, DeviationsPeriod, DeviationsMethod, alertsOn, alertsOnCurrent,
                 alertsMessage, alertsSound, alertsNotify, alertsEmail, soundFile, arrowsUpperGap, arrowsLowerGap, arrowSize, 1, 1) != EMPTY_VALUE &&
         iCustom(_Symbol, 0, "Strelki_2", Al, RSIPeriod, T3Period1, T3Period2, Lup, Ldown, Indent, 1, 1) != EMPTY_VALUE &&
         ((iCustom(_Symbol, 0, "Renko_krasilka", TimeFrame, HalfLength, 0, 1) == High[1] && tBars == 1) || tBars == 0))
         tick = NewOrder(OP_SELL,lot);
     }
   if(orders > 0)
     {
      if(ordersType > 0)
        {
         if(iCustom(_Symbol, 0, "Strelki_2", Al, RSIPeriod, T3Period1, T3Period2, Lup, Ldown, Indent, 0, 1) != EMPTY_VALUE &&
            timeOpen < Time[0] && Ask <= price - dist * _Point)
            tick = NewOrder(OP_BUY, sum * orders + lot);
         if(((closeOrders == 1 || closeOrders == 3) && iCustom(_Symbol, 0, "Strelki_2", Al, RSIPeriod, T3Period1, T3Period2, Lup, Ldown, Indent, 1, 1) != EMPTY_VALUE) ||
            ((closeOrders == 2 || closeOrders == 3) && iCustom(_Symbol, 0, "Price_Channel_for_Renko", ChannelPeriod, xc_Text, 0, 1) <= Bid))
            CloseAll();
        }
      if(ordersType < 0)
        {
         if(iCustom(_Symbol, 0, "Strelki_2", Al, RSIPeriod, T3Period1, T3Period2, Lup, Ldown, Indent, 1, 1) != EMPTY_VALUE &&
            timeOpen < Time[0] && Bid >= price + dist * _Point)
            tick = NewOrder(OP_SELL, sum * orders + lot);
         if(((closeOrders == 1 || closeOrders == 3) && iCustom(_Symbol, 0, "Strelki_2", Al, RSIPeriod, T3Period1, T3Period2, Lup, Ldown, Indent, 0, 1) != EMPTY_VALUE) ||
            ((closeOrders == 2 || closeOrders == 3) && iCustom(_Symbol, 0, "Price_Channel_for_Renko", ChannelPeriod, xc_Text, 1, 1) >= Bid))
            CloseAll();
        }
     }
  }
//+------------------------------------------------------------------+
 
SanAlex:

сейчас заменю жесткий диск с другой операционной - где установлен терминал с мт4 и всё отладим как надо!

                                                                                                                                                                                                                                                                                                                      

Вот так должно работать - проверить не смог - не успел скачать ваши индикаторы. - Но, должно работать проверил на другом коде.

<жёлтым где было изменение>

проверял так - и открывает и закрывает по времени 

//+------------------------------------------------------------------+
//|                                                  Time On Off.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//---
input datetime From = D'1970.01.01'; // От
input datetime To   = D'2030.01.01'; // К
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit(void)
  {
//---
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick(void)
  {
//---
   if((From<To && TimeLocal()>=From && TimeLocal()<To) ||
      (From>To && (TimeLocal()<To || TimeLocal()>=From)))
     {
      //--- СЮДА ПЕРЕНОСИМ ВСЁ ЧТО У ВАС НАХОДИТСЯ ВАШЕМ ЭКСПЕРТЕ В( void OnTick(void) )
      Print("ЭКСПЕРТ В РАБОТЕ : ");
      PlaySound("tick.wav");
     }
  }
//+------------------------------------------------------------------+

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

задал старт 2021.18 в 8.00 ------------ и стоп  2021.18 в 8.01 Всё сработало на отлично!!!

Снимок 801

 
В архив закинул, там ещё библиотеки, без них ренко не построить и стрелки не будут работать.
 
Andrey Sayapin:
В архив закинул, там ещё библиотеки, без них ренко не построить и стрелки не будут работать.

я с ".dll " файлами не дружу и некогда не устанавливаю 

dlllllllll.png 254.1 kB 1366 x 768px

 

Что-то забанили( Думал можно все в архиве прикрепить.

Библиотекам уже много лет, проблем не было и не думал что тут так строго.

А в файл можете код вставить?

Я его скопировал, но нет ни комментариев, ничего, ну и на изменение дат не реагирует.

 
Почему может не запускаться готовый код?
 
Ребят?
 
Не запускается код совсем.
Причина обращения: