systemtrader Posted October 8, 2013 Report Posted October 8, 2013 Ich Benutze für das Problem 2 EA, der erste erzeugt ein txt File mit dem Bid und Ask Preis, nicht vergessen an eine verrigelung was gemeinsamer Dateizugriff betrieft zu denken!! Der zweite EA ist ein Order EA der per txt Datein Orderin.txt seine Order bekommt und ausführt incl Rückmeldung Orderrück.txt, auch hier muss mit dem Problem des geimmeinsammen Dateizugriffs gerechnet werden also nicht vergessen. Ich nutze das um eigende Software zu benutzen oder auch andere Platformen über MT4 Handeln zu lassen. Sicher geht es auch besser Pips, TCP, DDL, aber was geht geht.
Forex1+ Posted October 8, 2013 Author Report Posted October 8, 2013 Wie bekommt man jeden Tick die Dinge in eine txt die zB auf einem Verzeichnis ausserhalb von MT liegt? Denn laut diesem hier: http://book.mql4.com/functions/files liegen die Files in einem MT-Verzeichnis. Gibt es irgendwo ein Beispiel vom MQL-Code um Werte in die txt zu übergeben oder wieder aufzurufen?
systemtrader Posted October 8, 2013 Report Posted October 8, 2013 Ich Schreibe mein Files in den MT4/Experts/files Ordner. Was man dazu braucht ist http://docs.mql4.com/constants/marketinfo und http://docs.mql4.com/files/FileWrite im groben.
Vola Posted October 8, 2013 Report Posted October 8, 2013 Gibt es irgendwo ein Beispiel vom MQL-Code um Werte in die txt zu übergeben oder wieder aufzurufen? Meinst Du etwas in dieser Art ?Ist ein Indikator der in den Chart eingefügt wird und dann die Tickdaten in eine .txt schreibt. MT_DATA.mq4 @RAiNWORMHabe Deinen Competence Center Status mal in der Zitatebox verewigt
conglom-o Posted October 8, 2013 Report Posted October 8, 2013 Wichtig ist, dass beide über ein Textfile (es gäbe noch TCP/IP, Named Pipes, DDL etc.) kommunizieren können, d.h. beide Instsanzen können auf ein und das selbe Verzeichnis (z.B. ein Netzlaufwerk) zugreifen. Und ich glaube, da treten die ersten Probleme auf. Soweit ich informiert bin kann man nämlich beim Erzeugen der Dateien mittels EA keinen Pfad angeben. Man müsste also ständig aus dem MT4 Ordner die Dateien ins Netzlaufwerk schieben und auf dem "Executor"-PC vom Laufwerk in den dortigen MT4. Das sind natürlich Verzögerungen, die den Handel nahezu unmöglich machen.
systemtrader Posted October 8, 2013 Report Posted October 8, 2013 Und ich glaube, da treten die ersten Probleme auf. Soweit ich informiert bin kann man nämlich beim Erzeugen der Dateien mittels EA keinen Pfad angeben. Man müsste also ständig aus dem MT4 Ordner die Dateien ins Netzlaufwerk schieben und auf dem "Executor"-PC vom Laufwerk in den dortigen MT4. Das sind natürlich Verzögerungen, die den Handel nahezu unmöglich machen. Nein das stimmt so nicht ganz, wir haben ja Heute kein C64 mehr das geht schon sehr fix wobei ich für meine fälle die Kurs direkt aus dem Ordner lese. Wer Scalping extrem Kurzfristig betreibt ............ ganz andere Lösung!!
Forex1+ Posted October 8, 2013 Author Report Posted October 8, 2013 (edited) @systemtrader:Greifen dann die "Trigger"-Programme bei dir direkt auf den MT Pfad zu, schreiben und lesen dort? @conglom: Also wenn man wirklich nicht von MT direkt in externe Files schreiben/lesen kann (was wäre mit dlls?) bräuchte man auf jeden Fall dann ein externes Programm was permanent die Datei ins Netzlaufwerk aktualisiert. Aber je nach Timeframe wäre eine Übergabe von bis zu einer Sekunde doch zu verschmerzen denk ich... (man könnte ja auch die letzte Bedingung für eine Orderöffnung in den Executor machen (also ein unwichtigen Teil des Triggers in den Executor verlagern) so würde man die Strategie nicht verraten und die Order wird direkt realtime geöffnet...). Edited October 8, 2013 by Forex1+
systemtrader Posted October 8, 2013 Report Posted October 8, 2013 @systemtrader:Greifen dann die "Trigger"-Programme bei dir direkt auf den MT Pfad zu, schreiben und lesen dort? Ja ich Regel alles in diesem Ordner.
systemtrader Posted October 8, 2013 Report Posted October 8, 2013 @conglom: Aber je nach Timeframe wäre eine Übergabe von bis zu einer Sekunde doch zu verschmerzen denk ich... Eine Sekunde ist wirklich unrealistisch zu Lang das geht weit schneller.
RAiNWORM Posted October 8, 2013 Report Posted October 8, 2013 Soweit ich informiert bin kann man nämlich beim Erzeugen der Dateien mittels EA keinen Pfad angeben. Das ist korrekt. Es geht nur in den Files-Ordner und seine Unterordner. Aber: man kann doch mit "mklink" einen symbolischen Link erstellen, der dann an die gewünschte Stelle verweist. Also: mklink /d "C:\Program Files\Terminal_folder\Experts\Files\mein_unterverzeichnis" "Y:\Netzlaufwerksverzeichnis"
Mythos Posted October 8, 2013 Report Posted October 8, 2013 Also das schreiben & lesen in andere Files als den Mt-Ordner geht recht einfach über dlls. Nicht ganz so komfortabel wie die MT eigenen Methoden aber es geht.bzgl 2 Instanzen: Wenn wirklich dieser Aufwand wegen dem (mMn zu vernachlässigendem) Risiko des Diebstahls geistigen Eigentums betrieben werden soll, dann MUSS der Trigger-EA eigentlich auf einer offlineinstanz laufen die auch nie (nachdem der EA reinkopiert wird) online geht. Sprich es muss dann von extern entweder die Kursdaten übertragen werden (wobei sich dann die Frage stellt wozu überhaupt MT) oder von extern das historyfile des MT geschrieben werden und der EA läuft dann auf dem Offlinechart.Bzgl. kleinen Timeframes sehe ich wenig Probleme. Normalerweise sind die Netzwerklatenzen und Orderausführungszeiten dermaßen deutlich höher als die Lags durch die Kommunikation per Filetransfer das es keine Rolle spielt. ggf. muss halt auf TCP ausgewichen werden.Edit: Ich hab das damals beim Robin Hood über dlls gemacht. 1
Der Wolf Posted October 8, 2013 Report Posted October 8, 2013 Also das schreiben & lesen in andere Files als den Mt-Ordner geht recht einfach über dlls. Nicht ganz so komfortabel wie die MT eigenen Methoden aber es geht. Hierzu gibt es ein Beispielscript unter diesem Link: http://forum.mql4.com/24284 Die Datei WinFile.mqh wird in den Ordner /experts/include kopiert.Die Datei TestWinFile_2.mq4 wird in den Ordner /experts/scripts kopiert. Das Script TestWinFile_2 erzeugt, nachdem es auf einem beliebigen Chart ausgeführt wird, eine Testdatei "C:\test1.txt". Über WinFile.mqh werden Windows-Kernel-Funktionen aus der Datei kernel32.dll (C:\Windows\System32\kernel32.dll) aufgerufen.Ob das bei einem x64-System auch noch so funktioniert, habe ich (noch) nicht ausprobiert. Weitere Links zum Thema "Files außerhalb des MQL4-Ordners" aus der MQL-Codebase:http://articles.mql4.com/720http://codebase.mql4.com/4086http://forum.mql4.com/24236WinFile.mqhTestWinFile_2.mq4 2
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now