Build 1571. Terminal exit initiated

 
Это запись из журнала терминала "2017.04.17 13:18:05.344 Terminal exit initiated". Как узнать, подробную причину выгрузки терминала? 
 

Две версии:

  1. Я ненароком закрыл - вероятность 5%
  2. Терминал сам глюкнул - вероятность 95%.
В этой связи, хотелось-бы при нажатии на крестик закрытия терминала всплывающее окно с вопросом: "Мол, уверен ли ты человек в своих действиях и реально ли ты желаешь закрыть этот терминал?"

 
Началось закрытие терминала. Пишется в лог всегда.
 

А когда соглашаешься с вопросом:

Vladimir Karputov:

"Мол, уверен ли ты человек в своих действиях и реально ли ты желаешь закрыть этот терминал?"

должно выпрыгнуть следующее окно с подтверждением что совсем с ума не спятил:-)))

И когда действительно сойдёшь с ума от последовательности повторяющихся вопросов, разбей комп и ступай прямиком в психушку.


Что даст этот вопрос??? Ну появилось окно с подтверждением и становишься в ступор: "Как это я нажал закрытие???". Только при нормальной попытке будет раздражать. Я буду для себя интерпретировать такое подтверждение моих действий примерно так: "А не идиот-ли ты? Сам закрываешь, или у тебя ручки шаловливые?".

 
Terminal        MetaTrader 5 x64 build 1589 started (MetaQuotes Software Corp.)
Terminal        Windows 10 Pro (x64 based PC), IE 11.00, UAC, Intel Core i3-3120M  @ 2.50GHz, RAM: 5018 / 8077 Mb, HDD: 322107 / 475588 Mb, GMT+02:00
Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\43B472C43247368C5B97C7F22A1AE963

Снова повторилась ситуация. Компьютер работал всю ночь. Утром посмотрел - нигде нет терминала - (в панели задач его не было). Запустил терминал и вот такой лог за 26.04 (из вкладки "Журнал"):

EP      1       01:01:28.170    Network '5198335': connection to RoboForex-MetaTrader 5 lost
HD      0       01:01:32.849    Network '5198335': authorized on RoboForex-MetaTrader 5 through Europe #4 (ping: 59.46 ms)
OQ      0       01:01:32.849    Network '5198335': previous successful authorization performed from 178.165.123.77 on 2017.04.25 11:41:37
PR      0       01:01:33.010    Network '5198335': terminal synchronized with RoboForex (CY) Ltd.
CO      0       01:01:33.010    Network '5198335': trading has been enabled - hedging mode
RK      1       01:17:07.148    Network '5198335': connection to RoboForex-MetaTrader 5 lost
QS      0       01:17:16.704    Network '5198335': authorized on RoboForex-MetaTrader 5 through Europe #4 (ping: 59.46 ms)
PM      0       01:17:16.704    Network '5198335': previous successful authorization performed from 178.165.123.77 on 2017.04.26 01:01:33
KN      0       01:17:16.910    Network '5198335': terminal synchronized with RoboForex (CY) Ltd.
GH      0       01:17:16.911    Network '5198335': trading has been enabled - hedging mode
LQ      0       05:22:22.039    Network '5198335': scanning network for access points
IO      0       07:19:50.567    Terminal        exit initiated
DS      0       07:19:50.571    Terminal        stopped
QG      0       07:20:15.932    Terminal        MetaTrader 5 x64 build 1589 started (MetaQuotes Software Corp.)
QR      0       07:20:15.935    Terminal        Windows 10 Pro (x64 based PC), IE 11.00, UAC, Intel Core i3-3120M  @ 2.50GHz, RAM: 4962 / 8077 Mb, HDD: 322012 / 475588 Mb, GMT+02:00
EF      0       07:20:15.935    Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\43B472C43247368C5B97C7F22A1AE963
PD      0       07:20:18.588    Network '5198335': authorized on RoboForex-MetaTrader 5 through Russia (ping: 70.80 ms)
ES      0       07:20:18.588    Network '5198335': previous successful authorization performed from 178.165.123.77 on 2017.04.26 05:23:07

Смущают эти строки. Выглядит так, как будто терминал всё-таки работал, но на панели задач его не было видно. И вот какие странности. Из истории торгов вижу, что сработал отложенный ордер:

в истории видно, что сработал отложенный ордер

но в журнале за 26.04 этого нет.


В итоге:

  • в 05:36:46 сработал отложенный ордер, но его нет в журнале терминала - такое может быть только в одном случае - терминал не подключён к сети (или выгрузился).
  • но когда я запустил терминал в 07:19:50, то в журнале получил строки - такое ощущение, что терминал всё-таки был в оперативной памяти, но без признаков жизни.
 

На данный момент добавил в советник в OnInit() код отсылки Push

//---
   if(notification)
     {
      string text="INIT_SUCCEEDED";
      SendNotification(text);
     }
//---
   return(INIT_SUCCEEDED);
  }

и в OnDeinit() код отсылки Push

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   if(notification)
     {
      string text="";
      switch(reason)
        {
         case  REASON_PROGRAM:
            text="REASON_PROGRAM";
            break;
         case  REASON_REMOVE:
            text="REASON_REMOVE";
            break;
         case  REASON_RECOMPILE:
            text="REASON_RECOMPILE";
            break;
         case  REASON_CHARTCHANGE:
            text="REASON_CHARTCHANGE";
            break;
         case  REASON_CHARTCLOSE:
            text="REASON_CHARTCLOSE";
            break;
         case  REASON_PARAMETERS:
            text="REASON_PARAMETERS";
            break;
         case  REASON_ACCOUNT:
            text="REASON_ACCOUNT";
            break;
         case  REASON_TEMPLATE:
            text="REASON_TEMPLATE";
            break;
         case  REASON_INITFAILED:
            text="REASON_INITFAILED";
            break;
         case  REASON_CLOSE:
            text="REASON_CLOSE";
            break;
         default:
            text="NON REASON";
            break;
        }
      SendNotification(text);
     }
  }

может это прояснит хоть немного, что именно происходит с терминалом.

 
И ещё добавил таймер: каждый час советник будет отсылать Push сообщение о том, что он ещё жив.
 
Vladimir Karputov:

Две версии:

  1. Я ненароком закрыл - вероятность 5%
  2. Терминал сам глюкнул - вероятность 95%.
В этой связи, хотелось-бы при нажатии на крестик закрытия терминала всплывающее окно с вопросом: "Мол, уверен ли ты человек в своих действиях и реально ли ты желаешь закрыть этот терминал?"


А я давно собирался об этом писать. Иногда нажимаешь не на тот крестик, а крестик терминала и он без предупреждения закрывается.

Интересно что этот вопрос до сих пор не решен.

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