//+------------------------------------------------------------------+//| Classe principale per leggere il file opt e esportarlo in CSV.//+------------------------------------------------------------------+class OptReader
{
TesterOptCacheHeader header;
TestCacheInputExtended inputs[];
uchar bufferOfInputs[];
int shapshot[];
AutoPtr<RecordBase> records;
bool read(constint handle)
{
SAFE(FileReadStruct(handle, header));
if(header.parameters_total)
{
TestCacheInput temp[];
SAFE(FileReadArray(handle, temp, 0, header.parameters_total));
constint n = ArrayResize(inputs, header.parameters_total);
for(int i = 0; i < n; ++i)
{
inputs[i] = temp[i]; // non è possibile convertire il parametro 'TestCacheInput' in 'const TestCacheInputExtended&'.
inputs[i].extend();
}
}
//+------------------------------------------------------------------+//| Struttura di input con campi stringati |//+------------------------------------------------------------------+struct TestCacheInputExtended: public TestCacheInput
{
using TestCacheInput::operator=;
Naturalmente, per riprodurre i problemi è necessario scaricare i file di libreria inclusi.
Personalmente, ho utilizzato un workaround per ottenere ciò che mi serve nel mio codice. Il mio scopo è quello di garantire che la documentazione sia aggiornata.
Naturalmente, MQL5 è in continua evoluzione e purtroppo MQ lo fa in un modo che spesso rompe la retrocompatibilità. Non credo che questo sia un modo corretto di migliorare la piattaforma, ma in ogni caso l'unica cosa che possiamo fare è risolvere i problemi con delle patch, in base alla nuova sintassi. Per esempio, in questo caso basta aggiungere una singola riga:
struct MqlCalendarRecord: publicMqlCalendarValue
{
using MqlCalendarValue::operator=;
...
};
Seguite le notizie ufficiali sulle modifiche alla sintassi di MQL5.
È esattamente ciò di cui avevo bisogno.
Per favore, assicuratevi di aver ricevuto l'ultimo aggiornamento, perché non avete citato il più recente pubblicato su questo thread.
Per favore, correggetelo.
Grazie. L'ho sistemato in modo un po' diverso.
È più comodo e logico, perché extend() non deve essere chiamato esplicitamente.
NB: il file allegato contiene altre utili modifiche.
Grazie. L'ho sistemato in modo leggermente diverso.
È più comodo e logico, perché extend() non deve essere chiamato esplicitamente.
NB: il file allegato contiene altre utili modifiche.
Inoltrato da un altro topic:
Forum sul trading, sui sistemi di trading automatico e sul test delle strategie di trading
CalendarRecordById.mq5 - Errori
Ryan L Johnson, 2025.12.19 17:44
Supporto @MetaQuotes, l'indicatore di calendario di cui sopra pubblicato nel contenuto del libro MQL5 sembra contenere codice deprecato.
Il file si trova all'indirizzo Lettura di record di eventi per ID - Strumenti linguistici avanzati - Programmazione MQL5 per trader.
Il file stesso si trova all'indirizzo: https: //www.mql5.com/en/code/download/45596/CalendarRecordById.mq5.
Naturalmente, per riprodurre i problemi è necessario scaricare i file di libreria inclusi.
Personalmente, ho utilizzato un workaround per ottenere ciò che mi serve nel mio codice. Il mio scopo è quello di garantire che la documentazione sia aggiornata.
Inoltrato da un altro topic:
Naturalmente, MQL5 è in continua evoluzione e purtroppo MQ lo fa in un modo che spesso rompe la retrocompatibilità. Non credo che questo sia un modo corretto di migliorare la piattaforma, ma in ogni caso l'unica cosa che possiamo fare è risolvere i problemi con delle patch, in base alla nuova sintassi. Per esempio, in questo caso basta aggiungere una singola riga:
Seguite le notizie ufficiali sulle modifiche alla sintassi di MQL5.