Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Memory-Fehler (http://www.expert-advisor.com/forum/showthread.php?t=6514)

Gondiego 07.10.19 17:32

Memory-Fehler
 
Hallo zusammen,

ich stehe mal wieder vor einem Problem.
Ich bekomme bei meinem EA folgende Meldungen:

Zitat:

2019.10.03 18:39:58.920 TrendTrading NZDUSD,M5: not initialized
2019.10.03 18:39:59.920 TrendTrading NZDUSD,M5: out of memory
2019.10.03 18:34:59.926 TrendTrading NZDUSD,M5: global initialization failed
2019.10.03 18:34:59.926 TrendTrading NZDUSD,M5: not enough memory for EX4 file
Leider finde ich nicht viel dazu. Und wenn, dann ohne Lösungsansatz. Das einzige, was ich rauslesen kann, was auch aufgrund der Meldung logisch ist, dass mein Speicher "vollgemüllt" wird. Ich verstehe aber nicht warum, denn ich habe den Code schonmal so genutzt, auch mit dem Indikator.
Muss der fehler bei dem Indikator liegen, da er ja benannt wird oder kann dies auch durch einen anderen hervorgerufen werden?
Gibt es hier viele Möglichkeiten oder kann bei diesen Meldungen nur etwas grundlegendes falsch sein?

Grüße

traderdoc 07.10.19 22:29

Ja dann nehme einfach mal einen anderen Indikator und kontrolliere, was passiert.
Ansonsten kann man ohne dem Code des Indikators nur in die Glaskugel gucken.

traderdoc

ixbone 08.10.19 15:45

Es geht ihm der Arbeitsspeicher aus!
Ursachen:
-Zuviele Charts
-Zuviele Indikatoren
-Zuviele grafische Elemente
-Zuviele MaxBars History+Chart
-Zuwenig Arbeitsspeicher
-Fehlerhafter Code (selten, da der Compiler sowieso meckert)

Lösung:
Entweder mehr Arbeitsspeicher, oder die "Zuviele" massiv reduzieren.

Gondiego 18.10.19 16:28

Hallo,

erstmal danke @ixbone für die möglichen Ursachen. Ich habe es jetzt erst wieder geschafft, mich damit auseinanderzusetzen, daher auch die späte Antwort -sorry dafür.

Also:
zuviele Charts - Habe es mit nur einem Chart getestet-gleicher Fehler
zuviele Inidis - Habe nur zwei, die ich per iCustom abfrage
zuviele History - eine Indi fragt in den Standarteinstellungen 2000 Bars ab
zuviele grafische Elemente - die grafischen Elemente sind da ein interessanter Punkt

Ich habe es jetzt hinbekommen, dass die bzw der Fehler nicht mehr auftritt. Und zwar rufe ich ja, wie schon gesagt, die beiden Indis über iCustom auf. Bei dem Indi, den es betrifft, sieht/sah es wie folgt aus:
Code:

int bar = 1;
double Line1blueTrend = iCustom(_Symbol, Timeframe, "IndiName",250,false,false,false,false,2000,false,false,0, bar);
double Line2redTrend  = iCustom(_Symbol, Timeframe, "IndiName",250,false,false,false,false,2000,false,false,1, bar);

Mit den vohandenen Einstellungen wird der Indi auch nicht im Chart angezeigt.

Jetzt habe ich es wie folgt abgeändert:
Code:

int bar = 1;
double Line1blueTrend = iCustom(_Symbol, Timeframe, "IndiName",0, bar);
double Line2redTrend  = iCustom(_Symbol, Timeframe, "IndiName",1, bar);

Sprich ohne Einstellungen. Jetzt wird der Indi im vollen Umfang im Chart (visuell) aufgerufen, bekomme jedoch keinen Fehler mehr.

Funktioniert also erstmal. Ich werde es dementsprechend weiter test.

Grüße


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:27 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum