O que há de novo no MetaTrader 5?

Histórico de atualizações das plataformas desktop, móvel e web

11 fevereiro 2022
MetaTrader 5 build 3210: adicionamos novos métodos de matrizes e controle de valor mínimo/máximo de indicador

MQL5

  1. Adicionadas as funções Min, Max, ArgMin, ArgMax e Sum para vetores e matrizes, que permitem encontrar valores mínimos e máximos, índices e soma correspondentes.
  2. Adicionado suporte para métodos Flat para matrizes. Isto permite que um elemento matricial seja endereçado através de um único índice, e não através de dois.
    double matrix::Flat(ulong index) const;      // getter
    void matrix::Flat(ulong index,double value); // setter

    Pseudocódigo para calcular o endereço de um elemento da matriz:

    ulong row=index / mat.Cols();
    ulong col=index % mat.Cols();
    
    mat[row,col]

    Por exemplo, para uma matriz matrix mat(3,3) o acesso aos elementos pode ser registrado assim:

      para leitura —  x=mat.Flat(4), o que corresponde à expressão x=mat[1][1]
      para registro —  mat.Flat(5, 42), o que corresponde à expressão mat[1][2]=42

    Caso seja chamada uma função com um índice de matriz inválido, será gerado um erro crítico de
    execução - OutOfRange.
  3. Melhorada a formatação de números fracionários nos parâmetros de entrada MQL5 do programa. Quando eram lidos alguns números reais, nos parâmetros de entrada eram substituídos números com mais zeros, por exemplo, 0,4 era representado como 0.400000000002.
  4. Corrigidos bugs da biblioteca matemática Math\Stat\Math.mqh. Além disso, foi modificada a função MathSample desta biblioteca para corresponder ao comportamento clássico do mesmo tipo de bibliotecas matemáticas quando da amostragem com retorno.
  5. Corrigido um bug ao usar CopyTicks/CopyTicksRange, este erro fazia com que os dados desatualizados fossem dados à meia-noite para aqueles casos em que não eram recebidos ticks do instrumento.
  6. Acrescentados os novos valores INDICADOR_FIXED_MINIMUM e INDICADOR_FIXED_MAXIMUM à enumeração ENUM_CUSTOMIND_PROPERTY_INTEGER.
    Estas propriedades são utilizadas para habilitar/desabilitar a fixação dos valores mínimos e máximos do indicador através da função IndicatorSetInteger. Ao chamar IndicatorSetInteger(INDICATOR_FIXED_MINIMUM/INDICATOR_FIXED_MAXIMUM, true) é usado o valor mínimo/máximo atual, respectivamente.



Tester

  1. Alterado o algoritmo de cálculo Sharpe Ratio, agora é calculado da maneira clássica e seu valor é reduzido ao intervalo anual. O algoritmo anterior se baseava no PnL (spread of profits and losses), mas não levava em conta as flutuações do capital líquido em posições abertas. Agora são levados em conta os altos e baixos do capital líquido, e o valor do próprio índice de Sharpe é tratado classicamente:
    •  Sharpe Ratio < 0              Estratégia não lucrativa, não é boa.  Ruim.
    •  0 < Sharpe Ratio  < 1.0    Risco não compensa. Tais estratégias podem ser tomadas para operar se não houver alternativas.  Incerto.
    • Sharpe Ratio ≥ 1.0            Caso o índice de Sharpe seja maior que um, o risco está compensando, a carteira/estratégia está funcionando. Bom.
    • Sharpe Ratio ≥ 3.0            Um número alto indica que a probabilidade de ocorrência de uma perda em qualquer negócio em particular é muito baixa. Muito bom

Terminal

  1. Otimizado o consumo de memória do terminal.
  2. Aprimorado o funcionamento do subsistema de rede para melhorar o desempenho e reduzir a latência da rede.
  3. Removida a exibição do zero da grade no indicador quando a renderização da grade estiver desativada.


28 janeiro 2022
MetaTrader 5 build 3180: Vetores e matrizes em MQL5 e uso mais prático

Terminal

  1. Adicionada a ativação da janela do gráfico ao soltar nela quer seja um símbolo desde a "Observação do mercado" ou uma operação de negociação desde o histórico da conta.

    Ambas as ações alteram o símbolo do gráfico para o selecionado. Anteriormente, isso não causava que a janela do gráfico ficasse ativa. Assim, algumas ações adicionais, como chamar a caixa de diálogo de negociação (F9) ou alterar a escala (+/-) usando teclas de atalho, podem ser aplicadas inesperadamente a outro gráfico para o usuário. Agora, após arrastar o gráfico do símbolo alterado, este fica imediatamente selecionado.

  2. Adicionada a abertura de uma nova janela de ordem ao clicar duas vezes em uma operação no histórico da conta. O instrumento financeiro da operação em que você clicou é imediatamente substituído na caixa de diálogo, permitindo negociar mais rapidamente. Um comando semelhante foi adicionado ao menu de contexto.




  3. Adicionada a inclusão inteligente de volumes reais ou de ticks ao abrir novos gráficos. Esses dados são importantes na hora de analisar o mercado, porém, nem todos os traders estão cientes de sua disponibilidade na plataforma.

    A prioridade é dada aos volumes reais de negociação. Se forem fornecidos por uma corretora, sua exibição será habilitada no gráfico. Caso contrário, será habilitada a exibição de volumes de ticks.

    O mecanismo é usado apenas se o gráfico for aberto como modelo default.tpl. Se o usuário desabilitar manualmente a exibição de volumes nas configurações do gráfico, ele não será habilitado novamente quando for reaberto. Os modelos personalizados não são afetados.

  4. Corrigida e significativamente acelerada a exibição da interface do usuário.
  5. Aprimorada a função de impressão de gráfico, chamada através do menu "Arquivo":
    • Corrigido o salvamento das configurações de impressão
    • Melhorada a aparência da página impressa: ampliadas linhas de grade, escondido nome do programa, atualizada fonte do cabeçalho
    • Aumentada a caixa de diálogo de impressão para exibir a interface corretamente

  6. Corrigido o funcionamento do campo de volume no painel de negociação rápida no gráfico. Anteriormente, após inserir um novo valor e pressionar a tecla Tab, o valor era redefinido para o valor anterior.
  7. Corrigida a exibição de histórico de negociação no gráfico. Anteriormente, ao alternar entre contas, as operações da conta anterior não eram removidas dos gráficos.
  8. Corrigido o pagamento de serviços da MQL5.com via PayPal.
  9. Corrigido o congelamento da plataforma ao exibir o gráfico de volatilidade de opções.
  10. Corrigida a verificação de número de telefone na janela de registro da conta real. Em alguns casos, após inserir o número certo, a plataforma não permitia avançar para a próxima etapa do registro.
  11. Corrigida a verificação de direitos ao entrar em um bate-papo em grupo com membros da comunidade MQL5.com. Anteriormente, um usuário recém-conectado só podia ler, mas não escrever mensagens.
  12. Substituído o rótulo no gráfico na ausência de dados. Agora, o nome, o timeframe e a descrição do instrumento são exibidos em vez de "Waiting for update".
  13. Melhorado o suporte de preços negativos, adicionado no build 2450. Para os respectivos instrumentos, a "Observação do mercado" agora também pode exibir valores zero.
  14. Corrigida a exibição de logotipos de produtos no Mercado ao trabalhar no Wine.

MQL5

  1. Continuamos a trabalhar o suporte para vetores e matrizes. As novas funções ampliam significativamente as possibilidades para desenvolvedores de soluções baseadas em redes neurais.

    Já existem muitas funcionalidades neste momento:
    • Eye — cria uma matriz com uns na diagonal especificada e zeros nos outros lugares.
    • Identity — cria uma matriz com o tamanho especificado com uns na diagonal principal e zeros nos outros lugares.
    • Ones — cria uma matriz com o tamanho especificado, preenchida com uns.
    • Zeroes — cria uma matriz com o tamanho especificado, preenchida com zeros.
    • Full — cria uma matriz com o tamanho especificado, preenchida com os valores especificados.
    • Copy — cria uma cópia de uma matriz ou de um vetor.
    • Diag — extrai uma diagonal de uma matriz, e preenche a diagonal especificada com valores provenientes de um vetor.
    • Tri — cria uma matriz com uns na diagonal especificada e sob ela e zeros nos outros lugares.
    • Row — retorna uma linha de matriz como um vetor, e preenche a linha especificada com valores provenientes de um vetor.
    • Col — retorna uma coluna de matriz como um vetor, e preenche a coluna especificada com valores provenientes de um vetor.
    • Rows — retorna o número de linhas em uma matriz.
    • Cols — retorna o número de colunas em uma matriz.
    • Transpose — transposição da matriz.
    • * — produto de matrizes, de vetores e de escalares — produto dot.
    • Power — exponenciação de matriz.
    • Kron — produto de Kronecker.
    • Cholesky — decomposição de Cholesky.
    • QR — fatoração QR.
    • SVD — decomposição SVD.
    • LU — decomposição LU.
    • LUP — decomposição LUP.
    • Norm — cálculo de norma de matriz.
    • Cond — cálculo de número de condição de matriz.
    • Spectrum — cálculo de espetro de matriz.
    • Det — cálculo de determinante de matriz.
    • Rank — cálculo de posto de matriz.
    • SLogDet — obtém o sinal e o logaritmo de um determinante de matriz
    • Trace — cálculo de traço de matriz.
    • Solve — solução de sistemas de equações lineares.
    • LstSq — solução de sistemas de equações lineares pelo método dos mínimos quadrados.
    • Inv — cálculo de inversa de matriz.
    • PInv — cálculo de pseudoinverso pelo método Moore-Penrose
    • Compare — comparação de duas matrizes pelo método Épsilon.

    Informações detalhadas sobre a formatação estão disponíveis na documentação MQL5:

  2. Corrigidos erros ao trabalhar usando arquivos e bancos de dados relacionados à restrição de comprimento de caminho. Em particular, a função DatabaseOpen permitia definir um caminho maior que o permitido, causando a criação incorreta do banco de dados. A função agora retornará corretamente o código de erro ERR_TOO_LONG_FILE_NAME.
  3. Corrigido o controle de constância de variáveis. Em alguns casos, o compilador podia não gerar o erro "constant variable cannot be passed as reference".
  4. Corrigidos avisos errôneos do compilador sobre o uso de uma variável não inicializada.
  5. Corrigido o funcionamento da função ChartWindowOnDropped para indicadores. Anteriormente, sempre retornava valor zero.
  6. Adicionado ao módulo de integração com Python o suporte para Python 3.10.

