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
En resumen, la conclusión es ésta.
Contamos manualmente la diferencia entre las barras contadas y las no contadas, y si es más de 1...
restablecemos todos los buffers a la vez o elemento por elemento.
No es agradable. ¿Tal vez los desarrolladores reinicien todo igual si hay una condición?
En resumen, la conclusión es ésta.
Contamos manualmente la diferencia entre las barras contadas y las no contadas, y si es más de 1...
restablecemos todos los buffers a la vez o elemento por elemento.
No es agradable. ¿Tal vez los desarrolladores reinicien todo igual si hay una condición?
En resumen, la conclusión es ésta.
Contamos manualmente la diferencia entre las barras contadas y las no contadas, y si es más de 1...
restablecemos todos los buffers a la vez o elemento por elemento.
No es agradable. ¿Tal vez los desarrolladores restablezcan los búferes ellos mismos si hay una condición?
¿Otra vez? :D ¿Y esto después de todas las explicaciones con ejemplos de cómo escribir correctamente los indicadores? )))
¡¿Qué, otra vez?! :D ¿Y esto después de todas las explicaciones con ejemplos de cómo escribir correctamente los indicadores? )))
Entonces, en mi variante y en la tuya hay puesta a cero, ¿no?
En mi versión, se calcula cada barra. Si el valor del buffer en dicha barra es cero, se convertirá en cero, si es igual a 5, se convertirá en 5. En tu caso, puedes simplemente anular los buffers a través de ArrayInitialize() y luego no calcular aquellas barras en las que el valor de los buffers debe permanecer nulo. Pero, en primer lugar, este es un mal estilo de programación (¡muy malo!), y en segundo lugar, este es un caso especial.
Todas las barras deben ser calculadas explícitamente. Sólo de esta manera puedes estar seguro de que no habrá "basura", datos no calculados, etc. en ninguna celda, y no tendrás que coger bugs (con los que has luchado en este hilo).
Y tampoco es necesario llevar un control de las actualizaciones del historial, es innecesario. Sólo tiene que empezar el cálculo desde la barra [rates_total - MathMax(prev_calculated, 1)], y todo estará siempre garantizado para ser calculado y recalculado, si es necesario.
En mi versión, se calcula cada barra. Si el valor del buffer en dicha barra es cero, se convertirá en cero, si es igual a 5, se convertirá en 5. En tu caso, puedes simplemente anular los buffers a través de ArrayInitialize() y luego no calcular aquellas barras en las que el valor de los buffers debe permanecer nulo. Pero, en primer lugar, este es un mal estilo de programación (¡muy malo!), y en segundo lugar, este es un caso especial.
Todas las barras deben ser calculadas explícitamente. Sólo de esta manera puedes estar seguro de que no habrá "basura", datos no calculados, etc. en ninguna celda, y no tendrás que coger bugs (con los que has luchado en este hilo).
Y no es necesario llevar un registro de las actualizaciones del historial, es innecesario. Basta con iniciar el cálculo con la barra [rates_total - MathMax(prev_calculated, 1)], y siempre se garantizará que todo esté calculado y recalculado si es necesario.
Ouch. Bien.
Los desarrolladores no implementarán nada de todos modos.
Gracias a todos.