Então calcule-o em OnInint()
Na MQL4 eu estava lendo dados do arquivo no inite, mas demorou muito tempo. Eu não sei se o initeé usado a cada novo passe ou não?
Encontrei-o no fórum, cada vez que o inite é utilizado, ou seja, a matriz será recalculada.
É claro que não.
Oops... Não li com cuidado e entendi mal a pergunta.
Na MQL4 eu estava lendo dados do arquivo no inite, mas demorou muito tempo. Eu não sei se o initeé usado a cada novo passe ou não?
Encontrei-o no fórum, cada vez que o inite é utilizado, ou seja, a matriz será recalculada.
É elementar. Você verifica o tamanho da matriz em cada execução. Se a matriz estiver vazia ou se a bandeira de cálculo for falsa, você a recalcula:
if(ArraySize(optimize_array) == 0) CalculateArray();
É elementar. Você verifica o tamanho da matriz cada vez que a executa. Se a matriz estiver vazia ou se a bandeira de cálculo for falsa, você a recalcula:
Mas eu ainda não o testei. Mas, pergunto e que a matriz será salva do primeiro passe (onde será calculada) e estará disponível nos passes subseqüentes?
Mas eu ainda não o testei. Mas, vou perguntar e que a matriz será salva do primeiro passe (onde será calculada) e estará disponível para os passes subseqüentes?
Não vai. Você tem que recalculá-lo ou salvá-lo em um arquivo e lê-lo.
Portanto, tenho um dilema: como tornar possível a leitura de um arquivo uma vez, preencher um array com ele e usar este array em todos os passes.
Eu preciso dele para reduzir o tempo de otimização, porque a matriz permanecerá sempre inalterada e será sempre caro lê-lo.
Portanto, tenho um dilema: como tornar possível a leitura de um arquivo uma vez, preencher um array com ele e usar este array em todos os passes.
Preciso disto para reduzir o tempo de otimização, porque a matriz será sempre inalterada e é caro lê-la sempre.
Acoplamento de recursos. Não pergunte como. Eu não escrevi o código fonte.
Terá que ser lido no inite. Mas não será lido a partir do disco, mas da memória. Assim, na verdade, a matriz ficará na memória.
No MT5 há um evento para iniciar a otimização, nele se calcula a matriz, salva-a em um arquivo e, no init do EA, lê-se.
- 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
Há um conjunto que não muda durante toda a otimização. É possível calculá-lo uma vez e referir-se a ele apenas em cada passagem durante toda a otimização sem calculá-lo novamente?