VPS

  1. Corrigida a exibição do item VPS no Navegador. Em alguns casos, desaparecia ao alternar entre contas.

MetaEditor

  1. Corrigida expansão de expressões complexas na janela de visualização durante a depuração.

Tester

  1. Corrigida a exportação de relatórios de teste para um arquivo. Alguns valores eram arredondados incorretamente quando uma moeda com 0 casas decimais era usada como moeda de depósito. Por exemplo, o JPY.
22 outubro 2021
MetaTrader 5 build 3091: melhorias de desempenho

Terminal

  1. Corrigida a transição para uma página em branco após a compra de serviços MQL5. Os usuários agora serão diretamente reencaminhados para os resultados da operação.
  2. Corrigida a compressão excessiva de imagens de documentos carregadas ao solicitar contas reais. Isso melhorou a qualidade das verificações KYC automatizadas e a velocidade de tomada de decisão.
  3. Corrigido o funcionamento do gráfico aberto quando o teste é concluído.

MQL5

  1. Adicionado suporte para SQLite 3.36.0.

MetaEditor

  1. Adicionado destaque de fundo para parêntesis emparelhados. Para habilitar vá para as configurações gerais do MetaEditor.
  2. Aprimorado o desempenho do depurador de programas MQL5.

Correções de crash-logs.
21 outubro 2021
MetaTrader 5 build 3090: melhorias de desempenho

Terminal

  1. Corrigido um bug que em alguns casos acabava por fazer desaparecer ferramentas de negociação personalizadas.
  2. Aprimorados ícones de menu e de barra de ferramentas.
  3. Adicionados três novos idiomas no MQL5.com: francês, italiano e turco.

    Já é o decimo primeiro idioma disponível na maior comunidade de traders - MQL5.community. Traduzimos completamente a interface e a documentação do site, bem como várias dezenas de tópicos importantes do fórum. A tradução de artigos e calendário econômico estará disponível em breve.

  4. Correções de crash-logs.

MQL5

  1. Corrigidos bugs que causavam problemas com a função StringConcatenate.
  2. Corrigida a configuração do valor _LastError ao usar a função FileSave. Em alguns casos, em vez de descrever o erro ocorrido na função, a variável acabava por conter um valor nulo.
  3. Corrigida a importação de dados desde recursos em matrizes de tipo double.
MetaTester
  1. Corrigido um erro que fazia com que a janela do gráfico travasse durante o teste visual.
Documentação atualizada.
14 outubro 2021
MetaTrader 5 build 3081: melhorias nos serviços MQL5 e design atualizado

Terminal

  1. Aprimorada navegação pelos serviços da MQL5.community.

    As subseções Mercado, Sinais e Hospedagem foram movidas da área de trabalho para o Navegador. Isso facilitará encontrar produtos, bem como gerenciar suas compras e assinaturas. Para cada serviço foi adicionada uma seção "Como funciona" com informações úteis sobre como usá-lo.


    Aprimorada navegação pelos serviços da MQL5.community


  2. Completamente atualizados ícones para todos os menus, barras de ferramentas e diálogos. Graças a eles, a interface do terminal e do MetaEditor se tornou mais fácil de entender:

    • Reduzido o número de detalhes pequenos que são difíceis de distinguir
    • Usadas menos cores, reduzindo o ruído de cor
    • Usados menos gradientes, melhorando a legibilidade
    • Usadas metáforas mais compreensíveis


    Na plataforma foram atualizados todos os menus, barras de ferramentas e diálogos


  3. Adicionada exibição de custos no histórico de negociação ao efetuar operações. Este recurso é usado por corretoras regulamentadas da NFA.


    O histórico da conta agora mostra os custos de transação


    Se sua corretora habilitar o cálculo da indicador correspondente, "Custos" aparecerá entre as colunas disponíveis no histórico de negociação. Essa medida mostra o custo da transação em relação ao preço médio do instrumento (mid-point spread cost).

  4. Adicionado suporte para a versão coreana do site MQL5.com.

    Já é o oitavo idioma disponível na MQL5.community. Traduzimos completamente a interface do site, artigos, calendário econômico, tópicos importantes do fórum. A tradução da documentação do MQL5 aparecerá em breve.

  5. Corrigido o carregamento de instrumentos de negociação personalizados. Em alguns casos, as configurações de símbolos recém-criados podiam substituir as configurações dos símbolos existentes.
  6. Corrigida a exibição do histórico de negociação de sinal no gráfico. Quando essa opção era habilitada, as operações eram marcadas no gráfico para todos os instrumentos de uma vez, e não apenas para o instrumento do gráfico.
  7. Adicionada exportação da coluna "Coletar" para o relatório do histórico de negociação. Anteriormente, esse indicador era exibido apenas no histórico, e não era salvo em um arquivo.
  8. Otimizada e acelerada significativamente a operação de painéis para negociação com um clique na Observação do Mercado e em gráficos.
  9. Corrigido o funcionamento do campo "Taxas de margem" para instrumentos de negociação customizados. Em alguns casos, os pontos de ajuste podiam ser redefinidos para zero.
  10. Continua o aprimoramento do serviço de assinaturas para corretoras. Corrigidos erros na janela de assinatura de cotações.
  11. Corrigida a exibição do objeto analítico "linha de tendência". Ele podia desaparecer ao dimensionar e redimensionar a janela do gráfico.
  12. Corrigida a exibição do objeto analítico "retângulo". Quando um dos pontos de ancoragem saía da área de visibilidade do gráfico, o objeto podia desaparecer.
  13. Corrigido e significativamente acelerado o trabalho dos bate-papos integrados da MQL5.community.
  14. Corrigido o arredondamento do parâmetro "Custo" na lista de posições abertas. Anteriormente, a parte fracionária do valor podia não ser mostrada.
  15. Corrigida a validação de telefones celulares durante a abertura de contas. Para algumas operadoras da China, o telefone era detectado como especificado incorretamente.
  16. Adicionado suporte para senhas com mais de 32 caracteres em contas MQL5.
  17. Corrigida a exportação de certificados ao trabalhar no Wine. Este recurso é usado para contas com autenticação estendida ao migrar de desktop para celular.
  18. Corrigido o funcionamento dos botões para alternar para serviços MQL5 localizados no painel inferior da janela "Ferramentas". Quando a janela era desencaixada, os botões ficavam inativos.
  19. Limitado o tamanho do menu "Arquivo \ Novo gráfico": não mais do que 128 submenus com grupos de símbolos e não mais do que 32 símbolos em cada submenu. Isso permite que você agilize o terminal e evite bloqueios ao adicionar um inúmeros instrumentos (2 000 e mais) à "Observação do mercado".

MQL5

  1. Continuamos a trabalhar o suporte para vetores e matrizes. As novas funções irão expandir significativamente as possibilidades para desenvolvedores de soluções baseadas em redes neurais.
  2. Adicionados os valores DEAL_SL e DEAL_TP à enumeração ENUM_DEAL_PROPERTY_DOUBLE - níveis de stop-loss e take-profit da operação de negociação.

    Para operações de entrada e reversão, essas propriedades são definidas de acordo com o valor de stop-loss/take-profit das ordens que desencadearam sua execução. Para operações de saída, são usados os valores de stop-loss/take-profit das devidas posições quando estas últimas são encerradas.

  3. Adicionado o valor MQL_HANDLES_USED à enumeração ENUM_MQL_INFO_INTEGER - o número de objetos de classes ativos (identificadores) em um programa MQL. São levados em conta objetos dinâmicos (criados por meio de novos) e não dinâmicos, variáveis globais/locais ou membros de classe. Quanto mais identificadores um programa usa, mais recursos ele consome.

  4. Adicionados novos métodos para trabalhar com a estrutura MqlCalendarValue que descreve um evento no calendário econômico:

    • HasActualValue(void) — retorna true se o valor real do evento estiver definido, caso contrário, false
    • HasForecastValue(void) — retorna true se o valor do evento de previsão estiver definido, caso contrário, false
    • HasPreviousValue(void) — retorna true se o valor do evento anterior estiver definido, caso contrário, false
    • HasRevisedValue(void) — retorna true se o valor revisado do evento estiver especificado, caso contrário, false
    • GetActualValue(void) — retorna o valor atual do evento (double) ou nan se não estiver definido
    • GetForecastValue(void) — retorna o valor de evento de previsão (double) ou nan se não estiver definido
    • GetPreviousValue(void) — retorna o valor do evento anterior (double) ou nan se não estiver definido
    • GetRevisedValue(void) — retorna o valor do evento revisado (double) ou nan se não estiver definido

  5. Corrigida a depuração de programas MQL5 usando bibliotecas na forma de arquivos EX5.
  6. Acelerada compilação de programas que contêm grandes matrizes inicializadas por uma sequência.
  7. Corrigido um bug na função CopyTicksRange que ocorria ao trabalhar com dados de instrumentos de negociação personalizados. Em alguns casos, a função retornava dados que não correspondiam ao período solicitado.
  8. Corrigida a verificação de presença dos parâmetros do modelo ao especializar por parâmetros. Em alguns casos, a compilação do código com modelos sob depuração causava o erro "code generation error".

Signals

  1. Adicionada a capacidade de renovar automaticamente a assinatura de Sinais.

    Agora você não precisa se preocupar com o término abrupto de sua assinatura. Quando o prazo expirar, o sistema o renovará automaticamente por mais um mês usando a mesma forma de pagamento usada na compra.


    Ative a renovação automática da assinatura de Sinal


    Se durante o pagamento foi selecionado um cartão, mas o pagamento para a renovação falhar, o sistema tentará usar o saldo de sua conta MQL5.

    Não se preocupe com alterar o preço da assinatura. Se o preço aumentar, não haverá renovação automática. Você será notificado sobre isso pelo e-mail especificado em sua conta MQL5.

    A renovação automática pode ser habilitada ou desabilitada a qualquer momento por meio da seção "Minhas assinaturas" em MQL5.com.


    Gerencie a renovação automática na seção &quot;Minhas assinaturas&quot; em MQL5.com


  2. Corrigidos erros na exibição do mostruário de sinais. Agora o sistema passará a considerar mais corretamente a compatibilidade dos sinais com a conta atual.

Market

  1. Adicionada pesquisa por nome e login do autor do produto no mostruário do Mercado. Anteriormente, a pesquisa só funcionava por nome e descrição de produto.

VPS

  1. Aprimorado sistema de renovação automática de assinatura de VPS.

    Anteriormente, você só podia pagar pela renovação automática com o saldo da sua conta MQL5. Dessa forma, para que a renovação fosse realizada, era necessário ter o saldo suficiente.

    Agora você não precisa se preocupar com o reabastecimento de conta em tempo hábil. Para renovação automática, o sistema usará o mesmo método de pagamento que você usou quando efetuou a assinatura pela primeira vez. Se você pagou a hospedagem com cartão e ativou a renovação automática, quando o período atual expirar, o sistema renovará a assinatura pelo mesmo valor, após debitar o devido valor do mesmo cartão. Se o pagamento com cartão falhar, o sistema tentará usar o saldo da sua conta MQL5 como antes.


    Agora você pode usar cartões e outros métodos de pagamento para renovação automática


    Com a nova função, você pode ter certeza de que sua assinatura não irá expirar, seus EAs continuarão a trabalhar e a cópia de sinais não será interrompida. Você não precisa verificar e carregar seu saldo manualmente.
    A função funciona apenas para novas assinaturas. Para as existentes, será utilizado o antigo esquema de renovação automática com pagamento através do saldo da conta MQL5.

Tester

  1. Corrigido um bug no teste visual. Em alguns casos, os indicadores usados no Expert Advisor não eram exibidos no gráfico.

MetaEditor

  1. Corrigida a transição para a declaração de função ou variável usando as teclas Alt+G. Se a declaração estava abaixo da linha de origem da chamada, a transição não era feita.
  2. Adicionada exibição de tipo de objeto para referências a objetos de classe no depurador.
  3. Adicionado suporte para exibir 'union' na lista de expressões observadas.

MetaTrader 5 iPhone/iPad, MetaTrader 5 Android

  1. Adicionada a exibição de caixa de diálogo de isenção de responsabilidade ao iniciar o aplicativo. Por favor, leia com atenção. Além disso, algumas corretoras podem criar contas de demonstração para você automaticamente ao iniciar o aplicativo pela primeira vez. Nesse caso, será exibida uma caixa de diálogo avisando sobre as regras.


    Adicionados alertas especiais no MetaTrader 5 para iPhone/iPad

  2. Adicionada a capacidade de conectar uma conta ao monitoramento no serviço "Sinais" diretamente do aplicativo móvel. Para fazer isso, selecione "Monitoramento de conta" no menu. Por conveniência, o número da conta e o nome da corretora são imediatamente colocados na janela de registro. Você só precisa especificar o nome do sinal e a senha do investidor.

    Ao conectar a conta ao monitoramento, você receberá estatísticas avançadas sobre sua negociação, poderá compartilhar os resultados com outros operadores, bem como vender sinais.

  3. Adicionado suporte para Huawei AppGallery e HMS Services para terminais móveis com sistema operacional Android. Os proprietários de smartphones Huawei poderão instalar o aplicativo desde sua loja e trabalhar com notificações push.

Documentação atualizada.

18 junho 2021
MetaTrader 5 build 2980: Notificações push sobre operações de negociação

Terminal

  1. Adicionada a possibilidade de receber notificações Push sobre operações a partir do servidor de negociação - funcionam mesmo quando o terminal está desligado.



    Anteriormente, você só podia receber notificações em dispositivos móveis a partir de seu próprio terminal desktop. Assim que uma operação comercial era realizada, o terminal enviava uma mensagem para a MetaQuotes ID especificada nas configurações. Consequentemente, isso só funcionava enquanto permanecia ligado. Agora não existem tais restrições. Se um Take Profit for acionado no servidor e seu computador estiver desligado, você receberá uma notificação sobre o fechamento da posição em seu dispositivo móvel.

    Para receber notificações do servidor, você deve:
    • Ter uma conta real, uma vez que as notificações vindas do servidor não funcionam para contas de demonstração
    • Instalar o terminal móvel MetaTrader 5 em seu smartphone para iOS ou Android
    • Abrir a seção de mensagens, encontrar sua MetaQuotes ID e especificá-la nas configurações do terminal desktop
    • Habilitar as notificações do servidor nas configurações do terminal desktop

    A disponibilidade e os detalhes das notificações dependem da sua corretora

    São suportados três tipos de notificações: sobre ordens, sobre operações e sobre operações de balanço. Se esta opção estiver ativada, os tipos de notificações disponíveis serão exibidos no log do terminal:
    '1222': subscribed to deals, orders, balance notifications from trade server

  2. Atualizamos o mostruário do VPS MetaTrader, tornando-o mais moderno e conveniente:
    • A interface se adapta a qualquer largura de tela.
    • O mostruário ocupa menos espaço em altura para caber sempre na janela de trabalho.
    • As informações necessárias aparecem apenas no momento em que são requeridas. Até que você tenha escolhido uma tarifa, não serão mostrados detalhes adicionais de pagamento.



  3. Comandos para mudança rápida para serviços MQL5 e a janela "Ferramentas" foram adicionados ao painel do Testador de Estratégia. Eles são exibidos apenas na seção "Visão Geral"; nas outras guias, o painel é usado para gerenciar os testes.



  4. Adicionado o estado salvo de janela para serviços MQL5. Se você deixar o Mercado aberto antes de desligar o terminal, irá encontrá-lo no mesmo estado na próxima vez que o ligar.
  5. Corrigida a sincronização periódica do estado de uma conta MQL5. Em alguns casos, o erro podia impedir a cópia de sinais.
  6. Corrigida a exibição de uma seleção de produtos recomendados no Mercado.
  7. Corrigido o funcionamento do menu de contexto de sinais no Navegador. Usando-o, você pode ir para ver o sinal ao qual você está inscrito, bem como cancelar a inscrição.

MQL5

  1. Corrigido erro no funcionamento do operador "-" durante a implementação de números complexos na biblioteca padrão (arquivo MQL5\Include\Math\Alglib\complex.mqh).
  2. Agora você pode usar qualquer expressão na inicialização de seqüências, não apenas constantes. Isto melhorará a usabilidade e a compatibilidade com o código C++.
    struct POINT
      {
       int x,y;
      };
    
    int GetYFunc(y)
      {
       return(y * y);
      }
    
    void SomeFunction(int x1,int x2,int y)
      {
       POINT pt={ x1+x2, GetYFunc(y) };
       ProcessPoint(pt);
      };
  3. Corrigido um erro que ocorria durante a compilação union ao manipular grandes quantidades de dados.
  4. Corrigida a operação da função StringToCharArray. Agora ela converte toda a string passada numa matriz Char, em vez de parar no primeiro caractere nulo de término.
  5. Adicionado controle sobre a presença explícita de uma chamada de construtor no código para classes/estruturas cuja a classe pai não tem um construtor padrão.

MetaEditor

  1. Adicionada exibição do local de chamada para funções inline no relatório do criador de perfil.
    No exemplo abaixo, a chamada de func(); agora é destacada:




    A função func em si não é destacada, pois seu código está completamente colocado em OnStart.

  2. Adicionada a capacidade de criar um projeto em branco. Isso será útil para o desenvolvimento fora do padrão com sua própria estrutura de arquivo, quando os modelos padrão não são adequados.



    Quando você cria um projeto desta forma, apenas um arquivo de configurações vazio "mqproj" é criado. Os arquivos para o código fonte devem ser criados por você mesmo depois.

  3. Acelerada a inicialização do MetaEditor.
  4. Corrigido um erro de exibição de dados na lista de expressões observadas durante a depuração. Em alguns casos, podia mostrar valores das variáveis de maneira incorreta.
  5. Corrigida a adição automática da extensão ".py" aos arquivos de scripts em Python criados usando o MQL Wizard.

