Nova versão da plataforma MetaTrader 5 build 4230: mais complementos embutidos e suporte expandido para ONNX

 

Na quinta-feira, 7 de março de 2024, será lançada uma versão atualizada da plataforma MetaTrader 5.

A nova versão inclui 28 novos robôs e 12 indicadores técnicos como padrão. Eles ajudarão no aprendizado da linguagem MQL5, bem como no desenvolvimento de suas próprias estratégias de negociação. Além disso, melhoramos a exibição dos requisitos de margem nas especificações do instrumento. Agora é possível desligar automaticamente a plataforma quando o script termina de ser executado usando arquivos de configuração. Isso permite que você execute várias tarefas ocasionais sem usar recursos extras do computador.

Acrescentamos funções adicionais ao MQL5 para trabalhar com modelos de aprendizado de máquina ONNX. Eles permitem que você insira parâmetros como Float16 e Float8 na entrada do modelo.

Nova versão da plataforma MetaTrader 5 build 4230: mais complementos embutidos e suporte expandido para ONNX


Melhoramos a pesquisa embutida no MetaEditor. Os resultados da pesquisa online e local agora são exibidos em guias diferentes para melhorar a experiência. Além disso, disponibilizamos uma ferramenta para pesquisa do conteúdo do recém-lançado livro “Programação MQL5 para Traders”.


