Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo zusammen,
Ich habe mit CRingBuffer eine eigene MQL5-Bibliothek entwickelt, die speziell für effiziente Rolling-Window-Analysen im Trading ausgelegt ist. Mein Fokus lag dabei klar auf Performance: Die Statistik-Berechnungen sind so optimiert, dass nach jedem Einfügevorgang sofort aktualisierte Ergebnisse vorliegen – bei möglichst geringem CPU-Verbrauch.
Die Bibliothek liefert in Echtzeit Kennzahlen wie Mittelwert, Varianz, Standardabweichung, Perzentile, Z-Scores sowie Min-/Max-Tracking und normalisierte Werte. Je nach Operation bewege ich mich dabei in Laufzeiten von O(1) bis O(n log n), was sie besonders für performanzkritische Strategien interessant macht.
Wenn ihr interesse habt, dann könnt ihr sie hier downloaden: https://www.mql5.com/de/market/product/174460
1. Zweck und Einsatzgebiete
CRingBuffer speichert numerische Werte in zeitlicher Reihenfolge und stellt nach jedem Einfügevorgang sofort nutzbare statistische Kennzahlen bereit. Die Klasse ist auf schnelle Rolling-Window-Analysen und robuste Signalaufbereitung ausgelegt.
2. Datenmodell: Virtueller Index
0 = ältester gespeicherter Wert getTotal() - 1 = neuester, zuletzt hinzugefügter Wert
3. Konstruktion: Statischer vs. dynamischer Buffer
CRingBuffer(const int buf_size, const bool is_dynamic = false)
4. Platzhalter und gültige Werte
fill_rate = valid_count / total_count
5. Statistikfunktionen im Überblick
6. Erweiterung durch Vererbung
7. Codebeispiele
getLastZScore() beschreibt den aktuellen Zustand. getZScoreAt() eignet sich für Backtests, weil der bewertete Wert nicht Teil seiner eigenen Statistik ist.
Beispiel 5 · Dynamischer Buffer: Entfernen und Verkleinern
8. Wichtige Verhaltensdetails und Fallstricke
9. Struct RBufStats
10. Praktische Hinweise
11. Public-API-Referenz
11.1 Konstruktion
11.2 Werte hinzufügen und ändern
11.3 Direkter Datenzugriff
11.4 Buffergröße und Zustand
11.5 Index- und Arrayoperationen
11.6 Basisstatistik
11.7 Z-Score-Methoden
11.8 Min/Max und Range
11.9 Welford-Statistik
11.10 Normalisierung
11.11 Debugging
Hinweis: Hilfreich bei Entwicklung, Test und Validierung des Bufferverhaltens.