MT4 iMAOnArray y iBandsOnArray efecto del número de elementos en los cálculos - página 4

 
Sergey Efimenko:
¿Y esta librería calcula correctamente, si establezco el cálculo no de todo el array, sino sólo de su última parte (valores actuales)? Además, esto es sólo la mitad del problema, pero ¿qué pasa con iBandsOnArray?

Hay un parámetro "begin" ahí, intenta limitarlo.

Hubo un tiempo en que la funcióniMAOnArray era muy lenta. Bueno, tenía un código optimizado durante unas tres horas usandoiMAOnArray pero luego esta función se volvió lenta y la optimización tomó unas 30 horas.

No lo sé, tal vez se haya arreglado ahora. Pero cuando creé el indicadorMovingAverages.mqh el mismo código se calculó en aproximadamente una hora y media, es decir, el tiempo se redujo a la mitad.

No tengo nada que decir sobre iBandsOnArray, no he visto un archivo de este tipo que se pueda incluir con la misma tarea en mql4.

 
Con iBandsOnArray el indicador es lento al arrancar. Cambiado a iStdDevOnArray, se inicia instantáneamente.
 
Alexey Viktorov:

Aquí tienes.

Sí, bueno... Chico, vete a dar un paseo.
 
Dmitry Fedoseev:
Con iBandsOnArray el indicador es lento al arrancar. Cambiado a iStdDevOnArray, se inicia instantáneamente.
Pero en el probador se retrasa tanto coniBandsOnArray como con iStdDevOnArray.
 
Dmitry Fedoseev:
Excepto que en el probador se retrasa tanto coniBandsOnArray como con iStdDevOnArray.
Una vez pensé que eras un buen programador. Lo único que puedes hacer es separar los dedos y discutir. ¿No entiendes nada, por eso estás tan enfadado?
 
Alexey Viktorov:

Aquí tienes.

Y ahora compare el resultado de su código y el original en el modo de suavizado de líneas rectas LWMA o SMMA y obtenga valores diferentes, porque estos dos tipos de suavizado utilizan sus propios valores anteriores en sus cálculos, y al utilizar sólo N elementos de período cada vez que, respectivamente, se pierden estos datos, además de que eventualmente necesito diferentes períodos de cálculo para iBands e iMA, por lo que tendré que copiar dos veces. Y la matriz inicial para el cálculo se utiliza igual. La lógica de tu razonamiento es clara para mí, pero es errónea, ya que al reducir la longitud del array, pero al mismo tiempo hacer cada copia y recalcular todos sus elementos finalmente aumentas el tiempo total del cálculo del indicador durante la optimización o el trabajo con varias versiones del indicador para diferentes TFs. En mi caso sólo ralentiza el cálculo inicial, después sólo se calcula 1 nuevo elemento. El problema está en la implementación de estas funciones en MQL. Las versiones escritas por uno mismo funcionan mejor y más rápido. Conclusiones.
 
Dmitry Fedoseev:
Sí, bueno... Chico, vete a dar un paseo.
Eso no es un niño, es un hombre muy maduro. Aunque la costumbre de referirse a todo el mundo como "tú" no le hace justicia, imho :)
 
Sergey Efimenko:
Este no es un niño, sino un hombre muy maduro. Aunque la costumbre de referirse a todo el mundo como "tú" no le hace respetable, imho :)
¿Muy maduro cómo? ¿Un jubilado en su madurez?
 
Sergey Efimenko:
Y ahora compara el resultado de tu código y el original en el modo de suavizado de líneas rectas LWMA o SMMA y obtén valores diferentes, porque estos dos tipos de suavizado usan sus propios valores anteriores en sus cálculos, y al usar sólo N elementos de período cada vez, respectivamente, pierdes estos datos, además necesito diferentes períodos de cálculo para iBands e iMA, así que necesitaré copiarlos dos veces. Y la matriz inicial para el cálculo se utiliza igual. La lógica de tu razonamiento es clara para mí, pero es errónea, ya que al reducir la longitud del array, pero al mismo tiempo hacer cada copia y recalcular todos sus elementos finalmente aumentas el tiempo total del cálculo del indicador durante la optimización o el trabajo con varias versiones del indicador para diferentes TFs. En mi caso sólo ralentiza el cálculo inicial, después sólo se calcula 1 nuevo elemento. El problema está en la implementación de estas funciones en MQL. Las versiones escritas por uno mismo funcionan mejor y más rápido. Por favor, saque sus propias conclusiones.
Aunque MODE_SMA sea el mismo, no debería usarlo.
 
Alexey Viktorov:
Solía pensar que eras un buen programador. En realidad, lo único que puedes hacer es extender los dedos y luchar. ¿No consigues nada porque estás muy enfadado?
Bueno, sigue soñando.
Razón de la queja: