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. |
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 |
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
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 |
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 :-( |
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 |
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 |
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 |
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 |
Danke traderdoc!
Sollte ich etwas neues zu diesem Problem finden, melde ich mich... Gruß Dick |
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