Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1097
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Se pasa un puntero a una función como parámetro. Veo que nadie ha descubierto cómo hacer esto con las clases. Tampoco me queda claro por qué hay que devolver un puntero a una clase.
Aquí hay muestras interesantes, pero no son relevantes para mi pregunta.
También he visto algo parecido en la guía, pero ya he cerrado estos sitios porque me duelen las manos y tengo trabajo.¿Por qué debería jugar con una tarea tan sencilla? Puedes simplemente obtener los datos necesarios a través de un objeto de clase
Estoy familiarizado con las referencias, los punteros y los punteros de función, pero rara vez los utilizo en la práctica. Y en general, creo que son necesarios sólo para el ahorro de memoria - y Asesores Expertos con indicadores no son juegos, por lo que podemos manejar con variables comunes y objetos de clase enel ámbito global
¿Por qué llegar tan lejos con una tarea tan sencilla? Puede simplemente obtener los datos requeridos a través de un objeto de clase
Estoy familiarizado con las referencias, los punteros y los punteros a funciones, pero rara vez los utilizo. A mi entender, son necesarios sólo para el ahorro de memoria, los Asesores Expertos con indicadores no son juegos, por lo tanto, podemos utilizar variables ordinarias y objetos de clase en el ámbito global.
No quiero complicarme en una tarea sencilla, y por supuesto, modifico mis programas donde antes se llamaba a la función, escribo una expresión aritmética para simplificar los cálculos o cambio a una función sobrecargada simplificada, por lo que quiero trasladar el programa a las clases. Pero como escribiste arriba y rara vez las usas, y ahora la pregunta es las clases están ahí pero crear punteros a funciones de esta clase es imposible, por qué se necesita este tipo de programación, si haces una no puedes hacer la otra, no es programación sino el diablo sabe qué.
No quiero complicarme en una tarea sencilla y, por supuesto, modifico mis programas donde antes se llamaba a una función, escribo una expresión aritmética para simplificar los cálculos o cambio a una función sobrecargada simplificada, por lo que quiero traducir el programa a clases. Pero como escribiste arriba y rara vez las usas, y ahora la pregunta es las clases están ahí pero crear punteros a funciones de esta clase es imposible, por qué se necesita este tipo de programación, si haces una no puedes hacer la otra, no es programación sino el diablo sabe qué.
Una clase es una plantilla de algún objeto, y para utilizar la funcionalidad que está en esta plantilla - primero debe crear un objeto.
En esencia, el nombre de la clase actúa como un tipo de datos, como int, double, string, etc., pero con una funcionalidad ampliada. No se puede declarar una variable sin especificar su tipo.
Y además de eso, puedes simplemente separar la función de la clase y puede ser usada en la clase y por separado de la clase sin crear un objeto
¿Puede haber alguna otra razón por la que el indicador no funcione, excepto que su archivo haya sido eliminado de la carpeta correspondiente? (el indicador está compilado y funciona en un terminal, pero no en otro)
La clase es una plantilla de algún objeto, y para utilizar la funcionalidad que está en esta plantilla - usted tiene que crear un objeto primero.
De hecho, el nombre de la clase actúa como un tipo de datos, como int, double, string, etc., pero con una funcionalidad ampliada. No se puede declarar una variable sin especificar su tipo.
Y además de eso, puedes simplemente separar la función de la clase y puede ser usada en la clase y por separado de la clase sin crear un objeto
A menos que. Bueno es que las clases son un tema complicado, y hay toneladas de ejemplos en el libro de referencia sobre el paso, sobre la creación de enlaces y punteros, creo que es posible (al menos en c++ es posible pero mql4 no tiene nada que ver con c++), hay que entender como funciona. La ayuda mostró estos ejemplos son muy complicados y sobrecargados, en vez de tomar una clase y mostrar un ejemplo sencillo lo sobrecargaron con cálculos e información extra y no puedo entender lo que quieren decir, cerré todos estos enlaces por cansancio y fatiga. Ok, entonces voy a sacar funciones de la clase.
¿Puede haber alguna otra razón por la que el indicador no funcione, excepto que su archivo haya sido eliminado de la carpeta correspondiente? (el indicador está compilado y funciona en un terminal pero no en otro)
¿Del mercado?
¿Puede haber alguna otra razón por la que el indicador no funcione, excepto que su archivo haya sido eliminado de la carpeta correspondiente? (el indicador está compilado y funciona en un terminal, pero no funciona en otro)
ver mensajes en el terminal y en los registros del Asesor Experto
su captura de pantalla sólo muestra que este indicador no tiene código fuente
¿Puede haber alguna otra razón por la que el indicador no funcione, excepto que su archivo haya sido eliminado de la carpeta correspondiente? (el indicador está compilado y funciona en un terminal, pero no en otro)
¿Del mercado?
No
ver mensajes en el terminal y en los registros del Asesor Experto
Su captura de pantalla sólo muestra que este indicador no tiene fuente
Gracias
Tal vez necesite bibliotecas adicionales
Exactamente no, yo lo escribí - yo sabría
Por favor, dígame por qué el compilador genera una advertencia en el siguiente código de script de prueba MQL4:
Una advertencia en la línea 27 sobre la incompatibilidad de tipos de datos. Ambas variables tienen el mismo tipo int. A continuación se muestra una captura de pantalla de la compilación del script.
Si sustituyo la línea 27 por
la advertencia no aparece.
¿Cuál es el truco?