MetaTrader 4 Build 529 beta rilasciato con un nuovo compilatore - pagina 105
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
Colleghi, un messaggio di avvertimento appare sulla compilazione:
possibile uso di una variabile non inizializzata 'PipStep'.
per un pezzo come questo:
Tutte le variabili sono inizializzate come doppie, cosa c'è di sbagliato?
avete dichiarato variabili di tipo doppio, l'inizializzazione è l'assegnazione di valori alle variabili dichiarate
doppio PipStep=0 ; fare
Non capisco, sono l'unico che non può testare le demo degli indicatori nella build 555, o questo non è affatto un problema importante per il debutto sul mercato?
sono testati in 5?
ArrayCopyRates() также изменила свое поведение, раньше она производила виртуальное копирование в массив double[][6], теперь же производится виртуальное копирование в массив MqlRates[]. Для совместимости осталось копирование в массив double[][6], но это копирование не виртуальное, а реальное.
https://www.mql5.com/ru/forum/148325
Struttura per la memorizzazione di informazioni su prezzo, volume e spread.
https://www.mql5.com/ru/docs/constants/structures/mqlrates
MqlRates in MetaTrader 4 è un array o una struttura?
Questo esempio dalla guida (MetaTrader 4 build 555) non funziona perché non esiste una funzione CopyRates
Fanno il test in 5?
C'è anche chi non fa il test in 5?
si dichiarano variabili di tipo doppio, l'inizializzazione è l'assegnazione di valori alle variabili dichiarate
double PipStep=0 ; do
Ha funzionato!!!
Vivi e impara!
Grazie mille!
MqlRates in MetaTrader 4 è un array o una struttura?
Questo esempio dalla guida (MetaTrader 4 build 555) non funziona perché non esiste una funzione CopyRates
Anche questo non funziona, possiamo vedere un esempio funzionante in MetaTrader 4 build 555 con MqlRates?MqlRates - struttura
MqlRates[] - array di strutture
Per vedere un esempio di lavoro con la struttura MqlRates vedere lo script period_converter_new
Un esempio di operazione ArrayCopyRates (la documentazione sarà aggiornata)
Modifiche in MQL4
Ho un numero significativo di Expert Advisors che usano DLL e sono stati passati ai clienti molto tempo fa. Abbiamo usato gli array double[][6] per passare i parametri alla DLL , che sono stati virtualmente copiati da ArrayCopyRates() durante l'inizializzazione .E poi questi array e la loro dimensione attuale sono stati passati per riferimento come parametri quando si chiamano funzioni dalla DLL.
Si scopre che tutti questi EAs smettono di funzionare quando il terminale viene aggiornato a una nuova versione. Questo è un peccato.
Ho capito bene che per farli funzionare senza cambiare il codice della DLL, dovremmo chiamare ArrayCopyRates() prima di ogni chiamata di una funzione dalla DLL?
Ho un numero significativo di EA che utilizzano DLL, che sono state consegnate ai clienti molto tempo fa. Per passare i parametri alla DLL abbiamo usato gli array double[][6], ai quali durante l'inizializzazione la funzione ArrayCopyRates() ha fatto una copia virtuale delle serie temporali. E poi, quando si chiamano le funzioni dalla DLL, questi array e la loro dimensione attuale vengono passati per riferimento come parametri.
Si scopre che tutti questi EAs smettono di funzionare quando il terminale viene aggiornato a una nuova versione. Questo è un peccato.
Ho capito bene che per farli funzionare senza cambiare il codice della DLL, dovremmo chiamare ArrayCopyRates() prima di ogni chiamata di una funzione della DLL?
È un po' più complicato di così. Anche la struttura che assume il dll è cambiata.
Quindi, è necessario riscrivere ArrayCopyRates nell'array della struttura MqlRates. Anche nella tua dll devi sostituire la descrizione della struttura corrispondente