Jump to content
Tom Next - Daytrading Community

Recommended Posts

Posted

Hallo Leute,

 

hier sind ja Profis am Werk. Dieser Thread soll dazu gedacht sein, den Bastlern (wie mir) da draußen zu erklären, wie man mittels MQL die Zeitdifferenz zu GMT auslesen und diese Info in seinen Indikatoren und EAs verwenden kann. Für alle, die jetzt gespannt auf die Lösung warten: ich habe keine Ahnung, wie das geht :wink:.

 

Idee dahinter ist folgender: einige von uns nutzen ja EAs, die zu bestimmten Uhrzeiten handeln sollen (oder nicht). Wenn man nun unterschiedliche Broker mit verschiedenen Zeitangaben hat, dann hat man ein Problem. Oder noch besser: dem Broker fällt einfach mal ein, seine Server von GMT+2 auf GMT+3 umzustellen, weil "die Kunden das so wollen". Da ist es doch am sinnvollsten GMT als Referenz zu nehmen und alles intern daran anzupassen. Dann entfällt auch der ganze Stress bei Umstellung auf Sommerzeit und so.

 

Wer also einen Lösungsvorschlag hat - immer her damit. Vor allem: wie kommt man an GMT ran wenn der Rechner nicht auf GMT läuft?

 

Gruß

 

conglom-o

Posted

Alles was ich in den letzten Jahren dazu gelesen habe, hieß dann immer "Es geht nicht" oder "Man muß den EA an die Differenz anpassen""

"Suche Dir einen anderen Broker" usw war auch dabei.

