Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 624
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
Así es como se modifica
hay muchos errores en el código, en
es mejor normalizar los precios, entonces funcionarán, luego el servidor dará un error de "precios erróneos", es deseable normalizarStopLoss_SELL
y lo más probable es que tenga que comprobar si el StopLoss es igual a cero - no es deseable comparar números reales para que sean iguales, debe tratar de comparar números reales a > o <
Ayúdenme a arreglar un error en el indicador, no dibuja el máximo y el mínimo del día cuando está en la última vela de la hora.
He esbozado el indicador, a tu código no le gusta trabajar con cadenas, yo lo escribiría más sencillo, aquí tienes un ejemplo. Aunque si su tarea es tener en cuenta el desfase horario del servidor, entonces se necesita el camino inverso.
Mi ejemplo tampoco es un ejemplo, lo escribí rápido, creo que no debería haber contado desde el final de la historia hasta el principio en la primera ejecución, sino desde la barra cero hasta la historia, el código habría sido más corto y habría sido capaz de calcular el día actual más rápido - el ciclo habría sido más corto,
Pero lo he comprobado en el tester, parece que funciona sin problemas, que sea así, es tarde, tengo sueño... Hice un mal ejemplo (((
hay muchos errores en el código, en
es mejor normalizar los precios, entonces funcionarán, luego el servidor dará un error de "precios erróneos", es deseable normalizarStopLoss_SELL
Y lo más probable es que tenga que comprobar si el StopLoss es igual a cero, y no es deseable comparar números reales para que sean iguales, debe intentar comparar números reales a > o <
Así es. Acabo de mostrar un lugar en el código, por qué no modifica las órdenes de mercado: solicitar un stop del mercado dará 0.
Aquí tienes un indicador esbozado, no me gusta tu código con cadenas, yo lo escribiría más sencillo, aquí tienes un ejemplo. Aunque si su tarea es tener en cuenta el desfase horario del servidor, entonces tiene que hacerlo de otra manera.
Mi ejemplo tampoco es un ejemplo, lo escribí rápido, creo que no debería haber contado desde el final de la historia hasta el principio en la primera ejecución, sino desde la barra cero hasta la historia, el código habría sido más corto y habría sido capaz de calcular el día actual más rápido - el ciclo habría sido más corto,
Pero lo he comprobado en el tester, parece que funciona sin problemas, que sea así, es tarde, tengo sueño... Mal ejemplo hecho (((
No es mi código, lo encontré en Internet, no sé escribir indicadores. :)
Por si sirve de algo un mal ejemplo, me ha gustado mucho tu indicador, funciona en el Probador de Estrategias y en gráficos reales.
Muchas gracias por la rápida ayuda.
¿Puedo pedirte también que elimines las líneas que dibujan el canal? Las he marcado con flechas rojas en la captura de pantalla.
Y si no es mucha molestia, por favor, añade la función de desactivar/activar la formación de líneas en el día actual. Los he marcado en la captura de pantalla con flechas azules. https://prnt.sc/kuuj3e
Gracias de antemano.
¡Hola querida!
Por favor, indíquenos cómo ejecutar el procedimiento OnInit();
después de cambiar las variables del Asesor Experto?
Cuando se coloca el Asesor Experto en el gráfico, hay OnInit(); pero cuando se cambian las variables, ¡no hay OnInit!
¿Cómo identificar el evento de cambio de variable del Asesor Experto?
Por favor, ayuda con consejos, o más bien con código, ¿cómo hacerlo?
¡Hola querida!
Por favor, indíquenos cómo ejecutar el procedimiento OnInit();
después de cambiar las variables del Asesor Experto?
Cuando se coloca el Asesor Experto en el gráfico, hay OnInit(); pero cuando se cambian las variables, ¡no hay OnInit!
¿Cómo identificar el evento de cambio de variable del Asesor Experto?
Por favor, ayuda con consejos, o más bien con código, ¿cómo hacerlo?
Experimenta con este código, lee el mensaje en el registro del EA (cambia el TF, introduce la variable, reinicia el terminal sin cerrar el EA...)
y la segunda opción es describir en el ámbito global la variable con el modificador static
Experimente con dicho código, lea el mensaje en el registro del Asesor Experto (cambie el TF, introduzca la variable, recargue el terminal sin cerrar el Asesor Experto...)
y la segunda opción es describir en el ámbito global la variable con el modificador static
En el ámbito global con el modificador static????? Esto es una especie de perversión.
A nivel global con el modificador estático ????? Esto es una especie de perversión.
Pero según mi experiencia, cuando se actualizan a menudo las compilaciones de MT4, es mejor escribirlas según el C++ clásico, que escuchar la respuesta "escribir el código correctamente" cuando se comunica con los desarrolladores
ZS: Recuerdo por qué empecé a escribir el modificador estático globalmente, si quiero asegurarme de que no voy a "perder" el valor de la variable durante la ejecución del programa MQL. Antes (hace unos 5 años) la directiva precompiladora #property strict no existía y al habilitar los archivos (#include o library - ya no lo recuerdo) "perdí mi variable" una vez, ya que los nombres de las variables coincidían con el nombre de la variable.Pero si escribiera un modificador estático el compilador mostraría un error de compilación en ese caso también.
El compilador actual es MT4, bastante manejable y fiable, y con la directiva #property strict, quizás no necesite esas precauciones, pero escribo static por costumbre cuando no quiero "perder un valor" de una variable
ZZZY: este modificador no afecta a la velocidad de ejecución del programa MQL, y es conveniente para mí para abrir mi código después de algún tiempo, y habiendo visto estática voy a saber exactamente, que esta variable tiene un valor, que es importante "no perder" durante la ejecución del programa
Pero según mi experiencia, cuando se actualizan a menudo las compilaciones de MT4, es mejor escribirlas según el C++ clásico, que escuchar la respuesta "escribir el código correctamente" cuando se comunica con los desarrolladores
ZS: Recuerdo por qué empecé a escribir el modificador estático globalmente, si quiero asegurarme de que no voy a "perder" el valor de la variable durante la ejecución del programa MQL. Antes (hace unos 5 años) la directiva precompiladora #property strict no existía y al habilitar los archivos (#include o library - ya no lo recuerdo) "perdí mi variable" una vez, ya que los nombres de las variables coincidían con el nombre de la variable.Pero si escribiera un modificador estático el compilador mostraría un error de compilación en ese caso también.
El compilador actual de MT4 es bastante práctico y fiable, y con la directiva #property strict, quizás no necesite tales precauciones, pero escribo static por costumbre cuando no quiero "perder un valor" de una variable
ZZZY: este modificador no afecta a la velocidad de ejecución del programa MQL, y es conveniente para mí para abrir mi código después de algún tiempo, y habiendo visto estática voy a saber exactamente, que esta variable tiene un valor, que es importante "no perder" durante la ejecución del programa
El compilador generará una advertencia si los nombres de las variables coinciden con los del archivo de inclusión. Para mí, una advertencia es igual a un error y reacciono a ellos de la misma manera. Y las variables globales de nivel con modificador estático son iguales al aceite.
Pero... Si te gusta escribir así, nadie te lo puede prohibir.
Pero... Pero... si te gusta escribirlo así, nadie te lo puede prohibir.
Tengo dudas acerca de mi singularidad en este asunto... No soy el único, buscando en la carpeta de MQL5 he encontrado este tipo de declaraciones con modificador estático a nivel global en varios códigos fuente de la entrega de MT5
Incluso en el artículo "BOSQUE DE DECISIONES ALEATORIAS EN EL RESUMEN" en el código fuente encontré una declaración a nivel global: static datetime last_time=0;
así que escribí como me parece que asignar y será, no lo hago 100% de las variables a nivel global que describe como estática
Dios protege a los necesitados, dijo la monja... ))))