[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 789
![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
Cari programmatori,
Per favore, consigliate perché gli operatori non vengono eseguiti quando la condizione è vera, o piuttosto vengono eseguiti, ma in modo casuale (per esempio, ripetutamente). Non ci sono errori nei log.
Per favore, correggete il vostro codice:
E non confrontare mai le variabili di tipo double per l'uguaglianza.
Correggete il vostro codice:
E non confrontare mai le variabili di tipo double per l'uguaglianza.
Perché non potete confrontare le variabili di tipo double per l'uguaglianza?
Perché le variabili come double non possono essere confrontate per l'uguaglianza?
Perché le variabili di tipo double non possono essere confrontate per l'uguaglianza?
In deinit, scrivi in una variabile globale e in init, leggi il valore di quella variabile, qual è il problema?
La mia comprensione è che una variabile globale è una variabile dichiarata al di fuori di tutte le funzioni. Le variabili globali sono inizializzate una volta prima di avviare le funzioni speciali.
Cioè, le variabili globali sono dichiarate all'inizio del programma prima della funzione di avvio, compresa quella che voglio passare al programma al prossimo avvio. Poi, secondo il tuo suggerimento, in deinit fisso il valore di questa variabile. Capisco che all'inizio del programma, prima che la funzione init sia eseguita, tutte le variabili globali, che sono descritte all'inizio del programma, inclusa la variabile che mi interessa, saranno reinizializzate. E quando si arriva alla funzione init, la mia variabile, registrata in precedenza, sarà persa! O mi sbaglio?
La mia comprensione è che una variabile globale è una variabile dichiarata al di fuori di tutte le funzioni. Le variabili globali sono inizializzate una volta prima di avviare le funzioni speciali.
Cioè, le variabili globali sono dichiarate all'inizio del programma prima della funzione di avvio, compresa quella che voglio passare al programma al prossimo avvio. Poi, secondo il tuo suggerimento, fisso il valore di questa variabile in deinit. Capisco che all'inizio del programma, prima che la funzione init sia eseguita, tutte le variabili globali, che sono descritte all'inizio del programma, inclusa la variabile che mi interessa, saranno reinizializzate. E quando si arriva alla funzione init, la mia variabile, registrata in precedenza, sarà persa! O mi sbaglio?
che sono conservate separatamente dal tuo programma per una quindicina di giorni se non vi si accede, se la memoria non mi inganna...
sono utilizzati, per esempio, per trasferire dati tra diversi EA che lavorano simultaneamente sullo stesso terminale, ecc...
Sono le variabili globali del terminale che vi servono.
No, intendeva la GlobalVariable, che è memorizzata nel file.
Sì, intendevo le variabili globali del terminale. C'è già stata questa domanda nel messaggio privato, ho risposto.
Avete cercato stranamente
simbolo stringa, int timeframe, int periodo, int ma_shift, int ma_method, int applied_price, int shift)