Unisciti alla nostra fan page
- Visualizzazioni:
- 19
- Valutazioni:
- Pubblicato:
- Aggiornato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
In Tester, durante l'ottimizzazione, è possibile che i passaggi si blocchino a causa della mancanza di memoria.
Esiste un metodo per calcolare tali passaggi di emergenza. Tuttavia, è difficile valutare tutte le numerose varianti dei parametri di input che comportano un forte consumo di memoria da parte dell'Expert Advisor.
È necessario individuare le configurazioni potenzialmente problematiche dei parametri di input di un Expert Advisor esistente. E poi scoprirne le cause.
Questa semplice libreria consente di seguire la dinamica delle variazioni del consumo di memoria in modo piuttosto semplice.
Esempio.
Per illustrare, prendiamo un EA laconico e aggiungiamo alcune righe (evidenziate).
#property tester_no_cache #define MEMORY_TESTER_OPTIMIZATION // Funzionamento in modalità di ottimizzazione del Tester. #include <fxsaber\Memory\Memory.mqh> // Monitoraggio del consumo di memoria. 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)); // Aumenta l'array di ~megabyte. } double OnTester() { return(gMemory.GetMax()); // Consumo massimo di memoria durante l'esecuzione del programma. }
L'Expert Advisor aumenta semplicemente il suo array.
Risultato.
L'immagine mostra il risultato dell'ottimizzazione.

Le misure del consumo di memoria sono simili.
Un singolo passaggio dell'insieme superiore produrrà questo risultato.
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
Scenari.
La libreria consente di individuare il consumo eccessivo di memoria da parte dell'Expert Advisor e di indagare ulteriormente sulle cause in modalità debug.
Minori sono le risorse consumate dall'Expert Advisor, maggiori sono le opportunità di ottimizzazione: aumento del numero di agenti di test - velocità di ottimizzazione.
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/69335
Indicatore di rottura dell'azione del prezzo RSI
Un indicatore di inversione di tendenza ad alta precisione che combina le zone di esaurimento dell'RSI con i modelli di breakout delle candele.
Timer chiusura candela - Indicatore MT5
Descrizione dell'indicatore - Candle Close Timer Nome: Candle Close Timer Versione: 1.0 Autore: BENTRADE TRADING Link: https://www.mql5.com/en/users/dahmi_benali
Multi-timeframe RSI scanner with visual dashboard and alerts
Scanner RSI multi-timeframe pronto per la produzione con sistema intelligente di ripetizione degli allarmi. Monitora fino a 7 timeframe simultaneamente, evidenzia le zone di convergenza quando più di 3 TF si allineano e ora riproduce automaticamente le notifiche fallite per non perdere mai i setup critici di ipercomprato/ipervenduto.
Trend based on WPR
Questo indicatore combina WPR e profitto/perdita totale. Non so come spiegarvi meglio questo indicatore, ma potete provarlo.