Hallo zusammen! Heute wollen wir uns wieder mit den Grundlagen beschäftigen:
Der exponentielle gleitende Durchschnitt (EMA) ist zwar recht einfach zu verstehen, und die Ausführungszeit des Codes sollte sich von einer Version zur anderen nicht stark unterscheiden (der EMA hat keine verschachtelten Schleifen), dennoch fehlt es uns oft an leicht wiederverwendbarem Code, der auch schnell ausführbar ist. Diese Version hilft dabei ein Stück weiter.
Ein kleiner Hinweis: Wir verwenden den alternativen Modus von OnCalculate() – also diesen hier:
int OnCalculate( constint rates_total, // Größe des price[] Arrays constint prev_calculated, // Anzahl der bearbeiteten Balken beim vorherigen Aufruf constint begin, // Indexnummer, ab der die relevanten Daten im price[] Array beginnen constdouble& price[] // Array von Werten für die Berechnung );
Diese Methode verkürzt die Ausführungszeit sogar noch weiter (das Abrufen des gewählten Preises über eine Funktion kostet zwar etwas Zeit – nicht viel, aber im Vergleich zu einer Version, die das nicht machen muss, ist es spürbar). Für die Flexibilität verwenden wir jedoch den "Standard"-Modus. Eine einfarbige Version würde es noch schneller machen, aber wo bliebe da der Spaß? :)



Kommentar 0