Documentação atualizada.
21 maio 2021
MetaTrader 5 build 2940: Transferência dos mostruários dos Serviços MQL5 para o espaço de trabalho e atualização do design

Terminal

  1. Os serviços "Mercado", "Sinais" e "Hospedagem Virtual" foram transferidos para a área de trabalho principal da plataforma para um trabalho mais conveniente.
    Anteriormente, as seções para comprar serviços MQL5 estavam localizadas na janela "Ferramentas", onde apenas um pequeno espaço estava disponível. A área de trabalho principal, por outro lado, permite mostrar aos usuários mostruários completos, onde eles podem selecionar convenientemente os produtos desejados. Ao mesmo tempo, menos guias na caixa de ferramentas facilitarão trabalhar com outras funções da plataforma.



    Tentamos garantir que o acesso a serviços adicionais não dificulte as principais tarefas dos traders - negociação e análise de gráficos:
    • As guias de serviço estão localizadas no final, após todos os gráficos.
    • Se as janelas de serviço não forem necessárias, elas podem ser simplesmente fechadas. Você pode acessá-las facilmente através do "Navegador", da barra de ferramentas ou do menu "Serviços".

    Além da transferência, redesenhamos completamente os serviços. Tornaram-se mais leves e modernos. Os sinais agora contêm dados adicionais que antes estavam disponíveis apenas na vitrine do site MQL5.community: um diagrama de teia com as principais características, um indicador de confiabilidade e atividade, etc.



  2. Adicionado o suporte completo para endereços IPv6.
    O IPv4, que agora é usado em todas as redes, foi inventado há mais de 30 anos. Ele contém endereços IP de 32 bits e é representado como quatro números de 8 bits, separados por pontos. Isso permite ter mais de quatro bilhões de endereços IP exclusivos. No entanto, agora o número de dispositivos e sites em todo o mundo cresceu tanto que os endereços não são mais suficientes para todos os interessados.

    Nesse sentido, os produtos estão gradualmente migrando para o suporte paralelo a um protocolo mais moderno - IPv6. Ele contém um endereço de 128 bits e é representado como x:x:x:x:x:x:x:x, onde cada letra x é o valor hexadecimal dos seis elementos de 16 bits do endereço. Este formato permite obter 5 x 10 ^ 28 endereços exclusivos. Além do espaço de endereço significativamente maior, o protocolo tem várias outras vantagens sobre a versão anterior. Você pode ler sobre isso em artigos especializados.

    Mais importante ainda, a plataforma MetaTrader 5 agora está totalmente pronta para IPv6. Se sua corretora ou fornecedor o transferir para um novo esquema de trabalho, você não sentirá nenhuma mudança e continuará a negociar sem obstáculos.

  3. Continuamos a melhorar o gerenciador de tarefas apresentado no build 2815. Agora, para gráficos nos quais a depuração ou criação de perfil de programas MQL5 está em execução, há uma indicação explícita disso.



  4. Acelerada a inicialização da plataforma no Wine em computadores macOS e Linux. Realizamos uma otimização substancial do funcionamento - corrigimos erros:
    • Aprimorada exibição de menus, barras de ferramentas e caixas de diálogo.
    • Corrigidos erros na exibição das seções "Mercado", "Sinais" e "VPS". Em particular, corrigimos o carregamento de logotipos de produtos no mostruário do "Mercado".
    • Atualizado o pacote para fácil instalação do MetaTrader 5 em computadores macOS. Ele facilita a instalação da plataforma como um aplicativo normal.
      O pacote inclui componentes adicionais necessários para um trabalho mais estável e rápido. Aqueles que o usam são fortemente aconselhados a reinstalar o MetaTrader 5 a partir do link https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/MetaTrader5.pkg.zip
    Se você usar CrossOver, reinstale completamente o MetaTrader 5 nele para obter a versão de 64 bits mais recente da plataforma.

  5. Corrigida a operação do atalho de teclado "Ctrl+F9". Agora muda o foco para a guia de negociação em "Caixa de Ferramentas".

MQL5

  1. Continuamos abandonando tecnologias antigas, incluindo componentes de 32 bits:
    • Terminais de 32 bits não podem mais carregar programas a partir do "Mercado".
    • Terminais de 32 bits não podem usar o serviço de hospedagem.
    • No MetaEditor de 32 bits, a função de proteção adicional de arquivos via MQL5 Cloud Protector já não está mais disponível.
    • Os programas MQL5 compilados em versões muito antigas do MetaEditor (lançado há 5 anos ou mais) não serão executados na nova versão do terminal.

    O suporte para a versão de 32 bits da plataforma parou há um ano no build 2361. Recomendamos fortemente a atualização para a versão de 64 bits do MetaTrader 5 para usar todos os recursos da plataforma.
    Todos os vendedores que fizeram upload de versões de produtos de 32 bits no Mercado são fortemente aconselhados a recompilá-los no MetaEditor de 64 bits mais recente e carregar as versões atualizadas. Nas próximas versões, desabilitaremos completamente a capacidade de inicialização de programas MQL5 de 32 bits em terminais.

MQL5

  1. Adicionado suporte para trabalhar com números complexos.
    Adicionado novo tipo integrado "complex".
    struct complex
      {
       double             real;   // parte real
       double             imag;   // parte imaginária
      };
    O tipo "complex" pode ser passado por valor como um parâmetro para funções MQL5 (ao contrário de estruturas comuns, que são passadas apenas por referência). Para funções importadas a partir de DLLs, o tipo "complex" deve ser passado apenas por referência.

    O sufixo 'i' é usado para descrever constantes complexas:
    complex square(complex c)
      {
       return(c*c);
      }
      
    void OnStart()
      {
       Print(square(1+2i));  // como parâmetro é passada a constante
      }
    
    // será exibido "(-3,4)", que é uma representação de string para um número complexo
    Para números complexos, atualmente estão disponíveis apenas operações simples: =, +, -, *, /, +=, -=, *=, /=, ==, !=.

    No futuro, funções matemáticas adicionais serão adicionadas: obtenção do valor absoluto, seno, cosseno e muitos outros.

  2. Adicionado código de erro TRADE_RETCODE_HEDGE_PROHIBITED - abrir uma posição ou colocar uma ordem pendente é impossível, uma vez que posições sobrepostas são proibidas. Um erro é retornado ao tentar realizar uma operação de negociação se o hedge for proibido e se a conta do usuário já tiver uma posição ou ordem na direção oposta para o mesmo símbolo.

MetaEditor

  1. Corrigida a interrupção da depuração e criação de perfil no modo não visual.
  2. Corrigida a criação de perfil de indicadores baseados em dados reais. Em alguns casos, não podia iniciar.

VPS

  1. Corrigido bug de migração do ambiente para um VPS. Ele surgia quando um Expert Advisor portátil tinha um indicador na forma de recurso.

Sinais

  1. Corrigida a verificação do modo de negociação ao copiar sinais. A negociação de instrumentos pode ser limitada no lado da corretora: poderão vir a ser permitidas apenas posições longas, apenas posições curtas ou apenas posições fechadas. Anteriormente, para uma cópia bem-sucedida, o serviço exigia permissão total para negociar, caso contrário, a sincronização era interrompida. Símbolos com negociação parcialmente permitida agora também serão considerados "negociáveis". Os clientes das corretoras bolsistas poderão copiar sinais sem obstáculos.

Tester

  1. Corrigida a verificação da sessão de negociação durante o teste. Em alguns casos, as operações de negociação durante o teste podiam falhar com o erro "market closed", apesar do fato de serem parte da sessão de negociação.
Documentação atualizada.
2 abril 2021
MetaTrader 5 build 2875: Melhorias e correções

Terminal

  1. Corrigido um erro que fazia com que a atualização dos programas MQL5 padrão fossem copiados para a raiz do diretório de dados do terminal e não, para o subdiretório MQL5. Da mesma forma, os usuários podem encontrar Experts, Images, Include, etc.

    Ao atualizar para uma nova versão da plataforma, diretórios desnecessários serão excluídos automaticamente após verificação adicional.

Terminal

  1. Corrigido um erro que, em alguns casos, tornava impossível fazer login no chat da MQL5.community embutido no terminal.

Tester

  1. Corrigida a otimização de EAs via MQL5 Cloud Network. Em alguns casos, ela não podia ser inicializada.

MetaEditor

  1. Corrigidos erros e travamentos ao depurar e criar perfis de programas MQL5.

Documentação atualizada.
26 março 2021
MetaTrader 5 Build 2860: melhorias para Wine e expansão da integração com SQL

