
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
Tutto è chiaro sull'input. La cosa di extern - lì, come mi sembra, puoi prima dichiarare variabili con lo stesso tipo e identificatore in diversi file da allegare al progetto, e poi si scopre che non puoi dichiararle in quel modo. Certo, questo è un impressionismo a tre piani...
Il significato di extern è che se il file principale (main) ha qualche variabile e un altro file è collegato a questo file. E in questo file allegato abbiamo bisogno di usare la variabile dichiarata nel file principale, quindi nel file allegato la dichiariamo come extern. Di conseguenza, il file collegato può essere compilato e quando il file principale viene compilato, ladichiarazione della variabile nel file collegato viene ignorata.
Non lo so. Per me, tutta la documentazione è autoesplicativa. Se ci sono difficoltà da qualche parte, scompaiono dopo qualche esperimento.
Ma se non ho familiarità con le operazioni bitwise, posso leggere qualsiasi articolo... Non capirò una parola. Proprio come io non potevo capire nulla delle bandiere e degli insiemi di bandiere finché Artem non me li ha spiegati a voce.
È comprensibile se si richiedono valori da esso, ma come funziona tutto prima e dopo - oscurità più nera
è comprensibile se se ne chiede il valore, ma come funziona tutto prima e dopo è torbido, il torbido più oscuro
Chi è?
Chi è?
l'essenza del lavoro
c'è:
1) extern funziona solo in mql4.
2) i commenti dopo l'input saranno visualizzati nei parametri di input invece del nome della variabile di input
ingresso int ma_periodo = 20;
- ci sarà scritto "ma_periodo".
input int ma_period = 20; // periodo MA
- sarà scritto "periodo MA".
per essere esattamente come in mql4, è necessaria la modalità di compilazione strict #property strict.
Questo trucco è assente con extern.
3) Le variabili esterne possono essere cambiate nel codice come qualsiasi variabile globale, l'input no.
Inizialmente, c'erano solo mql4 ed extern, non c'era nessun input, né OOP in mql4.
Poi fu sviluppato mql5 che includeva immediatamente l'input perché mql5 in generale era orientato all'OOP.
Circa 2-3 anni fa, mql4 è stato aggiornato con molte caratteristiche di mql5, incluso l'input.
Di quale terminale stai scrivendo?
In MT5, se si dichiara una variabile esterna come extern nell'indicatore, l'indicatore potrebbe non essere in grado di essere chiamato tramite iCustom().
Di quale terminale stai scrivendo?
In MT5, se si dichiara una variabile esterna come extern in un indicatore, l'indicatore potrebbe non essere in grado di essere chiamato attraverso iCustom().
Non sto rimproverando ora, ma lei scrive "può fallire"... si scopre che può funzionare o meno! Voglio dire, è difficile per me, come autodidatta senza educazione speciale, capire una tale incertezza...
ci sono:
1) extern funziona solo in mql4.
2) i commenti dopo l'input appariranno nei parametri di input al posto del nome della variabile di input
ingresso int ma_periodo = 20;
- ci sarà scritto "ma_periodo".
input int ma_period = 20; // periodo MA
- sarà scritto "periodo MA".
per essere esattamente come in mql4, è necessaria la modalità di compilazione strict #property strict.
Questo trucco è assente con extern.
3) Le variabili esterne possono essere cambiate nel codice come qualsiasi variabile globale, l'input no.
Inizialmente, c'erano solo mql4 ed extern, non c'era nessun input, né OOP in mql4.
Poi fu sviluppato mql5 che includeva immediatamente l'input perché mql5 in generale era orientato all'OOP.
Circa 2-3 anni fa, mql4 è stato aggiornato con molte caratteristiche di mql5, incluso l'input.
extern funziona in entrambi i casi. Così come l'input in MQL5 e MQL4. Il loro scopo è diverso, ed è scritto nella guida.
Perché indirizzare subito una persona verso un'idea sbagliata sullo scopo delle variabili di input ed extern?
Il significato di extern è che se il file principale (main) ha qualche variabile e un altro file è collegato a questo file. E in questo file allegato abbiamo bisogno di usare la variabile dichiarata nel file principale, quindi nel file allegato la dichiariamo come extern. Di conseguenza, il file collegato può essere compilato, ma quando si compila il file principale, la dichiarazione della variabile nel file collegato viene ignorata.
Ho anche pensato che questo modificatore funziona come in C++, cioè è dichiarato nel file includehttps://www.mql5.com/ru/forum/160683/page867#comment_11927748
Controllato non funziona come dovrebbe in C++
file di libreria tstextern
file di script:
qualsiasi manipolazione della variabilekoef non funziona, è ancora nell'ambito locale (dentro ogni file)
Il loro scopo è diverso ed è scritto nella guida.
La differenza è nel controllo dell'accesso:
input - può essere solo letto, la scrittura è proibita.
extern - può essere letto e scritto, e dopo la reinizializzazione del programma MQL questo valore sarà ripristinato al valore specificato nelle impostazioni esterne
Ora non sono negativo, ma tu scrivi "potrebbe non funzionare"... potrebbe non funzionare, ma potrebbe funzionare! Voglio dire, è difficile per me, come autodidatta senza educazione speciale, capire una tale incertezza...
Cioè, non ho controllato in questo momento. Ed è pericoloso dire cosa c'era una volta, perché le cose cambiano così spesso. Forse è stato un guasto temporaneo.
Ho anche pensato che questo modificatore funziona come in C++, cioè è dichiarato nel file del pluginhttps://www.mql5.com/ru/forum/160683/page867#comment_11927748
non funziona come dovrebbe in C++
file di libreria tstextern
file di script:
qualsiasi manipolazione della variabilekoef non fa nulla, è ancora nell'ambito locale (dentro ogni file)
Beh, avete una biblioteca. Naturalmente, ci saranno diverse variabili. Ciò che si intende è la connessione di mqh tramite include.