Existe alguma diferença em declarar uma variável Global (no início de um Expert Advisor) ou dentro das próprias funções (Local) em termos de performance (rapidez)?
Ainda com relação a performance, variáveis Static são mais lentas?
Obrigado!
Olá barbisan,
Posso estar falando uma grande bobagem, mas acredito que não haja diferença em termos de performance. MQL5 (asim como C++) é uma linguagem de alta performance e, não acredito que o tipo da variável (local ou global) possa afetar (pelo menos significativamente) o desempenho de um código.
Mas, caso seja de teu interesse, você mesmo pode fazer testes. Sugiro você replicar a metodologia descrita nesse artigo: https://www.mql5.com/pt/articles/18. Dê uma olhada na função fnCalculateSpeed. Ela basicamente performa um loop com 10 milhões de passagens e conta o tempo necessários para realizar as operações matemáticas simples internas à função. Caso faça o teste, não esqueça de reportar os resultados!
Abraços,
Malacarne
![Como trocar dados: um DLL para o MQL5 em 10 minutos Como trocar dados: um DLL para o MQL5 em 10 minutos](https://c.mql5.com/36/6/como-trocar-dados-um-dll-para-o.png)
- 2013.12.30
- MetaQuotes
- www.mql5.com
Olá barbisan,
Posso estar falando uma grande bobagem, mas acredito que não haja diferença em termos de performance. MQL5 (asim como C++) é uma linguagem de alta performance e, não acredito que o tipo da variável (local ou global) possa afetar (pelo menos significativamente) o desempenho de um código.
Mas, caso seja de teu interesse, você mesmo pode fazer testes. Sugiro você replicar a metodologia descrita nesse artigo: https://www.mql5.com/pt/articles/18. Dê uma olhada na função fnCalculateSpeed. Ela basicamente performa um loop com 10 milhões de passagens e conta o tempo necessários para realizar as operações matemáticas simples internas à função. Caso faça o teste, não esqueça de reportar os resultados!
Abraços,
Malacarne
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Existe alguma diferença em declarar uma variável Global (no início de um Expert Advisor) ou dentro das próprias funções (Local) em termos de performance (rapidez)?
Ainda com relação a performance, variáveis Static são mais lentas?
Obrigado!