Excellent EA en backtest ! - page 115

 
tururo:
Le fichier est écrasé à chaque fois que vous l'ouvrez. Une solution consiste à ouvrir le fichier dans la fonction init() et à le fermer dans la fonction deinit().

alors j'ai fait ceci...

int init()

{

handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');//c'est le seul endroit dans le code où j'utilise FileOpen() j'ai désactivé tous les autres.

return(0) ;

}

int deinit()

{

FileClose(handle) ;

return(0) ;

}

et dans le code, lorsque je veux y ajouter quelque chose, j'ai fait ceci...

FileWrite(handle, "SellPossibilityMid :", SellPossibilityMid) ;

FileWrite(handle, "BuyPossibilityMid :", BuyPossibilityMid) ;

et je reçois le message d'erreur "trop de fichiers ouverts".

 

bool startfileopen = true ;

int init()

{

if(startfileopen)

{

handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE, ';') ;

startfileopen = false ;

}

cela semble avoir résolu ce problème.

mais il ne montre toujours qu'une seule entrée dans le fichier dont une partie est tronquée...

Order Open Time: ;1160137278

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

 

Cela pourrait aider

Bonjour Aaragorn, vous faites un excellent travail sur CT, j'ai cette IA qui, je pense, fait quelque chose d'assez similaire à ce que vous faites, peut-être y a-t-il un moyen de l'incorporer dans CT. Je pense qu'il collecte les données des tics dans un fichier csv en quelque sorte.

Salutations,

mrtools

 

J'ai un ami programmeur qui m'a dit d'oublier le truc init() deinit() et de changer le moment où je l'appelle en

handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE|FILE_READ,';') ;

Je dois laisser cela pour un moment, je reviendrai plus tard. J'espère que Dudeworks arrivera à le faire fonctionner. Je ne sais pas encore comment faire ces trucs de fichiers.

 
mrtools:
Bonjour Aaragorn, vous faites un excellent travail sur CT, j'ai cette A.E. qui je pense fait quelque chose de similaire à ce que vous faites, peut-être y a-t-il un moyen de l'incorporer dans CT. Je pense qu'il collecte les données des ticks dans un fichier csv d'une manière ou d'une autre.

salut,

mrtools

ok MERCI ! c'est intéressant, voir d'autres codes qui fonctionnent aide, je dois partir un peu mais je reviendrai.

 

Erreur de poignée non valide

Aaragorn, cet expert a besoin d'une source extérieure (je pense) pour soit recueillir les données ou de les distribuer pour l'A.E. à la négociation, qui, malheureusement, je n'ai pas et n'ont aucune idée de la façon de créer un, de sorte que l'expert ne sera pas le commerce juste donne le message d'erreur "invalid handle -1 dans le fichier lire le nombre", juste pensé que le code pourrait aider.

Salutations

mrtools

 
mrtools:
Aaragorn, cet expert a besoin d'une source extérieure (je pense) pour rassembler les données ou les distribuer pour que l'A.E. puisse négocier, ce que malheureusement je n'ai pas et je n'ai aucune idée de comment en créer une, donc l'expert ne négocie pas et donne juste le message d'erreur "invalid handle -1 in file read number", j'ai juste pensé que le code pourrait aider.

Salutations

mrtools

Merci, j'apprécie les encouragements.

D'après ce que je sais, ce code efface d'abord toutes les valeurs précédentes du fichier, puis ouvre un fichier pour ajouter quelque chose et ferme le fichier.

Ensuite, il ouvre le fichier pour lire ce qu'il a écrit.

Le problème que j'ai est que lorsque je veux ajouter quelque chose au fichier sans effacer ou écraser ce qui est déjà écrit, c'est-à-dire en ajoutant les nouvelles données à la fin du fichier...

J'ai besoin d'un exemple pour savoir comment faire.

 

Quelqu'un peut-il m'apprendre à utiliser correctement les fonctions de stockage et de rappel de fichiers ?

J'ai regardé cette documentation...

int FileOpen( string filename, int mode, int delimiter=';')

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);

}

J'ai regardé cette documentation mais elle n'est pas assez détaillée pour m'apprendre à l'utiliser. Je suppose que si je savais déjà comment l'utiliser, ce lien aurait un sens, mais comme je ne le sais pas encore, il ne donne pas beaucoup d'informations.

http://www.metatrader.info/node/142

 
mrtools:
Aaragorn, cet expert a besoin d'une source extérieure (je pense) pour rassembler les données ou les distribuer pour que l'A.E. puisse négocier, ce que malheureusement je n'ai pas et je n'ai aucune idée de comment en créer une, donc l'expert ne négocie pas et donne juste le message d'erreur "invalid handle -1 in file read number", j'ai juste pensé que le code pourrait aider.

salutations

mrtools

Merci pour ce bout de code. Je l'ai regardé et je peux voir qu'il crée et lit des fichiers. Je ne le vois pas ajouter quoi que ce soit à la fin d'un fichier qu'il a déjà créé. Peut-être que c'est le cas et que je ne le vois pas et peut-être qu'il ne le fait pas et qu'il n'y a rien à voir. J'aimerais connaître un morceau de code qui ajouterait des données à la fin pour pouvoir voir comment il le fait.

 

CT ne fonctionne pas

J'ai lu ce fil de discussion du début à la fin pour essayer de trouver une solution.

Cyberia Trader1.85g jpy.mq4 version Je l'ai chargé et j'ai le visage mais je n'ai pas eu d'ordres du tout. J'utilise la paire USD/CHF sur 30 minutes. Le fait de ne pas avoir d'ordres rend vraiment difficile tout test préalable. Le système fonctionne depuis 4 jours et toujours pas d'ordres.

Une aide serait la bienvenue, merci.

merci

Beno

Raison: