Sergey Efimenko: Hätte ich erraten sollen, dass es einen anderen Code gibt? Obiger Screenshot zeigt auch, dass die letzten 100 Balken gezählt wurden, aber tatsächlich wurden alle Balken gezählt, aber nur 100 in den Puffer kopiert. Ja, und warum nicht gleich den Code veröffentlichen? Eine solche Antwort hätte es nicht gegeben. Ich hätte inhaltlich geantwortet, dass ich nicht verstehe, worum es geht. Aus dem Code können Sie sofort ersehen, was vor sich geht, was zählt und ob es die oben genannten Fehler gibt. Und was zeigt Ihnen der Bildschirm? Nichts anderes als das Ergebnis, und über das Ergebnis wurde bereits gesagt, dass es auf verschiedene Arten erreicht werden kann, aber nicht alle davon sind für die vorliegende Aufgabe akzeptabel - um die Rechenzeit zu reduzieren.
Überzeugend. Das muss der Betrag gewesen sein, der vorher genommen wurde... Es tut mir leid.
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);
Das Ergebnis ist auf dem obigen Screenshot zu sehen.
Dmitry Fedoseev: Wie viel von diesem Unsinn können Sie noch erzählen?
Ich habe bereits geantwortet.
Alexey Viktorov:
Du bist der Einzige, der eine Schlägerei anzetteln kann. Zählen Sie mal nach, mit wie vielen Forumsmitgliedern Sie in diesem Tonfall jetzt mit mir interagiert haben. Geh weg, Satan.
Mir selbst zuliebe habe ich Spaß. So trocknet mein Gehirn nicht aus, und vielleicht profitieren andere davon. Alles, was du tust, ist scheißen... Geh weg, Satan...
Alexey Viktorov: Zu meiner eigenen Belustigung. Um mein Gehirn vor dem Austrocknen zu bewahren, und gleichzeitig, damit andere vielleicht davon profitieren. Alles, was du tust, ist scheißen... Verschwinde, Satan...
Überzeugend. Das muss der Betrag gewesen sein, der vorher genommen wurde... Es tut mir leid.
Das Ergebnis ist auf dem obigen Screenshot zu sehen.
Versuchen Sie, den SMMA-Modus einzustellen :) Aber auch ohne diese Funktion wird das Array übermäßig oft kopiert, und wenn Sie die Berechnungen mit jedem Tick multiplizieren, vor allem, wenn die Glättungsperiode zunimmt, wird das Array ebenfalls wachsen.
Hätte ich erraten sollen, dass es einen anderen Code gibt? Obiger Screenshot zeigt auch, dass die letzten 100 Balken gezählt wurden, aber tatsächlich wurden alle Balken gezählt, aber nur 100 in den Puffer kopiert. Ja, und warum nicht gleich den Code veröffentlichen? Eine solche Antwort hätte es nicht gegeben. Ich hätte inhaltlich geantwortet, dass ich nicht verstehe, worum es geht. Aus dem Code können Sie sofort ersehen, was vor sich geht, was zählt und ob es die oben genannten Fehler gibt. Und was zeigt Ihnen der Bildschirm? Nichts anderes als das Ergebnis, und über das Ergebnis wurde bereits gesagt, dass es auf verschiedene Arten erreicht werden kann, aber nicht alle davon sind für die vorliegende Aufgabe akzeptabel - um die Rechenzeit zu reduzieren.
Überzeugend. Das muss der Betrag gewesen sein, der vorher genommen wurde... Es tut mir leid.
Das Ergebnis ist auf dem obigen Screenshot zu sehen.
Überzeugend. Das muss der Betrag gewesen sein, der vorher genommen wurde... Es tut mir leid.
Das Ergebnis ist auf dem obigen Screenshot zu sehen.
Wie viel von diesem Unsinn können Sie noch erzählen?
Alexey Viktorov:
Du bist der Einzige, der eine Schlägerei anzetteln kann. Zählen Sie mal nach, mit wie vielen Forumsmitgliedern Sie in diesem Tonfall jetzt mit mir interagiert haben. Geh weg, Satan.
Die Frage wurde bereits beantwortet.
Wie viel von diesem Unsinn können Sie noch erzählen? Was wollen Sie damit beweisen?
Nichts für Sie.
Und für wen und was?
Zu meiner eigenen Belustigung. Um mein Gehirn vor dem Austrocknen zu bewahren, und gleichzeitig, damit andere vielleicht davon profitieren. Alles, was du tust, ist scheißen... Verschwinde, Satan...
Überzeugend. Das muss der Betrag gewesen sein, der vorher genommen wurde... Es tut mir leid.
Das Ergebnis ist auf dem obigen Screenshot zu sehen.
Versuchen Sie den SMMA-Modus :)