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)
-   -   Fehlerhafte Werte beim Auslesen von Indikatoren (http://www.expert-advisor.com/forum/showthread.php?t=5118)

Dick_Turpin 22.08.16 13:36

Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Ralf,

anbei mein EA etwas umgeändert. Jetzt kannst Du beim Start des EA unter "Eingaben" den TF, der getestet werden soll als Minuten eintragen.

Gruß
Dick

ralfbenker 22.08.16 14:30

Läßt du den EA im Strategietester laufen oder im Livechart(Demo oder Real)?
Im Strategietester könnte das sein dass er keine ausreichende Datenhistorie findet und im ersten Anlauf das Array mit 0.00 befüllt.
Sowas ähnliches hatte ich auch mal. Eventuell solltest Du Dir in der Printroutine auch mal die Close-Kurse der dazugehörigen Bars anzeigen lassen.

Viele Grüße
Ralf

ralfbenker 22.08.16 14:46

Nochmal ich,
im Strategietester zeigt er teilweise 0.00 für die Indikatorwerte an. Das liegt aber wohl daran, dass keine Kurse in der Historiendatenbank vorhanden sind.
Im realen Chart(Demo oder Geldkonto) scheinen die Werte richtig zu sein.

Dick_Turpin 22.08.16 14:59

Hallo Ralf,

ich teste nicht im Strategietester, sondern im realen Chart.

Wie gesagt, es kommen keine 0-Werte, sondern die Werte innerhalb der Bars sind mal um eine Stelle, mal um mehrere Stellen verschoben. Aber nur wenn ich zum ersten mal in einem neuen TF auslese. Habe ich nach dem ersten fehlerhften Auslesen den EA neu initialisiert oder neu gestartet, dann stimmen die Werte ?!?!?!?

ralfbenker 22.08.16 15:38

Das ist ja echt eigenartig - fehlt mir im Moment jegliche Erklärung.

Dick_Turpin 22.08.16 17:09

Hallo Ralf,

kommst Du zu den selben Ergebnissen wie ich, wenn Du den EA testest?

Gruß
Dick

ralfbenker 22.08.16 17:42

Ne, ich starte den Metatrader, ziehe den EA auf den Chart und die Werte im Journal scheinen zu stimmen. Von Verschiebungen um ein-zwei Bars hab ich nichts mitgekriegt.
Allerdings musste ich die Namen der Währungspaare umbenennen da ich keinen ECN-Broker habe.

traderdoc 22.08.16 22:12

Der MT4 besitzt die Besonderheit, bei eine Änderung der externen Variablen des EAs über z.B. die Taste F7, zwar die externen Variablen zu berücksichtigen, aber nicht!! die globalen Variablen. Bei einem Neustart per Compilierung oder auf den Chart ziehen des EAs werden auch die globlen Variablen, z.B.

datetime OldBarOpenTimeH1 = 0;
datetime OldBarOpenTimeD1 = 0;

durchlaufen.
Da die aber wie gesagt beim TF-Wechsel per Variablenänderung nicht mit berücksichtigt werden, springt der EA erst gar nicht in den Teil:

if(OldBarOpenTimeD1 != iTime(NULL,PERIOD_D1,0))
weil immer noch
OldBarOpenTimeD1 = iTime(NULL,PERIOD_D1,0) ist!

Nach Zusatz des Codes im OnInit() um die Zeilen:
OldBarOpenTimeD1 = 0;
OldBarOpenTimeH1 = 0;

werden immer beide Abfagen anfangs true sein und damit der Klammerausdruck abgearbeitet.

Und dann erscheinen immer und sofort die richtigen Indikatorwerte.

traderdoc

Dick_Turpin 23.08.16 09:24

Liste der Anhänge anzeigen (Anzahl: 2)
Hallo traderdoc,

vielen Dank für Deine Hilfe und die Infos, wieder was dazu gelernt.

Aber: Ich habe den EA jetzt mal komplett auf das pure Auslesen der Indi-Werte reduziert und habe immer noch das Problem, dass beim ersten Auslesen die Werte nicht stimmen.

Anbei der EA und das Logfile mit eingefügten Kommentaren.

Ich versuche jetzt noch mal ohne WP-Array die Werte einzulesen...

Gruß
Dick

Dick_Turpin 23.08.16 12:11

Liste der Anhänge anzeigen (Anzahl: 2)
So, ohne WP-Array klappt die Sache, siehe angehängten EA und Logfile.

Ist natürlich etwas seeehr umständlich das Ganze.

Gruß
Dick


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:57 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