Nova versão da plataforma MetaTrader 5 build 2450: serviço "Assinaturas", melhorias na interface e recursos amigáveis no MetaEditor

Para adicionar comentários, por favor Faça o login ou registrar
MetaQuotes
Moderador
219132
MetaQuotes  

Na sexta-feira, 22 de maio de 2020, será lançada uma versão atualizada da plataforma MetaTrader 5.


Na atualização estão incluídos apenas componentes de plataforma de 64 bits.

Anunciamos repetidamente que deixaremos de fornecer suporte para versões de 32 bits. A partir da atualização atual, todas as novas versões são lançadas apenas para terminais de 64 bits. A versão mais recente disponível do terminal de 32 bits é a do build 2360.

Se você ainda estiver usando soluções de 32 bits, recomendamos mudar para as versões de 64 bits o mais rápido possível.


Ela contém as seguintes alterações:


  1. Terminal: apresentamos o novo serviço — "Assinaturas". Graças a ele, você poderá facilmente obter serviços adicionais que ajudarão você a negociar. Por exemplo, permite comprar uma assinatura de dados de mercado de alta qualidade vinda de fornecedores conhecidos, para que mais tarde você possa analisar esses dados e desenvolver suas próprias estratégias com base nas deles. Também, é possível encomendar os serviços de um gerente pessoal que o ajudará a aprender o básico da negociação e a entender os meandros da plataforma MetaTrader 5.

    No momento, o serviço está em desenvolvimento ativo e, nas próximas versões da plataforma, você já poderá usá-lo.

    Funcionamento
    No "Navegador" da plataforma agora há uma nova seção — "Assinaturas". Ela exibe os serviços disponíveis. Sua lista depende do servidor ao qual você está conectado — todos eles estão configurados no lado da corretora. Por conveniência, as assinaturas são divididas em categorias.




    Selecione um serviço para visualizar sua descrição detalhada. Em seguida, clique em "Assinar". Por conveniência, todas as suas assinaturas ativas são exibidas numa subseção separada.




    Ao assinar dados de mercado, os instrumentos de negociação correspondentes ficam disponíveis para seleção na "Observação do Mercado". Você também pode trabalhar com eles da mesma maneira que com as ferramentas usuais fornecidas pela sua corretora: observar cotações na “Observação do Mercado”, abrir gráficos e analisá-los usando objetos e indicadores, usar dados para verificar EA no testador de estratégia, etc. A única limitação é que você não pode realizar operações de negociação com esses símbolos.

    Pagamento de assinaturas
    Para pagar pelos serviços, você pode usar o dinheiro da sua conta de negociação. Não há necessidade de mudar para outros sites, tudo é feito automaticamente na plataforma.


    Em breve, você poderá comprar assinaturas de dados de mercado conectando-se ao MetaQuotes-Demo
    Planejamos configurar no nosso servidor demo as assinaturas de os dados de mercado vindos de muitas plataformas de negociação em todo o mundo. Em apenas alguns cliques, você pode obter cotações em tempo real da Nasdaq, CME, NYSE, BOVESPA e muitas outras bolsas para ver seus gráficos, analisar a dinâmica de preços usando objetos e indicadores incorporados e desenvolver suas estratégias. Você pode pagar por assinaturas por meio da sua conta da comunidade MQL5.community — da mesma maneira como é feito para os serviços Mercado, Sinais e Hospedagem.

  2. Terminal: às configurações dos gráficos foi adicionada a opção "Exibir ticker". Ela permite mostrar/ocultar a linha com o nome do instrumento de negociação, período gráfico e comentário do usuário.




  3. Terminal: às configurações do terminal e às configurações do gráfico foi adicionada a opção "Mostrar histórico de negociação". Antigamente, estava disponível a função que permitia exibir suas entradas e saídas do mercado nos gráficos, porém, para usá-la era usada a seção "Ferramentas / Histórico". Agora, a exibição do histórico de transações está configurada de forma mais flexível e amigável. Você pode definir uma configuração para todos os gráficos de uma vez ou defini-la separadamente para cada um.




    Além disso, agora você pode ativar rapidamente a exibição do histórico e dos níveis de negociação no menu de contexto do gráfico:




  4. Terminal: às configurações do gráfico foi adicionada o novo esquema de cores "Cor em branco".




  5. Terminal: ao menu contextual de posições e ordens foram adicionados comandos para abrir rapidamente o livro de ofertas e o gráfico do instrumento em questão:




  6. Terminal: adicionado o destaque da borda do gráfico. Ao trabalhar com muitos gráficos simultaneamente, isso ajudará você a encontrar rapidamente o caminho certo. Selecione o símbolo na Observação do Mercado, a linha da ordem ou a posição na seção de negociação, do histórico ou do alerta, e a borda do gráfico do símbolo correspondente piscará três vezes.




  7. Terminal: aprimorada a exibição de níveis no gráfico.

    • Para não sobrecarregar o gráfico, posições, ordens e níveis não mostram mais tickets.
    • As assinaturas aparecem em maiúsculas para melhor legibilidade.
    • Os volumes não mostram a parte fracionária se ela for zero.
    • Quando a altura da plotagem é menor que 80 pixels, os níveis ficam ocultos.




  8. Agora, no canto superior esquerdo do gráfico, além do nome, é indicada uma descrição do símbolo, se disponível.






  9. Novas colunas foram adicionadas à lista de ordens e posições abertas:

    • Alteração — rentabilidade como uma porcentagem
    • Custo — valor de mercado da posição
    • Identificador do EA — valor indicado pelo EA ao abrir ordens e posições (número mágico)

    Para ativar/desativar novas colunas, use o menu de contexto da seção.




    Colunas do custo de posições e de identificadores de EA também foram adicionadas na seção do histórico de negociação.

    Além disso, na seção de posições abertas e histórico, agora o campo de lucro é destacado, dependendo do resultado da operação.

  10. Terminal: adicionado o suporte para preços negativos. Agora, quando surgirem situações, como a recente queda nos preços do petróleo abaixo de zero, a plataforma funcionará corretamente:

    • Mostrar cotações na Observação do Mercado
    • Mostrar gráficos e livro de ofertas
    • Realizar operações de negociação
    • Calcular lucros e abastecimento, etc.

  11. Terminal: o número máximo de instrumentos que podem estar simultaneamente ativados na Observação do Mercado foi aumentado para 5 000.
  12. Terminal: corrigida a classificação da lista de bate-papos de acordo com a data da última atualização.
  13. Terminal: otimizada e significativamente acelerado o trabalho com um grande número de instrumentos de negociação (50 000 e mais).
  14. Terminal: corrigido um erro que não permitia fechar uma posição cujo volume atual não correspondia à etapa de alteração do volume segundo o símbolo.
  15. MQL5: otimizada e significativamente acelerado o trabalho com o histórico de ticks.
  16. MQL5: adicionadas novas funções para trabalhar com bancos de dados:

    • DatabaseReset — redefine a solicitação ao seu estado inicial, como após uma chamada de DatabasePrepare. A função é destinada à execução repetida de uma solicitação com diferentes valores de parâmetros. Por exemplo, ao adicionar em massa dados a uma tabela usando o comando INSERT, para cada registro, é necessário criar um conjunto próprio de valores para cada campo.
    • DatabaseBind — define o valor do parâmetro na consulta. Esta função deve ser usada caso a consulta SQL contenha os valores parametrizáveis "?" ou"?N", onde N é o número do parâmetro (começando de um).
    • DatabaseBindArray — define a matriz como um valor de parâmetro.

  17. MQL5: adicionado o sinalizador FSD_FILE_MUST_EXIST para a função FileSelectDialog. Ele indica que os arquivos selecionados devem existir.
  18. MQL5: à enumeração ENUM_SYMBOL_INFO_DOUBLE foram adicionados os valores para descrever opções:

    • SYMBOL_PRICE_CHANGE — alteração no preço atual em relação ao final do dia anterior, expresso em porcentagem.
    • SYMBOL_PRICE_VOLATILITY — volatilidade dos preços como porcentagem.
    • SYMBOL_PRICE_THEORETICAL — preço teórico da opção.
    • SYMBOL_PRICE_DELTA — delta da opção/garantia. Mostra quanto o preço da opção muda em unidades quando o preço do ativo subjacente mudar 1 unidade.
    • SYMBOL_PRICE_THETA — teta da opção/garantia. O número de pontos que o preço da opção perderá cada dia devido a deterioração temporária, ou seja, quando a data de vencimento se aproxima.
    • SYMBOL_PRICE_GAMMA — gama da opção/garantia. Mostra a taxa de alteração de delta, isto é, exibe com que rapidez ou lentidão muda o prêmio da opção.
    • SYMBOL_PRICE_VEGA — vega da opção/garantia. Mostra o número de pontos que mudará o preço da opção quando a volatilidade mudar 1%.
    • SYMBOL_PRICE_RHO — rô da opção/garantia. Reflete a sensibilidade do preço teórico da opção a variações de 1% da taxa de juros.
    • SYMBOL_PRICE_OMEGA — omega da opção/garantia. A elasticidade da opção é a variação percentual no preço da opção em relação à variação percentual no preço do ativo subjacente.
    • SYMBOL_PRICE_SENSITIVITY — sensibilidade da opção/garantia. Mostra quantos pontos deve mudar o preço do ativo subjacente da opção para que o preço da opção mude um ponto.

  19. MQL5: à função DatabaseExport foi adicionada a exportação de campos BLOB em formato HEX.
  20. MQL5: à enumeração ENUM_CHART_PROPERTY_INTEGER foi adicionada a propriedade CHART_SHOW_TICKER — exibição no canto superior esquerdo do ticker de símbolo. Se definido CHART_SHOW_TICKER com o valor false, simultaneamente também é definido CHART_SHOW_OHLC como false e desativa a exibição de OHLC.   
  21. MQL5: aprimorada a qualidade do código gerado pelo compilador. Isso aumento sua velocidade de execução.
  22. MQL5: corrigidos vários erros ao compilar e executar funções e classes de modelo. Em particular:

    • Erro de incompatibilidade de prioridade para chamadas de função de modelo sobrecarregadas
    • Erro ao gerar método/classe de modelo
    • Erro ao tentar acessar a internal class para o parâmetro de modelo da função de modelo
    • Erro ao gerar o código da classe de modelo ao usar internal class
    • Erro ao usar o objeto de modelo B<int> antes de B<void*>
    • Erro ao criar objetos complexos agrupados várias vezes com o tipo interno "C"
    • Erro ao transferir como const ref template o argumento do ponteiro para a função
    • Erro ao passar estrutura internal struct para a função de modelo
    • Erro de incompatibilidade de prioridades de execução de funções de modelo
    • Contagem incorreta de parênteses nos ciclos for e do-while
    • Contagem incorreta de colchetes na descrição da estrutura da classe
    • Trabalho lento ao adicionar um elemento de cada vez usando ArrayResize
    • Erro ao escolher a função sobrecarregada adequada

  23. MQL5: corrigido um erro que aparecia em alguns casos na função CustomTicksReplace.
  24. MQL5: corrigida a escolha do período para exibição do histórico de ordens de negociação. Agora, ao especificar um intervalo, é usada a data de execução da ordem, e não, a data de criação, como era antes.
  25. Python: ao método initialize adicionado o parâmetro path — caminho para o arquivo metatrader.exe ou metatrader64.exe. Se o caminho não for especificado, o módulo tentará encontrar arquivo executável por conta própria.
  26. Python: adicionados novos métodos:

    • symbols_get — obtém todos os instrumentos financeiros do terminal MetaTrader 5.
    • symbols_total — obtém o número total de instrumentos financeiros no terminal MetaTrader 5.

  27. Python: adicionada a filtragem por grupos de símbolos para a função orders_get, positions_get, history_orders_get e history_deals_get. Use formulários de chamada com o parâmetro "group".
  28. Python: no valor retornado order_send e order_check agora é passada a descrição completa da solicitação inicial — no campo "request". Por exemplo:
    ...
    comment=Request executed
    request_id=55
    retcode_external=0
    request=TradeRequest(action=1, magic=234000, order=0, symbol='USDJPY', volume=0.1, price=108.018, stoplimit=0.0, ...
        traderequest: action=1
        traderequest: magic=234000
        traderequest: order=0
        traderequest: symbol=USDJPY
        traderequest: volume=0.1
        traderequest: price=108.018
        traderequest: stoplimit=0.0
    ...
  29. Python: agora os scripts Python, quando iniciados num gráfico, recebem como argumento o nome do símbolo e o período desse gráfico em minutos.
    import sys
    
    chart_symbol='unknown'
    chart_tf=1
    
    if len(sys.argv) == 3:
        chart_symbol, chart_tf = sys.argv[1:3];
    
    print("Hello world from", chart_symbol, chart_tf)
    
    >> Hello world from T.NYSE 15
  30. MetaEditor: adicionado o comando "Adicionar pasta existente". Ele permite adicionar massivamente ao projeto todos os arquivos suportados desde o diretório selecionado.




  31. MetaEditor: pesquisa e substituição avançadas.

    Adicionada pesquisa avançada com suporte parcial a expressões regulares. Use \r, \n, \t para especificar na consultas de pesquisa símbolos, quebras de linha e tabulações. As caixas de diálogo Pesquisar e Substituir estão combinadas numa só com várias guias.




    Adicionada uma guia separada para pesquisar comunidades de programadores. Entre eles, agora pode ser encontrada não apenas a MQL5.community, mas também o GitHub, MSDN e Stack Overflow.




    Os resultados da pesquisa de recursos externos também são convenientemente exibidos na janela da ferramenta do MetaEditor:




    No caso do GitHub, imediatamente podem ser baixados arquivos fonte. O carregamento é realizado num subdiretório separado da pasta "Projetos", nomeado de acordo com o nome do projeto no GitHub.

    Além disso, na janela de resultados da pesquisa é possível classificá-los por data.

  32. MetaEditor: adicionada a capacidade de alterar rapidamente o tamanho da fonte na janela de edição de código. Para fazer isso, mantenha pressionada a tecla "Ctrl" e role a roda do mouse.
  33. MetaEditor: adicionada a capacidade de importar tabelas de arquivos CSV para tabelas de banco de dados. Ao importar, você pode definir os parâmetros:

    • Nome da tabela no banco de dados
    • Detecção automática ou manual de codificação de arquivo
    • Tipo de separador de dados
    • Pular um certo número de linhas no início
    • Prefixo de comentários
    • Presença de nomes de colunas no arquivo
    • Como serão determinadas as quebras de linha
    • Adicionar dados a uma nova tabela ou a uma existente
    • Quais aspas usar para strings




  34. MetaEditor: adicionados comandos para inserir rapidamente tempo e cor no código fonte dos programas. Agora, basta selecioná-los no calendário e na paleta interativos, respectivamente, e o editor os inserirá no código usando o formato desejado.





  35. MetaEditor: interrompido o suporte a MQL4, pois agora é gerado apenas código de 64 bits.
  36. MetaEditor: corrigido o trabalho do trecho de código "Class".
  37. MetaEditor: corrigido o suporte de caminhos absolutos nos projetos.
  38. Documentação atualizada.

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

dy_souza
281
dy_souza  
Que maravilha, vou testar!
BetiD
57
BetiD  
Estou com problemas para efetuar backtest utilizando o MQL5 Cloud. Toda vez que vai passar ele chega até uma interação a menos que o total que para e mesmo deixando horas não vai adiante. Já tentei limpar arquivos do diretório Tester, reiniciar, testar outros Robôs, sempre é a mesma coisa. Meu backtest começa, passa rapidamente por 499 testes se são 500, e fica parado ali e não consigo mais ir adiante. Como solucionar esse problema?
Enthony Oliveira Ferreira
80
Enthony Oliveira Ferreira  
Interessante
Marcio Sales Santana
695
Marcio Sales Santana  

Depois da atualização de 04/06/2020 está apresentando erro interno na compilação: "Internal compiler error" este exemplo; https://www.mql5.com/pt/articles/3366

Interfaces Gráficas XI: Controles renderizados (build 14.2)
Interfaces Gráficas XI: Controles renderizados (build 14.2)
  • www.mql5.com
Na versão atualizada da biblioteca, todos os seus controles serão desenhados em objetos gráficos separados do tipo OBJ_BITMAP_LABEL. Além disso, continuaremos a descrever a otimização generalizada do código da biblioteca. Esta descrição foi iniciada no artigo anterior. Agora, vamos considerar as mudanças nas classes principais da biblioteca. A...
Para adicionar comentários, por favor Faça o login ou registrar