![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
Il nuovo articolo I Principi del Calcolo Economico degli Indicatori è stato pubblicato:
Le chiamate all'utente e gli indicatori tecnici occupano pochissimo spazio nel codice del programma dei sistemi di trading automatizzati. Spesso si tratta semplicemente di poche righe di codice. Ma capita spesso che siano queste poche righe di codice a impiegare la maggior parte del tempo, che deve essere speso per testare l'Expert Advisor. Pertanto, tutto ciò che è correlato ai calcoli dei dati all'interno di un indicatore, deve essere considerato molto attentamente di quanto sembrerebbe a prima vista. In questo articolo si parlerà proprio di questo.
Ora che sono chiari i dettagli della chiamata razionale della funzione della copia dei valori degli indicatori nel codice dell'Expert Advisor, è possibile testare i vantaggi dell'applicazione della funzione IsNewBar () negli Expert Advisor.
Quindi abbiamo due opzioni di Expert Advisor disponibili per essere testati nello Strategy Tester, il primo - AMA_Test.ex5. Copia i dati dal buffer dell'indicatore ad ogni tick.
Il secondo - IsNewBar_AMA_Test.mq5 copia i dati solo durante un cambio di barra.
Sì! I risultati dei test sono alquanto deludenti. Si scopre che chiamare una funzione IsNewBar () su ogni tick è molto più costoso che copiare i dati in tre celle dell'array dell'utente!
Qui vorrei attirare la vostra attenzione su un'altra parte importante, ma apparentemente poco appariscente dell'indicatore. Il fatto è che se otteniamo l’handler dell'indicatore nella funzione OnInit (), indipendentemente dal fatto che copiamo o meno i dati da questo indicatore all'interno della funzione OnTick (), i suoi calcoli su barre ancora non calcolate e correnti, verranno comunque eseguiti su ciascun tick.
Autore: Nikolay Kositsin