Sergey Efimenko: ¿Se supone que debo adivinar que hay un código diferente? La captura de pantalla anterior también, donde se contaron las últimas 100 barras, pero en realidad se contaron todas las barras, pero sólo 100 se copiaron en el buffer. Sí y ¿por qué no publicar el código de una vez? No habría habido tal respuesta. Habría respondido de forma sustantiva, no entiendo cuál es el objetivo. En el código se puede ver inmediatamente lo que sucede, lo que cuenta y si hay los defectos mencionados. ¿Y qué te da la pantalla? Nada más que el resultado, y sobre el resultado ya dicho, se puede llegar de diferentes maneras, pero no todas ellas son aceptables para la tarea que nos ocupa: reducir el tiempo de cálculo.
Convincente. Debe haber sido la cantidad tomada antes... Lo siento.
int i, limit;
limit = prev_calculated == 0 ? rates_total-1 : rates_total-prev_calculated;
double buffer[]; // это промежуточный буфер для расчётаArraySetAsSeries(buffer, true); // это сам знаешьfor(i = limit; i >= 0; i--)
{
Buffer[i]=open[i]; // в комментарии не нуждается
BufferBMA[i] = NormalizeDouble(iMAOnArray(Buffer, 0, 5, 0, MODE_LWMA, i), _Digits); // Я воспользовался этим буфером чтобы не описывать ещё один
if(rates_total-i >= rates_total-50) // Всё основное действо...
{
ArrayCopy(buffer, Buffer, 0, i, 5); // Копируем в дополнительный буфер часть основного
BufferMA[i] = NormalizeDouble(iMAOnArray(buffer, 0, 5, 0, MODE_LWMA, 0), _Digits); // и вычисляем среднее значение с указанным периодом
}
}
return(rates_total);
El resultado está en la captura de pantalla de arriba.
Eres el único que puede empezar una pelea a puñetazos. Cuenta con cuántos miembros del foro has interactuado con este tono de voz así conmigo ahora. Vete, Satanás.
Por mi propio bien, me estoy divirtiendo. Así mi cerebro no se seca, y al mismo tiempo, la gente puede beneficiarse. Lo único que haces es cagar... Vete, Satanás...
Alexey Viktorov: Para mi propia diversión. Para evitar que mi cerebro se seque, y al mismo tiempo, tal vez la gente se beneficie. Lo único que haces es cagar... Vete, Satanás...
Entonces te has equivocado de lugar de entretenimiento.
Convincente. Debe haber sido la cantidad tomada antes... Lo siento.
El resultado está en la captura de pantalla de arriba.
Prueba a poner el modo SMMA :) Pero incluso sin ella, sigue habiendo una copia excesiva del array, y si se multiplican los cálculos por cada tick, especialmente a medida que crece el periodo de suavizado, el array también crecerá.
¿Se supone que debo adivinar que hay un código diferente? La captura de pantalla anterior también, donde se contaron las últimas 100 barras, pero en realidad se contaron todas las barras, pero sólo 100 se copiaron en el buffer. Sí y ¿por qué no publicar el código de una vez? No habría habido tal respuesta. Habría respondido de forma sustantiva, no entiendo cuál es el objetivo. En el código se puede ver inmediatamente lo que sucede, lo que cuenta y si hay los defectos mencionados. ¿Y qué te da la pantalla? Nada más que el resultado, y sobre el resultado ya dicho, se puede llegar de diferentes maneras, pero no todas ellas son aceptables para la tarea que nos ocupa: reducir el tiempo de cálculo.
Convincente. Debe haber sido la cantidad tomada antes... Lo siento.
El resultado está en la captura de pantalla de arriba.
Convincente. Debe haber sido la cantidad tomada antes... Lo siento.
El resultado está en la captura de pantalla de arriba.
¿Cuántas tonterías puedes soltar?
Alexey Viktorov:
Eres el único que puede empezar una pelea a puñetazos. Cuenta con cuántos miembros del foro has interactuado con este tono de voz así conmigo ahora. Vete, Satanás.
Ya se ha contestado antes.
¿Cuántas tonterías puedes soltar? ¿Qué intenta demostrar?
Nada para ti.
¿Y para quién y qué?
Para mi propia diversión. Para evitar que mi cerebro se seque, y al mismo tiempo, tal vez la gente se beneficie. Lo único que haces es cagar... Vete, Satanás...
Convincente. Debe haber sido la cantidad tomada antes... Lo siento.
El resultado está en la captura de pantalla de arriba.
Prueba el modo SMMA :)