MetaTrader 5 build 2815: Acesso ao livro de ofertas desde Python, melhorias no depurador e no criador de perfil

O Gerenciador de Tarefas é um sistema de monitoramento dos recursos consumidos pela plataforma. Ele permite ver quanta memória consomem os gráficos, quantos recursos do processador são usados pelos EAs, etc. Se algo está diminuindo a velocidade de sua plataforma, você pode detectar e corrigir o problema facilmente

26 fevereiro 2021

Terminal

  1. Adicionado um recurso para obter dados do livro de ofertas através do Python API.
    Três novos recursos permitem que obter dados de forma rápida e fácil para computação estatística e aprendizado de máquina usando um grande número de bibliotecas Python prontas.
    • market_book_add — assina do terminal MetaTrader 5 para receber eventos sobre mudanças no livro de ofertas para o símbolo especificado.
    • market_book_get — retorna uma tupla desde BookInfo contendo os registros do livro de ofertas para o símbolo especificado.
    • market_book_release — cancela a assinatura do terminal MetaTrader 5 para receber eventos sobre alterações no livro de ofertas para o símbolo especificado.

  2. O comprimento máximo das mensagens push foi aumentado de 256 para 1024 caracteres. Agora você pode enviar muitas mais informações sobre dispositivos móveis desde seus programas MQL5.
  3. Adicionada uma versão preliminar do "Gerenciador de Tarefas" chamado pressionando a tecla F2.
    O Gerenciador de Tarefas é um sistema de monitoramento dos recursos consumidos pela plataforma. Ele permite ver quanta memória consomem os gráficos, quantos recursos do processador são usados pelos EAs, etc. Se algo está diminuindo a velocidade de sua plataforma, você pode detectar e corrigir o problema facilmente.



  4. Aprimorado o serviço "Assinaturas". Para instrumentos de negociação cujos dados são transmitidos com atraso, foi adicionada uma indicação especial:
    • Os símbolos na "Observação do Mercado" são marcados com um ícone de relógio, uma dica de ferramenta exibe o valor do atraso
    • Nos gráficos é exibida uma notificação sobre o atraso dos dados



  5. Corrigida a exibição da lista de assinaturas se não houver conexão com a conta de negociação.
  6. Corrigido o trabalho de links em e-mails e notícias. Eles agora abrem no navegador padrão. Anteriormente, apenas o Internet Explorer era usado para fazer isso.
  7. Corrigidas as conexões desde a função WebRequest para hosts com endereços IPv6 e proteção Cloudflare.
  8. Aprimoradas funcionalidade e capacidade de resposta do Serviço VPS.
  9. Aprimorado o trabalho da plataforma com o Wine e MacOS/Crossover, incluindo versões para macOS Big Sur com processador M1.

MQL5

  1. Corrigido um erro na função ArrayPrint. Anteriormente, em alguns casos, a função não podia exibir a matriz.
  2. Otimizadas operações de arquivo realizadas usando funções File*. Agora, ler e gravar arquivos é muito mais rápido.
  3. Removida a restrição que exigia a especificação do tamanho da segunda, terceira e quarta dimensões de um array dinâmico quando ele era usado como um parâmetro de função. Isso aumentará a capacidade de reutilização e a flexibilidade do código.
    void func(int &arr[ ][ ][ ][ ])
      {
      }
  4.  Corrigido erro na função ArrayBsearch. Ao realizar uma pesquisa binária por um valor em um array classificado, a função pode retornar incorretamente o índice do elemento encontrado.

MetaEditor

  1. Continua o trabalho com a atualização global do depurador.
    • Ao exibir arrays na janela de observação, é levada em consideração sua classificação, especificada pela função ArraySetAsSeries.
    • Adicionado suporte para variáveis estáticas locais.
    • Corrigida a exibição do valor do elemento do array especificado.
    • Corrigido o processamento de campos estáticos de classes.
    • Muitas outras correções para uma depuração mais precisa e confiável.

  2. Adicionada a opção "Habilitar otimização ao criar perfis".
    Para aumentar a granularidade do relatório de criação de perfil, você pode desativar o modo de otimização de código. Sem otimização, a velocidade do código pode cair várias vezes, mas em troca você pode ver uma cobertura de código mais ampla. Ao usar, esteja ciente de que gargalos de código serão imprecisos.
    Se você precisar de um modo de criação de perfil mais suave, desative a opção "Usar inlining ao criar perfil".




    A capacidade de gerenciar a otimização de código também está nas configurações do projeto.
    • Se a otimização estiver desabilitada no projeto, a nova opção será ignorada - a otimização está sempre desabilitada para criação de perfil (incluindo inlining).
    • Se a otimização estiver habilitada no projeto, a nova opção será levada em consideração na compilação para a criação de perfil.

  3. Adicionado registro para depuração e criação de perfil. Na inicialização, os parâmetros do ambiente são exibidos no log, já no desligamento, as estatísticas sobre os dados coletados.
    MQL5 profiler    starting 'ExpertMACD.ex5' on history with parameters:
    MQL5 profiler       symbol: 'EURUSD'
    MQL5 profiler       period: 'H1'
    MQL5 profiler       date from: '2021.01.01'
    MQL5 profiler       date to: '2021.02.22'
    MQL5 profiler       ticks mode: 'every tick'
    MQL5 profiler       execution delay: 0 ms
    MQL5 profiler       deposit: 10000
    MQL5 profiler       currency: 'USD'
    MQL5 profiler       leverage: 1:100
    MQL5 profiler       profit in pips: NO
    MQL5 profiler    profile data received (4640 bytes)
    MQL5 profiler    758 total measurements, 0/0 errors, 470 kb of stack memory analyzed
    MQL5 profiler    7782 total function frames found (1929 mql5 code, 342 built-in, 1403 other, 4108 system)

Tester

  1. Corrigida a configuração de horário não comercial nas configurações de teste avançadas.
Documentação atualizada.