Jump to content
Tom Next - Daytrading Community

Recommended Posts

Posted

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.

Posted

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

 

@RAiNWORM

Habe Deinen Competence Center Status mal in der Zitatebox verewigt laugh.png

Posted

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.

Posted

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!!

Posted (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 by Forex1+
Posted

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"
Posted

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.

  • Upvote 1
Posted

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/720

http://codebase.mql4.com/4086

http://forum.mql4.com/24236

WinFile.mqh

TestWinFile_2.mq4

  • Upvote 2

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...