Terminal
- 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.
A função 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.
- 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.
- 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.)
- 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.
- Implementado o suporte do calendário econômico em diferentes idiomas.
- Adicionado ícones dos países que estão faltando no calendário econômico.
-
Adicionado a tecla de atalho para abrir a janela de gerenciamento dos
símbolos (ativos) na Observação do Mercado - Ctrl+U.
- Corrigido a organização das janelas abertas no gráfico de acordo com os comandos de menu Janela.
- Corrigido um erro que ocasionalmente prejudicava a capacidade do
terminal em encontrar um arquivo certificado ao usar a autenticação
avançada.
- 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).
- 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.
-
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."
- 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.
- A interface do terminal foi adaptado para telas de alta resolução (4K).
- Corrigido o descarregamento dos dados históricos com sendo excessivos, a
pesar das solicitações regulares dos mesmos nos programas MQL5.
- Corrigida a exibição de alguns elementos da interface do usuário ao trabalhar com Windows 10.
- Atualizado as traduções da interface do usuário.
Mercado
- A operação com o banco de dados do produto no mercado MQL5 foi revista e otimizada.
- 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.
- Adicionado compra de produtos usando o sistema UnionPay.
- Registro avançado ao comprar produtos no Mercado MQL5.
Hospedagem e sinais
- 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.
Escolha um dos sistemas disponíveis para fazer uma transferência de dinheiro online:
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.
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. - Corrigida a migração das configurações de exportação FTP na hospedagem
virtual, independentemente da permissão para publicar relatórios via
FTP.
- Implentado um gerenciameno da hospedagem virtual (exceto para a
migração) ao trabalhar na versão do terminal do cliente de 32 bits.
MQL5
- 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.
- 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;
double bid;
double ask;
double last;
ulong volume;
long time_msc;
uint flags;
};
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.
- 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:
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
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]);
}
};
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];
}
};
class CFoo
{
int m_x;
public:
CFoo(int x):m_x(x) { }
int X(void) const { return(m_x); }
};
TArray<int> ExtIntArray;
TArray<double> ExtDblArray;
TArrayPtr<CFoo> ExtPtrArray;
void OnStart()
{
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);
}
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);
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
- Novos operadores * e & para receber uma variável pela referência e receber uma referência à variável.
- 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,
const string prefix,
int sub_window=-1,
int object_type=-1
);
- 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).
- 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.
- Adicionado algumas melhorias na biblioteca padrão MQL5.
- Documentação da Biblioteca Padrão traduzida ao Alemão, Francês, Chinês, Turco, Espanhol e Português.
- Adicionada a Documentação MQL5 em japonês.
Tester
- 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.
- Carregado a exibição de alguns indicadores durante a visualização de teste alinhados com o terminal do cliente.
- Corrigido a configuração da alavancagem e timeframe do gráfico durante a
depuração de programas MQL5 via o Testador de Estratégia.
- 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, por favor: