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)
-   -   Schlusskurs des Vortages (http://www.expert-advisor.com/forum/showthread.php?t=5459)

promit 10.02.17 08:55

Schlusskurs des Vortages
 
Guten Tag,
ich beschäftige mich seit ca. 2 Wochen Wochen mit der Programmierung eines EA, um eine Strategie zu automatisieren, die ich mit Erfolg schon seit ca. einem Jahr auf einem Demokonto teste. Ich möchte jetzt Ernst machen und ein Handelskonto eröffnen.

Ich habe den EA soweit fertig, funktioniert im Strategietester schon sehr gut.
Ein kleines Problem habe ich noch. Zu einer der Bedingungen, die eine Open-Order auslösen, gehört auch der Handelsschluss-Kurs vom Vortag.
Im Strategietester kann ich mir damit helfen, dass ich jeden Tag um 17:30 Uhr den Kurs in eine variable schreibe und am Folgetag ausrechne, ob der Kurs gestiegen oder gefallen ist.

Dies geht nicht, wenn ich den EA auf dem Demokonto, nicht im Strategietester zum Beispiel morgens um 7:00 Uhr starte. Dann fehlen natürlich die Daten vom Vortag.

Ich habe schon sehr viel gesucht, aber ich konnte nirgends wo einen Hinweis auf eine Funktion finden, auf die einfach zugegriffen werden kann.
Trotz jahrelanger Programmiererfahrung ist es für mich natürlich schwierig, alle Funktionen zu kennen.

Darum meine 1. Frage hier im Forum:
wie kann ich den (möglichst offiziellen) Schlusskurs des DAX 30 für den Vortag abrufen.

Vielen Dank für die Hilfe

SusanneH 10.02.17 10:58

Möglichkeit 1:
1 Tag lang warten bis deine Variable um 17:30 gesetzt wird oder den EA nicht nach 17:30 starten :D

Möglichkeit 2:
Beim Start des EA´s einmalig die Uhrzeit der aktuellen M30 Kerze abfragen und diese dann mit 17:30 gegenrechnen. Je nachdem ob dein Broker auch Nachtkurse stellt oder nicht kannst du dann mit Close[x] oder Close[x+NachtBars] auf den Kurs zurückgreifen.

Möglichkeit 3:
...auf eine Antwort von traderdoc warten :)

Leopold 10.02.17 11:29

Close vom Vortag
 
oder von mir ;)

iClose(NULL, PERIOD_D1, 1);

https://docs.mql4.com/series/iclose

Leopold

Leopold 10.02.17 11:35

oder von mir ;)

iClose(NULL, PERIOD_D1, 1);

https://docs.mql4.com/series/iclose

Leopold

Leopold 10.02.17 11:48

Hab mir deine Frage zu wenig genau durchgelesen.

Hab jetzt eine Lösung für die bestimmte Zeit:

Du benötigst erstmal eine datetime Variable von dieser Zeit.

datetime SchlusskursZeit = StringToTime(Jahr+"."+Monat+"."+Tag+" "+Stunde+":"+Minute);

dann musst du den Index dieser Kerze ermitteln

int Barshift = iBarShift(NULL, PERIOD_M30, SchlusskursZeit, true) + 1;

das +1 ist für die Kerze davor (17:00 Kerze)

iClose(NULL, PERIOD_M30, Barshift);

das sollte funktionieren.

Leopold

traderdoc 10.02.17 13:57

Ok, Möglichkeit 3:

Die sieht eigentlich aus wie die von @Leopold in Post #3.

Für Währungspaare!! muß allerdings folgendes beachtet werden:
Hier muss man bedenken, wenn man die Abfrage am Montag vornimmt, dann kann! es passieren, dass das Close der Vortageskerze vom Sonntag genommen wird. Das kann beim DAX nicht passieren, weil der Handel erst früh (Montag) einsetzt.

traderdoc

promit 10.02.17 16:11

Liste der Anhänge anzeigen (Anzahl: 2)
Danke für die Antworten bisher. Warum dieser Punkt für mich so wichtig ist, möchte ich kurz erklären. Ich bin absoluter Anfänger im Bereich Aktien. Vor ca. 30 Jahren bin ich mit Mobilcom reingefallen und habe mehrere 1000 DM verloren. Seitdem darf ich dem Begriff Aktien in Gegenwart meiner Frau nicht mehr erwähnen.
Allerdings hat mich das nicht daran gehindert, seit einigen Jahren immer wieder mal nach Verdienstmöglichkeiten in diesem Bereich zu suchen.
Ich habe mir diverse Demo-Konten angelegt, mit mehr oder weniger guten Erfolg. Seit ca. anderthalb Jahren arbeite ich an der Strategie, die ich im Moment verfolge. Dazu habe ich mir die M1-Daten bis 2007 besorgt, und in PHP (seit ca. 1997 98 bin ich, zum Teil auf hauptberuflich, mit der Programmierung von PHP beschäftigt) entsprechende Routinen zu meiner Strategie geschrieben.

Ich denke, dass ich jetzt eine Strategie habe, die erfolgversprechend ist.
Mit einem Demo-Konto bei IG habe ich zum Beispiel in den letzten 3 Monaten ein Gewinn von 150 % gemacht. Auch davor haben sich die Ergebnisse immer mehr zum positiven verbessert.

Vor ca. 2 Wochen bin ich auf den Metatrader gestoßen, der natürlich sehr viel mehr Möglichkeiten im Bereich Trading eröffnet. Mein Problem ist, dass ich zwar grundsätzlich programmieren kann, die fachspezifischen Prozeduren im Metatrader natürlich nicht kenne. Vielleicht ist das auch kein Nachteil. Bisher habe ich alles in PHP nachgestellt.

Mein Algorithmus ist praktisch so, wie sich Klein Fritzchen Trading vorstellt. Bisher habe ich für meine Entscheidung, ob ich am Tag long oder short gehe, ein Parameter in der Zeit von 8:00 Uhr bis 9:00 Uhr (DAX 30) ausgewertet. Dies hat schon zu sehr guten Ergebnissen geführt (Auswertung in PHP).
Irgendwie bin ich jetzt auf den Gedanken gekommen, auch den Vortageskurs in die Bewertung einzubeziehen. Und das ergibt eine signifikante Verbesserung der Ergebnisse. Als Beispiel lade ich 2 Grafiken aus dem Metatrader Strategietester hoch, auf dem ihr sehen könnt, warum es für mich wichtig ist, den Vortageskurs zu ermitteln.

Die Werte basieren auf den Daten von Anfang Januar 2016 bis heute.
Auch wenn die Modellierungsqualität nur bei ca. 25 % liegt, denke ich, dass es schon eine Aussage ist. Zumal die Bandbreite der Kursdifferenz bis zu 30 Punkte beträgt.

Meine Todo Liste für die nächste Zeit enthält die Aufgabe, die Qualität auf jeden Fall bis zu 90 % hoch zu schrauben. Da muss ich mich aber noch schlau machen.

Nichtsdestotrotz werde ich nächste Woche ein Konto mit 1000 € einrichten und den Metatrader/EA auf einem VPS laufen lassen. Ich denke das ist die Stressfreieste Variante.
Sicherlich werden noch einige Fragen auftauchen, und ich wäre euch dankbar, wenn ihr mir dann die entsprechende Hilfe leisten könntet.

Vielen Dank bisher und viele Erfolge


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