Errores, fallos, preguntas - página 2490
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
¿Has leído atentamente mi cita en el post de abajo?
Este comportamiento siempre ha existido desde la introducción de la configuración del " número máximo de barras por gráfico", es decir, desde el inicio de MT4. Y hemos explicado muchas veces a lo largo de esos 15 años por qué no recortamos el número de barras según ese ajuste cada vez. Y ahora no recortamos cada vez.
Nadie lee la documentación. Pero es una paradoja. Todavía nos piden que escribamos algo más en la documentación que no leen.
Slava, no tengo ninguna queja. He leído con atención y no sólo su cita y esta
Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio
Bichos, errores, preguntas
Slava, 2019.06.29 18:25
rates_total siempre muestra el número de barras disponibles en el gráfico actual.
No entiendo el significado de su declaración
y esto
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bichos, errores, preguntas
Slava, 2019.06.29 18:42
Ahora mismo no tengo el terminal del cliente a mano para citar la ayuda. Desde el dispositivo móvil en dos clicshttps://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars
Párrafo especialmente destacado.
Para un cálculo más económico, los indicadores pueden tener más barras disponibles que las especificadas en el parámetro "Barras máximas en la ventana". A medida que llegan nuevas barras, las más antiguas no se eliminan inmediatamente de la caché de datos. Esto permite no recalcular el indicador completamente en cada nueva barra, sino sólo calcular adicionalmente sus valores para las nuevas barras.
Por supuesto, no entiendo algo, por eso vuelvo a preguntar y trato de entender. Supongo que no habrá ningún cambio. Por favor, no tome mis declaraciones como una queja.
La referencia no es correcta, es engañosa, escribíhttps://www.mql5.com/ru/forum/304239/page57#comment_11519307
En MQL5 los buffers en general funcionan como arrays habituales, en MT4 el terminal se ocupaba de los buffers - los restablecía a EMPTY_VALUE, luego ... No recuerdo dónde escribí sobre la diferencia entre los indicadores de MT5 y MT4
Tienes que borrar los buffers - los borras como un array normal, el terminal sólo establece el tamaño del array-buffer en sí.
Igor, ¿podrías explicarlo en ruso sencillo: si cada agujero del búfer del indicador se llenará con algunos valores, que sustituirán a la basura allí contenida, cuál es el propósito de forzar estos agujeros antes de llenarlos con los valores correctos? ¿Por la pérdida de velocidad de ejecución?
Igor, ¿podrías explicarlo en ruso sencillo: si cada agujero del búfer del indicador se llenará con algunos valores que sustituirán a la basura allí contenida, cuál es el propósito de limpiar forzosamente estos agujeros antes de llenarlos con los valores necesarios? ¿Por la pérdida de velocidad de ejecución?
el llenado de "agujeros" es crítico sólo en un indicador con "flechas", en MT4 durante la inicialización del indicador estos "agujeros" se llenarán automáticamente por el valor EMPTY_VALUE
en MT5 debe hacerlo el programador
o en MT5 el programador debe llenar los buffers de los indicadores a través de la construcción if() else
Es decir, esto funcionará en MT4:
if(...) Buf[i] = high[i];
en MT5 tienes que escribir:
o en MT5 es necesario borrar los buffers de los indicadores, de lo contrario el indicador sacará "basura" del array, que está limitado por el buffer del indicador ...., cuando cambie el TF. es una cuestión de gusto cómo escribir y qué tener en cuenta
SZY: ¿velocidad? Bueno, mide la velocidad, en el 99% de los casos las funciones incorporadas son más rápidas, pero no hay diferencia de rendimiento entre llenar cada barra del bucle EMPTY_VALUE y una inicialización con ArrayInitialize(Buf,EMPTY_VALUE)
el llenado de "agujeros" es crítico sólo en un indicador con "flechas", en MT4 durante la inicialización del indicador estos "agujeros" se llenarán automáticamente por el valor EMPTY_VALUE
en MT5 debe hacerlo el programador
o en MT5 el programador debe llenar los buffers de los indicadores a través de la construcción if() else
Es decir, esto funcionará en MT4:
en MT5 tienes que escribir:
o en MT5 es necesario borrar los buffers de los indicadores, de lo contrario el indicador sacará "basura" del array, que está limitado por el buffer del indicador ...., cuando cambie el TF. es una cuestión de gusto cómo escribir y qué tener en cuenta
Bien, mide la velocidad, en el 99% de los casos las funciones incorporadas corren más rápido, pero no hay diferencia de rendimiento entre llenar cada barra en el bucle EMPTY_VALUE e inicializarla una vez con ArrayInitialize(Buf,EMPTY_VALUE).
Todo esto es un regaño. Así fue, así lo quiero, es difícil cambiar mis hábitos y otras razones.
La construcción if else puede sustituirse fácilmente por
Buf[i] = условие ? high[i] : EMPTY_VALUE;
Todo esto es un regaño. Así fue, así lo quiero, es difícil cambiar mis hábitos y otras razones.
La construcción if else se puede sustituir fácilmente por
Si me pongo quisquilloso, los consejos para aumentar el rendimiento en C++ o C# recomiendan no utilizar el "operador condicional ? : " Creo que una vez leí un artículo sobre Habra (no lo he probado, escribo lo más cómodo posible)
;)
Si me pongo quisquilloso, el consejo sobre cómo mejorar el rendimiento en C++ o C# es no utilizar el "operador condicional ? : " Creo que una vez leí un artículo sobre Habra (no lo he probado, yo mismo escribo lo más cómodamente posible)
;)
Pues el compilador de aquí no es idiota, y optimiza mejor que los "gurús" del hubr
En esas ocasiones siempre repito: "El sol sale por la mañana y se pone por la tarde...". - ¿Ves alguna lógica en esto? - Sí, es lógico, pero ¿hay información en mi frase? - No está ahí.
¿No lo probaré? : , máquina compiladora.... Hubr, bueno...
¿No lo probaré? :
Probado en MT5:
2019.06.30 13:37:04.230 tst (EURUSD,H1) Probando if() cycles=99999999999999 tiempo=10859 ms
2019.06.30 13:37:15.116 tst (EURUSD,H1) Probando ? : ciclos=999999999999 tiempo=10891 ms
2019.06.30 13:38:05.348 tst (EURUSD,H1) Probando if() cycles=99999999999999 tiempo=10843 ms
2019.06.30 13:38:16.190 tst (EURUSD,H1) Probando ? : ciclos=999999999999 tiempo=10844 ms
2019.06.30 13:38:32.111 tst (EURUSD,H1) Probando if() cycles=9999999999999999 tiempo=10860 ms
2019.06.30 13:38:42.955 tst (EURUSD,H1) Probando ? : ciclos=999999999999 tiempo=10843 ms
2019.06.30 13:46:09.087 tst EURUSD,H1: Probando ? : ciclos=999999999999 tiempo=33234 ms
2019.06.30 13:45:35.854 tst EURUSD,H1: Probando if() cycles=99999999999999 tiempo=32953 ms
2019.06.30 13:44:43.421 tst EURUSD,H1: Probando ? : ciclos=999999999999 tiempo=333298 ms
2019.06.30 13:44:10.094 tst EURUSD,H1: Probando if() cycles=99999999999999 tiempo=33016 ms
2019.06.30 13:42:56.925 tst EURUSD,H1: Probando ? : ciclos=999999999999 tiempo=33344 ms
2019.06.30 13:42:23.584 tst EURUSD,H1: Probando if() cycles=99999999999999 tiempo=32953 ms
Hace tiempo que me he dado cuenta de que el resaltado de los nombres de las macros definidas por el usuario en un proyecto grande no siempre funciona. Muchas macros definidas en otros archivos no se resaltan por alguna razón. Todavía no puedo encontrar un patrón. Todo lo que veo es que todas las macros definidas en un determinado archivo dejan de resaltarse en otros archivos después de una determinada línea. ¿Alguien más ha visto que esto le ocurre?
Me he dado cuenta de que si escribes como parámetro de alguna función, no se ilumina. Creo que esto es de un tipo de partido no completo. O cómo llamarlo de forma más precisa no lo sé.