Ciao, questo è il problema, non posso aprire il file. Provato con diverse estensioni di file, senza risultato, dà solo: errore 5004. Il file è nella sandbox dei file. È tutta una questione di manico, ma non ho idea del perché. Ecco il codice:
int filehandle=FileOpen("test.txt",FILE_TXT|FILE_WRITE,";");
if(filehandle<0)
Alert("ошибка ",GetLastError()); //Для проверки handle
Kapizdo4ka: Ciao, ho questo problema, non posso aprire il file. Provato con diverse estensioni di file, non serve, dà solo: errore 5004. Il file è nella sandbox dei file. È tutta una questione di manico, ma non ho idea del perché. Ecco il codice:
Hai provato a specificare che il file è in una cartella condivisa
Bandiere di apertura dei file
I valori dei flag che definiscono come il file sarà gestito. I flag sono definiti come segue:
Identificatore
Valore
Descrizione
LETTURA DEL FILE
1
Il file è aperto per la lettura. Questo flag è usato quando si apre un file (FileOpen()). FILE_WRITE e/o FILE_READ devono essere impostati quando un file viene aperto.
FILE_WRITE
2
Il file è aperto per la scrittura. Questo flag è usato per aprire un file (FileOpen()). Quando un file viene aperto, i flag FILE_WRITE e/o FILE_READ devono essere impostati.
FILE_BIN
4
Modalità di lettura-scrittura binaria (nessuna conversione da o a stringa). Questo flag è usato per aprire i file (FileOpen())
FILE_CSV
8
File di tipo csv (tutti gli elementi scritti sono convertiti in una stringa del tipo appropriato, unicode o ansi, e separati da un separatore). Questo flag è usato quando si apre un file (FileOpen())
FILE_TXT
16
Semplice file di testo (come il csv, ma senza separatore). Questo flag è usato quando i file vengono aperti (FileOpen())
FILE_ANSI
32
Stringhe ANSI (caratteri a byte singolo). Questo flag è usato quando si aprono i file (FileOpen())
FILE_UNICODE
64
Stringhe UNICODE (caratteri a due byte). Questo flag è usato quando si aprono i file (FileOpen())
FILE_SHARE_READ
128
Accesso in lettura condiviso da più programmi. Questo flag è usato quando si apre un file (FileOpen()), ma non sostituisce la necessità di FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_SHARE_WRITE
256
Questo flag è usato per la condivisione dell'accesso in scrittura da parte di più programmi. Questo flag è usato per aprire i file (FileOpen()), ma non sostituisce FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_REWRITE
512
Il file può essere sovrascritto da FileCopy() e FileMove(). Il file deve esistere o essere scrivibile. Altrimenti, il file non può essere aperto
FILE_COMMON
4096
Posizione del file nella cartella condivisa di tutti i terminali client\Terminal\Common\Files . Questo flag è usato quando si aprono i file (FileOpen()), si copiano i file (FileCopy(), FileMove()) e si verifica l'esistenza dei file (FileIsExist())
Uno o più flag possono essere specificati quando si apre un file, questa combinazione è chiamata combinazione di flag. La combinazione di flag è scritta usando il segno dell'operazione OR logico (|) che è posto tra i flag da enumerare. Per esempio, per aprire un file CSV in lettura e scrittura allo stesso tempo, potete specificare la combinazione FILE_READ|FILE_WRITE|FILE_CSV.
Hai provato a specificare che il file è in una cartella condivisa
Bandiere di apertura dei file
I valori dei flag che definiscono come il file sarà aperto. I flag sono definiti come segue:
Identificatore
Valore
Descrizione
LETTURA DEL FILE
1
Il file è aperto per la lettura. Questo flag è usato quando si apre un file (FileOpen()). FILE_WRITE e/o FILE_READ devono essere impostati quando il file viene aperto.
FILE_WRITE
2
Il file è aperto per la scrittura. Questo flag è usato quando si apre un file (FileOpen()). Il flag FILE_WRITE deve essere impostato e/o il flag FILE_READ deve essere impostato quando un file viene aperto.
FILE_BIN
4
Modalità di lettura-scrittura binaria (non convertita in e da stringa). Questo flag è usato per aprire i file (FileOpen())
FILE_CSV
8
csv (tutti gli elementi scritti sono convertiti in una stringa del tipo appropriato, unicode o ansi, e separati da un delimitatore). Questo flag è usato quando si aprono i file (FileOpen())
FILE_TXT
16
File di testo semplice (stesso tipo, ma il delimitatore è ignorato). Questo flag è usato quando si apre un file (FileOpen())
FILE_ANSI
32
Stringa di tipo ANSI (caratteri a byte singolo). Questo flag è usato quando si aprono i file (FileOpen())
FILE_UNICODE
64
Stringhe UNICODE (caratteri a due byte). Questo flag è usato quando si aprono i file (FileOpen())
FILE_SHARE_READ
128
Accesso in lettura condiviso tra più programmi. Questo flag è usato quando si apre un file (FileOpen()), ma non sostituisce lo specificare FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_SHARE_WRITE
256
Questo flag è per l'accesso in scrittura condiviso da più programmi. Questo flag è usato per aprire i file (FileOpen()), ma non sostituisce la necessità di specificare i flag FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_REWRITE
512
FileCopy() e FileMove() possono essere usati per sovrascrivere un file. Il file deve esistere o essere scrivibile. Altrimenti, il file non sarà aperto
FILE_COMMON
4096
Posizione del file nella cartella condivisa di tutti i terminali client \Terminal\Common\Files . Questo flag è usato quando si aprono i file (FileOpen()), si copiano i file (FileCopy(), FileMove()) e si controlla l'esistenza dei file (FileIsExist())
Quando si apre un file, si possono specificare uno o più flag, questa combinazione è chiamata combinazione di flag. Una combinazione di flag viene registrata usando il segno logico OR (|) posto tra i flag elencati. Per esempio, per aprire un file CSV in lettura e scrittura allo stesso tempo, potete specificare la combinazioneFILE_READ|FILE_WRITE|FILE_CSV.
Grazie! Tuttavia, la risposta si è rivelata molto più semplice. Tutto a causa dei cambiamenti nella nuova costruzione. Risulta che la funzione FileOpen deve ora specificare il tipo uint invece del tipo int, come nella versione precedente:
Abbozzato un semplice Trailing Stop. bez_Level - Livello di partenza trailing in pip. TrallStep - passo di trascinamento. Magic - numero di Magic.
Il problema è che, se diversi ordini vengono aperti dall'Expert Advisor, solo il primo ordine viene trillato. E, quando il primo ordine è chiuso, il secondo inizia a trillare. Non ricevo alcun messaggio di errore. Non posso cercare di scoprire cosa ho fatto di sbagliato. Grazie...
Dove sia l'errore, non lo so.
Op.
Dove sia l'errore, non lo so.
Ope.
C'è qualcosa di sbagliato nel ciclo while(O==3)
C'è qualcosa di sbagliato nel ciclo while(O==3)
Ciao, ho questo problema, non posso aprire il file. Provato con diverse estensioni di file, non serve, dà solo: errore 5004. Il file è nella sandbox dei file. È tutta una questione di manico, ma non ho idea del perché. Ecco il codice:
Hai provato a specificare che il file è in una cartella condivisa
Bandiere di apertura dei file
I valori dei flag che definiscono come il file sarà gestito. I flag sono definiti come segue:
Identificatore
Valore
Descrizione
LETTURA DEL FILE
1
Il file è aperto per la lettura. Questo flag è usato quando si apre un file (FileOpen()). FILE_WRITE e/o FILE_READ devono essere impostati quando un file viene aperto.
FILE_WRITE
2
Il file è aperto per la scrittura. Questo flag è usato per aprire un file (FileOpen()). Quando un file viene aperto, i flag FILE_WRITE e/o FILE_READ devono essere impostati.
FILE_BIN
4
Modalità di lettura-scrittura binaria (nessuna conversione da o a stringa). Questo flag è usato per aprire i file (FileOpen())
FILE_CSV
8
File di tipo csv (tutti gli elementi scritti sono convertiti in una stringa del tipo appropriato, unicode o ansi, e separati da un separatore). Questo flag è usato quando si apre un file (FileOpen())
FILE_TXT
16
Semplice file di testo (come il csv, ma senza separatore). Questo flag è usato quando i file vengono aperti (FileOpen())
FILE_ANSI
32
Stringhe ANSI (caratteri a byte singolo). Questo flag è usato quando si aprono i file (FileOpen())
FILE_UNICODE
64
Stringhe UNICODE (caratteri a due byte). Questo flag è usato quando si aprono i file (FileOpen())
FILE_SHARE_READ
128
Accesso in lettura condiviso da più programmi. Questo flag è usato quando si apre un file (FileOpen()), ma non sostituisce la necessità di FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_SHARE_WRITE
256
Questo flag è usato per la condivisione dell'accesso in scrittura da parte di più programmi. Questo flag è usato per aprire i file (FileOpen()), ma non sostituisce FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_REWRITE
512
Il file può essere sovrascritto da FileCopy() e FileMove(). Il file deve esistere o essere scrivibile. Altrimenti, il file non può essere aperto
FILE_COMMON
4096
Posizione del file nella cartella condivisa di tutti i terminali client\Terminal\Common\Files . Questo flag è usato quando si aprono i file (FileOpen()), si copiano i file (FileCopy(), FileMove()) e si verifica l'esistenza dei file (FileIsExist())
Uno o più flag possono essere specificati quando si apre un file, questa combinazione è chiamata combinazione di flag. La combinazione di flag è scritta usando il segno dell'operazione OR logico (|) che è posto tra i flag da enumerare. Per esempio, per aprire un file CSV in lettura e scrittura allo stesso tempo, potete specificare la combinazione FILE_READ|FILE_WRITE|FILE_CSV.
Hai provato a specificare che il file è in una cartella condivisa
Bandiere di apertura dei file
I valori dei flag che definiscono come il file sarà aperto. I flag sono definiti come segue:
Identificatore
Valore
Descrizione
LETTURA DEL FILE
1
Il file è aperto per la lettura. Questo flag è usato quando si apre un file (FileOpen()). FILE_WRITE e/o FILE_READ devono essere impostati quando il file viene aperto.
FILE_WRITE
2
Il file è aperto per la scrittura. Questo flag è usato quando si apre un file (FileOpen()). Il flag FILE_WRITE deve essere impostato e/o il flag FILE_READ deve essere impostato quando un file viene aperto.
FILE_BIN
4
Modalità di lettura-scrittura binaria (non convertita in e da stringa). Questo flag è usato per aprire i file (FileOpen())
FILE_CSV
8
csv (tutti gli elementi scritti sono convertiti in una stringa del tipo appropriato, unicode o ansi, e separati da un delimitatore). Questo flag è usato quando si aprono i file (FileOpen())
FILE_TXT
16
File di testo semplice (stesso tipo, ma il delimitatore è ignorato). Questo flag è usato quando si apre un file (FileOpen())
FILE_ANSI
32
Stringa di tipo ANSI (caratteri a byte singolo). Questo flag è usato quando si aprono i file (FileOpen())
FILE_UNICODE
64
Stringhe UNICODE (caratteri a due byte). Questo flag è usato quando si aprono i file (FileOpen())
FILE_SHARE_READ
128
Accesso in lettura condiviso tra più programmi. Questo flag è usato quando si apre un file (FileOpen()), ma non sostituisce lo specificare FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_SHARE_WRITE
256
Questo flag è per l'accesso in scrittura condiviso da più programmi. Questo flag è usato per aprire i file (FileOpen()), ma non sostituisce la necessità di specificare i flag FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_REWRITE
512
FileCopy() e FileMove() possono essere usati per sovrascrivere un file. Il file deve esistere o essere scrivibile. Altrimenti, il file non sarà aperto
FILE_COMMON
4096
Posizione del file nella cartella condivisa di tutti i terminali client \Terminal\Common\Files . Questo flag è usato quando si aprono i file (FileOpen()), si copiano i file (FileCopy(), FileMove()) e si controlla l'esistenza dei file (FileIsExist())
Quando si apre un file, si possono specificare uno o più flag, questa combinazione è chiamata combinazione di flag. Una combinazione di flag viene registrata usando il segno logico OR (|) posto tra i flag elencati. Per esempio, per aprire un file CSV in lettura e scrittura allo stesso tempo, potete specificare la combinazioneFILE_READ|FILE_WRITE|FILE_CSV.
E ora in caso di errore la funzione restituisce 0 invece di -1.
Abbozzato un semplice Trailing Stop. bez_Level - Livello di partenza trailing in pip. TrallStep - passo di trascinamento. Magic - numero di Magic.
Il problema è che, se diversi ordini vengono aperti dall'Expert Advisor, solo il primo ordine viene trillato. E, quando il primo ordine è chiuso, il secondo inizia a trillare. Non ricevo alcun messaggio di errore. Non posso cercare di scoprire cosa ho fatto di sbagliato. Grazie...
int lim=OrdersTotal()-1;
Ragazzi, qual è il trucco? Perché non esce da Inita?