Posso chiedere se il file.bin è leggibile da notepad++? Il file creato dal mio EA non è leggibile da notepad++, e durante il BT, il calendar.Load non restituisce nulla. Avete qualche suggerimento in merito?
Posso chiedere se il file.bin è leggibile da notepad++? Il file creato dal mio EA non è leggibile da notepad++, e durante il BT, il calendar.Load non restituisce nulla. Avete qualche suggerimento in merito?
In pratica, partendo dall'esempio di codice che hai condiviso, sono in grado di scaricare e creare un file .bin.
Sto cercando di codificare il sottostante per il backtest, l'obiettivo è quello di caricare il .bin in ogni iterazione, in modo da controllare le notizie/eventi di ogni valuta elencata nella classe.
Tuttavia, quando eseguo il backtesting, Calendar.ToString restituisce il vuoto (la "stampa" serve per il debug).
Sto cercando di codificare il seguente codice per il Backtest, l'obiettivo è quello di caricare il .bin in ogni iterazione, in modo da controllare le notizie/eventi di ogni valuta elencata nella classe.
È necessario caricare i dati dal file in una variabile statica solo una volta.
#define CALENDAR_FILENAME "Calendar.bin"// Nome del file per la lettura/scrittura del Calendario.#property tester_file CALENDAR_FILENAME // Specifica che MT5-Tester preleva questo file.#include <fxsaber\Calendar\Calendar.mqh> // https://www.mql5.com/it/code/32430CALENDAR CalendarFull;// Oggetto con i dati del calendario.intOnInit()
{
return(CalendarFull.Load(CALENDAR_FILENAME) == -1); // Carica gli eventi dal file
}
voidOnTick()
{
CALENDAR Calendar = CalendarFull;//....
}
CalendarFULL.Load restituisce un "1", ma non sembra esserci nulla all'interno di CalendarFULL.
Eseguire questo script una volta nel terminale MT5 per generare il file bin.
#define CALENDAR_FILENAME "Calendar.bin"// Nome del file per la lettura/scrittura del Calendario.#include <fxsaber\Calendar\Calendar.mqh> // https://www.mql5.com/it/code/32430voidOnStart()
{
CALENDAR Calendar;
if (Calendar.Set(NULL, CALENDAR_IMPORTANCE_NONE, 0, 0)) // Caricati assolutamente tutti gli eventi (storia + futuro) dal terminale MT5.
Calendar.Save(CALENDAR_FILENAME); // Salvarli in un file.
}
Alla fine ho scoperto il problema del mio codice, il mio .mq5 era stato salvato in qualche modo come Unicode, il che ha fatto sì che il fileread non funzionasse, una volta che l'ho cambiato in ANSI, funziona.
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.
Calendario :
Autore: fxsaber
È meglio formulare immediatamente il compito.
È meglio formulare immediatamente il compito.
Scusa fxsaber, permettimi di chiarire.
In pratica, partendo dall'esempio di codice che hai condiviso, sono in grado di scaricare e creare un file .bin.
Sto cercando di codificare il sottostante per il backtest, l'obiettivo è quello di caricare il .bin in ogni iterazione, in modo da controllare le notizie/eventi di ogni valuta elencata nella classe.
Tuttavia, quando eseguo il backtesting, Calendar.ToString restituisce il vuoto (la "stampa" serve per il debug).
Grazie,
Sto cercando di codificare il seguente codice per il Backtest, l'obiettivo è quello di caricare il .bin in ogni iterazione, in modo da controllare le notizie/eventi di ogni valuta elencata nella classe.
È necessario caricare i dati dal file in una variabile statica solo una volta.
È sufficiente caricare i dati dal file in una variabile statica una sola volta.
Grazie mille, è bello e preciso.
È sufficiente caricare i dati dal file in una variabile statica una sola volta.
Grazie fxaber,
Sono riuscito a riordinare il codice con il tuo suggerimento, ma comunque il CalendarFULL è vuoto anche dopo il caricamento del .bin.
CalendarFULL.Load restituisce un "1", ma non sembra esserci nulla all'interno di CalendarFULL.
Potrebbe essere un problema di codifica del file .bin?
Grazie
CalendarFULL.Load restituisce un "1", ma non sembra esserci nulla all'interno di CalendarFULL.
Eseguire questo script una volta nel terminale MT5 per generare il file bin.
Eseguire questo script una volta nel terminale MT5 per generare il file bin.
Grazie fxsaber, l'ho fatto e ha generato un file .bin 7xmb. Tuttavia, una volta che ho tentato di caricarlo e stamparlo, è tornato vuoto.
Grazie fxsaber,
Alla fine ho scoperto il problema del mio codice, il mio .mq5 era stato salvato in qualche modo come Unicode, il che ha fatto sì che il fileread non funzionasse, una volta che l'ho cambiato in ANSI, funziona.
Grazie,