![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
Più veloce.
Fa la stessa cosa - restituisce il valore della funzione. Ma fa anche dei controlli in anticipo.
All'interno della funzione stessa ci sono anche controlli per il valore passato del nome del simbolo, e da esso - o "se un semplice parametro stringa invece di Symbol(), _Symbol o NULL, poi controlli per il programma completo e più richiesta di proprietà", o utilizza i valori del simbolo corrente dalla cache senza ulteriori controlli.
Perché li fate ancora una volta e continuate a sostenere che accelera il recupero dei dati? Non capisco la logica di tale ragionamento.
A proposito, lo faccio sempre nelle mie funzioni, ma non credo che acceleri in qualche modo il recupero dei dati, ma piuttosto lo rallenti a causa dei controlli del valore del nome del simbolo passato nella mia funzione.
Perché li rifate, eppure sostenete che accelera i dati?
Lei stesso ha citato la spiegazione.
Symbol(), le voci _Symbol sono equivalenti a NULL (dove NULL è permesso al posto del nome del simbolo)
È lo stesso in MT4? E in MT5 Tester che dire?
A proposito, faccio sempre così nelle mie funzioni
Mostrami per favore.
Lei stesso ha citato la spiegazione.
Esattamente - è tutto fatto all'interno della funzione regolare. Perché duplicarlo anche all'esterno?
Esattamente - è tutto fatto all'interno della funzione regolare. Perché duplicarlo anche all'esterno?
Allora non avete capito la spiegazione. La velocità delle due chiamate è diversa.
Per favore, mostratemi.
Tutte le funzioni e i metodi in cui questo viene fatto con me?
Ce ne sono troppi.
Tutte le funzioni e i metodi in cui lo faccio?
Uno è sufficiente.
Allora non avete capito la spiegazione. La velocità delle due chiamate è diversa.
Mi sembra di aver capito tutto. Certo che è diverso. Come hai fatto a velocizzarlo? Si passa un valore che non è il simbolo corrente alla funzione in un caso - se è not_Symbol.
Qui, nel caso in cui si passa il valore di cui sopra alla funzione, la funzione non esegue controlli e prende il valore del simbolo corrente dalla cache.
In altri casi, interroga i dati del simbolo specificato con un controllo "programma completo" + la sua presenza nella panoramica del mercato. La vostra funzione "veloce" non si libera di questi controlli quando richiede dati da un simbolo non nativo. Allora dov'è l'accelerazione?
Solo due opzioni nella vostra funzione quando chiamata if(SymbolInfoTickFast(Symbol(), tick_array)) {}
Un'altra cosa, se voi (nella vostra abitudine di definire tutto ciò che si muove) create una variabile stringa per il simbolo corrente, allora sì - dovete fare dei controlli qui e sostituire la vostra sostituzione macro con una variabile predefinita, o chiamare Symbol()
Come l'hai accelerato?