Market closed - страница 12

 
Sergey Gritsay #:

Еще немного повозившись с кодом, мы получили следующее.

//+------------------------------------------------------------------+
//|                                                       test06.mq5 |
//|                                                   Sergey Gritsay |
//|                         https://www.mql5.com/ru/users/sergey1294 |
//+------------------------------------------------------------------+
#property copyright "Sergey Gritsay"
#property link      "https://www.mql5.com/ru/users/sergey1294"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetMillisecondTimer(1);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   string text=NULL;
   int symbol_total=SymbolsTotal(true);

   for(int i=0; i<symbol_total; i++)
     {
      string symbol=SymbolName(i,true);
      if(CheckExchTime(symbol,TimeCurrent()))text+="\n"+symbol+": Торговля разрешена";
      else text+="\n"+symbol+": Торговля запрещена";
     }
   Comment(text);
  }
//+------------------------------------------------------------------+
bool CheckExchTime(string symbol,datetime times)
  {
   MqlDateTime last_time;
   MqlDateTime start_time;
   MqlDateTime end_time;
   datetime trade_time_start=0;
   datetime trade_time_end=0;
   datetime start=0;
   datetime end=0;

   ResetLastError();
   datetime expiration=(datetime)SymbolInfoInteger(symbol,SYMBOL_EXPIRATION_TIME);
   if(expiration!=0 && times>=expiration)return(false);
   TimeToStruct(times,last_time);
   if(SymbolInfoSessionTrade(symbol,(ENUM_DAY_OF_WEEK)last_time.day_of_week,0,trade_time_start,trade_time_end))
     {
      TimeToStruct(trade_time_start,start_time);
      TimeToStruct(trade_time_end,end_time);
      start=StringToTime((string)last_time.year+"."+(string)last_time.mon+"."+(string)last_time.day+" "+(string)start_time.hour+":"+(string)start_time.min+":00");
      end=StringToTime((string)last_time.year+"."+(string)last_time.mon+"."+(string)last_time.day+" "+(string)end_time.hour+":"+(string)end_time.min+":00");
      if(start==end)return(true);
      if(times>start && times<end)return(true);
     }
//else Print("SymbolInfoSessionTrade(0) failed, error = ",GetLastError());
   if(SymbolInfoSessionTrade(symbol,(ENUM_DAY_OF_WEEK)last_time.day_of_week,1,trade_time_start,trade_time_end))
     {
      TimeToStruct(trade_time_start,start_time);
      TimeToStruct(trade_time_end,end_time);
      start=StringToTime((string)last_time.year+"."+(string)last_time.mon+"."+(string)last_time.day+" "+(string)start_time.hour+":"+(string)start_time.min+":00");
      end=StringToTime((string)last_time.year+"."+(string)last_time.mon+"."+(string)last_time.day+" "+(string)end_time.hour+":"+(string)end_time.min+":00");
      if(start==end)return(true);
      if(times>start && times<end)return(true);
     }
//else Print("SymbolInfoSessionTrade(1) failed, error = ",GetLastError());
   return(false);
  }
//+------------------------------------------------------------------+

Результат




Ваша функция решила эту проблему для меня.


Спасибо!!!


