Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 600
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
Saludos. :)
Tengo más o menos el mismo código que este indicador:
Lo dejo caer en el gráfico M1. El indicador cuelga junto con el terminal, supuestamente realizando cálculos.
Lo cierro a la fuerza en 15 minutos y abro su registro:
Resulta que el indicador no reacciona a los ticks recién llegados (es lógico) hasta que calcula la primera vez. Pero se olvida de decirle a la terminal durante la evaluación que a IndicatorConted() se le debe asignar ya un valor distinto de 0.
¿Así que resulta que los ticks entrantes ordenados para la evaluación recuerdan el valor actual de IndicatorCounted()?
Intenté controlarlo a través de la variable ocupada (cadena comentada - mismo resultado).
Yo también lo probé así:
Naturalmente, esta vez todo funcionó correctamente:
¿Qué tenemos aquí? ¿El sistema no tiene tiempo para escribir un nuevo valor en IndicatorCounted()? En otras palabras, ¿necesito hacer algo como sleep()? Sé que esto no es posible en el indicador)
¿O, cuando llega un nuevo tick, como el antiguo no ha terminado sus cálculos, recuerda que IndicatorCounte() sigue siendo igual a cero y cuando llega su momento, empieza a calcular desde el valor antiguo IndicatourCounted()=0?
¿Qué hacer? )
¡Saludos! :)
Tengo más o menos el mismo código que el indicador:
Esta es mi primera experiencia, no juzgues con demasiada dureza:)
Esto lo dice todo. Para aproximadamente este código, aproximadamente esta respuesta...¿Escribir?
La cuestión es que el resto del código es irrelevante. La esencia del error se describe en este artículo.
Por lo general, tenía miedo de asustar a la gente con un gran post. Así que lo hinché.
En resumen, se puede formular de la siguiente manera: si un indicador se calcula para un tiempo largo (más de un minuto), IndicatorCounted() siempre devuelve 0.
Para ser honesto, me parece que el probador recuerda el valor pasado de la variable - de la última prueba. Cómo... no lo sé, no hay mucho tiempo para informar. Tal vez un error en el terminal. Sólo pongo un comentario en el código y envío los valores al registro. Así que resulta que cada vez que ejecuto una nueva prueba el valor de la prueba anterior se almacena en la variable sys. Qué lío. Tal vez alguien más lo vea, tal vez mi ojo esté mojado...
Es sólo que olvidaste que la línea
Cuando se recuperan las propiedades del indicador, no se ejecutan.
No lo he investigado a fondo, pero tal vez esto logre el resultado deseado.
Simplemente se olvidó de que la cadena
Cuando se recuperan las propiedades del indicador, no se ejecutan.
No lo he investigado a fondo, pero tal vez esto logre el resultado deseado.
La cuestión es que el resto del código es irrelevante. La esencia del error se describe en este artículo.
Por lo general, tenía miedo de asustar a la gente con un gran post. Así que lo hinché.
En resumen, se puede formular de la siguiente manera: si un indicador se calcula durante un tiempo prolongado (más de un minuto), IndicatorCounted() siempre devuelve 0.
Esa no es la cuestión. Nadie necesita su código secreto completo. Escribe un código de prueba completo con ese malentendido. Y por aquí.
¿cuándo borraste la línea resaltada? Los telépatas no ayudarán, los simples mortales aún menos...
Luego está esta parte.
No sé de qué programador procede, pero hay algo mal escrito... No es tu culpa. Usted, como muchos otros, acaba de tomar el código y tratar de arreglarlo...
Si la variable counted_bars es igual al número de barras que permanecen sin cambios desde la última llamada al indicador (la primera línea)
Cómo puede llegar a ser menor que cero que se compruebe if(counted_bars < 0) nunca podré entenderlo...
El resto también es una tontería, pero me da pereza analizarlo...
Simplemente se olvidó de que la cadena
las propiedades del indicador no se ejecutarán cuando se recuperen las propiedades.
No lo he investigado a fondo, pero tal vez esto logre el resultado deseado.
Lo he intentado... no funciona...
En general, un asesor. Pero HZ, no hay tiempo para experimentar. Tengo todos los EAs trabajando de la manera que he escrito. Tendré que rastrear esta mierda en el probador. Cuando tenga suficiente tiempo.
Lo he intentado... no funciona...
Acabo de recompilar el código en EA y lo he ejecutado. Cuando cambio el parámetro Sys en el comentario este valor cambia.