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
Cuando llamo a mi función, ¿debo pasar el array por referencia, por puntero o algo más?
Lea la sección sobre el paso de parámetros por valor y por referencia:
MQL5 Reference / Conceptos básicos del lenguaje / Funciones / Pasar parámetros
Lea la sección del Manual de referencia sobre el paso de parámetros por valor y por referencia:
MQL5 Reference / Conceptos básicos del lenguaje / Funciones / Pasar parámetros
De hecho, acabo de llegar de allí y los errores de compilación que mencioné en mi mensaje anterior han ocurrido después de leer la sección anterior.
Ahora lo he releído con atención: se trata de la const y de dónde ponerla.
Gracias, ya lo he resuelto.
EnOnCalculate puedo utilizar fácilmente los elementos del array como alto por índice. ¿Es posible también acceder a los elementos del índice de este array en ExtFunc? Al llamar a mi función, ¿debo pasar el array-argumento por referencia, por puntero o por otra cosa? Hasta ahora he conseguido minimizar los mensajes de error a: "'high' - parameter conversion is not allowed" y "'high' - constant variable cannot be passed as reference" respecto a la misma línea de mi llamada a la función con el argumento del array de OnCalculate. ¿Es inútil o hay una solución?
Hasta ahora en OnCalculate he recurrido a copiar los altos a otro array:
y luego usar CopyOfHigh en ExtFunc en lugar de usar high-array directamente.Sólo tienes que pasar el array a tu función por referencia
¡Saludos a todos!
¿Qué significa la advertencia?
posible pérdida de datos debido a la conversión de tipo expert.mq5
al compilar? Dice esto:
¿Qué pasa?
Simplemente pasa el array a tu función por referencia
No exactamente:
¡Saludos a todos!
¿Qué significa la advertencia?
posible pérdida de datos debido a la conversión de tipo expert.mq5
al compilarlo? Dice esto:
¿Qué pasa?
Qué significa la advertencia:
posible pérdida de datos debido a la conversión de tipos
El significado de este mensaje varía según el contexto en el que se considere.
Por ejemplo:
1. "¡Haz una conversión de tipo explícita!"
2. "Posible torsión de datos con conversión de tipos implícita" // Esta es una traducción literal.
Esto es comprensible, ya que el tipo largo devuelto por la función tiene un tamaño mayor y cubre un rango más amplio de valores.
Otra de las opciones que más se me ocurren últimamente:
3. "El personal de MetaQuotes no entiende lo genial, atractivo y eficaz que sería aprender si los mensajes de error y las advertencias del compilador de mql5 se dieran en el idioma nativo del usuario".
... lo genial, atractivo y eficaz que sería aprender si los mensajes de error y las advertencias del compilador de mql5 se dieran en el idioma nativo del usuario".
Tengo la sospecha de que si el indicador se activa a través de iCustom, se calcula en cada tick. Y no depende de las llamadas a él a través del CopyBuffer. ¿Es correcto?
Si es correcto, ¿es posible desactivar el cálculo del indicador y activarlo sólo antes de llamar al CopyBuffer?
Tengo la sospecha de que si el indicador se activa a través de iCustom, se calcula en cada tick. Y no depende de las llamadas a él a través del CopyBuffer. ¿Es correcto?
Depende de la lógica del indicador personalizado. En realidad, puede recalcular sus valores una vez al día, saltándose todos los demás ticks. Es decir, según la voluntad del autor.
Si es así, ¿es posible desactivar el recálculo del indicador y activarlo sólo antes de llamar al CopyBuffer?
Básicamente, algunas personas tratan de utilizar este enfoque monstruoso: crear una copia del indicador a través de iCustom, copiar los datos necesarios, eliminar la copia del indicador. El procedimiento se repite según sea necesario.
También existe la función OnTimer(), no he trabajado con ella, pero quizás puedas adaptarla a tu tarea.