und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 21
- Rating:
- Veröffentlicht:
- Aktualisiert:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Im Tester kann es während der Optimierung vorkommen, dass Durchläufe aufgrund von Speichermangel abstürzen.
Es gibt eine Methode zur Berechnung solcher Notfalldurchläufe. Es ist jedoch schwierig, all die vielen Varianten von Eingabeparametern für den hohen Speicherverbrauch des Expert Advisors zu bewerten.
Sie müssen potenziell problematische Konfigurationen von Eingabeparametern eines bestehenden Expert Advisors finden. Und dann die Ursachen herausfinden.
Diese einfache Bibliothek ermöglicht es Ihnen, die Dynamik von Änderungen des Speicherverbrauchs auf recht einfache Weise zu verfolgen.
Beispiel.
Zur Veranschaulichung nehmen wir einen lakonischen EA und fügen ihm ein paar Zeilen hinzu (hervorgehoben).
#property tester_no_cache #define MEMORY_TESTER_OPTIMIZATION // Betrieb im Optimierungsmodus des Testers. #include <fxsaber\Memory\Memory.mqh> // Überwachung des Speicherverbrauchs. input int inMaxMB = 10; void OnTick() { static MqlRates Rates[]; const int SizeMB = (ArraySize(Rates) * sizeof(MqlRates)) >> 20; if (SizeMB < inMaxMB) ArrayResize(Rates, ((SizeMB + 2) << 20) / sizeof(MqlRates)); // Vergrößern Sie das Array um ~ Megabytes. } double OnTester() { return(gMemory.GetMax()); // Maximaler Speicherverbrauch während der Programmausführung. }
Der Expert Advisor vergrößert einfach sein Array.
Ergebnis.
Das Bild zeigt das Ergebnis der Optimierung.

Die Messungen des Speicherverbrauchs sind ähnlich.
Ein einziger Durchlauf des Top-Sets führt zu diesem Ergebnis.
Core 1 OnTester result 102 Core 1 2026.02.10 23:58:58 MQL_MEMORY_USED: Min = 0 Max = 102 Last = 0 Core 1 EURUSD,M1: 80954 ticks, 1437 bars generated. Environment synchronized in 0:00:00.020. Test passed in 0:00:01.781. Core 1 EURUSD,M1: total time from login to stop testing 0:00:01.801 (including 0:00:00.020 for history data synchronization) Core 1 202 Mb memory used including 23 Mb of history data, 64 Mb of tick data
Szenarien.
Die Bibliothek ermöglicht es Ihnen, den übermäßigen Speicherverbrauch des Expert Advisors zu ermitteln und die Ursachen im Debug-Modus weiter zu untersuchen.
Je weniger Ressourcen der Expert Advisor verbraucht, desto mehr Optimierungsmöglichkeiten gibt es: Erhöhung der Anzahl der Testagenten - Geschwindigkeit der Optimierung.
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/69335
RSI Price Action Breakout-Indikator
Ein hochpräziser Trendumkehrindikator, der RSI-Erschöpfungszonen mit Candlestick-Ausbruchsmustern kombiniert.
Kerzenschluss-Timer - MT5-Indikator
Beschreibung des Indikators - Candle Close Timer Name: Candle Close Timer Version: 1.0 Autor: BENTRADE TRADING Link: https://www.mql5.com/en/users/dahmi_benali
Multi-timeframe RSI scanner with visual dashboard and alerts
Produktionsfähiger Multi-Timeframe-RSI-Scanner mit intelligentem System zur Wiederholung von Warnungen. Überwacht bis zu 7 Zeitrahmen gleichzeitig, hebt Konvergenzzonen hervor, wenn 3+ TFs übereinstimmen, und wiederholt jetzt automatisch fehlgeschlagene Benachrichtigungen, um sicherzustellen, dass Sie keine kritischen überkauften/überverkauften Setups verpassen.
Trend based on WPR
Dieser Indikator kombiniert WPR und Gesamtgewinn/-verlust. Ich weiß nicht, wie ich Ihnen mehr über diesen Indikator sagen kann, aber Sie können ihn ausprobieren.