MetaTrader 5 build 1395: aceleração de operações de negociação e melhorias no teste visual

Foi otimizado e consideravelmente acelerado o envio de comandos de negociação para o terminal de cliente

19 agosto 2016

Terminal

  1. Foi otimizado e consideravelmente acelerado o envio de comandos de negociação para o terminal de cliente.
  2. Foi corrigido um bug que não permitia executar programas MQL5 nos terminais, ao trabalhar em versões de 32 bits do Windows 10 build 1607.
  3. Foi adicionado ao navegador a exibição do modo de trabalho da conta de negociação, isto é, a cobertura e compensação (Hedging e Netting).
  4. Foi adicionado ao navegador um comando de menu de contexto para conetar a conta desejada ao terminal web.
  5. Foi redesenhada a seção do menu "Ajuda", foram anexados links para assistir a vídeos de treinamento.
  6. Foram corrigidos vários erros de interface, ao trabalhar em telas de alta resolução (4K).
  7. Foram corrigidos os erros na tradução da interface do usuário para persa.

MQL5

  1. Foram adicionados os ponteiros 'void *', o que permitirá criar coleções abstratas de objetos. Neste tipo de variável, você pode armazenar um ponteiro para um objeto de qualquer classe.
    Para a conversão inversa, recomenda-se usar o operador dynamic_cast<nome da classe *>(ponteiro void *). Se a conversão não for possível, o resultado será NULL.
    class CFoo { };
    class CBar { };
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       void *vptr[2];
       vptr[0]=new CFoo();
       vptr[1]=new CBar();
    //---
       for(int i=0;i<ArraySize(vptr);i++)
         {
          if(dynamic_cast<CFoo *>(vptr[i])!=NULL)
             Print("CFoo * object at index ",i);
          if(dynamic_cast<CBar *>(vptr[i])!=NULL)
             Print("CBar * object at index ",i);
         }
       CFoo *fptr=vptr[1];  // emitirá o erro de apresentação de ponteiros, vptr[1] não é um objeto CFoo
      }
    //+------------------------------------------------------------------+
  2. Foi adicionado o suporte do operador [] para a cadeia de caracteres, isso irá permitir obter um símbolo a partir da cadeia de caracteres no índice. Se o índice especificado sair dos limites da cadeia de carateres, o resultado será 0.
    string text="Hello";
    ushort symb=text[0];  // retorna o código do símbolo 'H'
    
  3. Foi adicionada a segunda opção do processador de eventos TesterInit com rótulo int OnTesterInit(void), ele pode retornar o código INIT_SUCCEEDED (0) ou INIT_FAILED (o qualquer valor diferente de zero). Se OnTesterInit retornar um valor diferente de zero, não começará a otimização.
  4. Foi corrigido o erro pelo cual diferentes sobrecargas da função ChartGetString dava um resultado diferente.

Tester

  1. Foram adicionados comandos e atalhos adicionais para o teste visual. Agora, os gráficos, tanto no testador visual como no terminal, podem ser configurados: alterar cores, controlar a exibição de vários elementos, aplicar modelos, etc.




  2.  Foi corrigido o trabalho da função Sleep em modo de teste "segundo os preços de abertura" ("Price Open").
  3.  Foi corrigido o erro que causava a formação de um estado incorreto das barras, ao trabalhar em períodos W1 e MN1.

MetaEditor

  1. MetaEditor: Foi adicionada a tradução da interface do usuário para chines tradicional.

Documentação atualizada.