Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Il file viene sovrascritto ogni volta che lo si apre. Una soluzione è aprire il file nella funzione init() e chiuderlo in deinit()
così ho fatto questo...
int init()
{
handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');//questo è l'unico posto nel codice che uso FileOpen() ho spento tutti gli altri.
return(0);
}
int deinit()
{
FileClose(handle);
return(0);
}
e nel codice quando voglio aggiungerci qualcosa ho fatto così...
FileWrite(handle, "SellPossibilityMid:", SellPossibilityMid);
FileWrite(handle, "BuyPossibilityMid:", BuyPossibilityMid);
e ottengo il messaggio di errore "troppi file aperti".
bool startfileopen = true;
int init()
{
if(startfileopen)
{
handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');
startfileopen = false;
}
Questo sembra aver risolto il problema.
ma continua a mostrare solo una voce nel file di cui una parte è troncata...
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
Questo potrebbe aiutare
Ciao Aaragorn grande lavoro che stai facendo su CT, ho questo E.A. che penso faccia qualcosa di simile a quello che stai facendo, forse c'è un modo per incorporarlo in CT. Penso che questo raccolga i dati di tick in un file csv in qualche modo.
saluti,
mrtools
Ho un amico programmatore che mi ha detto di dimenticare la roba init() deinit() e cambiare quando lo chiamo in
handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE|FILE_READ,';');
Devo lasciare questo per un po', tornerò a controllare più tardi. Speriamo che dudeworks riesca a farlo funzionare. Solo che non so ancora come fare questa roba dei file.
Ciao Aaragorn grande lavoro che stai facendo su CT, ho questo E.A. che penso faccia qualcosa di simile a quello che stai facendo, forse c'è un modo per incorporarlo in CT. Penso che questo raccolga i dati di tick in un file csv in qualche modo.
saluti,
mrtoolsOk GRAZIE! Questo è interessante, vedere altro codice che funziona aiuta, devo andare via per un po' ma tornerò a controllare.
Errore di maniglia non valida
Aaragorn, questo esperto ha bisogno di una fonte esterna (credo) per raccogliere i dati o distribuirli per l'E.A. per fare trading, che purtroppo non ho e non ho idea di come crearne uno, quindi l'esperto non farà trading dà solo il messaggio di errore "invalid handle -1 in file read number", pensavo solo che il codice potesse aiutare.
saluti
mrtools
Aaragorn, questo esperto ha bisogno di una fonte esterna (credo) per raccogliere i dati o distribuirli per il commercio dell'E.A., che purtroppo non ho e non ho idea di come crearne uno, quindi l'esperto non commercia e dà solo il messaggio di errore "invalid handle -1 in file read number", pensavo solo che il codice potesse aiutare.
saluti
mrtoolsGrazie, apprezzo l'incoraggiamento.
per quanto posso dire questo codice prima cancella qualsiasi valore precedente del file, poi apre un file per aggiungere qualcosa e poi chiude il file.
Poi apre il file per leggere ciò che ha scritto.
La sfida che ho è che quando voglio aggiungere qualcosa al file senza cancellare o sovrascrivere ciò che è già scritto, in altre parole aggiungendo i nuovi dati alla fine del file...
Ho bisogno di un esempio di come farlo.
Qualcuno può insegnarmi come usare correttamente le funzioni di memorizzazione e richiamo dei file?
Ho guardato questa documentazione.
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);
}
Ho dato un'occhiata a questo, ma non va abbastanza in dettaglio per insegnare come usarlo. Suppongo che se sapessi già come usarlo questo link avrebbe senso, ma dato che non lo so già, non dà molte informazioni.
http://www.metatrader.info/node/142
Aaragorn, questo esperto ha bisogno di una fonte esterna (credo) per raccogliere i dati o distribuirli per l'E.A. da scambiare, che purtroppo non ho e non ho idea di come crearne una, quindi l'esperto non scambia solo dà il messaggio di errore "invalid handle -1 in file read number", ho solo pensato che il codice potrebbe aiutare.
saluti
mrtoolsGrazie per questo pezzo di codice. L'ho guardato e vedo che crea e legge i file. Non vedo che aggiunge qualcosa alla fine di un file già creato. Forse lo fa e io non lo vedo e forse non lo fa e non c'è niente da vedere. Vorrei conoscere un pezzo di codice che sappiamo essere un'aggiunta di dati alla fine, così potrei vedere come lo fa.
CT non funziona
Ho letto questo thread da cima a fondo cercando di trovare una soluzione.
Cyberia Trader1.85g versione jpy.mq4 l'ho caricato e ho la faccia ma non ho avuto nessun ordine. Sto usando la coppia USD/CHF su 30mins. non avere ordini rende davvero difficile fare qualsiasi test in avanti. il sistema è stato in esecuzione per 4 giorni e ancora nessun ordine.
Un po' di aiuto sarebbe fantastico, grazie.
saluti
Beno