Terminal

  1. Adicionada a capacidade de ativar/desativar serviços adicionais da MQL5.community. Por exemplo, se você não está interessado em artigos sobre programação em MQL5 ou em copy-trading do serviço Sinais, você pode desativá-los para economizar recursos e espaço de trabalho do terminal.



    Todos os serviços são ativados por padrão.

  2. Realizada uma otimização grande do terminal para o Wine em computadores com macOS e Linux:
    • Agora as janelas de serviço desencaixadas (Navegador, Ferramentas) não podem ser arrastadas para fora do terminal. Anteriormente, em tais casos, os usuários podiam ter dificuldade para retornar as janelas para os limites do terminal.
    • Corrigido o redimensionamento do conteúdo da janela de serviço ao redimensionar a própria janela.
    • Corrigida a exibição de métricas de desempenho no Gerenciador de Tarefas.
    • Aprimorada exibição de ícones na barra de ferramentas.
    • Corrigido contador de mensagens não lidas no bate-papo.
    • Corrigida exibição dos comandos do sistema gráfico: Ocultar, Expandir, Fechar.
    • Corrigida a exibição do log.
    • Corrigida a exibição de dicas de ferramentas para gráficos.
    • Corrigido o funcionamento de comandos para impressão de gráficos.
    • Corrigida a exibição do menu superior ao usar temas de exibição no Linux.
    • Corrigida a pesquisa via GitHub, MSDN e Stack Overflow no MetaEditor.

    Recomendamos que todos os usuários façam upgrade para a última versão estável do Wine. Isso aumentará a velocidade e a confiabilidade da plataforma.
  3. Adicionado suporte para ordens "Market To Limit" ao negociar na Bolsa de Valores de Istambul (BORSA Istambul). Inicialmente, tal ordem é executada como uma ordem de mercado, mas se não houver liquidez suficiente, o restante é colocado no livro de ofertas na forma de uma ordem limitada com o preço da última transação.
  4. Corrigida a exibição do gráfico de volatilidade. Agora é plotado levando em consideração o prazo de validade selecionado no quadro de opções.
  5. Corrigida a adição de instrumentos de negociação à Observação do Mercado por meio da barra de pesquisa rápida. Quando havia um espaço no nome do instrumento, este não era adicionado à lista.




MQL5

  1. Expandidas as possibilidades para trabalhar com bancos de dados SQL. Agora você pode usar uma variedade de funções estatísticas e matemáticas em suas consultas.

    Funções estatísticas
    • mode — moda
    • median — mediana (50º percentil)
    • percentile_25 — 25ºpercentil
    • percentile_75 — 75º percentil
    • percentile_90 — 90º percentil
    • percentile_95 — 95º percentil
    • percentile_99 — 99º percentil
    • стандартное отклонение выборки
    • stddev или stddev_samp — desvio padrão da população
    • variance or var_samp — variância da amostra
    • var_pop — variação da população

    Funções matemáticas

    Exemplo
    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from moz_bookmarks;
  2. Adicionados novos macros:
    • __COUNTER__ — em cada chamada é aumentado em 1. Contadores separados são mantidos quando usados em modelos e macros.
    • __RANDOM__ — gera um número ulong aleatório, é semelhante à função MathRand.

  3. Corrigida a operação de solicitações síncronas para o gráfico nos casos em que o símbolo do gráfico não existe. Agora, em vez de esperar indefinidamente pelo resultado, as funções retornarão um erro. Um evento de símbolo inexistente pode surgir ao alternar entre contas de negociação com um conjunto diferente de instrumentos de negociação disponíveis.
  4. Otimizado e acelerado significativamente o trabalho das funções CopyTicks *.

MetaEditor

  1. Alterado a ordem de perfilamento e depuração com base em dados históricos.

    A criação de perfil agora é sempre feita no modo não visual. A depuração também é realizada no modo não visual por padrão, mas você pode alterar isso manualmente nas configurações do MetaEditor:



  2. Adicionado recurso de criação de perfil de serviços. É realizado da mesma forma que para outros tipos de programas MQL5.
  3. Corrigida exibição de nomes de funções no relatório do criador de perfil. Em alguns casos, eles podiam ser especificados como <unknown>.

Documentação atualizada.
26 fevereiro 2021
MetaTrader 5 build 2815: Acesso ao livro de ofertas desde Python, melhorias no depurador e no criador de perfil

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.
15 janeiro 2021
MetaTrader 5 build 2755: Janela de cotações e depurador melhorados

Terminal

  1. Modificada a janela de cotações que permite visualizar os preços dos instrumentos em telas de qualquer tamanho.

    Agora as informações podem ser exibidas em várias colunas, o que permite um uso mais otimizado do espaço da tela. Para mudar o modo de exibição, use a caixa de diálogo de propriedades da janela.


    Além disso, foram feitas uma série de pequenas melhorias:

    • Adicionado menu de seleção de coluna. Agora tem as mesmas propriedades do instrumento que na "Observação do mercado".
    • Otimizado o trabalho com um grande número de ferramentas. Agora a janela funciona igualmente bem com 10 e 1000 ferramentas.
    • Adicionada exibição de breves informações sobre a ferramenta na dica de ferramenta.
    • Corrigida a aplicação de configurações de cores para exibir preços altistas e baixistas.

  2. Adicionada a exibição de transações no gráfico de ticks do livro de ofertas sintético.

    O livro de ofertas sintético é usado para símbolos dos quais não são transmitidos os preços de Level 2. Nele os níveis são criados automaticamente, pois eles são formados a partir dos melhores Bid e Ask com uma etapa de alteração de preço. Agora, se com base no símbolo forem transmitidos os dados sobre o preço e o volume da última transação, você pode vê-los claramente no gráfico de tick. As informações são exibidas como círculos:
    • Círculos vermelhos — transações de venda.
    • Círculos azuis — transações de compra.
    • Círculos verdes — sentido da transação não definido.

    Quanto maior o tamanho do círculo, maior será o volume da transação.



  3. Corrigido o cálculo das "gregas" no quadro de opções. O erro ocorria quando o ativo base da opção tinha um preço zero para a última transação.
  4. Continua o trabalho com o novo serviço "Assinaturas", permitindo que você compre serviços adicionais para trading. Em particular, foi corrigida a exibição de assinaturas que dependem de outras assinaturas. Essas assinaturas são usadas para serviços agrupados.
  5. Aprimorado o funcionamento da plataforma para Wine.

MQL5

  1. Adicionada a geração de eventos do gráfico ChartEvent ao soltar os botões direito e do meio do mouse. Isso pode ser usado, por exemplo, ao criar painéis gráficos. Para que os eventos funcionem, você deve desativar o menu de contexto do gráfico usando a propriedade CHART_CONTEXT_MENU.
  2. Corrigido um bug que causava um erro significativo no tempo de espera na função Sleep.

MetaEditor

  1. Começamos a trabalhar com a atualização global do depurador. Em particular, foi significativamente melhorada a janela expressões observadas. Adicionada a capacidade de visualizar o conteúdo de arrays e objetos, bem como os valores de ponteiros na forma de listas suspensas.



    Para visualizar uma matriz ou objeto, clique duas vezes sobre ele na janela de observação.

  2. Corrigido travamento ao abrir alguns projetos.
Documentação atualizada.
26 novembro 2020
MetaTrader 5 build 2715: Melhorias gerais

Terminal

  1. Corrigida a falha da plataforma ao usar o quadro de opções. Isso podia acontecer quando o tamanho do tick era definido como zero nas configurações do instrumento de negociação.
  2. Corrigidos erros na exibição da interface em monitores HiDPI.

MQL5

  1. Corrigida a conversão de string atempadamente com ajuda da função StringToTime. O erro ocorria ao especificar a hora no formato "yyyymmdd [hhmiss]".
  2. Corrigido um erro no operador de cópia implícita para objetos contendo matrizes dinâmicas. Agora, ao copiar, o tamanho do objeto de destino é reduzido ao tamanho do objeto copiado.
    struct MyStruct
    {
      string Array[];
    };
    
    void OnStart()
    {
      MyStruct a1,a2;
      ArrayResize(a1.Array,3);
      ArrayResize(a2.Array,1);
      a1=a2;
    }
    Anteriormente, como resultado da chamada de tal função, a matriz "a1" tinha tamanho 3. Agora terá tamanho 1.

MetaTester

  1. Atualizado o algoritmo para calcular a classificação dos agentes de teste na rede de computação em nuvem MQL5 Cloud Network. A classificação será determinada com mais precisão e mudará menos com o tempo.

Documentação atualizada.
12 novembro 2020
MetaTrader 5 build 2560: MetaEditor aprimorado

Terminal

  1. Corrigida a exibição do livro de ofertas sintético. Anteriormente, podia não estar disponível para alguns instrumentos.

    O livro de ofertas sintético é usada para símbolos para os quais os preços de Level 2 não são transmitidos. Os níveis nele são criados automaticamente, pois eles são formados a partir dos melhores Bid e Ask com uma etapa de alteração de preço. Ele é uma ferramenta conveniente para colocar, modificar e excluir ordens com um mínimo atrasos e de maneira clara.



MQL5

  1. Otimizado e significativamente acelerado o acesso aos preços mais recentes desde programas MQL5 usando a função SymbolInfoTick.
  2. Corrigida a redefinição dos parâmetros do indicador "Ichimoku Kinko Hyo" através da caixa de diálogo.



  3. Corrigido a operação das funções Copy* quando não há histórico para um instrumento de negociação.
  4. Continuamos trabalhando na atualização total do criador de perfil de código. Além das inovações da versão 2650 fizemos uma série de melhorias:
    • Apresentação de dados aprimorada
    • Nomes de coluna abreviados no relatório
    • Adicionada a capacidade de salvar o relatório de criação de perfil num arquivo
    • Adicionada exibição do número da linha na dica de ferramenta para funções no relatório



MetaEditor

  1. Adicionada a capacidade de desabilitar o rastreamento da área de transferência e limpar seu histórico.

    A função de rastreamento de buffer melhora a usabilidade do código-fonte acessando rapidamente os últimos dados usados. Pressione Alt+V em qualquer lugar no código-fonte, selecione qualquer uma das linhas copiadas anteriormente no menu e ela será colada no lugar.

    Para ativar/desativar o rastreamento, use o comando correspondente na barra de ferramentas ou nas configurações do editor.



  2. Corrigido erro de cálculo para algumas expressões observadas ao depurar programas.

