Buongiorno a tutti
a causa della limitazione del virtual Hosting, mi trovo costretto a non utilizzare le Global Variables su cui si basava il mio EA, e a utilizzare uno o più files in loro vece.
IL problema che non riesco a risolvere è come poter aprire un file in read only in MQL4.
Mentre posso ovviamente aprirlo da qualsiasi altra app (Excel o quant'altro), mi è impossibile aprirlo in lettura da un expert mentre è aperto in un altra chart.
Esiste un modo? Se si, qual'è?
Grazie in anticipo
Lavorare su un file da più chart
Re: Lavorare su un file da più chart
Ciao madellaf,
puoi usare FileOpen() per aprire il file con il flag FILE_READ. Quando finisci di leggere il file devi ricordarti di chiudere la lettura del file con la funzione FIleClose() per permettere al file di essere letto da altri EA.
Per sincronizzare la lettura tra i vari EA puoi usare un file di lock.
Es.: prima di leggere un file_dati controlli che non esista il relativo file_lock;
quindi se non c'è il file_lock lo crei e subito dopo apri in lettura il tuo file_dati;
un eventuale EA che tenta la lettura del file_dati dovrà prima controllare l'esistenza del file_lock con FIleIsExist()
e cosi via, a grandi linee
puoi usare FileOpen() per aprire il file con il flag FILE_READ. Quando finisci di leggere il file devi ricordarti di chiudere la lettura del file con la funzione FIleClose() per permettere al file di essere letto da altri EA.
Per sincronizzare la lettura tra i vari EA puoi usare un file di lock.
Es.: prima di leggere un file_dati controlli che non esista il relativo file_lock;
quindi se non c'è il file_lock lo crei e subito dopo apri in lettura il tuo file_dati;
un eventuale EA che tenta la lettura del file_dati dovrà prima controllare l'esistenza del file_lock con FIleIsExist()
e cosi via, a grandi linee
Re: Lavorare su un file da più chart
Quindi di fatto, è possibile solo una lettura alternata. L'accesso a un file in utilizzo (o comunque aperto da un altro EA) non è possibile
Re: Lavorare su un file da più chart
Ti dico la verità, non ho mai provato a fare letture di un file da più EA conteporaneamente.
Meglio se fai dei test usando FileOpen con flag FILE_READ, nella documentazione ufficiale trovi più dettagli.
Poi fammi sapere come vanno i test, sono curioso.
Re: Lavorare su un file da più chart
In realtà è stato piuttosto semplice.
Bastava uno SHARED_WRITE nei diversi FileOpen
Bastava uno SHARED_WRITE nei diversi FileOpen
Re: Lavorare su un file da più chart
Ottimo!
Ci mettiamo pure i link alla doc ufficiale per chi vuole dare un'occhiata
https://www.mql5.com/en/docs/constants/ ... /fileflags
https://docs.mql4.com/constants/io_constants/fileflags
Chi c’è in linea
Visitano il forum: Bing [Bot] e 0 ospiti