Nova versão da plataforma MetaTrader 5 build 3260: operações em massa, funções matriciais e vetoriais, e melhorias no bate-papo

 

Na sexta-feira, 15 de abril de 2022, liberaremos uma atualização da plataforma MetaTrader 5.

Na nova versão, acrescentamos muitos comandos para fechamento de posição em massa e remoção de ordens pendentes. Estas ações agora podem ser realizadas com apenas alguns cliques do mouse, se necessário.

Também ampliamos as capacidades da linguagem MQL5. Ela agora tem novas funções para matrizes e vetores, assim como métodos embutidos para matrizes e strings.

 Nova versão da plataforma MetaTrader 5 build 3260: operações em massa, funções matriciais e vetoriais, e melhorias no bate-papo

Além disso, melhoramos os bate-papos embutidos. Agora é possível citar as mensagens de seu interlocutor e criar mensagens combinadas a partir de texto, imagens e anexos.

Esta atualização também inclui muitas correções de erros e melhorias no processo de compra de serviços MQL5, bem como a otimização do sistema gráfico do terminal.

Leia mais sobre essas e outras mudanças na nova versão da plataforma MetaTrader 5 abaixo.


  1. Terminal: adicionados comandos para fechamento de posições e remoção de ordens pendentes em massa.

    No menu de contexto da seção de negociação, foi acrescentada uma nova seção, "Operações em massa". A lista de comandos disponíveis é gerada de forma inteligente, dependendo da operação selecionada e do seu tipo de conta.




    Os comandos estão sempre disponíveis no menu:

    • Fechamento de todas as posições. Para as contas de cobertura, o sistema primeiro tenta fechar posições com posições contrárias, e depois fecha as posições restantes de acordo com o procedimento normal.
    • Fechamento de todas as posições lucrativas e todas as posições desfavoráveis
    • Remoção de todas as ordens pendentes
    • Remoção de todas as ordens pendentes separadamente por tipo: Limit, Stop, Stop Limit

    Se uma posição for selecionada, comandos adicionais aparecem no menu:

    • Fechamento de todas as posições com o mesmo símbolo
    • Fechamento de todas as posições na mesma direção (para contas de cobertura)
    • Fechamento de posições contrárias com o mesmo símbolo (para contas de cobertura)
    • Reversão de posição (para contas de compensação)

    Se uma ordem pendente for selecionada, comandos adicionais aparecem no menu:

    • Remoção de todas as ordens pendentes com o mesmo símbolo
    • Remoção de todas as ordens pendentes com o mesmos tipo e símbolo

    Para que estes comandos funcionem, o usuário deve habilitar a negociação com um clique nas configurações da plataforma: Serviço \ Configurações \ Negociação.
  2. Terminal: expandidas as funções de bate-papo embutidas:

    • Adicionada a opção de responder a mensagens. O texto da mensagem original será incluído na resposta como uma citação.
    • Adicionada a criação de mensagens com diferentes tipos de conteúdo: imagens com texto, texto com anexos, etc.
    • Corrigida a exibição do separador de mensagens lidas e não lidas.
    • Corrigidos vários erros e alcançada uma maior estabilidade.




  3. Terminal: otimizada e significativamente acelerada a operação do sistema gráfico do terminal. Menos recursos serão gastos na exibição da interface.
  4. Terminal: corrigido o cálculo da variação diária do preço de futuros. Se a corretora transmitir o preço de compensação, o cálculo será feito a partir dele.
    ((Last - preço de compensação)/preço de compensação)*100
    Você pode saber mais sobre o cálculo para cada tipo de instrumento na documentação.

  5. Terminal: corrigidos erros ao adquirir serviços MQL5:

    • Em alguns casos, os sistemas de pagamento podiam exibir mensagens de erro incorretas relativas a operações bem sucedidas.
    • Em estágios intermediários de aluguel de produtos no Mercado, a página podia apresentar um preço incorreto.

  6. Terminal: corrigido o funcionamento do botão "Iniciar" na página do produto comprado/descarregado via Mercado. Agora ele executa o aplicativo corretamente no primeiro dos gráficos abertos.
  7. Terminal: corrigido o cálculo de alguns tipos de negócios ao gerar o histórico de posições.
  8. MQL5: adicionadas novas funções para trabalhar usando matrizes e vetores:

    • Median — retorna a mediana dos elementos da matriz ou vetor
    • Quantile — retorna o q-ésimo quantil de elementos da matriz/vetor ou elementos ao longo do eixo matricial especificado
    • Percentile — retorna o q-ésimo percentil dos elementos da matriz/vetor ou elementos ao longo do eixo matricial especificado
    • Std — calcula o desvio padrão dos elementos de uma matriz ou vetor
    • Var — calcula a variância dos elementos de uma matriz ou vetor
    • CorrCoef — calcula o coeficiente de correlação de uma matriz ou vetor
    • Correlate — calcula a correlação cruzada dos dois vetores
    • Convolve — retorna uma convolução linear discreta de dois vetores
    • Cov — calcula a matriz de covariância

  9. MQL5: continuam os trabalhos para adicionar métodos embutidos para matrizes numéricas. Isto ampliará a facilidade de escrita do código, o tornará mais compacto e melhorará a compatibilidade com outras linguagens.

    Atualmente, há três métodos disponíveis:

    • ArgSort — classifica a matriz por uma dada dimensão, por padrão pela mais recente (axis=-1).
    • Range — retorna o número de elementos na dimensão especificada da matriz. Análogo a ArrayRange.
    • Size — retorna o número de elementos da matriz. Análogo a ArraySize.

    Exemplo:
    void OnStart()
      {
       int arr[4][5]=
         {
            {22, 34, 11, 20,  1},
            {10, 36,  2, 12,  5},
            {33, 37, 25, 13,  4},
            {14,  9, 26, 21, 59}
         };
       ulong indexes[4][5];
    //--- Classificamos a matriz
       arr.ArgSort(indexes,-1,0);
       Print("indexes");  
       ArrayPrint(indexes);
      }
    
    // Resultado no log:
    // indexes
    //     [,0][,1][,2][,3][,4]
    // [0,]   4   2   3   0   1
    // [1,]   2   4   0   3   1
    // [2,]   4   3   2   0   1
    // [3,]   1   0   3   2   4

  10. MQL5: em andamento esforços para acrescentar métodos embutidos para strings.

    Os seguintes métodos estão atualmente disponíveis:

    • BufferSize — retorna o tamanho do buffer alocado para a cadeia.
    • Compare — compara duas strings e retorna o resultado como um inteiro.
    • Length — retorna o número de caracteres na string.
    • Find — procura uma substring na string.
    • Upper — converte a string em maiúsculas.
    • Lower — Upper — converte a string em minúsculas.
    • Replace — substitui a substring.
    • Reserve — reserva um buffer para a string.

    Todos os métodos funcionam da mesma maneira que as funções de string.

      Exemplo:
      void OnStart()
        {
         string test="some string";
         PrintFormat("String length is %d",test.Length());
        }
      
      // Resultado no log:
      // String length is 11
    • MQL5: adicionado o valor SYMBOL_SUBSCRIPTION_DELAY à enumeração ENUM_SYMBOL_INFO_INTEGER — tamanho do atraso nas cotações transmitidas pelo símbolo.

      Usado somente para instrumentos baseados em assinaturas, geralmente, ao transmitir dados em modo de teste gratuito.

      A propriedade só pode ser consultada para símbolos selecionados na Observação do Mercado. Caso contrário, você receberá o erro ERR_MARKET_NOT_SELECTED (4302).

    • MQL5: adicionada a propriedade ACCOUNT_HEDGE_ALLOWED à propriedade ENUM_ACCOUNT_INFO_INTEGER — permissão para abrir posições opostas e ordens pendentes. Usado somente para contas de cobertura, permitindo a implementação das exigências de alguns reguladores quando a conta é proibida de ter posições opostas, mas permitido ter múltiplas posições do mesmo símbolo na mesma direção.

      Se esta opção for desativada, não é permitido que as contas tenham posições e ordens opostas para o mesmo instrumento ao mesmo tempo. Por exemplo, se houver uma posição Buy na conta, o usuário não poderá abrir uma posição Sell ou colocar uma ordem de venda pendente. Se o usuário tentar fazer isso, ele receberá o erro TRADE_RETCODE_HEDGE_PROHIBITED.

    • MQL5: acrescentadas novas propriedades à enumeração ENUM_SYMBOL_INFO_DOUBLE:

      • SYMBOL_SWAP_SUNDAY
      • SYMBOL_SWAP_MONDAY
      • SYMBOL_SWAP_TUESDAY
      • SYMBOL_SWAP_WEDNESDAY
      • SYMBOL_SWAP_THURSDAY
      • SYMBOL_SWAP_FRIDAY
      • SYMBOL_SWAP_SATURDAY

      Elas permitem que você obtenha a taxa de acumulação de swaps para cada dia da semana. 1 — único swap acumulado, 3 — triplo, 0 — sem acumulação.

    • MQL5: corrigido um bug, ao usar CopyTicks e CopyTicksRange, que fazia com que os dados desatualizados fossem dados à meia-noite. Ocorria quando não eram recebidos ticks do instrumento.
    • Correções de crash-logs.


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

    Razão: