Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Acoplamento de recursos. Não pergunte como. Não escrevi o código fonte.
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.
Creio que esta solução já foi sugerida a você. Não lhe convém?
Usando software de terceiros para criar uma matriz?
Por exemplo, escreva um roteiro que irá preparar e coletar todos os dados em um array e depois escreva o array preparado em um arquivo. E então leia esta matriz do arquivo durante a inicialização no EA. O arquivo pode ser usado quantas vezes forem necessárias, com cada execução da EA.
Creio que esta solução já foi sugerida a você. Não lhe convém?
Sim, é isso mesmo, não se encaixa. Há 15.000 passes na otimização. E eu preciso apenas uma vez para calcular e nos passes subseqüentes apenas para abordar uma matriz.
Ou seja, já tenho dados no arquivo que são calculados com antecedência e de nível, e eles são conhecidos por mim com antecedência. E mesmo a leitura do arquivo cada vez no init é muito cara (há milhares de linhas). Eu não sei sobre a MQL5, mas na MQL4 eles escreveram no fórum que o programa passa o init em cada passagem.
Será necessário ler no inite em cada passe?
Você está exagerando, IMHO.
Sim, é isso mesmo, não se encaixa. Há 15.000 passes na otimização. E eu preciso apenas uma vez para calcular e nos passes subseqüentes apenas para abordar uma matriz.
Ou seja, já tenho dados no arquivo que são calculados com antecedência e de nível, e eles são conhecidos por mim com antecedência. E mesmo a leitura do arquivo cada vez no init é muito cara (há milhares de linhas). Eu não sei sobre a MQL5, mas na MQL4 eles escreveram no fórum que o programa passa o init em cada passagem.
Um truque clássico do mundo C/C++ : você pode fazer/converter um array estático de seu arquivo (apenas texto: double arr[100500]={1,2,3....} ) e apenas incluí-lo através de #include.
Você sabe, acho que está exagerando sobre os custos de leitura de uma matriz de um arquivo. Toda vez que o Windows acorda do modo de sono, ele restaura do disco rígido uma imagem de seu estado que tinha no momento de dormir, incluindo o estado de todas as aplicações. Você acha que não há objetos e informações suficientes? E quanto tempo leva para sair do sono dessa maneira?
Você está exagerando, IMHO.
Os custos são maiores sem ambigüidade. Existem duas variantes com configurações de indicadores inalteradas e com os mesmos valores, mas já escritas em um arquivo, que são despejadas em uma matriz.
A variante com o arquivo leva muitas vezes mais tempo para ser calculada do que a variante com cálculo de indicador no Expert Advisor.
Eu estava pensando que talvez haja uma maneira de salvar a matriz uma vez e usá-la para todas as passagens de otimização, aliviando assim a carga no algoritmo.
Um truque clássico do mundo C/C++: você pode fazer/converter um array estático de seu arquivo (apenas texto: double arr[100500]={1,2,3....} ) e apenas incluí-lo via #include.
Os custos são maiores sem ambigüidade. Existem duas variantes com configurações de indicadores inalteradas e com os mesmos valores, mas já escritas em um arquivo, que são despejadas em uma matriz.
A variante com o arquivo leva muitas vezes mais tempo para ser calculada do que a variante com cálculo de indicador no Expert Advisor.
Eu apenas pensei que talvez haja uma maneira de armazenar a matriz uma vez e usá-la para todas as passagens de otimização, aliviando assim a carga no algoritmo.