Tester

  1. Restringida a negociação para EAs inciados no testador de estratégia no modo de recebimento de quadros.
  2. Corrigido o erro que ocorria durante a importação de resultados de otimização no testador de estratégia. Por causa disso, os valores dos timeframes podiam ser importados incorretamente.

Documentação atualizada.
9 outubro 2020
Nova versão da plataforma MetaTrader 5 build 2650: carregamento de gráficos em segundo plano e melhorias na criador de perfil de código MQL5

Terminal

  1. Adicionada a opção "Carregar com antecedência os dados dos gráficos para posições e ordens abertas".

    Para economizar tráfego, a plataforma de negociação carrega o histórico de preços dos instrumentos apenas ao serem realmente solicitados, por exemplo, ao abrir um gráfico ou ao iniciar um teste. No entanto, para instrumentos usados ativamente, isso pode nem sempre ser conveniente. Se você habilitar a nova opção, os gráficos dos instrumentos com posições abertas ou ordens pendentes serão sempre atualizados em segundo plano. Assim, ao abrir gráficos, você não precisará esperar pelo carregamento adicional de dados, uma vez que eles estarão imediatamente disponíveis para análise.




  2. Corrigida a formação de barras diárias após os finais de semana.
  3. Corrigida a atualização de gráficos. Em alguns casos, após a adição de dados de preços atualizados, os gráficos não eram reconstruídos.
  4. Otimizada a atualização do cache do histórico de negociação da conta. Isso torna possível reduzir os atrasos ao receber dados usando as funções History*.
  5. Corrigida a exibição de colunas de comentários ao visualizar o histórico de negociação na forma de posições.
  6. Corrigida a exibição do botão de renovação de assinatura de "Sinais".

MQL5

  1. Continuamos trabalhando na atualização total do criador de perfil de código. Além das inovações da versão 2615:

    Adicionados novos parâmetros
    Como anunciado na atualização anterior, para criação de perfil agora é usado o método "Sampling". O criador de perfil faz uma pausa durante a operação de um programa MQL (~1000 vezes por segundo) e coleta estatísticas sobre quantas vezes ocorre uma pausa em uma seção específica do código. Isso inclui a análise de pilhas de chamadas para determinar a "contribuição" de cada função no tempo total de operação do código. No final da criação de perfil, você obtém informações sobre quantas vezes há uma pausa e quantas vezes cada uma das funções acaba na pilha de chamadas:

    • Atividade total da CPU [unidade de medida, %] — número total de "aparições" de uma função na pilha de chamadas.
    • Atividade intrínseca da CPU [unidade de medida, %] — número de "pausas" que ocorrerem diretamente na função especificada. Este contador é mais importante para identificar gargalos, uma vez que, de acordo com as estatísticas, a parada ocorre com mais frequência nas partes do programa que requerem mais tempo de CPU.


    Adicionada a capacidade de desativar o inlining de função durante a criação de perfil
    Ao compilar programas MQL, é realizado o inlining (incorporação) — o código das funções é colocado diretamente no seu local de chamada, o que permite obter uma aceleração significativa durante o trabalho No entanto, isso torna difícil a criação de perfil de funções. Para obter um relatório sobre funções "puras", você pode desativar o inlining durante a criação de perfil nas configurações do MetaEditor:




    Atualizado o design de relatórios
    Redesenhamos o relatório de criação de perfil, bem como a apresentação das informações de criação de perfil na janela de código fonte. O design se tornou mais moderno e familiar para os usuários do Visual Studio.




  2. Corrigido um erro no funcionamento da função CopyTicksRange. Ele causava que, em alguns casos, a função não retornasse todos os dados.
  3. Adicionado o novo código de erro TRADE_RETCODE_HEDGE_PROHIBITED — é impossível abertura de posição ou colocação de ordem pendente, uma vez que posições sobrepostas são restritas. O erro é retornado em resposta a uma tentativa de realizar uma operação de negociação se a conta estiver proibida de fazer cobertura e já tiver uma posição ou ordem na direção oposta para o mesmo símbolo.
  4. Eliminada a capacidade de chamar a função MessageBox ao depurar indicadores. MessageBox não é chamada desde indicadores, pois ela pausa o thread de execução enquanto espera por uma resposta do usuário.
  5. Otimizada e acelerada significativamente a adição de instrumentos de negociação na "Observação do mercado" com ajuda da função SymbolSelect.
  6. Corrigido o comportamento da função ArrayInsert para arrays de tamanho fixo. Agora corresponde ao especificado na documentação: ao inserir elementos, o tamanho do receptor de matriz não muda, enquanto os elementos do receptor de matriz são deslocados desde a posição de inserção para a direita (os últimos elementos de contagem "caem") e os elementos são copiados desde o receptor de matriz para o espaço vazio.

Tester

  1. Corrigido o trabalho com configurações personalizadas de condições de negociação ao testar, redesenhada a caixa de diálogo das configurações.

    • Corrigida a adição de comissões personalizadas. Agora, para o trabalho da comissão, basta indicar o nome do símbolo, e não todo o caminho para ele.
    • Alterada a disposição das guias para um trabalho mais conveniente.
    • Renomeados a caixa de diálogo e a opção para incluir configurações personalizadas.
    • Otimizada a largura das colunas nas tabelas de configurações.
    • Quando você desativa a opção "Usar configurações personalizadas", todas as outras configurações na caixa de diálogo são desativadas. Anteriormente, as configurações permaneciam editáveis e os usuários pensavam erroneamente que seriam aplicadas durante o teste.




  2. Corrigido um erro que ocorria em alguns casos ao receber pedidos do histórico de negociação com base em um ticket.

MetaEditor

  1. Adicionados esquemas de cores predefinidos para a janela de edição de código: claro (por padrão), escuro e azul. Agora, para um trabalho mais confortável à noite, você não precisa reconfigurar manualmente a aparência do editor.

    Além disso, foi adicionada a capacidade de personalizar a cor da borda da janela de dicas de função.



     
  2. Completamente atualizados ícones nas barras de ferramentas para oferecer suporte a monitores HiDPI.

Documentação atualizada.

17 setembro 2020
MetaTrader 5 build 2615: Análise Fundamental e Critérios Complexos no Testador de Estratégia

Terminal

  1. Estendidas novos recursos para análise fundamental de instrumentos.
    Adicionadas novas propriedades de instrumentos de negociação, permitindo classificá-los com ainda mais precisão:

    • Setor — setor da economia ao qual pertence o ativo. Por exemplo: energia, finanças, saúde, etc.
    • Indústria — ramo da indústria ao qual pertence o ativo. Por exemplo: roupa e acessórios esportivos, fabricação de automóveis, restaurantes, etc.
    • País — país da empresa cujas ações são negociadas na bolsa de valores.

    Essas propriedades possibilitam implementar na Observação do Mercado um sistema separado para trabalho conveniente com instrumentos por setor. Selecione uma categoria no menu e todos os instrumentos disponíveis serão adicionados à lista para análise complexa:



    Além disso, novas propriedades agora estão disponíveis na especificação dos contratos:



    Ademais, agora você pode abrir facilmente dados fundamentais de instrumentos. Ao menu de contexto da Observação do Mercado para cada símbolo foram adicionados links para os maiores agregadores:



    A disponibilidade de novos dados depende das corretoras, uma vez que eles controlam as configurações. No entanto, tentamos disponibilizar as informações por padrão para o máximo número de instrumentos. Assim que as corretoras atualizarem seus servidores para a nova versão, os dados por país, setor e indústria aparecerão em vossa plataforma.
  2. Aprimorado o mostruário do serviço Sinais e Mercado. Em particular, ao lado esquerdo da janela foram adicionados botões para assinatura e para todas as variantes de aluguel :



    Além disso, foram feitas melhorias para um trabalho mais conveniente: botões com novas cores brilhantes, botões mais visíveis para fazer login em contas MQL5, etc.

  3. Corrigido o cálculo de lucro/perda potencial para níveis de Stop-Loss e Take-Profit nos gráficos.



  4. Corrigidos erros no cálculo de instrumentos sintéticos. Em alguns casos, os erros podem fazer com que a plataforma congele durante a inicialização.
  5. Corrigida a exibição de valores do indicador embutido Fractals na Janela de Dados.
  6. Ícones completamente atualizados nas barras de ferramentas para oferecer suporte a monitores HiDPI.
  7. Consertado o erro ao corrigir o volume da posição durante a cópia de sinais de negociação. Em alguns casos, a correção não podia ser feita devido a uma má aplicação dos níveis de parada, causando o erro "invalid stops".
  8. Otimizada reconstrução do histórico de preços após serem alterados no servidor.
  9. Corrigida a exibição de dicas para níveis de negociação em gráficos. Em alguns casos, elas podiam aparecer mesmo quando desabilitada a exibição de níveis de negociação.
  10. Corrigido o funcionamento da opção "Exibir em gráficos \ Atualização automática" no menu de contexto de ordens e posições na seção "Caixa de Ferramentas \ Negociação". Agora, ao desativar esta opção, a exibição do histórico de negociação será desativada para todos os gráficos abertos.

