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
Programmatori C.
L'esempio è molto semplice in questo caso. Calcolare ladurata totale di tutte le posizioni chiuse è un compito molto più difficile per le prestazioni veloci.
Un esempio è molto semplice in questo caso. Calcolare ladurata totale di tutte le posizioni chiuse è un compito molto più difficile per una performance rapida.
Ti ho spiegato il motivo prima, ma non ne hai tenuto conto.
Ti ho spiegato il motivo prima, ma non ne hai tenuto conto.
A quanto pare devo cercare nel forum la tua spiegazione.
A quanto pare devo cercare nel forum la tua spiegazione.
L'ultima volta hai avuto un problema simile, in cui il parametro passato non veniva memorizzato nella cache, ma passato direttamente nel codice.
E dopo aver fatto la cache, la velocità è aumentata. Alloca sempre la memoria per una variabile e usala solo dopo.
È la stessa cosa qui, dichiari una variabile, la memoria è già allocata e l'ulteriore lavoro con la variabile sarà più veloce poiché non ci sono costi di allocazione della memoria.
Questo vale anche per il recupero di valori da funzioni mql.
Anche gli sviluppatori raccomandati qui sul forum, prima ottengono un valore da una funzione in una variabile e poi usano quella variabile in una condizione if()
Calcolare ladurata cumulativa di tutte le posizioni chiuse è un compito molto più difficile per le prestazioni veloci.
Forum sul trading, sistemi di trading automatico e test di strategia
Biblioteche: MT4Orders
fxsaber, 2020.08.29 04:17
Potrebbe esserci un'opzione più veloce. Ma un passo a sinistra nella condizione di ciò che deve essere calcolato, e la logica potrebbe dover cambiare notevolmente. Non è facile, in generale.
Potrebbe esserci un'opzione più veloce. Ma un passo a sinistra nella condizione di ciò che deve essere contato, e la logica potrebbe dover cambiare notevolmente. Non è facile, in generale.
Non è la condizione, è la scrittura del codice.
Anche se è possibile sostituire la condizione con l'interruttore, funzionerà più velocemente che se altro.
Prova questo codice, sarà più veloce o no? In caso contrario, provate a sostituire se altro con l'interruttore.
Spero che tu capisca il punto ora, che tutte le dichiarazioni di variabili dovrebbero essere messe fuori dal ciclo, e non rieseguirle 100500 volte.
Inoltre, per ogni valore restituito, alloca la memoria sotto forma di variabile.
Questa è un'altra variante del codice, in modo da non dover tirare la Storia per la seconda condizione.
Potete anche pensare quale condizione sarà soddisfatta più spesso, metterla per prima nel ciclo e continuare l'iterazione.
Un'altra variante del codice, per non far sobbalzare inutilmente la Storia per la seconda condizione.
Da qui in poi, dipende da voi.
In MT4 funziona allo stesso modo, solo che la creazione della cache è nascosta. Ad ogni OnTick/OnStart di MT4 il terminale crea automaticamente e con parsimonia un'istantanea dell'ambiente di mercato per ogni EA.
Pertanto, non è possibile valutare la vera latenza della preparazione dei dati dal codice MQL4. Fortunatamente, in MT4 i dati sono piccoli e semplici.
posizioni chiuse.
Potete prenderlo da qui.
Se lo fai da solo, lo fai da solo.
Ma è strano perché il risultato è così strano, questa è una domanda per Renate.
Il mio sospetto è il controllo hashmap DealsIn.TryGetValue
Guarda sotto il profiler.