MetaTrader 4 build 1010: expansão dos recursos MQL4

Última atualização da MetaTrader 4

18 agosto 2016

Terminal

  1. Foi corrigido o erro que impedia a execução de programas MQL4 em terminais, ao trabalhar em versões de 32 bist de Windows 10, build 1607.
  2. Foram corrigidos os erros que, em alguns casos, causavam a exibição errada dos botões de pesquisa e do bate-papo.
  3. Foi corrigido o erro que, em alguns casos, causava a duplicação das cartas de boas-vindas recebidas no terminal ao abrir uma conta demo.

MQL4

  1. Foram adicionados os ponteiros 'void *', isso irá 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];  // emite um erro sobre coerção do ponteiro, 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 melhorado o trabalho com funções de cópia de dados histórica CopyXXX de ticks.
  4. Foi corrigido o erro de eliminação em massa de objetos gráficos no prefixo usando a função ObjectDeleteAll. Antigamente, após a execução de esta função, era violada a ordem de desenho dos objetos restantes.
  5. Foi corrigido o erro que, em alguns casos, levava a uma violação da ordem de exibição de objetos gráficos, durante a alteração do timeframe.

Hospedagem

  1. Agora, na sincronização do terminal com o servidor virtual, os gráficos sem EA (conselheiros) não estarão mais envolvidos, mesmo se indicadores personalizados estiverem em execução neles. Para migrar separadamente um indicador personalizado funcional, no seu gráfico, execute um conselheiro "vazio" que não esteja a realizar nenhuma operação. Ele pode ser facilmente gerado através do Master MQL4, no MetaEditor, selecionando "Advisor: modelo". Isso garante que a migração de indicadores personalizados seja feita conscientemente.
  2. Agora, você pode sincronizar conselheiros (EA) e indicadores personalizados que contêm, no nome, caracteres não-latinos (por exemplo, caracteres chineses, cirílicos, etc.)
  3. Correções de crash-logs.