Errores, fallos, preguntas - página 610

 

Hola.

Cambiando de 4 a 5. No puedo entender la siguiente pregunta. He prescrito mi clase en el archivo de inclusión, luego lo uso en el Asesor Experto. Luego quiero crear otro Asesor Experto y necesito la misma clase. ¿Necesito crear otro archivo de inclusión o el terminal creará una copia del existente y lo enganchará adecuadamente a otro EA (como las bibliotecas de funciones en MQL4)? ¿Se pueden registrar las clases en bibliotecas y luego utilizarlas junto con varios Asesores Expertos (como las bibliotecas de funciones en MQL4)? He descargado el certificado para 5-th, pero no he encontrado ninguna descripción detallada de este procedimiento. ¿Quizás haya algo que leer que me ayude a entenderlo?

Gracias de antemano.

 

RedFish:

¿Tengo que crear otro archivo de inclusión o el terminal creará una copia del existente y lo enganchará correctamente a otro EA (como las bibliotecas de funciones en MQL4)?

Al crear una clase en un archivo externo, haga el archivo con la extensión mqh en lugar de mq5 y luego incluya este archivo en su proyecto de cualquier experto/script/indicador

¿Se pueden añadir clases a las bibliotecas y utilizarlas simultáneamente con varios EAs (como las bibliotecas de funciones en MQL4)?

¡Claro! Hazlo así.

 
sergeev:

Cuando cree una clase en un archivo externo, haga este archivo con la extensión mqh en lugar de mq5 y conecte este archivo a cualquiera de sus proyectos EA/Script/indicador a través de include.

¡Por supuesto! Hazlo así.

Gracias por la respuesta.

¿Cómo conectar bibliotecas con clases a un Asesor Experto? En MQL4, existía la operación #import - enumeré las funciones - #import, la cerré y todo funcionó. En MQL5, ¿cómo funciona este procedimiento? No encuentro una descripción de este proceso en ningún sitio...

Gracias de nuevo.

 
RedFish:

Gracias por la respuesta.

¿Cómo puedo conectar bibliotecas con clases a un Asesor Experto? En MQL4, existía la operación #import - enumeré las funciones - #import, la cerré y todo funcionó. En MQL5, ¿cómo funciona este procedimiento? No encuentro una descripción de este proceso en ningún sitio...

Gracias de nuevo.

Estos puntos se describen en detalle en la Ayuda: https://www.mql5.com/ru/docs/basis/preprosessor
Документация по MQL5: Основы языка / Препроцессор
Документация по MQL5: Основы языка / Препроцессор
  • www.mql5.com
Основы языка / Препроцессор - Документация по MQL5
 
Terminal: При авторизации в журнал терминала выводится информация о времени и адресе предыдущего успешного подключения.

Esta implementación conduce a una brecha de seguridad - revela la dirección IP del comerciante si éste decide repentinamente dar la contraseña de Invest a otra persona. Lo he comprobado: la IP se muestra a todo el mundo, independientemente de si se ha conectado con su contraseña de comercio o de inversor y de cómo lo haya hecho.

Significa que al iniciar la sesión se muestra la IP de la última conexión (independientemente de si la última conexión se realizó con la contraseña de inversor o de comercio).

Debe desactivar esta función para la contraseña de inversor y sólo considerar los inicios de sesión con la contraseña de comercio.

 
notused:

Esta implementación conduce a una brecha de seguridad - revela la dirección IP del comerciante si éste decide repentinamente dar la contraseña de Invest a otra persona. Lo he comprobado: la IP se muestra a todo el mundo, independientemente de si se ha conectado con su contraseña de comercio o de inversor y de cómo lo haya hecho.

Significa que al iniciar la sesión se muestra la IP de la última conexión (independientemente de si la última conexión se realizó con la contraseña de inversor o de comercio).

Debe desactivar esta función para la contraseña de inversor y sólo considerar los inicios de sesión con la contraseña de comercio.

Sí, eso se arreglará - ya se ha visto.
 
      ObjectSetInteger(0,highlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
¿Cómo puedo preparar de antemano una cadena con enumeración lógica(?) como: OBJ_PERIOD_M10| OBJ_PERIOD_H4, para luego simplemente sustituir en ObjectSetInteger () la variable lista en forma de cadena pegada? Intenté pegarlo simbólicamente y luego envolverlo en StringToInteger(), pero no funcionó... PorqueOBJ_PERIOD_... - es un elemento de tipo enum pero tiene el equivalente hexadecimal del tipo int? Esta enumeración se parece más a la operación OR a nivel de bits...
 
x100intraday:
¿Cómo puedo anteponer una cadena con enumeración booleana(?) como: OBJ_PERIOD_M10| OBJ_PERIOD_H4, para poder sustituir una variable lista en ObjectSetInteger () como una cadena pegada? Intenté pegarlo simbólicamente y luego envolverlo en StringToInteger(), pero no funcionó... PorqueOBJ_PERIOD_... - es un elemento de tipo enum pero tiene el equivalente hexadecimal del tipo int? Esta enumeración se parece más a la operación OR a nivel de bits...

¿Funcionaría con #define?

Ejemplo:

#define Fl_Fnc __FILE__+" -> "+__FUNCTION__+"(): "
 
tol64:

¿Funcionaría con #define?

Ejemplo:

Me da miedo imaginar cómo. En realidad, necesito una variante flexible, no necesito una cadena en forma inalterada, sino varias cadenas diferentes para formar, en un bucle... Si es posible, me gustaría ver un ejemplo más concreto...

De hecho, la cuestión se reduce a algo más. Quiero saber si es posible, en principio, obtener OBJ_PERIOD_M30 real como elemento enum a partir de una cadena que contenga una palabra reservada del tipo "OBJ_PERIOD_M30 " y que realmente contenga int-value sobre el que se puedan realizar operaciones como |? Este es un caso sencillo. Pero quiero interpretar inmediatamente cualquier línea de la forma "OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1" como una operación bitwise con valores numéricos sin introducir un array adicional de valores numéricos correspondientes y la posterior "identificación" elemento a elemento con una lista.

 

Buenas tardes, por favor, aconsejen, necesito utilizar esta construcción void RAssignStringVector(int rhandle, string variable, string &vector[], int size);

Me aparece el error 'vector' - parámetro no válido para la función de importación mt4R.mqh, ¿cómo puedo pasar un puntero a una matriz de cadenas, funciona en µl4, no en 5, qué debo hacer en esta situación?