MQL5

  1. Adicionada a função MathClassify. Ela determina o tipo do número real e retorna o resultado como um valor a partir de uma nova enumeração ENUM_FP_CLASS.
    ENUM_FP_CLASS  MathClassify(
       double  value      // número real
       );
    A enumeração contém os seguintes valores:
    • FP_SUBNORMAL — número subnormal que está mais próximo de zero do que do menor número normalizado representável DBL_MIN — 2,2250738585072014e-308.
    • FP_NORMAL — número normalizado que varia de 2,2250738585072014e-308 a 1,7976931348623158e+308.
    • FP_ZERO — zero positivo ou negativo
    • FP_INFINITE — número que não pode ser representado pelo tipo correspondente — infinito positivo ou negativo.
    • FP_NAN — não é um número.

    Para verificar se um número real é válido, você pode usar o seguinte código:
    if(MathClassify(value)>FP_ZERO)
      {
       Print("value is not a valid number");
      }
  2. Adicionadas novas propriedades de símbolos que podem ser obtidos por funções SymbolInfoString:
    • SYMBOL_COUNTRY — País — país da empresa cujas ações são negociadas na bolsa de valores.
    • SYMBOL_SECTOR_NAME — setor da economia ao qual pertence o ativo. Por exemplo: energia, finanças, saúde, etc.
    • SYMBOL_INDUSTRY_NAME — indústria à qual pertence o ativo. Por exemplo: roupa e acessórios esportivos, fabricação de automóveis, restaurantes, etc.
    As propriedades são retornadas como uma string.

    Setor e indústria aos quais pertence o instrumento também podem ser obtidos como um valor de enumeração. Para fazer isso, solicite as seguintes propriedades com ajuda da função SymbolInfoInteger:

    • SYMBOL_SECTOR
    • SYMBOL_INDUSTRY
    Para trabalhar com essas propriedades, foram adicionadas as enumerações ENUM_SYMBOL_SECTOR e ENUM_SYMBOL_INDUSTRY.

  3. Implementado um novo mecanismo de gerenciamento de memória em programas MQL5. Ele aloca memória até 3 vezes mais rápido. Também evita vários erros potenciais de acesso à memória.
  4. Otimizado e significativamente acelerado o trabalho com o histórico de negociação da conta com ajuda da função History*.
  5. Corrigida a chamada WebRequest desde o ponto de entrada OnDeinit. Anteriormente, quando o EA era interrompido, não era chamada essa função.
  6. Corrigida a chamada da função WebRequest desde o serviços. Anteriormente, a função não podia ser chamada após reiniciar o serviço.
  7. Adicionada verificação de suporte de tipo double de dispositivos ao usar OpenCL. Em cálculos financeiros, o tipo float não é adequado devido aos muitos arredondamentos. A este respeito, a plataforma requer explicitamente suporte de double para cálculos. Agora, se estiver ausente, no log da plataforma serão exibidas mensagens, como "device '<name>' does not support type 'double'". Anteriormente, era exibida uma mensagem de erro genérica.
  8. Significativamente acelerada a execução da função AccountInfoDouble com parâmetros ACCOUNT_EQUITY e ACCOUNT_BALANCE.
  9. Corrigido erro durante a aplicação de um modelo ao gráfico com a ajuda da função ChartApplyTemplate.
  10. Corrigido ero de chamada da função ChartSetInteger com parâmetro CHART_BRING_TO_TOP.
  11. À biblioteca Alglib foi adicionado o método Conjugate para calcular o número conjugado de um número complexo. A biblioteca está localizada no diretório MQL5\Include\Math\Alglib.
  12. Atualizado completamente o criador de perfil de código. O novo profiler é significativamente mais rápido e preciso do que o anterior.
    • Para análise, o novo criador de perfil usa código otimizado da mesma maneira que ao compilar a versão de lançamento do programa. Isso permite determinar com mais precisão a velocidade de operação do código, uma vez que será usado no trabalho real do programa.
    • O novo profiler usa o método de criação de perfil "Sampling". Este é um método leve e preciso que coleta estatísticas sobre a performance do aplicativo, capturando dados da pilha de chamadas em intervalos regulares e calculando o desempenho com base neles.
    • Ao contrário da versão anterior, o novo criador de perfil não faz nenhuma alteração no código analisado. O método "Instrumentation" usado anteriormente adicionava ao código certas construções que eram usadas para medir a velocidade de operação da função. Isso podia afetar a velocidade de desempenho do código final.
    O trabalho sobre o criador de perfil ainda está em andamento. Espere mais melhorias nas próximas versões da plataforma.

Tester

  1. Otimizado o trabalho com a rede em nuvem MQL5 Cloud Network. Corrigidos erros de carregamento de EAs por agentes.
  2. Adicionado o novo critério de otimização "Complex Criterion max". Trata-se de um indicador integral e complexo que avalia a qualidade do teste. Ele leva em consideração vários parâmetros simultaneamente:
    • Número de transações
    • Rebaixamento
    • Fator de recuperação
    • Retorno esperado
    • Índice de Sharpe

    O novo critério permite entender que o valor máximo de um parâmetro (por exemplo, lucro) nem sempre é a melhor opção do ponto de vista de uma análise abrangente. Ele permite que você selecione as melhores passagens de teste passo a passo: primeiro pelo número de negócios, em seguida, a partir dessa amostra por retorno esperado, depois, por fator de recuperação e assim por diante. Assim, como resultado da otimização, você obtém as melhores passagens para cada parâmetro, para escolher algum específico, por exemplo, o de maior lucro.

    Selecione um novo critério nas configurações do testador de estratégia e inicie a otimização.



    Nos resultados da otimização, o valor "Complex Criterion max" será exibido em uma coluna "Result" separada. Você pode classificar as passagens de acordo com ela. O novo critério também suporta realce de cor para identificar visualmente as melhores passagens. Valores abaixo de 20 são destacados em vermelho, acima de 80, em verde escuro.



  3. Corrigida a adição de comissões personalizadas no testador de estratégia.

MetaEditor

  1. Iniciado retrabalho global de funções de gerenciamento de código inteligente (intelect).
    • As dicas de ferramentas agora mostram a assinatura de função completa, não apenas seu nome.
    • A fonte usada para exibir dicas agora é obtida a partir das configurações do MetaEditor.

    Espere mais melhorias nas próximas versões da plataforma.
Documentação atualizada.

24 julho 2020
MetaTrader 5 build 2560: Melhorias no sistema interno de aprendizado

Terminal

  1. Na atualização anterior da plataforma modificamos completamente o sistema interno de treinamento. Agora, fizemos os retoques finais:
    • Tornamos o ícone do progresso mais visível
    • Melhoramos os textos de várias dicas para que nenhum usuário fique confuso
    • Corrigimos uma série de erros de cálculo do progresso
    Faça todas as lições para usar 100% os recursos da plataforma.



  2. Otimizado e significativamente acelerado o processamento de grandes fluxos de ticks (dezenas de milhares por minuto ou mais).
  3. Corrigidos erros no cálculo das alterações de preços em relação ao fechamento da sessão anterior. Para ver este indicador, ative a coluna "Mudança diária" no menu de contexto da "Observação do Mercado".

MQL5

  1. Otimizado e acelerado significativamente o acesso à função de acesso às propriedades da conta de negociação ChartGetInteger.
  2. Corrigidos erros de busca de indicadores personalizados solicitados em programas MQL5 por meio da função iCustom.

MetaEditor

  1. Adicionada a compilação de programas C/C++ em projetos.

Tester

  1. Operação significativamente otimizada da rede em nuvem MQL5 Cloud Network. A rede se tornou melhor em encontrar agentes adequados, distribuindo tarefas mais rapidamente e retornando resultados de cálculos.

Documentação atualizada.
10 julho 2020
MetaTrader 5 build 2530: Classificação na Observação do Mercado e trabalho amigável com resultados de otimização

Terminal

  1. À observação do Mercado foi adicionada a possibilidade de classificar dados:
    • Clique no nome de qualquer coluna para classificar a lista de acordo dos seus dados. Por exemplo, segundo o nome do símbolo, o preço de fechamento, a alteração diária etc.
    • Use o novo menu com as opções de classificação mais populares. A classificação por líderes de crescimento e de queda, calculada de acordo com a variação diária do preço do instrumento, será conveniente ao negociar nas bolsas de valores.


  2. O sistema de aprendizado incorporado foi substancialmente reprojetado e aprimorado.
    Agora, todas as dicas interativas estão divididas em tópicos, para facilitar a navegação durante o aprendizado. Para cada categoria, é mostrado o número de dicas concluídas e restantes.



    Além disso, a cada dica foi adicionada uma lista de verificação indicando a ação principal que deve ser concluída para concluir o aprendizado.

    Também foi completamente atualizado design do sistema de aprendizado e foram eliminados os erros no cálculo do progresso geral do treinamento.

  3. Adicionado o cálculo automático do preço de fechamento do pregão anterior e a abertura do pregão atual para o instrumento. Se esses dados não forem fornecidos diretamente pela sua corretora, o terminal irá calculá-los de acordo com as cotações da última e da primeira sessão, respectivamente. E você poderá ver esses dados na Observação do Mercado. Para fazer isso, anexe as respectivas colunas na seção "Símbolos" ou vá para a seção "Detalhes".


  4. Aplicação otimizada e significativamente acelerada de preços para posições abertas. Quando novos ticks chegam ao terminal, os preços, lucros e requisitos de margem para as posições agora são atualizados mais rapidamente.
  5. Corrigido o cálculo do indicador Stochastic Oscillator embutido. Ocorria um erro ao limitar a quantidade de barras exibida nos gráficos.

MQL5

  1. Otimizada e acelerada significativamente a função de acesso às propriedades da conta de negociação AccountInfo*.
  2. Otimizado e acelerado significativamente o acesso à função de acesso às propriedades da conta de negociação ChartGetInteger.

