---
title: "MetaTrader 5 Build 1200: Recebendo o Histórico de Tick e Pagamento Direto pelos Serviços - Última atualização"
description: "Implantado a condição de trabalhar com o histórico de tick na Observação do Mercado. - Última atualização"
image: "https://www.metatrader5.com/c/17/2015/10/terminal3_1.png"
url: "https://www.metatrader5.com/pt/releasenotes/terminal/1200"
---

# MetaTrader 5 Build 1200: Recebendo o Histórico de Tick e Pagamento Direto pelos Serviços

## Implantado a condição de trabalhar com o histórico de tick na Observação do Mercado

23 outubro 2015

### Terminal

1.  Implantado a condição de trabalhar com o histórico de tick na Observação do Mercado. Anteriormente um gráfico de tick mostrava apenas o histórico coletado no terminal durante o seu funcionamento. Agora você poderá acessar todo o histórico de tick no servidor de negociação. Desative a rolagem automática e inicie a rolagem do gráfico de tick voltando no tempo, usando o mouse para fazer o download do histórico anterior a partir do servidor de negociação, da mesma forma como é feito nos gráficos de preços comuns. O novo recurso será útil para os traders que desejam obter os gráficos mais detalhados dos preços.

   ![](https://www.metatrader5.com/c/17/2015/10/terminal1_1.png)

    A função [CopyTicks()](https://www.mql5.com/pt/docs/series/copyticks) é usada para receber um histórico de tick mais detalhado, ela foi modificada para chamar o histórico anterior e baixando-o se estiver presente no servidor de negociação.
2.  Implementado um ícone para rápida abertura/fechamento do Livro de Ofertas (Profundidade do Mercado). O ícone está localizado perto do painel de Negociação a Um Clique no gráfico. Você também pode usar a nova tecla de atalho **Alt+B**. A tecla de atalho também funciona na Janela da Observação do Mercado para abertura do Livro de Ofertas (Profundidade do Mercado) mediante qualquer símbolo (ativo) selecionado.

   ![](https://www.metatrader5.com/c/17/2015/10/terminal2_1.png)
3. informações sobre as características de hardware do PC e do sistema operacional estão agora disponíveis no ínicio do Diário do terminal do cliente. Exemplo:

   ```
   2015.10.14 14:48:18.486 Data Folder: C:\Program Files\MetaTrader 5 2015.10.14 14:48:18.486 Windows 7 Professional (x64 based PC), IE 11.00, UAC, 8 x Intel Core i7  920 @ 2.67GHz, RAM: 8116 / 12277 Mb, HDD: 534262 / 753865 Mb, GMT+03:00 2015.10.14 14:48:18.486 MetaTrader 5 build 1190 started (MetaQuotes Software Corp.)
   ```
4.  Foi aprimorada a execução com os símbolos (ativos) na janela da Observação do Mercado:

     - Implementada a exibição da quantidade de símbolos (ativos) na janela da Observação do Mercado e a quantidade total de símbolos (ativos) disponíveis no servidor de negociação.
     - Implementado uma linha para adicionar um novo símbolo com a lista de seleção inteligente.
     - A busca da nova linha do símbolo (ativo), além do próprio nome, é também realizada pela sua descrição e nome internacional.

       ![](https://www.metatrader5.com/c/17/2015/10/terminal3_1.png)
5. Implementado o suporte do calendário econômico em diferentes idiomas.
6.  Adicionado ícones dos países que estão faltando no calendário econômico.
7.  Adicionado a tecla de atalho para abrir a janela de gerenciamento dos símbolos (ativos) na Observação do Mercado - Ctrl+U.
8. Corrigido a organização das janelas abertas no gráfico de acordo com os comandos de menu Janela.
9.  Corrigido um erro que ocasionalmente prejudicava a capacidade do terminal em encontrar um arquivo certificado ao usar a autenticação avançada.
10.  Corrigido um erro em relação a sincronização do histórico que eventualmente poderia levar a repetição da mesma dentro do programa (looping).
11. Corrigido a situação onde os níveis de StopLoss/TakeProfit eram anulados de uma posição aberta previamente após o volume dela ser aumentado, quando um símbolo (ativo) era negociado no modo Solicitação de Execução.
12.  Corrigido a colocação de uma posição vendida quando o modo de negociação dos símbolos (ativos) no Livro de Ofertas (Profundidade do Mercado) era "Apenas Comprar."
13. Corrigido a função de operação do Trailing Stop. Em alguns casos raros, um Stop Loss era movido incorretamente para uma posição aberta.
14.  A interface do terminal foi adaptado para telas de alta resolução (4K).
15. Corrigido o descarregamento dos dados históricos com sendo excessivos, a pesar das solicitações regulares dos mesmos nos programas MQL5.
16. Corrigida a exibição de alguns elementos da interface do usuário ao trabalhar com Windows 10.
17. Atualizado as traduções da interface do usuário.

### Mercado

1. A operação com o banco de dados do produto no mercado MQL5 foi revista e otimizada.
2. Compras sem uma conta na Comunidade MQL5 foram desativadas nos terminais instalados em VPS. Para comprar agora é exigido a especificação de uma conta na Comunidade MQL5 configurada no terminal: Ferramentas - Opções - Comunidade.
3. Adicionado compra de produtos usando o sistema [UnionPay](https://www.unionpay.com/)<https://www.unionpay.com/>.
4. Registro avançado ao comprar produtos no Mercado MQL5.

### Hospedagem e sinais

1.  Pagamentos pela Hospedagem Virtual e assinaturas de Sinais poderão ser transferidos diretamente dos sistemas de pagamento. Para pagamento dos serviços de hospedagem, os usuários não precisam acessar a conta da Comunidade MQL5 e creditar dinheiro nela. O pagamento de um serviço poderá ser transferido diretamente da plataforma usando um dos sistemas de pagamento disponíveis.

   ![](https://www.metatrader5.com/c/17/2015/10/virtual_hosting1_1.png)

    Escolha um dos sistemas disponíveis para fazer uma transferência de dinheiro online:

   ![](https://www.metatrader5.com/c/17/2015/10/virtual_hosting2_1.png)

   Da mesma forma, o pagamento de uma assinatura de sinal de negociação poderá ser realizado diretamente do terminal através de um sistema de pagamento.

   ![](https://www.metatrader5.com/c/17/2015/10/virtual_hosting3_1.png)

    Primeiramente o montante necessário será transferido para sua conta na Comunidade MQL5, a partir de então, um pagamento do serviço será realizado. Assim, você mantém uma histórico claro e unificado das locações das plataformas de hospedagem virtuais e assinaturas de sinais, podendo facilmente acessar e revisar todos os seus pagamentos aos serviços na Comunidade MQL5.
2. Corrigida a migração das configurações de exportação FTP na hospedagem virtual, independentemente da permissão para publicar relatórios via FTP.
3.  Implentado um gerenciameno da hospedagem virtual (exceto para a migração) ao trabalhar na versão do terminal do cliente de 32 bits.

### MQL5

1. Desenvolvido um novo compilador de otimização. A execução de programas foi acelerado em até 5 vezes com uma plataforma de 64 bits. Os Programas MQL5 devem ser recompilados na última versão do MetaEditor.
2.  Formato extendido da estrutura MqlTick. Agora, a transmissão do tempo de chegada de um tick é em milissegundos, bem como as flags para determinar qual parâmetro de tick foi alterado.

   ```
   struct MqlTick   {    datetime     time;          // Tempo da última atualização do preço    double       bid;           // Preço Bid em tempo real (atual)    double       ask;           // Preço Ask em tempo real (atual)    double       last;          // "Last" Preço em tempo real (último preço atual)    ulong        volume;        // Volume do "Last" preço em tempo real (atual)    long         time_msc;      // Tempo do "Last" preço atualizado em milissegundos    uint         flags;         // Flags de tick    };
   ```

    Os parâmetros de cada tick são preenchidos independentemente se existem alterações comparadas com o tick anterior. Assim, é possível descobrir o preço correto para qualquer momento no passado, sem a necessidade de procurar os valores anteriores do histórico do tick. Por exemplo, mesmo que apenas altere o preço Bid durante a chegada do tick, a estrutura ainda contém outros parâmetros, bem como incluindo o preço Ask anterior, volume, etc. Você pode analisar as flags dos ticks para descobrir quais dados foram alterados exatamente:

     - TICK_FLAG_BID - tick alterou o preço Bid
     - TICK_FLAG_ASK - tick alterou o preço Ask
     - TICK_FLAG_LAST - tick alterou o último preço da oferta
     - TICK_FLAG_VOLUME - tick alterou o volume
     - TICK_FLAG_BUY - tick é resultado de uma compra
     - TICK_FLAG_SELL - tick é resultado de uma venda

   A estrutura MqlTick é usada através de dois métodos:

     - CopyTicks - este método não suporta o formato da antiga estrutura. Quando chamar a função CopyTicks usando a compilação EX5 no formato anterior de tick, irá retornar o erro 4006 (ERR_MQL_INVALID_ARRAY).
     - SymbolInfoTick - este método suporta tanto o formato novo como o da antiga estrutura.
3. Implementado modelos de classe que permitem criar classes parametrizadas como no C++. Isso permite uma maior capacidade de abstração e uso do mesmo código para trabalhar com objetos de diferentes classes de uma maneira uniforme. Exemplo de uso:

   ```
   //+------------------------------------------------------------------+ //|                                                    TemplTest.mq5 | //|                        Copyright 2015, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link      "https://www.mql5.com" #property version   "1.00" //+------------------------------------------------------------------+ //| Declara uma classe template                                      | //+------------------------------------------------------------------+ template<typename T> class TArray   { protected:    T                 m_data[]; public:    bool              Append(T item)      {       int new_size=ArraySize(m_data)+1;       int reserve =(new_size/2+15)&~15;       //---       if(ArrayResize(m_data,new_size,reserve)!=new_size)          return(false);       //---       m_data[new_size-1]=item;       return(true);      }    T                 operator[](int index)      {       static T invalid_index;       //---       if(index<0 || index>=ArraySize(m_data))          return(invalid_index);       //---       return(m_data[index]);      }     }; //+------------------------------------------------------------------+ //| Classe template do array de ponteiro. No processo de destruição, | //| exclui os objetos que são os ponteiros armazenados no array.     | //|                                                                  | //| Por favor, note a herança do array da classe template            | //+------------------------------------------------------------------+ template<typename T> class TArrayPtr : public TArray<T *>   { public:    void             ~TArrayPtr()      {       for(int n=0,count=ArraySize(m_data);n<count;n++)          if(CheckPointer(m_data[n])==POINTER_DYNAMIC)             delete m_data[n];      }   }; //+------------------------------------------------------------------------------+ //| Declarar a classe. Ponteiros aos respectivos objetos são armazenados no array| //+------------------------------------------------------------------------------+ class CFoo   {    int               m_x; public:                      CFoo(int x):m_x(x) { }    int               X(void) const { return(m_x); }   }; //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ TArray<int>     ExtIntArray;   // criar instância TArray (TArray especializada pelo tipo int) TArray<double>  ExtDblArray;   // criar instância TArray (TArray especializada pelo tipo double) TArrayPtr<CFoo> ExtPtrArray;   // criar instância TArrayPtr (TArrayPtr especializada pelo tipo CFoo) //+------------------------------------------------------------------+ //| Função "Start" de Programa Script                                | //+------------------------------------------------------------------+ void OnStart()   { //--- preencher o array com dados    for(int i=0;i<10;i++)      {       int integer=i+10;       ExtIntArray.Append(integer);              double dbl=i+20.0;       ExtDblArray.Append(dbl);              CFoo *ptr=new CFoo(i+30);       ExtPtrArray.Append(ptr);      } //--- Saída do conteúdo do array    string str="Int:";    for(int i=0;i<10;i++)       str+=" "+(string)ExtIntArray[i];          Print(str);      str="Dbl:";    for(int i=0;i<10;i++)       str+=" "+DoubleToString(ExtDblArray[i],1);    Print(str);      str="Ptr:";    for(int i=0;i<10;i++)       str+=" "+(string)ExtPtrArray[i].X();          Print(str); //--- Objetos CFoo criados via nova versão não deve ser suprimidos, uma vez que eles são excluídos no objeto destructor TArrayPtr <CFoo>}
   ```

   Resultado da execução:

   TemplTest (EURUSD,H1) Int: 10 11 12 13 14 15 16 17 18 19 TemplTest (EURUSD,H1) Dbl: 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0 TemplTest (EURUSD,H1) Ptr: 30 31 32 33 34 35 36 37 38 39
4. Novos operadores * e & para receber uma variável pela referência e receber uma referência à variável.
5. Implementado a forma sobrecarregada da função ObjectsDeleteAll - exclui todos os objetos de um tipo específico por um prefixo de nome numa sub-janela do gráfico.

   ```
   int  ObjectsDeleteAll(    long           chart_id,   // ID de gráfico    const string     prefix,   // prefixo do nome do objeto    int       sub_window=-1,   // índice da janela    int      object_type=-1    // tipo de objeto para deletar    );
   ```
6. Corrigido o funcionamento da função ObjectGetValueByTime. Anteriormente um valor de preço incorreto por um tempo gráfico poderia algumas vezes ser devolvido (por exemplo, por uma linha de tendência horizontal).
7.  Corrigido a operação das funções Copy* na ausência de dados históricos no servidor. Anteriormente esses casos causavam atrasos de 30 a 50 segundos antes de retornar o controle.
8. Adicionado algumas melhorias na biblioteca padrão MQL5.
9. Documentação da [Biblioteca Padrão](https://www.mql5.com/pt/docs/standardlibrary) traduzida ao Alemão, Francês, Chinês, Turco, Espanhol e Português.
10. Adicionada a [Documentação MQL5 em japonês](https://www.mql5.com/ja/docs).

### Tester

1. O processo da seleção de programas a serem executados no Testador de Estratégia tornou-se muito mais fácil. A lista é exibida agora como uma árvore, em conformidade com os diretórios onde os Expert Advisors e indicadores estão armazenados.

   ![](https://www.metatrader5.com/c/17/2015/10/tester_1.png)
2. Carregado a exibição de alguns indicadores durante a visualização de teste alinhados com o terminal do cliente.
3. Corrigido a configuração da alavancagem e timeframe do gráfico durante a depuração de programas MQL5 via o Testador de Estratégia.
4. Corrigida a depuração de inidicadores quando testados no histórico.

 Corrigidos erros relatados nos registros (logs) quebrados.

Documentação atualizada.

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

**Veja as notícias anteriores:**

- [MetaTrader 5 iPhone build 1167](https://www.metatrader5.com/pt/releasenotes/iphone/1167)
- [MetaTrader 5 iPhone Build 1165](https://www.metatrader5.com/pt/releasenotes/iphone/1165)
- [MetaTrader 5 Android build 1164](https://www.metatrader5.com/pt/releasenotes/android/1164)
- [MetaTrader 5 Android build 1130](https://www.metatrader5.com/pt/releasenotes/android/1130)
- [MetaTrader 5 build 622: Comprar robôs no Mercado tornou-se mais fácil e rápido!](https://www.metatrader5.com/pt/releasenotes/terminal/622)
