Olá, o meu backtest está muito lento e o problema são os CopyBuffer dos indicadores. Eu consegui resolver o problema da lentidão adicionando uma função que só executa a leitura após uma nova vela. Porém, o problema é que isso interfere no operacional das minhas estratégias. Por exemplo: o meu EA executa uma compra no fechamento da vela[1].close da Banda de Bollinger + o Cruzamento de Média. Eu adicionando a função de nova vela o EA executa atrasado a ordem de compra e isso modifica demais o resultado final no backtest.
Obs.: A função NovaVela() está interferindo no operacional porque a Banda de Bollinger tem um TimeFrame diferente do Cruzamento de Média.
Como eu consigo resolver esse problema sem interferir no operacional das minhas estratégias?
Obs.: Em OnTick() ficou assim:
Um pedaço da minha função BufferIndicadores()
Você é bem confuso para relatar um problema...
1- Você cita que NovaVela() é quem está causando problemas e não vemos o código dessa função...
2- Como você sabe que o culpado da queda de performance são os CopyBuffers() ?
3- Se você realmente só executa operações em Velas Novas, por quê está executando checagens a cada OnTick()?
![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
Olá, o meu backtest está muito lento e o problema são os CopyBuffer dos indicadores. Eu consegui resolver o problema da lentidão adicionando uma função que só executa a leitura após uma nova vela. Porém, o problema é que isso interfere no operacional das minhas estratégias. Por exemplo: o meu EA executa uma compra no fechamento da vela[1].close da Banda de Bollinger + o Cruzamento de Média. Eu adicionando a função de nova vela o EA executa atrasado a ordem de compra e isso modifica demais o resultado final no backtest.
Obs.: A função NovaVela() está interferindo no operacional porque a Banda de Bollinger tem um TimeFrame diferente do Cruzamento de Média.
Como eu consigo resolver esse problema sem interferir no operacional das minhas estratégias?
Obs.: Em OnTick() ficou assim:
Um pedaço da minha função BufferIndicadores()