Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Die Datei wird jedes Mal überschrieben, wenn Sie sie öffnen. Eine Lösung ist, die Datei in der Funktion init() zu öffnen und in deinit() zu schließen
also habe ich dies getan...
int init()
{
handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');//das ist die einzige Stelle im Code, an der ich FileOpen() verwende, alle anderen habe ich deaktiviert.
return(0);
}
int deinit()
{
FileClose(handle);
return(0);
}
und im Code, wenn ich etwas anhängen möchte, habe ich dies getan...
FileWrite(handle, "SellPossibilityMid:", SellPossibilityMid);
FileWrite(handle, "BuyPossibilityMid:", BuyPossibilityMid);
und ich erhalte die Fehlermeldung "zu viele Dateien geöffnet".
bool startfileopen = true;
int init()
{
if(startfileopen)
{
handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');
startfileopen = false;
}
Dies scheint den Fehler behoben zu haben.
aber es wird immer noch nur ein Eintrag in der Datei angezeigt, von dem ein Teil abgeschnitten ist...
SellPossibilityMid*SellPossibilityQuality:;0.00190286
BuyPossibilityMid*BuyPossibilityQuality:;0.00132571
UndefinedPossibilityMid*UndefinedPossibilityQuality:;0.00365143
UndefinedSucPossibilityQuality:;9
SellSucPossibilityQuality:;9
BuySucPossibilityQuality:;7
UndefinedPossibilityQuality:;18
SellPossibilityQuality:;9
BuyPossibilityQuality:;8
UndefinedSucPossibilityMid:;0.00074444
SellSucPossibilityMid:;0.00082222
BuySucPossibilityMid:;0.0008
UndefinedPossibilityMid:;0.00020286
SellPossibilityMid:;0.00021143
BuyPossibilityMid:;0.00016571
ng Short OrderTicket: ;24; Opened @: ;1.2685; Closed @: ;1.2677; Order Open Time: ;1160121599
Das könnte helfen
Hallo Aaragorn, tolle Arbeit, die du mit CT leistest. Ich habe diese E.A., die meiner Meinung nach etwas Ähnliches macht wie du, vielleicht gibt es eine Möglichkeit, sie in CT einzubinden. Ich glaube, es sammelt die Tickdaten irgendwie in einer csv-Datei.
Grüße,
mrtools
Ein befreundeter Programmierer hat mir gesagt, ich solle das init() deinit()-Zeug vergessen und beim Aufruf ändern in
handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE|FILE_READ,';');
Ich muss das hier für eine Weile verlassen, ich schaue später wieder vorbei. Hoffentlich bekommt dudeworks es zum Laufen. Ich weiß nur noch nicht, wie man dieses Datei-Zeug macht.
Hallo Aaragorn, tolle Arbeit, die Sie auf CT tun, haben diese E.A., dass ich denke, tut etwas ähnlich wie das, was Sie tun, vielleicht gibt es eine Möglichkeit, diese in CT zu integrieren. Ich glaube, es sammelt irgendwie Tickdaten in einer csv-Datei.
Grüße,
mrtoolsok DANKE! das ist interessant, andere Codes zu sehen, die funktionieren, hilft, ich muss für eine Weile weg, aber ich schaue wieder vorbei.
Ungültiger Handle-Fehler
Aaragorn, dieser Experte braucht eine externe Quelle (ich denke), um entweder die Daten zu sammeln oder verteilen sie für die E.A. zu handeln, die ich leider nicht haben und haben keine Ahnung, wie man eine zu erstellen, so dass der Experte nicht handeln nur gibt Fehlermeldung "ungültiges Handle -1 in Datei lesen Nummer", dachte nur der Code könnte helfen.
Grüße
mrtools
Aaragorn, dieser Experte braucht eine externe Quelle (glaube ich), um entweder die Daten zu sammeln oder zu verteilen, damit die E.A. handeln kann, die ich leider nicht habe und keine Ahnung habe, wie man eine erstellt, so dass der Experte nicht handeln wird, sondern nur die Fehlermeldung "ungültiges Handle -1 in der Datei-Lese-Nummer" gibt, ich dachte nur, der Code könnte helfen.
Grüße
mrtoolsVielen Dank, ich weiß die Ermutigung zu schätzen.
Soweit ich das beurteilen kann, löscht dieser Code zunächst alle vorherigen Werte der Datei, öffnet dann eine Datei, um etwas hinzuzufügen, und schließt dann die Datei.
Dann öffnet er die Datei, um zu lesen, was er geschrieben hat.
Das Problem, das ich habe, ist, dass ich, wenn ich der Datei etwas anderes hinzufügen möchte, ohne zu löschen oder zu überschreiben, was bereits geschrieben wurde, mit anderen Worten, die neuen Daten an das Ende der Datei anhängen möchte...
Ich brauche ein Beispiel dafür, wie man das macht.
Kann mir jemand zeigen, wie man die Funktionen zum Speichern und Abrufen von Dateien richtig nutzt?
Ich habe mir diese Dokumentation angesehen...
Opens file for input and/or output. Returns a file handle for the opened file or -1 (if the function fails). To get the detailed error information, call GetLastError() function.
Notes: Files can only be opened in the terminal_directory\experts\files folder (terminal_directory\tester\files if for expert testing) or in its subfolders.
FILE_BIN and FILE_CSV modes cannot be used simultaneously.
If FILE_WRITE does not combine with FILE_READ, a zero-length file will be opened. If even the file containd some data, they will be deleted. If there is a need to add data to an existing file, it must be opened using combination of FILE_READ | FILE_WRITE.
If FILE_READ does not combine with FILE_WRITE, the file will be opened only if it already exists. If the file does not exist, it can be created using the FILE_WRITE mode.
No more than 32 files can be opened within an executable module simultaneously. Handles of files opened in the same module cannot be passed to other modules (libraries).
Parameters:
filename - Filename.
mode - Opening mode. It can be one or combination of values: FILE_BIN, FILE_CSV, FILE_READ, FILE_WRITE.
delimiter - Delimiter character for csv files. By default, the ';' symbol applies.
Sample:
int handle;
handle=FileOpen("my_data.csv",FILE_CSV|FILE_READ,';');
if(handle<1)
{
Print("File my_data.dat not found, the last error is ", GetLastError());
return(false);
}
Ich habe mir diese Dokumentation angesehen, aber sie geht nicht detailliert genug darauf ein, um mir die Verwendung zu erklären. Ich nehme an, wenn ich bereits wüsste, wie man es benutzt, würde dieser Link Sinn machen, aber da ich es noch nicht weiß, gibt er nicht viel Aufschluss.
http://www.metatrader.info/node/142
Aaragorn, dieser Experte braucht eine externe Quelle (glaube ich), um entweder die Daten zu sammeln oder sie für die E.A. zu verteilen, um zu handeln, was ich leider nicht habe und keine Ahnung habe, wie man eine erstellt, so dass der Experte nicht handelt, sondern nur die Fehlermeldung "ungültiges Handle -1 in der Datei-Lese-Nummer" gibt, ich dachte nur, der Code könnte helfen.
Mit freundlichen Grüßen
mrtoolsVielen Dank für das Stück Code. Ich habe ihn mir angesehen und kann sehen, dass er sowohl Dateien erstellt als auch liest. Ich sehe nicht, dass er etwas an das Ende einer bereits erstellten Datei anhängt. Vielleicht ist es so, und ich sehe es nur nicht, und vielleicht tut es das auch nicht, und es gibt nichts zu sehen. Ich wünschte, ich wüsste ein Stück Code, von dem wir wissen, dass er Daten an das Ende anhängt, damit ich sehen kann, wie er es macht.
CT funktioniert nicht
Ich habe diesen Thread von vorne bis hinten gelesen und versucht, eine Lösung zu finden Ich habe die
Cyberia Trader1.85g jpy.mq4 Version. Ich habe es geladen und habe das Gesicht, aber ich habe keine Aufträge auf allen hatte. Ich benutze das USD/CHF-Paar auf 30mins. keine Aufträge macht es wirklich schwer zu tun, alle Forward-Testing. das System läuft seit 4 Tagen und immer noch keine Aufträge.
Etwas Hilfe wäre großartig, danke.
cheers
Beno