Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 695
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
Por alguna razón no puedo coger una barra en el bucle, que empieza a las 15 horas.
Si escribo if(i<24) como condición, el registro muestra la hora de cada barra del día, pero no se cumple la condición requerida:
¿Y en qué marco temporal ejecutas el indicador?
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Cualquier pregunta para los novatos en MQL4, ayuda y discusión sobre algoritmos y códigos
Artyom Trishkin, 2018.11.17 20:33
¿Y en qué marco temporal ejecutas el indicador?
En el sentido de las agujas del reloj en ambos casos.
Sentinel en ambos casos.
Funciona:
Gracias, pero es tan complicado para alguien que no está cargado de experiencia y conocimientos, que es un lío :-)
BufferHour[i]=(hour==hour_req ? (hour>0 ? hour : 0.1) : 0);
¿Por qué hacer una comprobaciónhora>0 al transferir datos al buffer? Y si no lo hace, ¿por qué asignar 0,1?
Quería hacer el resaltado en el gráfico principal, pero no por una línea, sino por el día ordinal de la semana Lun, Mie, Mie... mediante SetIndexArrow(0, 140); (tal vez haya una forma más sencilla, pero hasta ahora no se me ocurrió nada más), pero por alguna razón no puedo hacer que tu código funcione en la ventana principal en cuatro, y en cinco ya no existe tal propiedad.
Gracias, pero es tan complicado para alguien que no está cargado de experiencia y conocimientos, que es un lío :-)
¿Por qué hacer una comprobaciónhora>0al transferir datos al buffer? Y si no lo hace, ¿por qué asignar 0,1?
Quería hacer el resaltado en el gráfico principal, pero no por una línea, sino por el día ordinal de la semana Lun, Mie, Mie... mediante SetIndexArrow(0, 140); (tal vez haya una forma más sencilla, pero hasta ahora no se me ocurrió nada más), pero por alguna razón no puedo hacer que tu código funcione en la ventana principal en cuatro, y en cinco ya no existe tal propiedad.
El búfer se llena con el valor de la hora. Y si la hora es cero, el histograma no se dibujará. Por lo tanto, debemos comprobar si la hora es cero (lo hemos configurado para buscar la hora cero en los ajustes), y si es cero, debemos introducir 0,1 en el buffer, no el valor de la hora (cero), para mostrar la columna del histograma. Esto mostrará un valor de 0 en lugar de 0,1 en la ventana de datos, ya que el indicador Dígitos está puesto a cero.
Gracias, pero es tan complicado para alguien que no está cargado de experiencia y conocimientos, que es un lío :-)
¿Por qué hacer una comprobaciónhora>0 al transferir datos al buffer? Y si no lo hace, ¿por qué asignar 0,1?
Quería hacer el resaltado en el gráfico principal, pero no por una línea, sino por el día ordinal de la semana Lun, Mie, Mie... mediante SetIndexArrow(0, 140); (tal vez haya una forma más sencilla, pero hasta ahora no se me ocurrió nada más), pero por alguna razón no puedo hacer que tu código funcione en la ventana principal en cuatro, y en cinco ya no existe tal propiedad.
PlotIndexSetInteger(0,PLOT_ARROW,140);
Pero hay que crear un número de buffers igual al número de semanas. Y a cada búfer se le asigna un código de flecha del 140 al 149 - 1,2,3,4,5,6,7,8,9,10 - ¿diez semanas son suficientes para un año? Son sólo 70 días. ¿O cómo lo querías?
Tengo que reiniciarlo.
No puedo estar seguro de qué hacer con él.
¿Puedo preguntar quién puede sugerir cómo calcular las ubicaciones más lentas en los programas?
Gracias de antemano por los consejos.
Este es el original. Y abajo el mismo con mis cambios.
//================
Tengo que reiniciarlo.
No puedo estar seguro de qué hacer con él.
¿Puedo preguntar quién puede sugerir cómo calcular las ubicaciones más lentas en los programas?
Gracias de antemano por los consejos.
Este es el original. Y abajo el mismo con mis cambios.
//================
Devuélvelo todo, no tortures al ordenador
iBandsOnArray, iStdDevOnArray calculados para los datos almacenados en una matriz
El array, por su parte, se llena en 1 bucle
Vuelve a poner todo en su sitio, no tortures el ordenador
iBandsOnArray, iStdDevOnArray calculados para los datos almacenados en una matriz
Un array, por el contrario, se llena en 1 ciclo
1. Vuelve a poner todo en su sitio, no tortures tu ordenador .
Lo siento, pero no lo recuperarás. Tienes que hacer que el indicador cuente de izquierda a derecha.
No lo estoy molestando, lo estoy usando para su propósito.
2.iBandsOnArray, iStdDevOnArray calculados con los datos almacenados en la matriz
Sí, se calculan utilizando los datos de la matriz bbMacd[], ¿y ahora qué?
3.El array se llena en un bucle.
¿En una o en la primera?
¿Estás diciendo que para llenar un array, necesitas un bucle personal, en el que se llene este array
se llena y no se puede realizar ninguna otra operación?
Es importante para mí averiguar por qué el indicador se ralentiza y cómo calcular los lugares en los que ocurre.
Tengo más preguntas pero no respuestas.
Por desgracia, no ha ofrecido ninguna pista.
¿Cómo puedo desactivar la reinicialización cuando cambia el marco temporal de EA?
Aquí hay algo de información:
https://www.mql5.com/ru/forum/170952/page61#comment_6132824
¿Es también correcto para mql4?