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)

ralfbenker 23.08.16 13:03

Jo, ganz schön eigenartig.

Hast Du mal versucht mit:

Closekurs[i] = iClose(argSymbol,PERIOD_H1,i);

die zugehörigen Closekurse zu ermitteln und Dir anzeigen zu lassen ? Die Kurse dürften dann ja auch nicht stimmen da die Indikatorwerte ja aus diesen berechnet werden.

traderdoc 23.08.16 13:53

Also an einer prinzipiellen Benutzung eines Arrays kann und darf es nicht liegen.

Ich würde z.B. auch mal mit w=1 beginnen, zumal der Indikatorwert der aktuellen Kerze eh nich ausgegeben wird.

Ansonsten schaue ich mir den vorletzten Code heute Abend noch mal an.

traderdoc

Dick_Turpin 23.08.16 20:52

Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von traderdoc (Beitrag 35483)
Ich würde z.B. auch mal mit w=1 beginnen, zumal der Indikatorwert der aktuellen Kerze eh nich ausgegeben wird.

traderdoc

hab ich gemacht, hat aber leider auch nichts gebracht.

Das Verhalten ist wirklich sehr rätselhaft:
Wenn ich den EA zum ersten Mal die Werte in einem neuen TF auslesen lasse, dann sind viele Werte falsch. Sobald ich aber den EA erneut im selben TF auslesen lasse, stimmen die Werte immer.

Sobald die Indi-Werte nicht stimmen, stimmt auch der Closekurs nicht. Anbei der EA incl. Closekurs.

Gruß
Dick

ralfbenker 24.08.16 15:24

Liste der Anhänge anzeigen (Anzahl: 1)
Merkwürdig, hab deine Dick2 gerade eben ausprobiert, unterschiedliche Charts unterschiedliche Timeframes und erster/zweiter/dritter Durchlauf machen keinen Unterschied.

Allerdings hab ich nur drei Währungspaare drin gelassen weil ich zu faul war die ganzen Namen zu ändern :-(

Dick_Turpin 25.08.16 21:15

Bei mir tritt der Fehler auf zwei unterschiedlichen Rechnern auf...

Aufgefallen ist mir das Problem zum ersten mal in der richtigen Fassung meines EA, wo bei jeder Neueröffnung eines H4-Bar einmal die ReadIndi()- und einmal die PrintIndi()-Funktion für den H4-TF aufgerufen wird. Hier habe ich dann im Nachhinein festgestellt, dass die Indi-Werte öfters falsch bzw. verschoben sind.

Habe auch noch mal das Auslesen und Ausgeben der Indi-Werte direkt in der OnInit()-Funktion probiert - aber gleiches Problem.

Bin mit meiner Weisheit nun am Ende. Wenn nicht noch der traderdoc eine Idee hat, dann muss ich meinen EA eben irgendwie umschreiben...

Vielleicht bringt es ja was, wenn ich die Indi-Werte ständig, z.B. alle 5 Minuten aufrufe, auch wenn ich eigentlich nur alle 4 Stunden die Werte brauche...

Gruß
Dick

traderdoc 25.08.16 21:35

Na wenn Du auf demselben TF bleibst, zeigt er doch permanent die richtigen Werte an oder nicht?
Und wenn das TF gewechselt wird, dann muß eben halt eine Schleife zweimal durchlaufen werden, um die richtigen Werte zu erhalten. So oft wird doch so ein Wechsel nicht stattfinden!?

traderdoc

Dick_Turpin 25.08.16 21:55

Hallo traderdoc,

in der ursprünglichen Version ist der EA 24 h durchgelaufen und hat nur zwischen morgens 7:00 Uhr und abends 19:00 Uhr bei Eröffnung eines neuen H4-Bar die H4-Werte ausgelesen. Und hier sind mir irgendwann die verschobenen Werte aufgefallen. D.h. der EA ist zwischen dem Auslesen während der 4 Stunden irgendwie "eingeschlafen" und hat dann die Werte irgendwie durcheinander gebracht. Aber nicht immer und auch mal nur um 1 Bar oder dann mal um 4 Bar verschoben...

In der PrintIndi()-Funktion habe ich ja auch noch mal ein frisches Auslesen der Werte, neben der Ausgabe der Array-Inhalte, mit eingebaut, und da waren die Werte genau so verschoben wie die im Array, obwohl das ja schon das zweite Auslesen war?!?

Gruß
Dick

traderdoc 25.08.16 22:11

Ok, ich habe jetzt leider nicht die Zeit, um nach einer sofortigen Lösung zu suchen, behalte aber die Problematik im Kopf und komme zu gegebener Zeit darauf zurück.

traderdoc

Dick_Turpin 26.08.16 07:28

Danke traderdoc!

Sollte ich etwas neues zu diesem Problem finden, melde ich mich...

Gruß
Dick

Dick_Turpin 09.09.16 21:11

Also eine Möglichkeit für diesen rätselhaften Fehler könnte vielleicht auch ein Bug im MT4 sein... Zu dieser Zeit kam auch mindestens ein Update für den MT4.

Ich habe das Problem jetzt so gelöst, dass ich vor dem ersten Schleifendurchlauf für des Auslesen der Indi-Werte einen zusätzlichen Schleifendurchlauf ausführe, wie auch schon der traderdoc weiter oben schon mal vorgeschlagen hatte.

Gruß
Dick


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