Terminal Cliente MetaTrader 5

  1. Terminal: 28 novos experts e 12 novos indicadores foram adicionados ao pacote padrão da plataforma. Os complementos estão disponíveis nas seções “Expert Advisors\Free Robots” e “Indicadores\Free Indicators” do Navegador. Cada um deles vem com seu código-fonte e comentários detalhados, o que o ajudará no aprendizado da linguagem MQL5.

    Os robôs implementam estratégias de negociação baseadas em indicadores técnicos e padrões de velas, como 3 Black Crows – 3 White Soldiers, Bullish Engulfing – Bearish Engulfing, Bullish Harami – Bearish Harami e outros. Aqui os novos indicadores são a implementação de canais populares: Camarilla, DeMark, Donchian, Fibonacci, Keltner e outros.


    Adicionados 28 novos experts e 12 novos indicadores ao pacote padrão da plataforma


  2. Terminal: estão em andamento os preparativos para o lançamento de assinaturas de dados de mercado Nasdaq. Diretamente da plataforma, os traders poderão acessar cotações em tempo real e histórico profundo de preços para centenas de instrumentos financeiros de uma das maiores bolsas. Para fazer isso, você só precisa de uma conta demo no servidor MetaQuotes-Demo e de uma conta MQL5.community.


    Assine os dados de mercado da Nasdaq


    Depois de assinar, basta adicionar as ferramentas desejadas à Observação do Mercado e começar. Você poderá abrir gráficos com elas, analisá-los com quaisquer objetos e indicadores, além de usar os dados para verificar as estratégias de negociação no testador. O acesso a todas as informações é feito normalmente, como acontece com os instrumentos financeiros comuns com os quais você trabalha com uma corretora.

  3. Terminal: melhorada a seção de margem na especificação do instrumento. Agora mostra os índices de margem para cada tipo de instrumento e os valores finais da margem calculada.


    Seção de margem na especificação do instrumento foi melhorada


    Os erros na exibição de margens para alguns tipos de instrumentos também foram corrigidos.

  4. Terminal: adicionado um link para canal MQL5 Telegram no menu “Ajuda”. O canal publica regularmente materiais interessantes para desenvolvedores: análises de novos artigos sobre programação e robôs e indicadores gratuitos da biblioteca de códigos. Inscreva-se no canal para não perder informações importantes.


    Adicionado um link para o canal MQL5 Telegram no menu “Ajuda”


  5. Terminal: adicionado suporte para o parâmetro ShutdownTerminal na seção [StartUp] dos arquivos de configuração do usuário. Use esta opção para iniciar a plataforma e executar tarefas ocasionais usando scripts. Por exemplo, você tem um script que faz uma captura de tela de um gráfico. Você cria um arquivo de configuração que executa esse script junto com a plataforma. Se você adicionar ShutdownTerminal a ele com o valor “Sim”, a plataforma será encerrada automaticamente imediatamente após a conclusão do script.
  6. Terminal: reforçada a proteção dos protocolos e produtos de rede no Mercado.
  7. Terminal: desativado o suporte ao serviço “Sinais” para contas demo. Para obter estatísticas estendidas sobre suas contas de prática, use o novo relatório de negociação. Ele mostra diversos indicadores sobre a rentabilidade e o risco de sua estratégia, contém gráficos de crescimento, saldo e patrimônio, gráficos de distribuição de operações por direção e instrumentos e muito mais.
  8. Terminal: corrigida exibição de links para contratos de corretagem no menu Ajuda.
  9. Terminal: melhor seleção do melhor servidor ao alugar um VPS.
  10. Terminal: corrigida a atualização da página de assinaturas ao alternar entre seções no Navegador.
  11. Terminal: corrigida a atualização da lista de contratos ao abrir uma conta preliminar.
  12. Terminal: atualizadas as traduções da interface do usuário.
  13. MQL5: adicionada a propriedade MQL_STARTED_FROM_CONFIG à enumeração ENUM_MQL_INFO_INTEGER. Retorna verdadeiro se o script/expert foi iniciado na seção StartUp do arquivo de configuração. Isso significa que este script/expert foi registrado no arquivo de configuração com o qual o terminal foi iniciado.
  14. MQL5: continuamos expandindo o suporte aos modelos ONNX.

    As tarefas de aprendizado de máquina nem sempre exigem maior precisão computacional. Para agilizar os cálculos, alguns modelos utilizam tipos de dados com menor precisão, como Float16 e até Float8. Adicionadas ao MQL5 as seguintes funções para os usuários fonecerem dados como entrada do modelo:
    bool ArrayToFP16(ushort &dst_array[],const float &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP16(ushort &dst_array[],const double &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const float &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const double &src_array[],ENUM_FLOAT8_FORMAT fmt);
    
    bool ArrayFromFP16(float &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP16(double &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP8(float &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayFromFP8(double &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    Como os formatos de números reais para 16 e 8 bits podem ser diferentes, o parâmetro fmt nas funções de conversão deve indicar qual formato de número precisa ser processado. Para versões de 16 bits, é utilizada a nova enumeração NUM_FLOAT16_FORMAT, que atualmente possui os seguintes valores:


    Para versões de 8 bits, é utilizada uma nova enumeração, ENUM_FLOAT8_FORMAT, que atualmente possui os seguintes valores:

    • FLOAT_FP8_E4M3FN é um número de ponto flutuante de 8 bits, 4 bits de expoente e 3 bits de mantissa. Normalmente usado como coeficientes.
    • FLOAT_FP8_E4M3FNUZ é um número de ponto flutuante de 8 bits, 4 bits de expoente e 3 bits de mantissa. Suporta NaN, zero negativo e Inf não são suportados. Normalmente usado como coeficientes.
    • FLOAT_FP8_E5M2FN é um número de ponto flutuante de 8 bits, 5 bits de expoente e 2 bits de mantissa. Suporta NaN e Inf. Normalmente usado para gradientes.
    • FLOAT_FP8_E5M2FNUZ é um número de ponto flutuante de 8 bits, 5 bits de expoente e 2 bits de mantissa. Suporta NaN e Inf, não suporta zero negativo. Também usado para gradientes.

  15. MQL5: adicionados novos métodos matriciais e vetoriais usados ​​no aprendizado de máquina:

    • PrecisionRecall calcula valores para construir uma curva de recuperação de precisão. Este método, assim como o método ClassificationScore, é aplicado a um vetor de valores verdadeiros.
    • ReceiverOperatingCharacteristic calcula valores para traçar a curva Receiver Operating Characteristic (ROC). Este método, assim como o método ClassificationScore, é aplicado a um vetor de valores verdadeiros.

  16. MQL5: atualizado o ONNX Runtime para a versão 1.17. Os detalhes da versão estão disponíveis no GitHub.
  17. MQL5: atualizado o pacote de integração Python para a versão 5.0.4200, adicionando suporte para Python 3.12. Atualize seu pacote com "pip install --upgrade MetaTrader5" para obter as alterações mais recentes.
  18. MQL5: adicionado o valor DEAL_REASON_CORPORATE_ACTION à enumeração ENUM_DEAL_REASON - operação realizada como resultado de uma ação corporativa: fusão ou renomeação de um título, transferência de um cliente para outra conta, etc.
  19. MQL5: adicionado suporte para comparação de vetores e matrizes complexos para o método Compare. A comparação envolve estimar a distância entre números complexos. A distância é calculada usando a seguinte fórmula sqrt(pow(r1-r2, 2) + pow(i1-i2, 2)) e é um número real que já pode ser comparado com épsilon.
  20. MQL5: corrigida a conversão de variáveis ​​de tipo de cor para texto no formato RGB.
  21. MQL5: corrigido o retorno do resultado da obtenção de autovetores no método Eig no caso de autovalor complexo. Adicionada sobrecarga de método para soluções complexas.
  22. MQL5: corrigido o funcionamento da função OrderCalcMargin em alguns casos.
  23. MetaEditor: adicionado um link para o recém-publicado livro “Programação MQL5 para Traders” no menu Help\MQL5.community. O livro também foi adicionado ao sistema de busca, você pode encontrar conteúdo específico nele diretamente no MetaEditor:


    Adicionada função de pesquisa para o livro “Programação MQL5 para Traders”



  24. MetaEditor: aprimorada pesquisa integrada:

    • A seção de resultados da pesquisa da janela Ferramentas é dividida em duas guias: “Pesquisa” – para resultados de pesquisa online (documentação, artigos, livros, etc.), “Pesquisa em arquivos” – para resultados locais.
    • Uma string de pesquisa separada foi adicionada à seção de resultados. Você pode usá-la em vez da barra de pesquisa na barra de ferramentas principal do MetaEditor.

  25. MetaEditor: adicionado suporte para os modos AVX, AVX2 e AVX512 ao compilar programas de linha de comando. Para fazer isso, adicione uma das chaves ao comando: /avx, /avx2 ou /avx512.
  26. MetaEditor: atualizado para a versão 3.45 o mecanismo SQLite para trabalhar com bancos de dados.
  27. MetaEditor: desativado o suporte do Internet Explorer. Agora, apenas Microsoft Edge WebView2 é usado para exibir páginas HTML. Comparado ao MSHTML legado, o novo componente expande significativamente as capacidades de exibição de conteúdo da web, fornecendo acesso a tecnologias modernas. Mudar para WebView2 melhorará a aparência de algumas seções do MetaEditor, aumentará seu desempenho e criará interfaces mais responsivas.
  28. MetaEditor: corrigido um travamento que ocorria em casos raros durante o preenchimento automático de funções.
  29. Testador: corrigido o cálculo do swap triplo caso o dia de início do teste caia no dia do swap triplo.
  30. Correções de log de falhas.

Terminal Web MetaTrader 5

  • Exibição aprimorada dos requisitos de margem nas especificações do contrato. Agora, além dos coeficientes e parâmetros iniciais para cálculo, é exibido o valor da margem final. Se o valor da margem depender do volume da posição, os níveis correspondentes serão mostrados na caixa de diálogo.


    Exibição aprimorada dos requisitos de margem nas especificações do contrato


    A margem é calculada levando em consideração o preço do instrumento no momento da abertura da janela de especificação e não muda em tempo real. Dessa forma, os valores devem ser tomados apenas como indicativos. Para recalcular os valores a preços atuais, reabra a especificação do instrumento.


A atualização estará disponível através do sistema Live Update.