Anche se questo punto(del libro di testo) non mi è del tutto chiaro:
"Le variabili statiche sono inizializzate una volta prima di chiamare la funzione specializzata init(), cioè, il valore di questa variabile non è perso quando si lascia la funzione, all'interno della quale è dichiarata una variabile statica.
Che cosa ha a che fare questo con " prima di chiamare la funzione speciale init() " e dopo " cioè quando si esce da una funzione utente (a giudicare dal contenuto) in cui è dichiarata una variabile statica? "
Una funzione in cui viene dichiarata una variabile statica può essere alla fine di un programma... cioè alla fine del codice o da qualche altra parte. La funzioneinit() viene eseguita una volta appena prima dell'inizio del programma. Risulta essere incoerente. Come si può inizializzare una variabile prima della funzioneinit() ?
Non importa dove la funzione sia nel programma, le variabili statiche sono al di fuori delle funzioni.
Poiché non prevede che la variabile sia inizializzata al riavvio del programma, si DEVE.
Ancora una volta, per quelli nel serbatoio:
Esempi di lavori. L'inizializzazione funziona.Anche se questo punto(del libro di testo) non mi è del tutto chiaro:
"Le variabili statiche sono inizializzate una volta prima di chiamare la funzione specializzata init(), cioè, il valore di questa variabile non è perso quando si lascia la funzione, all'interno della quale è dichiarata una variabile statica.
Che cosa ha a che fare questo con " prima di chiamare la funzione speciale init() " e dopo " cioè quando si esce da una funzione utente (a giudicare dal contenuto) in cui è dichiarata una variabile statica? "
Una funzione in cui viene dichiarata una variabile statica può essere alla fine di un programma... cioè alla fine del codice o da qualche altra parte. La funzioneinit() viene eseguita una volta appena prima dell'inizio del programma. Risulta essere incoerente. Come si può inizializzare una variabile prima della funzioneinit() ?
Non importa dove sia la funzione nel programma, le variabili statiche sono fuori dalle funzioni.
Cosa vuoi dire?
No, non lo farà. È un bug :)
Cosa vuoi dire?
Levariabili statiche sono memorizzate in un'area permanente della memoria del programma, i loro valori non vengono persi quando si esce dallafunzione.
Ancora una volta, per quelli nel serbatoio:
L'esempio funziona. L'inizializzazione funziona.Clinica...
Sì, l'inizializzazione funziona. Esattamente una volta. E al riavvio, non lo fa. Vorrei che fosse così. È più chiaro?
Clinica...
Sì, l'inizializzazione funziona. Esattamente una volta. E al riavvio, non lo fa. Vorrei che fosse così. È più chiaro?
Funzionerà solo una volta, quando si riavvia l'Expert Advisor.
Cosa intendi per riavviare, entrando nelle proprietà di Expert Advisor e uscendo premendo OK?
Per l'amor del cielo, non usate la statica negli EA.
Sì, e anche:
1. Quando l'account viene cambiato;
2. Quando si cambia uno strumento;
3. Quando si cambia il TF.