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
In generale, dovremmo partire dal fatto che le variabili globali sono il male, e quando una tale variabile è usata in molti file e può essere cambiata da qualsiasi luogo, allora è il male al quadrato! Pertanto, tali variabili dovrebbero sempre essere dichiarate come costanti (a meno che non stiamo parlando di variabili ausiliarie per scopi di debug, che non influenzano la logica dell'algoritmo).
Lo specificatore extern è necessario se il progetto consiste di diversi file mq5 (da non confondere con mqh). In questo caso, ha senso dichiarare le variabili globali in un file separato. Se il progetto consiste di mqh ed è costruito usando #include, extern non è necessario poiché è un file diviso in più file.
esempio è necessario, ho provato a usare extern nelle librerie - non funzionahttps://www.mql5.com/ru/forum/316795/page2#comment_12259472
esempio è necessario, ho provato a usare extern nelle librerie - non funzionahttps://www.mql5.com/ru/forum/316795/page2#comment_12259472
Qui, nel secondo caso, avete bisogno di extern, che inserirebbe le variabili globali nello scope di diversi file.
Non mi dispiace, ma ho bisogno di un esempio, qui puoi indovinare dove usare extern - ho provato nella libreria, non ha funzionato, mostrami come usi extern
Non è per le biblioteche, ma per i progetti. Il progetto può essere costruito sia su #include o fare diversi file mq5. Nel secondo caso, extern è necessario per inserire variabili globali nello scope di diversi file.
Il punto è che extern si è rivelato semplicemente inutile. Una variabile dichiarata globalmente in qualsiasi file di progetto è disponibile in tutti i suoi file. Ma perché? Domanda per i creatori.
Si può dichiarare una variabile extern in tutti i file *.mqh in cui viene utilizzata.
Quindi, tali file *.mqh non dipendono dal file *.mq5 (o altri *.mqh), in cui è dichiarata la variabile globale.
Questo permette di usare i file in altri progetti, aumentando il riutilizzo del codice.
È possibile dichiarare la variabile extern in tutti i file *.mqh in cui viene utilizzata.
Quindi, tali file *.mqh non dipendono dal file *.mq5 (o altri *.mqh), in cui è dichiarata la variabile globale.
Questo permette di usare i file in altri progetti, aumentando il riutilizzo del codice.
Grazie, ora capisco la logica. Inizialmente pensavo che fosse simile a extern in C++.
Non è simile?