MetaTrader 4 Build 529 beta rilasciato con un nuovo compilatore - pagina 18
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Anche il manuale MQL4 (che si trova nell'editor) è stato aggiornato di conseguenza?
sì con una richiesta di aggiornamento. Il manuale MQL4 è quasi basato sul 5 e non corrisponde alla realtà del compilatore al momento.
Correggetemi se ho sbagliato.
Uso una funzione di libreria in un indicatore, questa funzione dichiara alcune variabili statiche che partecipano al calcolo dell'array dell'indicatore.
Se voglio cambiare i parametri dell'indicatore per correggere il calcolo dell'indicatore (in funzione delle variabili statiche),
passare il flag alla funzione di libreria che è responsabile della reinizializzazione (si dovrebbero espandere i parametri di input di ogni funzione che ha variabili statiche)
fare l'azzeramento delle variabili statiche nel corpo, e non dimenticare di rimuovere il flag prima di completare il calcolo.
Sarebbe molto più semplice se le variabili statiche avessero qualche parametro, impostato durante la loro dichiarazione, responsabile del fatto che queste variabili saranno azzerate durante la reinizializzazione.
Sarebbe molto più semplice se le variabili statiche avessero qualche parametro, impostato quando sono dichiarate, che è responsabile del fatto che queste variabili siano o meno resettate alla reinizializzazione.
Sarebbe ancora più facile, se gli sviluppatori facessero una funzione speciale come ResetStaticVars().
// A proposito, non è così facile da fare. Io non lo farei. Una cosa è azzerare semplicemente l'intero segmento di dati, un'altra cosa è assegnare correttamente tutti i valori iniziali dell'utente. Un dolore al collo, però.
In realtà (come paradigma) salvare i valori durante la vita del programma è piuttosto conveniente. C'è solo una questione di retrocompatibilità qui, quindi...
So che questa è una parte del forum di lingua russa, ma dato che non sono bravo a parlare russo (anche se lo so leggere) spero che a nessuno dispiaccia postare questo qui (dato che la parte inglese sembra completamente inattiva per quanto riguarda questi problemi e dato che non ho visto che qualcuno ha postato su questo problema)
C'è un problema serio con la nuova metatrader che riguarda i parametri stringa esterni. Inizialmente hanno un valore corretto, ma non appena si cambia la cornice temporale o il simbolo, il contenuto di un parametro stringa viene perso. Ecco un semplice esempio che mostrerà esattamente cosa sta succedendo. Questo problema si verifica anche quando tali indicatori sono utilizzati attraverso la chiamata iCustom() e questo rende qualsiasi indicatore inutilizzabile da qualsiasi EA o altro codice
Sì, con la richiesta di aggiornamento. Il manuale per MQL4 è quasi basato sul 5 e non corrisponde alla realtà del compilatore al momento.
Forse hanno lasciato lì qualcosa che è nel prossimo futuro? Ci conto.
Anche il manuale MQL4 (che si trova nell'editor) è stato aggiornato di conseguenza?
Non riesco a capire perché abbiamo bisogno di un design come questo
#property icon "\\Files\\button.ico"
Non riesco a capire perché abbiamo bisogno di un design come questo
So che questa è una parte del forum di lingua russa, ma dato che non sono bravo a parlare russo (anche se lo so leggere) spero che a nessuno dispiaccia postare questo qui (dato che la parte inglese sembra completamente inattiva per quanto riguarda questi problemi e dato che non ho visto che qualcuno ha postato su questo problema)
C'è un problema serio con la nuova metatrader che riguarda i parametri stringa esterni. Inizialmente hanno un valore corretto, ma non appena viene cambiato il quadro temporale o il simbolo, il contenuto di un parametro stringa viene perso. Ecco un semplice esempio che mostrerà esattamente cosa sta succedendo. Questo problema si verifica anche quando tali indicatori sono utilizzati attraverso la chiamata iCustom() e questo rende qualsiasi indicatore inutilizzabile da qualsiasi EA o altro codice
Mladen, è più facile per me rispondere in russo, visto che tu sai leggere bene.
Ecco la mia soluzione a questo problema. Nel mio codice init() includo la funzione ReInit() che reinizializza queste variabili globali, i cui valori dovrebbero essere ripristinati quando cambia il timeframe o il simbolo: