Errori, bug, domande - pagina 1492
![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
E globale (non esterno) non lo è, e questo non è buono.
Perché non è buono? Si dice esplicitamente che le variabili globali sono inizializzate una volta all'avvio del programma.
Se volete un comportamento diverso, inizializzate come volete in OnInit
Sarebbe bene rifletterlo nella documentazione.
In MQL4++ non posso fare a meno di extern quando ho bisogno di cambiare i parametri di input programmaticamente. Per esempio, quando converto un indicatore standard in uno interattivo devo sostituire input con extern. Il compilatore tratta le variabili di input come const e si lamenta al tentativo di cambiarle. Con extern non ci saranno questi problemi.
Usare "raddoppiatori" di parametri di input
Abbiamo un esempio in MQL5\Indicators\Examples\ADX.mq5.
Usare i "doppiatori" per i parametri di ingresso
Abbiamo un esempio in MQL5\Indicators\Examples\ADX.mq5
Ora, per convertire un indicatore nella variante interattiva, è necessario aggiungere solo una linea al codice sorgente. Se fate i doppiatori, oltre alla stringa supplementare per la creazione del doppiatore, dovete fare delle sostituzioni per tutto il testo. Perché questo fastidio quando si può semplicemente cambiare una riga.
Cosa vi impedisce di rimuovere la const-awareness delle variabili di input in fase di compilazione?
Per convertire l'indicatore in una variante interattiva è necessario aggiungere solo una riga al sorgente. Se fai un doppio, allora oltre alla linea extra per creare un doppio, dovrai sostituire l'intero testo. Perché questo fastidio, quando si può facilmente cambiare una linea.
Cosa vi impedisce di rimuovere la const-awareness delle variabili di input in fase di compilazione?
Cosa vi impedisce di rimuovere la const-awareness delle variabili di input in fase di compilazione?
Memorizzazione globale degli indicatori nella base storica di MT5. Per loro i parametri di ingresso sono fondamentali. Quando si cambiano i parametri di input, l'indicatore con i vecchi parametri viene distrutto, e lo stesso indicatore con i parametri modificati viene creato di nuovo.
Cioè, la restrizione è puramente architettonica
Nella quarta versione potremmo rimuovere la costanza dalle istanze, ma poi c'è un'incompatibilità del nuovo MQL4 e MQL5. Pertanto, non lo faremo. Si prega di continuare a usare extern
Slawa:
Cioè, la limitazione è puramente architettonica.
Finestra per staccarsi dal terminale
Come?