![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
1. Perché? I sintomi nocivi devono essere trattati, e con decisione.
2. Variabili, array e altre cose non dovrebbero essere nominate in modo coerente o con parole chiave della lingua (ma l'array "Symbol" è molto suggestivo, non si può dire se è un array o qualcos'altro nel codice).
1. Bene, prima bisogna stabilire realmente se la sintomatologia appartiene a manifestazioni positive o negative. Nella mia esperienza, ho avuto casi in cui ho cercato di cambiare il valore di una variabile globale in una funzione che non doveva farlo (maledetto copia-incolla). Mi ci sono voluti alcuni giorni per trovare questo errore. Da allora, uso le variabili globali nei casi in cui non posso farne a meno in linea di principio.
2. Sono d'accordo. Ma se sono usati all'interno di una funzione, non mi dà fastidio. Ma le variabili globali con tali nomi sono davvero una fonte di confusione futura.
Però ripeto la mia domanda.
È possibile determinare l'attivazione di OnInit all'interno di OnTick?
Per esempio, posso dichiarare una variabile statica dentro OnTick che memorizza il numero di inizializzazioni dell'EA (se questa o una proprietà simile è presente in MQL5)?
Devo essere paranoico. Non mi piacciono le variabili pubbliche (globali). Lo considero un muveton.
Levariabili globali sono almeno visibili da lontano. Ma nascondere serie variabili cumulative all'interno di funzioni in statica è un modo di spalmare accuratamente un rastrello per se stessi. È la prima volta che vedo un array statico accumulativo nascosto all'interno di una funzione in questo modo. Questo è un rastrello infuocato.
Usate le classi - lasceranno il livello globale pulito, nasconderanno tutte le viscere e si sbarazzeranno delle stampelle.
Però ripeto la mia domanda.
È possibile determinare l'attivazione di OnInit all'interno di OnTick?
Per esempio, possiamo dichiarare una variabile statica all'interno di OnTick che memorizza il numero di inizializzazione dell'Expert Advisor (se esiste una variabile simile in MQL5)?
È possibile non solo contare il numero di trigger OnInit, ma anche determinare perché l'inizializzazione è avvenuta (l'implementazione è un'altra questione).
Avete familiarità con _UninitReason, per esempio?
È necessario scrivere una classe WorkSymbols.
Metodi:
stringa GetSymbol[];
bool UpdateSymbols(inWorkSymbols);
bool UpdateSymbolsStatus();
int GetSymbolCount();
Mi scuso se la richiesta è sfacciata... Anch'io cercherò di capirlo.
Sì, sembra un errore combinare il cambio di simbolo e la condizione di timeframe.
Sono anche favorevole a separarli in due condizioni. Il biglietto è già stato inserito nel servizio di assistenza.
In un certo senso l'ho cucinato. Le critiche sono benvenute.
L'unica cosa che non mi piace qui è il ridimensionamento "live" dell'array contenente i dati di lavoro.
Domanda per gli sviluppatori, è garantito che i dati utente precedentemente inseriti nell'array dinamico che viene modificato saranno conservati nella seguente condizione?
L'unica cosa che non mi piace qui è il ridimensionamento "live" dell'array contenente i dati di lavoro.
Una domanda per gli sviluppatori: è garantito che i dati utente precedentemente inseriti nell'array dinamico che viene modificato saranno conservati nella seguente condizione?