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
Per qualche motivo, il sistema operativo non permette di cancellare il file - o è aperto da un altro programma, o non è abbastanza autorizzato.
Esattamente così. Quando cerco di eliminare una cartella che contiene già sottocartelle e file, elimino prima i file. Rimangono solo le sottocartelle. Provo a pulirli usando FolderClean() e poi chiamo FolderDelete(). Tuttavia, il risultato è che quelle sottocartelle che erano vuote sono ben cancellate, ma se c'erano più sottocartelle all'interno delle sottocartelle non vengono cancellate. Dopo di che, provo a rimuovere manualmente le cartelle dal navigatore di file in MetaEditor, ma il terminale non le rimuove e fa apparire questa finestra:
Clicco su "Continua", accetto le modifiche, ma la cartella non viene ancora cancellata. Dopo aver chiuso completamente e riaperto il terminale, le cartelle che avrebbero dovuto essere cancellate scompaiono da sole oppure no, ma è possibile cancellarle immediatamente e manualmente senza la finestra di cui sopra.
Tali stranezze...
Quello che ho dovuto provare: il vecchio terminale NON VEDE i programmi MQL5. Stai cercando di aprire il file sandbox di qualcun altro nello script MQL5.
PS E in generale - non dare i log del programma è costringere gli altri a indovinare dai fondi di caffèDate un'occhiata a questa gif:
Ho dato il codice per questo script sopra, nella pagina precedente.
Dovrei aggiungere che le cartelle che sto cercando di cancellare prima software e poi manualmente non sono aperte da nessuna parte. Inoltre, non possono essere aperti da nessuna parte eccetto il navigatore di file stesso in MetaEditor, perché sono vuoti e i file da loro sono stati precedentemente cancellati. Anche i file cancellati non sono stati aperti da nessuna parte.
La finestra che chiede l'approvazione dell'amministratore per cancellare manualmente le cartelle nel navigatore di file in MetaEditor appare solo quando si cerca di cancellare quelle cartelle che il programma ha cercato di cancellare usando FolderClean() e FolderDelete() in precedenza. Questa finestra non appare mai quando si cerca di cancellare altre cartelle.
Perché la funzione FolderClean() in questo script fallisce?
Il tentativo di pulire una cartella dà come risultato l'errore 5026 - (la cartella non può essere pulita).
Questo script è preso dalla documentazione ( sezione della funzione FolderDelete()) e leggermente modificato. Per eliminare completamente una cartella che contiene altre sottocartelle o file, dovete cancellarla. Viene aggiunta una chiamata a FolderClean() per questo scopo.
Posso chiedere perché non c'è la chiusura del file? O sono io che non lo vedo?
Ecco un frammento del tuo codice dall'apertura del file alla richiesta di cancellazione...
Posso chiedere perché non c'è la chiusura del file? O sono io che non lo vedo?
Ecco un frammento del tuo codice dall'apertura del file alla domanda sulla cancellazione...
Per quanto ne so, se non sono state fatte modifiche al file usando FileWrite(), non c'è bisogno di chiuderlo. La funzione FileOpen() crea semplicemente un nuovo file e questa operazione non richiede la chiusura del file. Inoltre, questo script è preso dalla documentazione e non ho cambiato nulla lì. Ho appena aggiunto delle linee con la funzione FolderClean().
Ma se guardate il codice usando il debugger, vedrete che subito dopo l'esecuzione di FileOpen(), c'è un file di dimensioni nulle sul disco. E ci sono piuttosto molti errori e imprecisioni nella documentazione.
Ma se esaminate il codice con il debugger, c'è un file di dimensioni zero sul disco subito dopo l'esecuzione di FileOpen(). E ci sono piuttosto molti errori e imprecisioni nella documentazione.
Quindi dovrebbe essere di dimensioni zero per questo esempio.
Ora proverò a chiudere esplicitamente il file nello script e riprovare.
Quindi dovrebbe essere di dimensioni zero per questo esempio.
Proverò a fare in modo che lo script chiuda esplicitamente il file e riproverò.
Il risultato è lo stesso.
Ecco il nuovo codice: