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
¡Hola, señores desarrolladores!
¿Podemos hacer cambios en el compilador de MQL5 para que al menos nos dé un aviso?
para errores de este tipo en el código.
if(Flag_Exitl=true) {break;}
La condición de comparación aquí no es correcta (debería ser == ), por eso siempre será break.
¿Cómo se puede abordar esta situación en el compilador (si es que es posible), de modo que pueda tener menos baches al escribir el código?
(He pensado que no va a funcionar, parece que hay que separar la asignación y la comparación en el if, por lo que se elimina la pregunta).
Las variables de tipo bool no se pueden comparar con true/false, sino que se utilizan directamente (esencialmente es una bandera de sí/no)
Recibo regularmente el error 4401
ERR_HISTORY_NOT_FOUND
El siguiente código indicador
dará un error justo después del inicio (si no está en D1). O mejor dicho, una vez que inicias el terminal y abres el gráfico - para poner el indicador, te dará un error. Si el terminal no está cerrado, no se producirá este error al inicio.
Pero después de algún tiempo (un par de horas - 2 horas fueron suficientes para mí) veremos que obtendremos el error en el gráfico ya abierto. (Lo estaba ejecutando en m30)
..el error 4401 aparece regularmente.
referencia:
Organizar el acceso a los datos
Accesibilidad de los datos
La disponibilidad de los datos en formato HCC o incluso en formato HC listo para usar no siempre significa la disponibilidad incondicional de estos datos para su visualización en un gráfico o para su uso en programas mql5.
Al acceder a los datos de precios o a los valores de los indicadores desde los programas mql5, debemos recordar que no se garantiza que estén disponibles en un momento determinado, o desde un punto determinado. Esto tiene que ver con el hecho de que MetaTrader 5 no almacena la copia completa de los datos necesarios para el programa mql5, sino que da acceso directo a la base de datos del terminal para ahorrar recursos.
El historial de precios para todos los plazos se construye a partir de los datos comunes en formato HCC y cualquier actualización del servidor conlleva la actualización de los datos para todos los plazos y el recálculo del indicador. Por lo tanto, el acceso a los datos puede ser denegado incluso si los datos estaban disponibles hace un momento.
CopyRate
Al solicitar datos del indicador, si las series temporales solicitadas no han sido construidas o necesitan ser descargadas del servidor, la función devolverá -1 inmediatamente, pero se iniciará el proceso de descarga/construcción.hoja informativa:
Parece que debería ser así. Hasta el CopyRate SERIES_SYNCRONIZED se puede comprobar...Sólo estoy llenando mi cabeza de cenizas, sí. Gracias.
Aunque es extraño ver la solicitud de dos bares y la historia no disponible, aunque sólo cero cambios de barras. De todos modos, si está descrito en la documentación, no es un error.
en mi IsNewBar salía un error.
En lugar de
Debería haber escrito
Y me preguntaba por qué cada par de horas IsNewBar(PERIOD_D1) == true -> de ahí que me enterara de la inaccesibilidad del historial, pero no se me ocurría una función que escribí hace uno o dos años.
Por qué el indicador no puede manejar los tipos de color (COLOR_ARROW, etc.) con más de un búfer
ejemplo de código
Establecemos dos DRAW_COLOR_ARROW (buf1 y buf2) y para cada uno un buffer de color adicional (clr1, clr2)
Al mismo tiempo, aunque el segundo buffer buf2 obtiene barras High/Low, no aparece en el gráfico. Parece que el color de las flechas en este buffer = clrNONE. Es decir, la configuración del color en el buffer clr2 no funciona
aquí hay una captura de pantalla. sólo se ven los valores del buf1/clr1. los valores del segundo buffer no se muestran con color aunque se reciben los valores.
¿Dónde está el error?
La pregunta fue creada simplemente para responder "en el ADN de MQL5".
Estas tonterías también se dan en DRAW_FILLING e incluso en DRAW_HISTOGRAM2, que es relativamente normal (no es tan estable, por supuesto, pero se producen fallos).
Sólo por la inestabilidad de los bichos, concluyo que es poco probable que obtengas una respuesta sin un CD.
Bild 642 para Win32
Aparece algún problema con las matrices tridimensionales de doble si por error se sobrepasan los límites de la matriz al imprimir en la función Print
El script entra en un bucle infinito por sí mismo.
Bild 642 para Win32
algún problema con las matrices tridimensionales aparece doblemente si por error se sale de la matriz al imprimir en la función Print
En realidad, el rebasamiento se produce dos líneas antes
y estás llamando a un exponente de un elemento inexistente, muy probablemente cero.
Mira en el registro
Generalmente, el fuera de límites se produce dos líneas antes
y estás llamando a un exponente de un elemento inexistente, muy probablemente cero.
buscar en el registro