Cambiar el TF es un problema - página 4

 

El último diseño me gusta mucho.

Gracias a todos.

 
Vasyl Nosal:
No. Sin la puesta a cero será lo que está en las capturas de pantalla.

Así que tienes huecos dentro del propio bucle, la secuencia está rota. En ese código, cuyo fragmento te di, TODAS las barras se recalculan cuando prev_calculated se pone a cero. Y significa que ponerlos a cero de antemano no tiene sentido: una pérdida de tiempo del procesador.

PS. Por cierto, has olvidado un matiz importante. Por casualidad, ¿estás hablando de MT5 donde las matrices de precios no se invierten en las series temporales? En este caso sería así:

int OnCalculate(...)
{
   // индекс последнего посчитанного на прошлом вызове бара
   // с которого начинаем расчёт
   int nStartBar = MathMax(prev_calculated - 1, 0);

   for(int i = nStartBar; i < rates_total; i++)
   {
       // рассчитываем индикатор на всех непосчитанных барах
   }
}
 
Sergei Vladimirov:

Así que tienes huecos dentro del propio bucle, la secuencia está rota. En ese código, cuyo fragmento te di, TODAS las barras se recalculan cuando prev_calculated se pone a cero. Y significa que ponerlos a cero de antemano no tiene sentido: una pérdida de tiempo del procesador.

PS. Por cierto, has olvidado un matiz importante. Por casualidad, ¿estás hablando de MT5 donde las matrices de precios no se invierten en las series temporales? En ese caso sería así:

mql4

No. Aquí está con su diseño en un par donde no había historia.

Archivos adjuntos:
 

Bueno. El problema resultó no ser tan sencillo.

Los desarrolladores piden una nueva variable bull para almacenar si el gráfico se actualiza y el reinicio automático de los buffers si se carga más de 1 barra.

 
Vasyl Nosal:

Bueno. El problema resultó no ser tan sencillo.

Los desarrolladores piden una nueva variable bull para almacenar si el gráfico se actualiza y el reinicio automático de los buffers si se carga más de 1 barra.

Tiene dos variables: prev_calculado y rates_total. Controlando la carga del historial (en este caso prev_calculado==0) hay que pensar qué hacer con los buffers de los indicadores - el comportamiento habitual en estos casos, es equiparar la carga del historial al primer evento de carga del indicador.
 
Karputov Vladimir:
Tiene dos variables a su disposición: prev_calculado y rates_total. Al controlar la carga del historial (con prev_calculated==0) hay que pensar qué hacer con los buffers de los indicadores - el comportamiento habitual en estos casos es equiparar la carga del historial al primer evento de carga del indicador.
¿Qué tiene esto que ver con la orden? Hay 4 opciones aquí y ninguna de ellas funciona.
 
Vasyl Nosal:

Bueno. El problema resultó no ser tan sencillo.

Los desarrolladores piden una nueva variable bull para almacenar si el gráfico se ha actualizado y el restablecimiento automático de los buffers si se ha cargado más de una barra.

Tómate tu tiempo, por favor.

Y mientras esperas una respuesta de los desarrolladores, escucha lo que ha dicho el moderador más arriba. Recomiendo y releo detenidamente este tema tuyo de nuevo desde el principio.

Atención a este post del moderador, por ejemplo: https://www.mql5.com/ru/forum/68180#comment_2089395, donde citaba:

if(prev_calculated==0)  // значит история изменилась или это первый проход

Al fin y al cabo, tanto yo como otros te hemos insinuado esto, así como algunas otras cosas, en mis dos posts: https://www.mql5.com/ru/forum/68180/page3#comment_2095342

Mira la Documentación, que allí se cita (no sólo en la parte de la frase resaltada, sino en todo el texto).

Tómate tu tiempo, por favor, y luego todo te servirá para resolver este problema tuyo. Buena suerte.

 
Dina Paches:

Tómate tu tiempo, por favor.

Y mientras esperas una respuesta de los desarrolladores, escucha lo que ha dicho el moderador más arriba. Te recomiendo que vuelvas a leer este hilo.

Atención a este post del moderador, por ejemplo: https://www.mql5.com/ru/forum/68180#comment_2089395 donde citaba:

Al fin y al cabo, tanto yo como otros te hemos insinuado esto, así como algunas otras cosas, en mis dos posts: https://www.mql5.com/ru/forum/68180/page3#comment_2095342

Echa un vistazo a la Documentación que has dado allí.

Tómate tu tiempo, por favor, y luego todo te servirá para resolver este problema tuyo. Buena suerte.

¿Tiene una solución para el código?

¿O tienes miedo de que cambie el TF y tu diseño no funcione también? No pasa nada, estamos resolviendo un problema GENERAL.

 
Vasyl Nosal:

¿Tiene una solución para el código?

¿O tienes miedo de que cambie el TF y tu diseño tampoco funcione? No pasa nada, estamos resolviendo un problema común.

Pero sigo recomendando utilizar el consejo que di en este post: https://www.mql5.com/ru/forum/68180/page4#comment_2097011.

Y tengo soluciones para mí.

Para su propio consejo, por favor, siéntase libre de continuar sin mí. Varias personas te han dado aquí muchas veces una pista de orientación general (ver prev_calculado y rates_total).

Por tu suposición sobre mí, supongo que tampoco te has dado cuenta de lo siguiente, que te he dicho:

La aplicación puede ser diferente en función de la tarea. Los matices pueden ser diferentes. ¿Por qué no ves cómo se aplican las cosas en otros países, dependiendo de diversas condiciones? Incluyendo con la ayuda de rasgar para entender, determinar, formar opciones aceptables para usted, dependiendo de las tareas?

Como probablemente no te hayas dado cuenta del post de Victora Nikolaev: https://www.mql5.com/ru/forum/68180/page2#comment_2091839

Tienes cabeza, ¿no? Yo sí.

¿Quiere resolver su problema? Eso parece.

Así que, si quieres y lo necesitas, puedes sacar tus soluciones para diferentes programas y darles salida tú mismo.

¿Tengo yo o alguien más en este hilo que proporcionarle algo con más detalle? No.


 
Dina Paches:

...


¿Tiene un código de solución?