//+--------------------------------------------------------------------------------------------------------------------+
//| This function checks if the symbol is trading at the current time                                                  |
//+--------------------------------------------------------------------------------------------------------------------+
bool CheckTradingTime(string symbol)
  {
//--- Local variables
   datetime    times = TimeCurrent(), trade_time_start = 0, trade_time_end = 0, start = 0, end = 0;
   MqlDateTime last_time, start_time, end_time;

//--- Check symbol trade end date
   datetime expiration = (datetime)SymbolInfoInteger(symbol, SYMBOL_EXPIRATION_TIME);
   if(expiration != 0 && times >= expiration)
     {
      return(false);
     }

   TimeToStruct(times, last_time);

//--- Session index: 0
   if(SymbolInfoSessionTrade(symbol, (ENUM_DAY_OF_WEEK)last_time.day_of_week, 0, trade_time_start, trade_time_end))
     {
      TimeToStruct(trade_time_start, start_time);
      TimeToStruct(trade_time_end,   end_time);
      start = StringToTime((string)last_time.year + "." + (string)last_time.mon + "." + (string)last_time.day + " " + (string)start_time.hour + ":" + (string)start_time.min + ":00");
      end   = StringToTime((string)last_time.year + "." + (string)last_time.mon + "." + (string)last_time.day + " " + (string)end_time.hour   + ":" + (string)end_time.min   + ":00");
      if(start == end)
        {
         return(true);
        }
      if(times >= start && times < end)
        {
         return(true);
        }
     }

//--- Session index: 1
   if(SymbolInfoSessionTrade(symbol, (ENUM_DAY_OF_WEEK)last_time.day_of_week, 1, trade_time_start, trade_time_end))
     {
      TimeToStruct(trade_time_start, start_time);
      TimeToStruct(trade_time_end,   end_time);
      start = StringToTime((string)last_time.year + "." + (string)last_time.mon + "." + (string)last_time.day + " " + (string)start_time.hour + ":" + (string)start_time.min + ":00");
      end   = StringToTime((string)last_time.year + "." + (string)last_time.mon + "." + (string)last_time.day + " " + (string)end_time.hour   + ":" + (string)end_time.min   + ":00");
      if(start == end)
        {
         return(true);
        }
      if(times >= start && times < end)
        {
         return(true);
        }
     }

//--- Check completed
   return(false);
  }
 

Просто вопиющие безразличие к проблеме, которая существует с 2018 года!

В торговое время - Рынок закрыт!

Зачем вообще было делать МТ5, для МОЕХ, если поддержка НУЛЕВАЯ?!

 
prostotrader #:

Зачем вообще было делать МТ5, для МОЕХ, если поддержка НУЛЕВАЯ?!

Всё может закончится вообще уходом MT5 с MOEX, так как антирекламы хватает, на местах менеджеры не хотят в нём разбираться и хают...

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

 
Aleksey Vyazmikin #:

Всё может закончится вообще уходом MT5 с MOEX, так как антирекламы хватает, на местах менеджеры не хотят в нём разбираться и хают...

Тоже об этом думал. 

Но на месте MQ очень задумался бы сейчас (с учетом обстановки в мире и места происхождения компании) об изменении отношения к MOEX.

При минимальном "доделывании" терминала под биржу он с легкостью двинет аналоги. И будет тогда MOEX "запасным" аэродромом. Правда пока очень маленьким, зато потенциал роста неисчерпаем :)

Обидно как раз то, что на устранение существующих недостатков требуется значительно меньше усилий, чем на озвучиваемые задачи по развитию терминала (в сторону МО и пр.)

Видимо, о чем то мы не знаем :(

 

Биржевая торговля в России долгое время считалась уделом профессионалов, недоступным "простым людям".

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

На одной только Московской бирже их уже больше 17 миллионов.

И хотя некоторым брокерские счета заводят автоматически, а их владельцы не собираются активно совершать операции, результаты все равно впечатляют.

Руководство Мосбиржи уверено, что к концу года биржа может достичь новой отметки – 25 миллионов клиентов.

В таком случае доступ к рынку ценных бумаг будет иметь почти каждый пятый россиянин.

Это к вопросу о "запасном аэродроме".

 
prostotrader #:

Просто вопиющие безразличие к проблеме, которая существует с 2018 года!

В торговое время - Рынок закрыт!

Зачем вообще было делать МТ5, для МОЕХ, если поддержка НУЛЕВАЯ?!

У какого брокера, на какой секции и во сколько такое произошло? 

 
Ничего делать не будут, мою просьбу в ветке 3360 просто удалили....
 

Если у кого-то тоже "Рынок закрыт", пишите в техподдержку Открывашки.

Мне уже не отвечают....

 
prostotrader #:

Если у кого-то тоже "Рынок закрыт", пишите в техподдержку Открывашки.

Мне уже не отвечают....

В какое точно время у Вас был закрыт рынок и на каком инструменте?
 
Dmitriy Skub #:
В какое точно время у Вас был закрыт рынок и на каком инструменте?

7 или 8 инструментов, где-то в 21-20

Причина обращения: