[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 471
CSV - Comma Separated Values. Il "," è il delimitatore predefinito. La separazione con ";" è usata meno spesso, e non sono sicuro che sia anche supportata in MQL4.
int FileOpen(
stringa filename, int mode, int delimiter=';')
Apre il file per l'input e/o l'output. Restituisce il descrittore del file aperto o -1 in caso di fallimento. Chiama GetLastError() per ottenere maggiori informazioni sull'errore. Nota: i file possono essere aperti solo nella cartella terminal_directory\experts\files(terminal_directory\tester\files in caso di test esperto) o nelle sue sottocartelle. Le modalità FILE_BIN e FILE_CSV non possono essere utilizzate contemporaneamente. Se FILE_WRITE non è combinato con FILE_READ, verrà aperto un file di lunghezza zero. Anche se c'erano dati nel file prima che fosse aperto, saranno distrutti. Se i dati devono essere aggiunti a un file esistente, questo deve essere aperto usando la combinazione FILE_READ | FILE_WRITE. Se FILE_READ non è combinato con FILE_WRITE, il file sarà aperto solo se esiste già. Se il file non esiste, può essere creato usando FILE_WRITE. Non si possono aprire più di 32 file contemporaneamente nello stesso eseguibile. I descrittori dei file aperti in un modulo non possono essere trasferiti ad altri moduli (librerie).
Parametri:
nome del file
-
Filename - nome del file.
modo
-
Metodo di apertura. Questo può essere un valore singolo o una combinazione di valori: FILE_BIN, FILE_CSV, FILE_READ, FILE_WRITE.
delimitatore
-
Un carattere delimitatore per i file csv. Per default viene applicato il carattere ';'.
Esempio:
int handle; handle=FileOpen("my_data.csv",FILE_CSV|FILE_READ,';'); if(handle<1) { Print("File my_data.dat non rilevato, ultimo errore ", GetLastError()); return(false); }
Что конкретно Вам не понравилось в том что я пишу?..
È tutto sbagliato. Il ";" è il delimitatore predefinito. FileReadString - non legge l'intera stringa, ma dalla posizione corrente del puntatore nel file al prossimo separatore.
Ciao, potresti dirmi come chiamare la variabile richiesta da un indicatore personalizzato? Ho provato GlobalVariableSet() / GlobalVariableGet() - funziona da un altro EA, ma non da un indicatore. Grazie in anticipo.
Ciao, potresti dirmi come chiamare la variabile richiesta da un indicatore personalizzato? Ho provato GlobalVariableSet() / GlobalVariableGet() - funziona da un altro EA, ma non da un indicatore. Grazie in anticipo...
Quale variabile volete ottenere e da quale indicatore?
Prezzo da +MP (linea 228) - ho bisogno di valori (prezzo) livelli
provare a spostare la variabile prise a livello globale, e mettere la stringa GlobalVariableSet("55", prise); all'inizio della funzione start() e dall'altro programma ottenere double x=GlobalVariableGet("55");
provare a spostare la variabile prise a livello globale, e mettere la stringa GlobalVariableSet("55", prise); all'inizio della funzione start() e dall'altro programma ottenere double x=GlobalVariableGet("55");
L'ho provato... Scrive che la variabile globale non è descritta, cioè le variabili globali non escono dall'indicatore... >> Proverò di nuovo.
Gli array di stringhe sono riempiti normalmente da file. Ma ho bisogno di convertire queste stringhe in doppie. Lo faccio: x1[k]=StrToDouble(ss1[k]); ma, quando l'output in Alert, x1[0] = 0, che è sbagliato. cioè c'è un errore nella conversione dei tipi da qualche parte...
Друзья, спасибо большое, что откликнулись. уточнение, как преобразовать string в double? StrToDouble() - не прокатывает :( Строковые массивы заполняются из файла нормально. Но, необходимо преобразовать эти строки в double. делаю это: x1[k]=StrToDouble(ss1[k]); но, при выводе в Алерте, x1[0] = 0, что неправильно. то есть, где-то тут ошибка в преобразовании типов...
Как такую ситуацию исправить?
Potresti per favore postare l'intero script? Intendo con le dichiarazioni di array di variabili, ecc.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
CSV - Comma Separated Values. Il "," è il delimitatore predefinito. La separazione con ";" è usata meno spesso, e non sono sicuro che sia anche supportata in MQL4.
Nota: i file possono essere aperti solo nella cartella terminal_directory\experts\files(terminal_directory\tester\files in caso di test esperto) o nelle sue sottocartelle.
Le modalità FILE_BIN e FILE_CSV non possono essere utilizzate contemporaneamente.
Se FILE_WRITE non è combinato con FILE_READ, verrà aperto un file di lunghezza zero. Anche se c'erano dati nel file prima che fosse aperto, saranno distrutti. Se i dati devono essere aggiunti a un file esistente, questo deve essere aperto usando la combinazione FILE_READ | FILE_WRITE.
Se FILE_READ non è combinato con FILE_WRITE, il file sarà aperto solo se esiste già. Se il file non esiste, può essere creato usando FILE_WRITE.
Non si possono aprire più di 32 file contemporaneamente nello stesso eseguibile. I descrittori dei file aperti in un modulo non possono essere trasferiti ad altri moduli (librerie).
int handle; handle=FileOpen("my_data.csv",FILE_CSV|FILE_READ,';'); if(handle<1) { Print("File my_data.dat non rilevato, ultimo errore ", GetLastError()); return(false); }Что конкретно Вам не понравилось в том что я пишу?..
È tutto sbagliato.
Il ";" è il delimitatore predefinito.
FileReadString - non legge l'intera stringa, ma dalla posizione corrente del puntatore nel file al prossimo separatore.
Ciao, potresti dirmi come chiamare la variabile richiesta da un indicatore personalizzato? Ho provato GlobalVariableSet() / GlobalVariableGet() - funziona da un altro EA, ma non da un indicatore. Grazie in anticipo.
Ciao, potresti dirmi come chiamare la variabile richiesta da un indicatore personalizzato? Ho provato GlobalVariableSet() / GlobalVariableGet() - funziona da un altro EA, ma non da un indicatore. Grazie in anticipo...
Quale variabile volete ottenere e da quale indicatore?Prezzo da +MP (linea 228) - ho bisogno di valori di livello (prezzo)
Prezzo da +MP (linea 228) - ho bisogno di valori (prezzo) livelli
provare a spostare la variabile prise a livello globale, e mettere la stringa GlobalVariableSet("55", prise); all'inizio della funzione start() e dall'altro programma ottenere double x=GlobalVariableGet("55");
provare a spostare la variabile prise a livello globale, e mettere la stringa GlobalVariableSet("55", prise); all'inizio della funzione start() e dall'altro programma ottenere double x=GlobalVariableGet("55");
L'ho provato... Scrive che la variabile globale non è descritta, cioè le variabili globali non escono dall'indicatore... >> Proverò di nuovo.
Credo di aver provato... dice che nessuna variabile globale è descritta, cioè nessuna variabile globale esce dall'indicatore... >> Proverò di nuovo.
Una volta sistemato il codice, postalo qui.StrToDouble() non funziona :(
Gli array di stringhe sono riempiti normalmente da file. Ma ho bisogno di convertire queste stringhe in doppie.
Lo faccio:
x1[k]=StrToDouble(ss1[k]);
ma, quando l'output in Alert, x1[0] = 0, che è sbagliato. cioè c'è un errore nella conversione dei tipi da qualche parte...
Come risolvere questa situazione?
Друзья, спасибо большое, что откликнулись. уточнение, как преобразовать string в double?
StrToDouble() - не прокатывает :(
Строковые массивы заполняются из файла нормально. Но, необходимо преобразовать эти строки в double.
делаю это:
x1[k]=StrToDouble(ss1[k]);
но, при выводе в Алерте, x1[0] = 0, что неправильно. то есть, где-то тут ошибка в преобразовании типов...
Как такую ситуацию исправить?
Potresti per favore postare l'intero script? Intendo con le dichiarazioni di array di variabili, ecc.