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
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.
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.
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.
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
Corrigida a exibição da lista de assinaturas se não houver conexão com a conta de negociação.
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.
Corrigidas as conexões desde a função WebRequest para hosts com endereços IPv6 e proteção Cloudflare.
Aprimoradas funcionalidade e capacidade de resposta do Serviço VPS.
Aprimorado o trabalho da plataforma com o Wine e MacOS/Crossover, incluindo versões para macOS Big Sur com processador M1.
MQL5
Corrigido um erro na função ArrayPrint. Anteriormente, em alguns casos, a função não podia exibir a matriz.
Otimizadas operações de arquivo realizadas usando funções File*. Agora, ler e gravar arquivos é muito mais rápido.
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[ ][ ][ ][ ])
{
}
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
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.
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".
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.
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)