MetaEditor

  1. Para um trabalho mais conveniente com o repositório de arquivos MQL5 Storage, foram adicionados três comandos ao menu de contexto das guias de edição de código:
    • Comparação da cópia de trabalho do arquivo com a revisão atual
    • Reversão de alterações atuais
    • Exibição do histórico de alterações do arquivo no repositório



  2. Alterado o realce de parênteses. Agora, os colchetes são bem destacados, não o plano de fundo abaixo deles. Por padrão, o destaque dos parênteses está desativado. Pode ser ativado nas configurações do editor.


  3. Aprimorado o trabalho da função de pesquisa e substituição:

    • Se você selecionar o texto no arquivo e acessar a caixa de pesquisa, o texto será automaticamente colocado no campo "Localizar". Se o texto no arquivo não foi selecionado, o texto será inserido no campo "Localizar" desde a área de transferência. Se a área de transferência estiver vazia, na janela de pesquisa o foco será simplesmente definido no campo "Localizar".
    • Um comportamento semelhante é implementado ao chamar a janela de substituição, apenas o texto nesse caso é substituído no campo "Substituir por".
    • Os resultados de pesquisa e substituição agora são exibidos não numa caixa de diálogo separada, mas, sim, no log. Se a janela "Ferramentas" estiver ativada neste momento, nela será automaticamente selecionada a guia de log. Assim, você não precisa perder tempo fechando janelas desnecessárias.

  4. Corrigida a pesquisa na janela de comparação de arquivos ao trabalhar com o repositório de versão MQL5 Storage.
  5. Adicionada a possibilidade de pesquisar e substituir nos arquivos incluídos no arquivo atual por meio da diretiva #include.
    Isso permiti trabalhar rapidamente com projetos que consistem em muitos arquivos. Por exemplo, para substituir o texto em todos os arquivos de programa, você não precisa especificar seus diretórios manualmente, o editor os encontrará automaticamente pelas diretivas #include.


Tester

  1. Alterados os critérios de otimização, em que foram levados em consideração dois indicadores — saldo e um segundo fator. Agora eles levam em conta apenas o segundo fator, sem saldo. Tais critérios são mais simples e mais compreensíveis na análise.

    • Saldo + rentabilidade máxima -> Rentabilidade máxima
    • Saldo + retorno esperado máximo -> Retorno esperado máximo
    • Saldo + rebaixamento mínimo -> Rebaixamento mínimo
    • Saldo + fator máximo de recuperação -> Fator máximo de recuperação
    • Saldo + índice de Sharpe máximo -> Índice de Sharpe máximo


  2. No submenu "Parâmetros otimizados", foram adicionados comandos para ativar ou desativar rapidamente a exibição de todas as colunas de parâmetros de entrada na tabela de resultados de otimização:


  3. Adicionada coloração da tabela e gráfico de resultados de otimização para uma análise visual conveniente das passagens.
    O gráfico é colorido com um gradiente de verde para vermelho, dependendo do valor do critério de otimização. São usadas as seguintes cores:
    • Saldo — em azul são coloridos valores acima do depósito inicial, em vermelho, abaixo.
    • Lucro — em azul são coloridos valores acima de zero, vermelho, abaixo.
    • Retorno esperado — em azul são coloridos valores acima de zero, vermelho, abaixo.
    • Rebaixamento — de verde (0-5%) a vermelho (acima de 30%).
    • Índice de Sharpe — de verde (mais de 2) a vermelho (abaixo de 0).
    • Fator de recuperação — de verde (mais de 2) a vermelho (abaixo de 1).


  4. Adicionados filtros na tabela de resultados de otimização. Agora você pode ocultar rapidamente passagens mal-sucedidas na lista:
    • Onde não houve transações
    • Onde o robô mostra perdas
    • Onde o rebaixamento é superior a 50%
    • Onde o fator de recuperação está abaixo de 1
    • Onde a índice de Sharpe é menor que 0,5


  5. Operação significativamente otimizada da rede em nuvem MQL5 Cloud Network. Por exemplo, agora, quando você reinicia a otimização do mesmo EA, a rede tenta usar os mesmos agentes de teste usados anteriormente. Como, com um alto grau de probabilidade, todo o ambiente de mercado, incluindo dados históricos, está pronto para eles, os cálculos podem ser iniciados imediatamente.

Documentação atualizada.
26 junho 2020
MetaTrader 5 iOS build 2505: Efeitos 'swipe', novas seções e esquemas de cores

MetaTrader 5 iOS build 2505

Reunimos os desejos dos usuários da versão iOS do MetaTrader 5 e fizemos um redesenho em larga escala do aplicativo

  • Adicionada pesquisa de símbolos na seção de cotações.
  • Adicionado esquema de cores "Cor em branco" por padrão.
  • Adicionada a exibição de transações nos gráficos.
  • O painel para alterar o período gráfico é movido para cima e já não se sobrepõe ao gráfico.
  • Adicionado o dimensionamento vertical de gráficos, basta deslizar sobre a escala de preços.
  • Agora é possível transferir contas para outros dispositivos usando códigos QR.
  • Adicionada a exibição da alteração diária do preço em pips na seção de cotações. As informações estão disponíveis apenas se forem fornecidas por uma corretora.
  • Às seções Cotações, Histórico e Negociação foi adicionado o suporte para o efeito swipe.
  • Adicionada seleção de volume de negociação adaptável para negociação rápida.
  • Adicionada a capacidade de acessar o gerador OTP via FaceID ou impressão digital.
Redesenhada navegação para iPad
  • Painel de negociação rápida movida para cima;
  • Adicionado menu inferior com seções e indicadores;
  • Seções e-mail, notícias e gerenciamento de contas foram movidas para guias separadas;
  • Gerenciamento de conta aprimorado.
5 junho 2020
MetaTrader 5 build 2485: Melhoras em iCustom e otimização geral em MQL5

Terminal

  1. Otimizada e significativamente acelerada a edição do histórico de barras para instruemntos financeiros personalizados, inclusive com ajuda da função CustomRatesUpdate.
  2. Corrigidos erros ao exportar configurações de instrumentos personalizados para arquivos JSON.
  3. Correções de crash-logs.

MQL5

  1. Alterado o algoritmo para carregar indicadores personalizados com ajuda de iCustom.

    Nome do indicador personalizado. Se antes do nome for indicada uma barra invertida '\', o arquivo EX5 do indicador será procurado em relação à pasta raíz MQL5. Assim, ao chamar iCustom(Symbol(), Period(), "\FirstIndicator"...) o indicador será carregado como MQL5\FirstIndicator.ex5. Se não houver arquivo nesse caminho, ocorrerá o erro 4802 (ERR_INDICATOR_CANNOT_CREATE).

    Se o caminho não começar com '\', o indicador será pesquisado e carregado na seguinte sequência:

    • Primeiro, o arquivo EX5 do indicador é pesquisado na mesma pasta em que localizado o arquivo EX5 do programa de chamada. Por exemplo, o EA CrossMA.EX5 está localizado na pasta MQL5\Experts\MyExperts e contém a chamada iCustom(Symbol(), Period(), "SecondIndicator"...), neste caso, a pesquisa do indicador é realizada com base no caminho MQL5\Experts\MyExperts\SecondIndicator.ex5.
    • Se o indicador não for encontrado no mesmo diretório, a pesquisa será realizada em relação ao diretório raiz dos indicadores MQL5\Indicators. Em outras palavras, é procurado o arquivo MQL5\Indicators\SecondIndicator.ex5. Se o indicador não for encontrado nos dois caminhos, a função retornará INVALID_HANDLE e será gerado o erro 4802 (ERR_INDICATOR_CANNOT_CREATE).

    Se o caminho do indicador estiver definido num subdiretório, por exemplo, como MyIndicators\ThirdIndicator, a pesquisa será realizada pela primeira vez na pasta do programa de chamada (o EA está localizado na pasta MQL5\Experts\MyExperts) com base no caminho MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5 e, em seguida, em caso de falha, é procurado o arquivo MQL5\Indicators\MyIndicators\ThirdIndicator.ex5. Além disso, com ajuda de um separador no caminho é necessário especificar uma barra invertida dupla '\\', por exemplo, iCustom(Symbol(), Period(), "MyIndicators\\ThirdIndicator"...).

    Além disso, se um indicador personalizado for chamado no código do programa via iCustom, o compilador incluirá implicitamente a diretiva "#property tester_indicator XXX", se ela estiver ausente.

  2. Otimizado e significativamente acelerado o trabalho da função HistorySelect, que permite solicitar o histórico de transações e de ordens.
  3. Corrigido erro que acontecia ao solicitar ticks através da função CopyTicksRange. Por esse motivo, como início do intervalo era considerado o início do dia especificado, sem levar em consideração o tempo especificado.
  4. Otimizada e significativamente acelerada exibição de avisos com ajuda da função Alert.
  5. Adicionada a nova propriedade SYMBOL_TIME_MSC — hora do último tick do símbolo em milissegundo. Para obter a propriedade, é usada a função SymbolInfoInteger.
29 maio 2020
MetaTrader 5 build 2470

Terminal

  • Foi corrigido um erro que não permitia na "Observação do Mercado" adicionar instrumentos financeiros cujos nomes continham os caracteres '-', '=', '_' e '+'.

MQL5

MetaEditor
  • Corrigida pesquisa avançada para caracteres de fim de linha '\n' e '\r'.

Documentação atualizada.
123456789101112131415