Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 163

 
hoz:

Existe una biblioteca hoz_LoggingToAnywhere@Library.mq4, que se llama desde el archivo de cabecera hoz_Base@Include.mqh

Al compilar la biblioteca hoz_LoggingToAnywhere@Library.mq4 lo veo en el registro:

Voy allí... Y ahí lo veo:

Llamar a esta función fPrint desde otras librerías no hace que se culpe a nadie, pero desde el archivo de cabecera... sí. ¿Por qué? Ya está copiado símbolo a símbolo...


Porque esta función tiene (...) como parámetro, y se necesita la composición exacta


enlace:

https://docs.mql4.com/ru/basis/preprosessor/import

Como las funciones importadas están fuera del módulo que se está compilando, el compilador no puede comprobar si los parámetros pasados son correctos. Por lo tanto, para evitar errores en tiempo de ejecución, se debe especificar la composición exacta y el orden de los parámetros pasados a las funciones importadas. Los parámetros pasados a las funciones importadas (tanto de los módulos EX4 como DLL) no pueden tener valores por defecto.

 
ilunga:

Porque esta función tiene (...) como parámetros y se necesita la composición exacta


referencia:

https://docs.mql4.com/ru/basis/preprosessor/import

Como las funciones importadas están fuera del módulo que se está compilando, el compilador no puede comprobar la corrección de los parámetros pasados. Por lo tanto, para evitar errores en tiempo de ejecución, se debe especificar la composición exacta y el orden de los parámetros pasados a las funciones importadas. Los parámetros pasados a las funciones importadas (tanto de los módulos EX4 como DLL) no pueden tener valores por defecto.


Así que importé las funciones correctamente, según:

#import "hoz_LoggingToAnywhere@Library.ex4"
    void fPrint (string& fs_Text);
#import
#import "hoz_HandlingWithErrorS.ex4"
    string fErrorToString(int fi_Error);
    string fErrorDescription (int fi_Error);
#import

El tipo de función y los parámetros están ahí... Y ya lo usé de esta manera:

fPrint (StringConcatenate ("fInitBase() => ", fErrorToString (bi_Err)));

De hecho aquí es obvio que todo lo que está entre paréntesis StringConcatenate es de tipo string, ya los declaré durante la importación.

//.......................................................................................................................................................................//

¿Dónde está el problema? Algo sale un completo disparate. Lo he cambiado por esto:

string m = StringConcatenate ("fInitBase() => ", fErrorToString (bi_Err));
   fPrint (m);

Y no hay más errores. Pero no me gusta este aspecto. Se está alargando. ¿Algo más corto?

 
hoz:


¿Dónde está el problema?

Está en su enfoque. Para ser más precisos, en su falta de voluntad para leer la documentación técnica. Siempre el mismo "rastrillo". Si es tan amable, independientemente Lea cuándo puede pasar parámetros por referencia y cuándo no.

https://docs.mql4.com/ru/basis/variables/formal

Si no está claro, memorízalo.

 
VladislavVG:

Está en su enfoque. Más concretamente, su falta de voluntad para leer la documentación técnica. Siempre el mismo "rastrillo". Si es tan amable, independientemente Lea cuándo puede pasar parámetros por referencia y cuándo no.

https://docs.mql4.com/ru/basis/variables/formal

Si no está claro, sólo hay que memorizarlo.


De hecho, tiene razón en alguna parte. Pero no es una falta de voluntad de entender, es sólo un poco de despiste. En eso estoy trabajando. El asunto está resuelto. ¡Muchas gracias por la reprimenda! Lo tendré en cuenta.
 
hoz:

De hecho, tiene razón en alguna parte. Pero no es una falta de voluntad de entender, es sólo un poco de despiste. En eso estoy trabajando. El asunto está resuelto. ¡Muchas gracias por la reprimenda! Lo tendré en cuenta.
¡En la esquina, en los guisantes!
 
artmedia70:
¡En la esquina, en los guisantes!


 

Señores, aconsejen cómo configurar (cerrar) la vista de pestañas en fxbook. Gracias.


 
El problema se ha resuelto.
 

Todavía no domino mql4, pero ya he hecho algunos progresos. Me gusta el probador de estrategias en mql5, en mi opinión, muestra una imagen más profunda y sólo por el probador quiero convertir EAs a mql5.

Pero falta una cosa en el foro de mql5, no hay muchos mensajes, el foro no es muy activo. ¿Es posible hacer preguntas sobre mql5 en este foro?

 
Forexman77:

Todavía no domino mql4, pero ya he hecho algunos progresos. Me gusta el probador de estrategias en mql5, me da una visión más profunda de la situación y sólo por el probador me gustaría cambiar mis EAs a mql5.

El foro de mql5 sólo tiene unos pocos mensajes, el foro no es tan activo. ¿Es posible hacer preguntas sobre mql5 en este foro?

Creo que MQL4 y MQL5 han dividido a la gente en comerciantes y programadores. Los de MQL5 pueden hacer todo tipo de cosas bonitas y luego venderlas en el Mercado. El comerciante común sólo necesita MQL4, por no hablar de los que comercian a mano. Yo mismo lo probé, e incluso conseguí un poco de conocimiento de la OOP. Prueba y aprende. Te compensará)).