Discusión sobre el artículo "Implementando OLAP en la negociación (Parte 4): Análisis cuantitativo y visual de los informes del Simulador de estrategias" - página 2

 

Aquí está.

Archivos adjuntos:
 
Szabo Bence #:

Aquí está.

MQL5 puede cambiar con el tiempo, de compilación a compilación. A veces estos cambios rompen la compatibilidad con las fuentes existentes.

Los dos primeros errores en tu lista de errores provienen de una versión obsoleta de MT5 (deberías actualizar a una versión más reciente).

En cuanto a los errores en la biblioteca TypeToBytes, debo señalar que esta no es mi biblioteca. Se trata de un material de 3 ª parte, y como con cualquier dependencia de 3 ª parte debe comprobar las actualizaciones de los autores correspondientes.

Actualmente estoy adjuntando la última versión de TypeToBytes.

Archivos adjuntos:
TypeToBytes.mqh  21 kb
 
Stanislav Korotky #:

MQL5 puede cambiar con el tiempo, de compilación a compilación. A veces estos cambios rompen la compatibilidad con las fuentes existentes.

Los dos primeros errores en su lista de errores provienen de una versión obsoleta de MT5 (debe actualizar a una versión más reciente).

En cuanto a los errores en la biblioteca TypeToBytes, debo señalar que esta no es mi biblioteca. Se trata de un material de 3 ª parte, y como con cualquier dependencia de 3 ª parte debe comprobar las actualizaciones de los autores correspondientes.

Actualmente estoy adjuntando la última versión de TypeToBytes.

Gracias por la actualización de la librería. Ya funciona.

Aunque siguen apareciendo los dos primeros errores. Tengo la build 2981 (la última).

 
Szabo Bence #:

Gracias por la biblioteca actualizada. Ya funciona.

Aunque siguen saliendo los dos primeros errores. Tengo la build 2981 (la última).

Sí, tiene un error. Puede instalar la última versión beta (por ejemplo, 3042, 3061) o añadir casting a (Selector<E> *) y (Filter<E> *) en las 2 líneas correspondientes. Según el texto del error, el compilador ignora const modifer por error. Aparentemente el código fuente es correcto. El cambio sugerido es sólo una solución temporal.

 
Stanislav Korotky #:

Sí, hay un error. Puedes instalar la última versión beta (digamos, 3042, 3061) o añadir casting a (Selector<E> *) y (Filter<E> *) en las 2 líneas correspondientes. Según el texto del error, el compilador ignora const modifer por error. Aparentemente el código fuente es correcto. El cambio sugerido es sólo una solución temporal.

Vale, ya veo. Con la modificación de código sugerida funciona.

Gracias.

 

Publico fuente actualizada de archivo OLAPCommon.mqh, que dejó de compilar debido a cambios en el compilador. También necesito TypeName.mqh - el comportamiento de typename también ha cambiado.

PS. La librería de fxsaber TesterCache.mqh también necesita ser actualizada.

Archivos adjuntos:
OLAPCommon.mqh  47 kb
TypeName.mqh  2 kb
 

Stanislav, por favor, dime cuál puede ser el problema. He actualizado todos los archivos. Pero el compilador sigue fallando.



¿Quizás este es el camino correcto? Entonces el error desaparece:

TypeSelector(): TradeSelector(FIELD_TYPE)
  {
// _typename = typename(this); // fail
   _typename(typename(this));   // OK
  }


 
Denis Kirichenko #:

Stanislav, por favor, dime cuál puede ser el problema. He actualizado todos los archivos. Pero el compilador sigue fallando.

¿Quizás este es el camino correcto? Entonces el error desaparece:

Algo ha cambiado en MQL5, por lo que es necesario parchear OLAPTrades.mqh por analogía con OLAPCommon.mqh (que ya se ha hecho antes).

      _typename_ = TYPENAME(this);

Adjunto el archivo corregido.

Archivos adjuntos:
OLAPTrades.mqh  15 kb
 
Muchas gracias. Funcionó ))