Bug MQL5 quando se trabalha com acesso iClose/iOpen timeseries, etc. - página 6

 

Eu peguei o iTime desligando no PERÍODO_M1.


Meu sistema:

2018.11.15 10:03:35.115 Terminal        MetaTrader 5 x64 build 1944 started (MetaQuotes Software Corp.)
2018.11.15 10:03:35.118 Terminal        Windows 10 (build 17134) x64, IE 11, UAC, Intel Core i3-3120 M  @ 2.50 GHz, Memory: 4141 / 8077 Mb, Disk: 154 / 415 Gb, GMT+2
2018.11.15 10:03:35.118 Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

Funciona normalmente, sem Portátil.

Em AUDUSD, M5 Eu corri "Test CopyTime.mq5" às 10:08:20

2018.11.15 10:08:20.159 Experts expert Test CopyTime (AUDUSD,Daily) loaded successfully

Código de conselheiro especializado

//+------------------------------------------------------------------+
//|                                                Test CopyTime.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

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

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   datetime CM1_T[1];
   datetime CM2_T[1];
   CopyTime(_Symbol,PERIOD_M1,0,1,CM1_T);
   CopyTime(_Symbol,PERIOD_CURRENT,0,1,CM2_T);
   Comment("CopyTime PERIOD_CURRENT: "+TimeToString(CM2_T[0],TIME_DATE|TIME_SECONDS)+"\n"+
           "CopyTime PERIOD_M1: "+TimeToString(CM1_T[0],TIME_DATE|TIME_SECONDS));
  }
//+------------------------------------------------------------------+

Então, em

2018.11.15 10:27:45.583 Network '10169544': connection to MetaQuotes-Demo lost

forçadamente desconectado da Internet (roteador desligado)


Após reconectar com

2018.11.15 10:32:58.823 Network '10169544': authorized on MetaQuotes-Demo through Access Point EU 2 (ping: 50.64 ms)

código

CopyTime(_Symbol,PERIOD_M1,0,1,CM1_T)

deixou de dar o tempo aberto atual de um bar na M1, e todo o tempo dá o último tempo antes que a conexão seja interrompida.


2018.11.15 10:08:20.159 Experts expert Test CopyTime (AUDUSD,Daily) loaded successfully
2018.11.15 10:27:45.583 Network '10169544': connection to MetaQuotes-Demo lost
2018.11.15 10:32:58.823 Network '10169544': authorized on MetaQuotes-Demo through Access Point EU 2 (ping: 50.64 ms)
2018.11.15 10:32:58.823 Network '10169544': previous successful authorization performed from 178.165.123.77 on 2018.11.15 10:03:38
2018.11.15 10:32:58.900 Network '10169544': terminal synchronized with MetaQuotes Software Corp.
2018.11.15 10:32:58.900 Network '10169544': trading has been enabled - hedging mode
2018.11.15 10:33:00.653 Network '10169544': scanning network for access points
2018.11.15 10:33:19.062 Network '10169544': scanning network finished
2018.11.15 10:33:19.062 Network '10169544': auto connecting to a better access point with 95 % quality (previous: 88 %)
2018.11.15 10:33:19.062 Network '10169544': connection to MetaQuotes-Demo lost
2018.11.15 10:33:19.716 Network '10169544': authorized on MetaQuotes-Demo through Access Point EU 4 (ping: 65.57 ms)
2018.11.15 10:33:19.716 Network '10169544': previous successful authorization performed from 178.165.123.77 on 2018.11.15 10:32:58
2018.11.15 10:33:19.825 Network '10169544': terminal synchronized with MetaQuotes Software Corp.
2018.11.15 10:33:19.825 Network '10169544': trading has been enabled - hedging mode


Talvez seja uma matriz estática

datetime CM1_T[1];

E precisa usar uma matriz dinâmica?


Acrescentado: substituiu CM1_T[1] por uma dinâmica CM1_T[]. Depois de quebrar à força a conexão por cerca de três minutos, o fio

CopyTime(_Symbol,PERIOD_M1,0,1,CM1_T)

Sai o último tempo conhecido com M1 antes de quebrar o elo.

Arquivos anexados:
 
Vladimir Karputov:

Eu peguei o iTime desligando no PERÍODO_M1.

Meu sistema:

Funciona normalmente, sem Portátil.

Em AUDUSD, M5 Eu corri "Test CopyTime.mq5" às 10:08:20

Código de conselheiro especializado

Então, em

forçadamente desconectado da Internet (roteador desligado)

Após reconectar com

código

deixou de dar o tempo aberto atual de um bar na M1, e todo o tempo dá o último tempo antes que a conexão seja interrompida.

Talvez seja uma matriz estática

e precisa usar uma matriz dinâmica?

Tente colocá-lo na M30 e obtenha dados também da M30. É exatamente assim que se congela, o que é mostrado no vídeo. Alternar o cronograma não ajuda, apenas removendo o indicador e depois instalando-o.

 
Vitaly Muzichenko:

Tente colocá-la na M30 e obter dados da M30 também. É exatamente assim que eu estou fazendo, o que é mostrado no vídeo. Alternar o cronograma não ajuda, apenas removendo o indicador e depois instalando-o.

Confirmo que brincar com a recarga do indicador não é 100% útil, portanto, para dizer que a cada 3 vezes eu consigo recarregar o indicador completamente e, claro, não adivinhar pela borra de café, é mais fácil descarregar o indicador e recarregá-lo na ferramenta.

Mas é um inferno, de que tipo de automação comercial podemos falar neste tipo de dança com pandeiros.

 
Vladimir Karputov:

*** Talvez seja a matriz estática

Eu tenho matrizes dinâmicas, como está escrito originalmente que é melhor usá-las no SoruXXX, o problema não é o tipo de matriz.

 
No trabalho, tenho que escrever muito ao suporte técnico de diferentes empresas (Symantec, DeviceLock, Kaspersky, FortiNet, Xspider, etc.), mas nunca antes tive que encontrar a causa do problema descrito por mim, mda .... Só me resta escrever uma correção :)
 
Farkhat Guzairov:

... mas infelizmente, o produto MQ, tem sido o meu foco por cerca de 10 anos.

em mais 10 anos tudo estará funcionando corretamente )))))))))))))))))))))

 
Eu tive um problema semelhante há cerca de seis meses. Eu estava escrevendo um robô de arbitragem, então eu estava trabalhando com uma grande lista de personagens ao mesmo tempo. Eu estava escrevendo um robô de arbitragem, então eu estava trabalhando com uma grande lista de símbolos ao mesmo tempo. O robô foi protegido de trabalhar com citações desatualizadas, então o problema era apenas uma diminuição da atividade. A única coisa que ajudou foi a recolocar a EA no gráfico.
 
Vamos reproduzir e corrigir.
 
Renat Fatkhullin:
Vamos reproduzir e corrigir.

Em quanto tempo podemos esperar uma correção?

 
Farkhat Guzairov:

Em quanto tempo podemos esperar uma correção?

O congelamento de um prazo invisível alienígena após a reconexão foi tratado e corrigido. O motivo foi status de cache errado após a reconexão.

A versão Beta 1946 está disponível via Help -> Check Desktop Updates -> Latest Beta Version.