Compilação de programas MQL5 com conjunto de instruções AVX / AVX2 + FMA3 / AVX512 + FMA3 do build 3902
Posso obter algumas explicações/comentários dos desenvolvedores sobre a operação do MT5 em processadores com núcleos "energeticamente eficientes"?
As pessoas geralmente se interessam pelo trabalho de testador, mas eu estou mais interessado apenas no trabalho com o MT5 com muitos EAs em execução (e "multi EAs" - muitos EAs independentes em um só).
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Stanislav Korotky, 2023.08.26 21:09
Tudo isso é adivinhação de borra de café. A MQ deveria fornecer seu próprio benchmark (um programa como PCMark, CineBench, Geekbench, etc.) - como o MetaTraderBench. As perguntas sobre o desempenho da CPU/GPU, gráficos, manuseio de disco etc. em tarefas de aplicativos seriam eliminadas. Seria mais fácil escolher uma configuração de PC para MT.Infelizmente, não existe um Bench.
permitem que você gere códigos mais eficientes e mais rápidos.
Podemos obter algum esclarecimento/comentário dos desenvolvedores sobre a execução do MT5 em processadores com núcleos "eficientes em termos de energia"?
As pessoas geralmente estão interessadas no trabalho de testador, mas eu estou mais interessado apenas no trabalho com o MT5 com muitos EAs em execução (e "multi EAs" - muitos EAs independentes em um só).
Nossos testes mostraram:
- Mudar do compilador MSVC para o Clang/LLVM dá um aumento geral de até 25% - um crescimento tão monstruoso que o Google sobre o Chrome constrói de forma semelhante
É por isso que o MetaTrader 5 foi construído em Clang por um longo tempo. - O uso do AVX na plataforma dá um aumento sério, sem especificar porcentagens
É por isso que temos dois conjuntos de terminais de clientes: a versão desatualizada NoAVX no MSVC para processadores antigos e AVX no Clang para os modernos.
O instalador determina automaticamente qual versão colocar. Livapdate também. - Nossa pesquisa mais recente mostra que o AVX2 + FMA3 oferece uma melhoria em relação ao AVX
O FMA3 ajuda na matemática vetorial, o que deve funcionar bem para nossa classe de problemas.
Em breve lançaremos o terceiro conjunto de programas com o AVX2. Na próxima atualização, o próprio terminal selecionará a nova versão de forma transparente.
O trabalho com kernels P/E depende inteiramente do Windows Scheduler e mesmo o Intel Thread Director (extensão do Thread Manager) não é totalmente eficiente na atribuição de tarefas por importância. Há vários casos limítrofes em que o despachante é ineficaz ou questionável.
A tentativa de usar a máscara de afinidade no caso geral só piora as coisas. Especialmente quando o aplicativo está sendo executado em uma máquina virtual.
Você pode usar a máscara de afinidade somente em casos especiais de otimização rigorosa de um aplicativo específico.
As recomendações gerais sobre processadores são simples: mais núcleos, maior frequência, mais caches L1/L2, RAM de alta velocidade suficiente e discos NVME.
Agora, os processadores de consumo ultrapassaram com confiança o limite de 5 gigahertz. Por exemplo, o Ryzen 7950X por US$ 600 com 32 threads é facilmente executado em carga total a 4,5 - 5,0 gigahertz em cada núcleo e produz resultados surpreendentes.
Renat Fatkhullin #:
O instalador detecta automaticamente a versão a ser instalada. O Livapdate também.
Eu atualizo todos os terminais copiando três arquivos exe (terminal, testador, editor). As pessoas mantêm as versões anteriores na mesma forma - esses três arquivos.
Agora afirmam que eles podem ser diferentes em uma mesma compilação. E, consequentemente, têm desempenho diferente.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Como começar a usar o MT5, resumo!
Fernando Carreiro, 01.09.2023 12:43 pm.
Como isso afetará os produtos do Market no futuro?
Presumo que o processo de validação exigirá que o produto seja compilado sem ele para garantir o menor denominador comum.
Eu atualizo todos os terminais copiando três arquivos exe (terminal, testador, editor). As pessoas mantêm as versões anteriores na mesma forma - esses três arquivos.
Agora afirmam que eles podem ser diferentes em uma mesma compilação. E, consequentemente, têm desempenho diferente.
Exatamente - veja a presença do AVX no banner de descrição do computador ao iniciar o terminal.
Recomendamos não bloquear as atualizações, pois logo os terminais pararão com um aviso na inicialização após detectar o bloqueio.
Vários farms estão sendo constantemente banidos devido a:
- bloquear atualizações e bombear centenas de gigabytes de atualizações durante reinicializações constantes, sobrecarregando nossa infraestrutura
- apagar todos os caches no início do terminal e criar uma carga nos servidores de corretores
- reiniciar os terminais em todos os tipos de dockers/contêineres/etd com um ambiente simples dezenas de milhares de vezes por dia.
Em vez de reclamar, eles precisam virar a cabeça e pensar naqueles que os atendem. "Tenho um disco de 5 GB, estou economizando dinheiro e o tráfego é gratuito para mim" não incomoda muito se resultar no desperdício de recursos de um provedor de tecnologia ou de um corretor.
Somente programas compilados no modo "x64 Regular" serão aceitos no mercado.
É muito provável que, no futuro, ampliemos as possibilidades do mercado.
O lançamento do MT5 está programado para sexta-feira da próxima semana. Por isso, pedimos que você teste os novos modos mais ativamente.
Você está negociando em compilações com bugs? Acho que você está longe da prática do comércio de algo.
Portanto, não atualize para betas no proda.
As versões são lançadas a cada 3 meses. E os agricultores malvados, que não atualizam, ficam sentados em versões desatualizadas por um ano ou mais - eles não se importam com a negociação. Eles têm uma abordagem puramente utilitária: "Já fiz minha tarefa, não me importo com o resto".
Escrevo especificamente sobre casos ruins, pois seus proprietários certamente leem este fórum - minhas explicações são para eles.
- 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
Na próxima versão beta, lançamos a capacidade de compilar programas MQL5 usando o conjunto estendido de instruções AVX / AVX2 + FMA3 / AVX512 + FMA3.
Elas permitem que você gere códigos mais eficientes e mais rápidos.
Você pode definir configurações gerais para programas individuais e configurações pessoais para projetos:
Participe dos testes fazendo o download da versão beta do servidor MetaQuotes-Demo ou atualize-a por meio da seção do menu "Ajuda".