Error en MQL5 al trabajar con el acceso a series temporales iClose/iOpen, etc. - página 6

 

He pillado a iTime colgado en PERIOD_M1.


Mi 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, no es portátil.

En AUDUSD, M5 ejecuté "Test CopyTime.mq5" a las 10:08:20

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

Código del Asesor Experto

//+------------------------------------------------------------------+
//|                                                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));
  }
//+------------------------------------------------------------------+

Entonces en

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

desconectado a la fuerza de Internet (router apagado)


Después de volver a conectarse a

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)

ha dejado de dar el tiempo de apertura actual de una barra en M1, y todo el tiempo da el último tiempo antes de que se rompa la conexión.


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


Tal vez sea una matriz estática

datetime CM1_T[1];

¿Y necesita utilizar una matriz dinámica?


Añadido: se ha sustituido CM1_T[1] por un CM1_T[] dinámico. Después de romper la conexión a la fuerza durante unos tres minutos, la cadena

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

Emite la última hora conocida con M1 antes de romper el enlace.

Archivos adjuntos:
 
Vladimir Karputov:

He pillado a iTime colgado en PERIOD_M1.

Mi sistema:

Funciona normalmente, no es portátil.

En AUDUSD, M5 ejecuté "Test CopyTime.mq5" a las 10:08:20

Código del Asesor Experto

Entonces en

desconectado a la fuerza de Internet (router apagado)

Después de volver a conectarse a

código

ha dejado de dar el tiempo de apertura actual de una barra en M1, y todo el tiempo da el último tiempo antes de que se rompa la conexión.

Tal vez sea una matriz estática

y necesita utilizar una matriz dinámica?

Intenta ponerlo en M30, y obtener datos de M30 también. Así es exactamente como se congela, lo que se muestra en el vídeo. Cambiar el marco temporal no ayuda, sólo quitar el indicador y luego instalarlo.

 
Vitaly Muzichenko:

Intenta ponerlo en M30, y obtener los datos de M30 también. Así es exactamente como estoy consiguiendo la congelación, como se muestra en el vídeo. Cambiar el marco temporal no ayuda, sólo quitar el indicador y luego instalarlo.

Confirmo que jugar con la recarga del indicador no es 100% útil, así que decir que por cada 3 veces que consigo recargar el indicador completamente y por supuesto no adivinar por los posos del café, es más fácil descargar el indicador y volver a cargarlo en la herramienta.

Pero es una barbaridad, de qué tipo de automatización comercial podemos hablar en esta especie de baile con panderetas.

 
Vladimir Karputov:

*** Tal vez sea la matriz estática

Tengo arrays dinámicos, como está escrito originalmente que es mejor usarlos en SoruXXX, el problema no es el tipo de array.

 
Ya sabes, en el trabajo, tengo que escribir mucho al soporte técnico de diferentes empresas (Symantec, DeviceLock, Kaspersky, FortiNet, Xspider, etc.), pero nunca antes había tenido que encontrar la causa del problema descrito por mí, mda .... Sólo queda escribirme un arreglo :)
 
Farkhat Guzairov:

... pero desgraciadamente, el producto MQ, ha sido mi foco de atención durante unos 10 años.

en otros 10 años todo funcionará correctamente )))))))))))))))))))))

 
Tuve un problema similar hace unos seis meses. Estaba escribiendo un robot de arbitraje, así que trabajaba con una gran lista de personajes al mismo tiempo. Estaba escribiendo un robot de arbitraje, así que trabajaba con una gran lista de símbolos al mismo tiempo. El robot estaba protegido contra el trabajo con cotizaciones obsoletas, por lo que el problema era sólo una disminución de la actividad. Lo único que ayudó fue volver a conectar el EA al gráfico.
 
Lo reproduciremos y corregiremos.
 
Renat Fatkhullin:
Lo reproduciremos y corregiremos.

¿Cuándo podemos esperar una corrección?

 
Farkhat Guzairov:

¿Cuándo podemos esperar una solución?

La congelación de la actualización del marco temporal invisible de los alienígenas tras la reconexión ha sido tratada y solucionada. La razón era que los estados de la caché eran erróneos después de la reconexión.

La versión beta 1946 está disponible a través de Ayuda -> Comprobar actualizaciones del escritorio -> Última versión beta.