Und das waren keine "Vola Coder nicht mal Farbveränderer" sondern Leute vom Schlage eines FinGeR`s und aufwärts.

Wer dazu eine Lösung hat / findet, ist sicher ganz weit vorn, denn das interessiert MT User rund um den Planeten.

Posted

Wer dazu eine Lösung hat / findet, ist sicher ganz weit vorn, denn das interessiert MT User rund um den Planeten.

 

Deswegen will ich ja, dass wir das hier bei TN angehen und nicht in irgendeinem zweitklassigen Forum crazy.gif .

Posted

Deswegen will ich ja, dass wir das hier bei TN angehen und nicht in irgendeinem zweitklassigen Forum crazy.gif .

 

LOL, verstehe schon.

Ich sprach zwar schon von den bekannten Koryhäen der Forengemeinde in den Staaten, aber ich spüre trotzdem was Du denkst

Posted

Mit MQL5 ist es ganz einfach, da eine Funktion von Haus aus zur verfügung steht.

Und seit dem neuen Update von MetaTrader 4 ist es mit MQL4 das selbe wie mit MQL5.

 

Beispiel 1:

/* Code für MQL4 und MQL5 */

//Zeigt aktuelle GMT Zeit auf dem Chart als Kommentar
  Comment ( TimeGMT() );

 

Beispiel 2:

/*Code für MQL4 und MQL5 */

MqlDateTime time;

void OnStart()
  {
    TimeGMT(time);
    
    //aktuelle GMT Stunde auf dem Chart
    Comment( time.hour);
  }

 

Beispiel 3:

/*Code für MQL4 und MQL5 */

void OnStart()
  {
   //Die Differenz in Stunden zu GMT vom PC und vom Server
   double  Differenz_BrokerServer_GMT_Stunden = (TimeCurrent()-TimeGMT()) /3600;
   double  Differenz_LokalPC_GMT_Stunden      = (TimeLocal()-TimeGMT()) /3600;
  }
  
  • Upvote 6
Posted

Hallo Leute,

 

hier sind ja Profis am Werk. Dieser Thread soll dazu gedacht sein, den Bastlern (wie mir) da draußen zu erklären, wie man mittels MQL die Zeitdifferenz zu GMT auslesen ...

 

Wenn man nun unterschiedliche Broker mit verschiedenen Zeitangaben hat, dann hat man ein Problem. Oder noch besser: dem Broker fällt einfach mal ein, seine Server von GMT+2 auf GMT+3 umzustellen, weil "die Kunden das so wollen". Da ist es doch am sinnvollsten GMT als Referenz zu nehmen und alles intern daran anzupassen. Dann entfällt auch der ganze Stress bei Umstellung auf Sommerzeit und so.

 

Wer also einen Lösungsvorschlag hat - immer her damit. Vor allem: wie kommt man an GMT ran wenn der Rechner nicht auf GMT läuft?

 

 

Hallo zusammen,

 

würde mich bitte gerne mit meiner Frage an die Experten hier im Forum "ranhängen" wollen ob es ein Tool oder Code kostenfrei gäbe welcher bei den MT4 Statements (HTML-Format, Statement und Detailed Statement) welche man sich ja aus MT4, Reiter Historie heraus lokal abspeichern kann die GMT-Zeiten bspw. von GMT auf GMT+1 (also unsere Uhrzeit hier) automatisch ändern lassen könnte. Das Ergebnis wäre eine "bereinigte" Tradeliste mit den tatsächlichen Tradezeiten in meiner Zeitzone zur persönlichen Auswertung welche zur Verfügung stünde??

 

Kurzum: der Kunde ändert Enter und Exit Timestamp am Tradingplotter automatisch über ein Tool auf seine eigene Zeitzone.

 

Manuell kann man zwar die HTML nach Excel holen doch bei zig Trades jedes Jahr ist ordentlich Handarbeit ohne Ende angesagt, daher meine Frage.

 

Danke euch.

Posted

Was ist aber, wenn ich mich (noch) gegen das Update sträube?

 

Ich glaube das ist nicht Möglich.

Da die Updates autom. ausgeführt werden.

 

Es gibt noch eine andere Alternative. Mit Hilfe der WinAPI.

Posted

Doch doch - bisher konnte ich mich erfolgreich wehren und stehe noch bei Build 509 :conglom-o:.

 

Für den Trick fehlt aber noch die Anleitung !

Hast Du die alte terminal.exe kopiert und/oder das Live Update deaktiviert oder wie gehst Du vor ?

Ich bin nämlich schon bei Build 625

Posted

Für den Trick fehlt aber noch die Anleitung !

 

Also, weil Du es bist:

1. man sollte immer eine Sicherung haben, denn sonst gibt es kein zurück wink.gif

2. Liveupdate Dateien und Verzeichnis löschen

3. Alle Registry Einträge löschen, die auf den Metatrader oder Metaquotes hindeuten

4. Falls der MT mal fragt, ob er Änderungen am System vornehmen darf: ablehnen (tut er bei mir aber nicht mehr)

  • Upvote 3
Posted

Danke, danke door.gif

Aber wenn ich anfange in der Registry rumzubasteln, werde ich meine gesamten Laps danach wohl in Reihe als Laufband zusammenschrauben können.

Aber sollte mal echter Bedarf bestehen, Du hast ja Skype...

Posted

Das ist möglich, aber nur als Export in eine Datei html, excel, csv..... (also nicht intern in MT4)

 

 

Hallo,

 

hm, gefunden habe ich nur das http://forum.mql4.com/35708 und hier im Forum dies http://www.tom-next.com/community/topic/41900-history-analyse-nach-magicnummern-und-zeitrumen-excel-2007/

 

Nur wie ich das dann mit der automatischen Umrechnung der Enter und Exits nach GMT+1 bekomme finde ich nicht?!

 

Das Zielformat ist im Prinzip egal, HTML und vor allem Excel wäre klasse zur Auswertung.

 

Danke euch.

Posted

Wenn ich es richtig verstehe, geht es Dir doch nur um die Uhrzeitanpassung Deiner Trades.

Wenn Du die "falschen Uhrzeiten" dann in der Excel Tabelle hast, ist es doch eigentlich kein großer Aufwand mehr, die Zeiten in den Zellen automatisch von Excel nach Deinen Wünschen anzupassen ? (+/- X Stunden)

Passiert doch nur 2x im Jahr -Sommer und Winterzeit

Posted

Wenn ich es richtig verstehe, geht es Dir doch nur um die Uhrzeitanpassung Deiner Trades.

Wenn Du die "falschen Uhrzeiten" dann in der Excel Tabelle hast, ist es doch eigentlich kein großer Aufwand mehr, die Zeiten in den Zellen automatisch von Excel nach Deinen Wünschen anzupassen ? (+/- X Stunden) ...

 

 

Hallo Vola,

 

exakt, ja um die Uhrzeitanpassung auf automatischen Wege nach GMT+1 (Berlin) geht es. Und dies ist mein persönliches Problem dieses eben nicht in Excel selbst umsetzen zu können. Ich kann zwar aus MT4 manuell die History nach Excel bringen und wie geht es dann bitte weiter mit dem automatischen Umsetzen aller Enter/Exits auf GMT+1 in Excel???

 

Ich hatte gehofft in den "Weiten des Internet" ein freies Tool oder besser Skript zu finden wäre welches AUTOMATISCH bspw. jeden Tag (Mo-Fr) z.B. um 23:30 ein Statement aus MT4 erzeugt und im nächsten Schritt aus GMT eben GMT+1 die ganzen Trades umschreibt sowie abspeichert, fertig. Ob das in Excel oder via Browser mit HTML wäre ist völlig egal/nebensächlich, hauptsache automatisch!??

 

Gefunden habe ich im Internet dazu jedoch nichts, nur das die Broker bspw. fest bei GMT+2 bleiben und der Kunde dies nicht im MT4 umstellen kann, also ist auch das Statement aus MT4 in GMT+2 und das würde ich gerne AUTOMATISCH ändern lassen ...

 

Danke für jeden Hinweis cool.gif

Posted

Ich kann zwar aus MT4 manuell die History nach Excel bringen und wie geht es dann bitte weiter mit dem automatischen Umsetzen aller Enter/Exits auf GMT+1 in Excel???

 

Ich bin mir nicht sicher ob wir aneinander vorbeireden.

Also, Du hast die falschen Daten nach Excel importiert und danach änderst Du diese in den Zellen automatisch indem Du für die jeweiligen Zellen eine Formel einrichtest.

 

Etwa so:

 

 

Du kannst mit jeder Uhrzeit das gleiche machen wie mit Zahlen, der Unterschied ist das du die Stunden und Minuten mit den ":" trennen musst z.B. 18:21

 

18:21 + 10:10 = 4:41

etwas komisch ist diese Rechnung, Excel fängt nach 24 Stunden von vorne an und zeigt die Tage nicht an.

 

Lösung ist:

gib in der Zellenformatierung unter Benutzerdefiniert einfach " [h]:mm:ss " und die Rechnung lautet:

18:21 + 10:10 = 28:31

oder

12:50 + 00:45 = 13:35

 

Diese Formel speicherst Du Dir ja nur einmal ab und fügst in diese Vorlage täglich, wöchentlich oder whatever die MT Statement Daten ein.

 

Weitere Beispiele

 

btw.

Eigentlich ist das alles halbautomatisch, wahrscheinlich suchst Du aber vollautomatisch....

  • Upvote 1
Posted

...ein Tool oder Code kostenfrei gäbe welcher bei den MT4 Statements (HTML-Format, Statement und Detailed Statement) welche man sich ja aus MT4,

Reiter Historie heraus lokal abspeichern kann die GMT-Zeiten bspw. von GMT auf GMT+1 (also unsere Uhrzeit hier) automatisch ändern lassen könnte...

 

nächsten Schritt aus GMT eben GMT+1....

 

dem Broker fällt einfach mal ein, seine Server von GMT+2 auf GMT+3 umzustellen, weil...

 

Genau. Wenn du nun eine ältere Historie Liste benutzt, und nicht mehr weißt welche GMT der Broker damals hatte oder noch schlimmer dein Liste hat 2 Änderungen. (GMT +/- ?)

Man kann immer nur von der aktuellen Server Zeit ausgehen. (welche damals vielleicht GMT +/- anders war...)

 

Also, wenn man jetzt solch einen Skript programmiert ist das GMT uninteressant. (Außer man ist sich 100% sicher welchen GMT +/- ? der Broker benutzte)

 

Der Benutzer muss selber wissen, wie viel +/- Stunden der Skript in der Historie verändern soll.

Posted

...ein Tool oder Code kostenfrei gäbe welcher bei den MT4 Statements (HTML-Format, Statement und Detailed Statement) welche man sich ja aus MT4,

Reiter Historie heraus lokal abspeichern kann die GMT-Zeiten bspw. von GMT auf GMT+1 (also unsere Uhrzeit hier) automatisch ändern lassen könnte...

 

Hier mal einen Skript.

Erstellt eine MetaTrader Historie Statement Text Datei (*.csv) mit Option der Zeitverschiebung.

 

Konto_History_Zeitverschiebung.mq4

Für MetaTrader 4 Build 625 oder höher. Code funktioniert auch mit MQL5.

 

Mit 2 Eingabe Parametern

Stunden_Verschieben = Zeitverschiebung in Stunden (+/-)

DateiName = Name der Text Datei

 

Windows_8_1_-_Parallels_Desktop-10.png

Konto_History_Zeitverschiebung.mq4

  • Upvote 4
Posted

Konto_History_Zeitverschiebung.mq4

Für MetaTrader 4 Build 625 oder höher. Code funktioniert auch mit MQL5.

 

Mit 2 Eingabe Parametern

Stunden_Verschieben = Zeitverschiebung in Stunden (+/-)

DateiName = Name der Text Datei

 

 

einfach klasse das KnowHow hier im Forum, muss noch auf Build 625 am Livekonto "upgraden" (ist noch 509) ...

 

Mit dieser Lösung geht es auf jedenfall; Stunden_Verschieben = Zeitverschiebung ... (+/-) good2.gif

 

DANKE!

Posted

einfach klasse das KnowHow hier im Forum, muss noch auf Build 625 am Livekonto "upgraden" (ist noch 509) ...

 

Yep, denke ich auch.

Drück dem FinGeR mal alle Thanks Buttons die Du hier so finden kannst.

 

KnowHow ist bestimmt in anderen Foren auch vorhanden, nur wird das selten so schnell umgesetzt und dann noch sehr freizügig und öffentlich weitergegeben.

Und FinGeR und all die anderen jetzt ungenannten Top Leute gibt es natürlich nur bei uns.

Insofern ist das hier schon eine Wahnsinns Clique.

  • Upvote 2
Posted

Also, weil Du es bist:

1. man sollte immer eine Sicherung haben, denn sonst gibt es kein zurück wink.gif

2. Liveupdate Dateien und Verzeichnis löschen

3. Alle Registry Einträge löschen, die auf den Metatrader oder Metaquotes hindeuten

4. Falls der MT mal fragt, ob er Änderungen am System vornehmen darf: ablehnen (tut er bei mir aber nicht mehr)

 

Guter Hinweis , vielen Dank . Und dann habe ich das auch versucht .

 

zu 2.) ich lösche die Anwendung "Liveupdate" im Metatrader-Ordner , es ist eine Anwendung . Aber welche Verzeichnisse sollen gelöscht werden ?

zu 3.) wie komme ich denn an die Registry ? Welche Einträge dort ?

 

Vielen Dank im voraus

 

KB

Posted

guter Hinweis , vielen Dank . Und dann habe ich das auch versucht .

 

Du könntestt auch den Wolfischen Weg nehmen.

 

btw.

Unter seinem Post befindet sich dann übrigens noch ein Video zur MT4 Build ab 600 aufwärts

Posted

Vielen Dank, Wolf hat eine Methode gesucht um Rückwärts zu arbeiten, das Video ist cool und beschreibt die Vorteile der neuen Version .

 

Ich will konservieren, habe auch meine MT4 Instanzen und will sicher stellen, dass mir die erhalten bleiben :-)

 

LG´s

KB

Posted

Guter Hinweis , vielen Dank . Und dann habe ich das auch versucht .

 

zu 2.) ich lösche die Anwendung "Liveupdate" im Metatrader-Ordner , es ist eine Anwendung . Aber welche Verzeichnisse sollen gelöscht werden ?

zu 3.) wie komme ich denn an die Registry ? Welche Einträge dort ?

 

Vielen Dank im voraus

 

KB

 

Sorry für Verspätung.

Ich hatte auch noch einen Ordner namens Liveupdate. Kann aber sein, dass Du den nicht hast.

In der Registry habe ich einfach nach allem gesucht, was "Metatrader" oder "Metaquotes" beinhaltet und gelöscht.

Nur die Sache mit dem Editor habe ich drin gelassen, aber das kann man ja auch neu zuordnen.

  • Upvote 2

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...