Errores, fallos, preguntas - página 1623

 
Dmitri Custurov:
Muchas gracias por la solución aportada. Todo funciona.
Genial. Así que la biblioteca y el caso de uso de ejemplo que estoy publicando en KodoBase.
 
-Aleks-:
Sería mucho más rápido leer todo el archivo de matriz en la memoria, y luego trabajar con él.
No creo que el optimizador tenga que abrir, leer y cerrar el archivo decenas de miles de veces.
 
Aliaksandr Yemialyanau:

¿Cómo puedo conectar un archivo de matriz a mi EA?

En primer lugar, el script escribe un array:

Conecto el archivo en el EA:

Al compilar, errores:

'??????????????????????????t????...' - el identificador es demasiado largo mas.dat 1 1

'' - símbolo desconocido mas.dat 1 3015

¿Cuál es el archivo mas? ¿Qué tipo de archivo? A juzgar por estos errores, es sólo un flujo de bytes, ¿no?
 

Graves errores con las variables estáticas. Considera este código:

class A  { public:
            int m;
            A() { Alert("A");  m=1; }
         };

class B  { public:
            B() { Alert("B");  static A a;  Alert("a.m==",a.m);  Alert("&a==",&a);}
         };
B b;

void OnStart()
{
};

Al ejecutarlo, obtenemos el siguiente orden de alertas:

B
a.m==0
&a==0
A

Es decir, la variable estática no ha sido inicializada todavía en el momento de acceder a ella. Incluso el puntero es nulo, se acaba de saltar y seguimos con seguridad.

O bien se inicializa la variable y se sigue adelante o se aborta la compilación con un error.

Pero cuando se produce una recursión de clases mutuamente referenciadas, la compilación debe ser abortada.

 
Aliaksandr Yemialyanau:

¿Cómo puedo conectar un archivo de matriz a mi EA?

En primer lugar, el script escribe un array:

Conecto el archivo en el EA:

Al compilar, errores:

'??????????????????????????t????...' - el identificador es demasiado largo mas.dat 1 1

'' - símbolo desconocido mas.dat 1 3015

Tu script debería generar un archivo mas.mqh, que contendrá un array de uchar-types con bytes de tus datos. Por ejemplo, si el archivo tiene un tamaño de tres bytes, el contenido del archivo mas.mqh debe ser el siguiente:

uchar mass[3] = {25, 127, 89};

La masa de la matriz generada es la que debes utilizar en tu programa.

 
Aliaksandr Yemialyanau:
No creo que el optimizador tenga que abrir, leer y cerrar el archivo decenas de miles de veces.
¿Así que quieres compilar con un array?
 
Es poco probable que tengas que leer un archivo de un disco decenas de miles de veces, para eso está la caché del disco, aunque no sé si se utiliza en este caso concreto, pero deberías comprobarlo y medirlo antes de inventar muletillas.
 
Si interrumpo una ejecución en MT5, sólo se ve el gráfico de cambio de saldo. Pero las operaciones y los pedidos no están disponibles.
El uso del modo de visualización no siempre es adecuado debido a la posible lentitud de los cálculos adicionales de MQLInfoInteger(MQL_VISUAL_MODE).
¿Es posible añadir la disponibilidad de toda la información durante el backtest (sin visualización), como es en MT4?
 
En el modo de depuración de datos históricos, MQLInfoInteger(MQL_VISUAL_MODE) siempre devuelve true.
 
fxsaber:
En el modo de depuración de datos históricos, MQLInfoInteger(MQL_VISUAL_MODE) siempre devuelve true.
¿Qué debe devolver?