![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Mapeamento é mapeamento, é apenas que um objeto de arquivo pode ser criado diretamente na RAM.
Eu simplesmente não entendo por quê? Alexei escreveu claramente que tudo está no init.
Repito, eu o propus não para o problema de Alexey, mas como uma forma de acelerar os cálculos em geral)
Ou seja, organizar uma espécie de cache para utilizar os dados em iterações subseqüentes.
esqueça esta DLL descascada dela.
Você tem uma versão totalmente funcional para trabalhar com o mapeamento.
E como você se propõe a fazê-lo - sem se referir à codificação externa à MQL4?
Eu já sugeri - através de arquivos. Mas é longo e incômodo.
O conjunto de parâmetros na memória será associado a um determinado resultado.
Você pode até mesmo tornar o mapeamento mais complicado, como este:
DataTime - {Parâmetros de cálculo} - Resultado[s].
Isto já encobre os cálculos em cada barra.
Que se lixe o mapeamento e os arquivos. O que precisamos é de um armazenamento associativo.
esqueça esta DLL descascada dela.
Você tem uma versão totalmente funcional para trabalhar com o mapeamento.
Perguntado como sem uma dll.
OK, não importa. É mais fácil fazer cálculos pesados de C/C++ e acelerar a execução por várias vezes usando SSE*, Open MP e IPP. E ao invés de 10 segundos na MQL4 você terá 1 segundo - mesmo no meu orçamento dual-core.
Perguntei-lhe como ele poderia trabalhar sem dll.
Ok, não importa. É mais fácil implementar cálculos pesados em C/C++ e acelerar a execução por várias vezes usando SSE*, Open MP e IPP. E ao invés de 10 segundos na MQL4 você terá 1 segundo - mesmo no meu orçamento dual core.
A MQL5 é 20 vezes mais rápida que a MQL4.
C++ é 6 vezes mais rápido que a MQL5 (ao utilizar bibliotecas que paralelizam automaticamente a execução).
Total: 20*6=120 vezes.
Se você usar cálculos de GPU, será ainda mais rápido.
TOTAL: 10/120=0,083c.
algo como isto.
A MQL5 é 20 vezes mais rápida que a MQL4.
Eu gostaria de acreditar nisso. Mas, na prática, a otimização em uma CPU de múltiplos núcleos no MT5 é muito mais lenta do que a otimização com uma única rosca no MT4.
É bem possível que apenas pareça que o código no MT5 mal está se mexendo?
Eu deveria pegar algum agloritmo de referência e usá-lo na função start() do MT4 e OnTick() do MT5 e executá-lo em um único núcleo em Expert Advisors com um parâmetro de entrada dummy mudando de 0 para 9999 sem genética para ter certeza de que é mais exato. Mas onde obter este núcleo único?
Exceto que, na prática, a otimização em uma CPU multi-core no MT5 é visivelmente mais lenta do que a otimização com rosca única no MT4.
Não, isto é um testador. Antes do campeonato medimos o tempo de corrida - o tempo de corrida de um Expert Advisor econômico era muito menor do que o tempo gasto para testes.
No entanto esta informação não é 100%, posso mentir, não me lembro.