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
¿Estás diciendo que después de if(rates_total-i >= rates_total-100);, cuando sólo quedan 100 barras por calcular, la función iMAOnArray() recalcula primero la matriz ALL?
¿Estás diciendo que después de if(rates_total-i >= rates_total-100);, cuando sólo quedan 100 barras por calcular, la función iMAOnArray() recalcula primero toda la matriz?
iMAOnArray
Devuelveel valordelindicador técnico Moving Average calculado sobre los datos almacenados en el array.
doubleiMAOnArray(
doublearray[],// array
inttotal,// número de elementos
intma_period,//periodo
intma_shift,// desplazamiento de la media
intma_method,// método de promediación
int cambio//desplazamiento
);
Parámetros
array[]
[in] Array con datos.
total
[in]Número de elementos a calcular. 0 significa todos los elementos de la matriz.
Así es, la primera llamada de iMAOnArray con 0 en el valor del tamaño calcula incondicionalmente todo el array, y luego parece que sólo se calculan los últimos o como mucho los 2 últimos valores, aunque quién sabe, puede recalcular todo... Por eso se está ralentizando. Por eso no importa el número de barras que quieras obtener por desplazamiento, de todas formas se cuenta todo el array.
iMAOnArray
Devuelveel valordelindicador técnico Moving Average calculado sobre los datos almacenados en el array.
doubleiMAOnArray(
doublearray[],// array
inttotal,// número de elementos
intma_period,//periodo
intma_shift,// desplazamiento de la media
intma_method,// método de promediación
int cambio//desplazamiento
);
Parámetros
array[]
[in] Array con datos.
total
[in]Número de elementos a calcular. 0 significa todos los elementos de la matriz.
Así es, la primera llamada de iMAOnArray con 0 en el valor del tamaño seguramente calculará todo el array, y luego parece que sólo se calculan los últimos o como mucho los 2 últimos valores, aunque quién sabe, puede recalcular todo... Por eso se está ralentizando. Por eso no importa el número de barras que quieras obtener por desplazamiento, de todas formas se cuenta todo el array.
Entonces me he equivocado. Entonces, ¿por qué no hay desfase sin sus complicados cálculos?
Esa es la cuestión, por qué se retrasa cuando se llama desde el código, pero no cuando sólo se superpone en el gráfico. Sólo los desarrolladores saben dónde buscar la respuesta. Tengo muchos indicadores complicados en mis gráficos y algunos de ellos incluso utilizan bucles recursivos y se supone que "piensan en largo", pero esta es una tarea sencilla que tarda mucho en calcularse.
No me refiero a una simple superposición de gráficos. Me refiero a ese código de prueba. Se llama allí, no se superpone.
Aun así, creo que he superado la mierda de copiar parte de la matriz. E incluso MODE_LWMA recalcula de la misma manera que contando todo el array.
El rojo se calcula sobre todo el historial. El verde son los últimos 50 compases.
...
Aun así, creo que he superado la mierda de copiar parte de la matriz. E incluso MODE_LWMA recalcula de la misma manera que contando todo el array.
...
También lo ha vencido.
No me refiero a una simple superposición de gráficos. Me refiero a ese código de prueba. Se llama allí, no se superpone.
Aun así, creo que he superado la mierda de copiar parte de la matriz. E incluso MODE_LWMA recalcula de la misma manera que contando todo el array.
El rojo cuenta toda la historia. El verde son los últimos 50 compases.
Tengo la impresión de que lees mis posts palabra por palabra o incluso frase por frase. ¿Ganar qué? Escribí que tenía una idea de este tipo (código similar con la limitación de cálculo de barras) inmediatamente, e inmediatamente lo probé y no obtuve ningún aumento de rendimiento, porque El array se sigue calculando en su totalidad (total=0), el hecho de que se copien (rellenen el buffer) sólo los últimos 100 elementos no quita freno a los cálculos, no es meter elementos en el buffer, es el cálculo de la media del array, que o bien se calcula en su totalidad (total=0) o bien muestra resultados sólo los primeros N elementos (total=N), y los últimos son necesarios, el cambio de sentido de indexación no da el efecto deseado.
Al parecer, mis mensajes también se leen... El código anterior no encaja, he descubierto dónde se ha producido el error. La última captura de pantalla muestra un enfoque diferente, aunque sólo se cuentan las últimas 50 barras.
No publiqué el código de inmediato esperando reacciones como "no va a funcionar de todos modos" porque... El código no es secreto, si quieres comprobar cómo funcionará con tu indicador, házmelo saber.
También ganó.
...
Lo único que puedes hacer es armar un escándalo. Cuenta con cuántos usuarios del foro has hablado con ese tono de voz como lo estás haciendo conmigo ahora. Vete, Satanás.Así es como he estado hablando con gente como tú. Hay una coalición de ustedes aquí, lo sé.
Incluso ayer escribiste aquí sobre el fracaso del enfoque de la copia de matrices. Se apuntó a la LWMA y funcionó. ¿No tienes suficiente pereza para comprobarlo con EMA, y la hueste del poder sagrado? ¿Pusiste una vela en la iglesia?
Sigues resoplando y resoplando, y cada vez dices: "Oh, debo haber cometido un error.
Una pelea. Si tuvieras un poco de sentido común, hace tiempo que habrías visto que el asunto de este tema está resuelto.
Quisiste lucirte una vez más, pero te volaron los cuernos e inmediatamente te lamentaste con Satanás. ¡Hombre!
Al parecer, mis mensajes también se leen... El código anterior no encaja, he descubierto dónde se ha producido el error. La última captura de pantalla muestra un enfoque diferente, aunque sólo se cuentan las últimas 50 barras.
No publiqué el código de inmediato esperando reacciones como "no funcionará de todos modos" porque... El código no es secreto, si quieres comprobar cómo funcionará con tu indicador, dímelo.