Criação e teste de símbolos personalizados na MetaTrader 5

4 outubro 2017, 08:01
MetaQuotes Software Corp.
0
1 082
Os símbolos personalizados na MetaTrader 5 oferecem novas oportunidades para desenvolver sistemas de negociação e analisar qualquer mercado financeiro. Agora, os traders são capazes de desenhar gráficos e testar estratégias de negociação em um número ilimitado de instrumentos financeiros. Para fazer isso, eles só precisam criar o seu símbolo personalizado com base em um histórico de tick ou minuto. Os símbolos personalizados podem ser usados ​​para testar qualquer robô de negociação do mercado ou a biblioteca de código fonte gratuita.

Criação de um símbolo personalizado

Vamos criar um símbolo personalizado baseado no que já está presente na Observação do Mercado. Abra a janela Símbolos pelo botão direito do mouse e selecione o que você gostaria de usar para criar um símbolo personalizado.


Após clicar em "Criar Símbolo Personalizado", defina o seu nome e altere os parâmetros necessários na especificação do contrato se necessário.


Todos os símbolos personalizados são colocados em uma pasta <Custom> separada da árvore de símbolos, que está sempre localizada lá, independentemente da corretora na qual você está conectado atualmente. Os dados de preços dos símbolos personalizados são salvos em uma pasta personalizada separada fora das pastas onde os servidores de dados de negociação são armazenados:

C:\Users\[windows account]\AppData\Roaming\MetaQuotes\Terminal\[id da instância]\bases\Custom

Esta é outra vantagem de criar um símbolo personalizado — você pode simplesmente copiar os símbolos necessários de cada corretora para o seu grupo personalizado. Assim como os símbolos convencionais, você pode excluir um símbolo personalizado somente se não houver gráficos abertos com ele e o mesmo não estiver presente na Observação do Mercado.

Configuração de um símbolo personalizado

Você pode definir a precisão das cotações, tamanho do contrato, moeda do símbolo, método de liquidação e todos os outros parâmetros que afetam o resultado dos testes de uma estratégia de negociação envolvendo o símbolo personalizado.


Importação do histórico

Após a criação de um símbolo personalizado, nós precisamos adicionar um histórico de cotações para ele. Primeiro, vejamos como criar um histórico baseado em um símbolo já existente. Na janela Símbolos, abra a guia Barras ou Ticks, dependendo de como você deseja preparar o histórico. Faça uma solicitação para o período desejado e execute exportar. Para receber barras, selecione o tempo gráfico M1, já que todo o histórico no MetaTrader 5 é baseado nos dados de minutos.


A exportação é realizada sob a forma de um arquivo de texto em CSV com o nome do seguinte modo: EURUSD_M1_201701020000_201707251825.csv, que contém o nome do símbolo, o tempo gráfico e o intervalo de tempo do histórico exportado até um minuto. Abaixo segue a aparência do formato na exportação das barras:

<DATE>	        <TIME>	        <OPEN>	<HIGH>	<LOW>	<CLOSE>	<TICKVOL><VOL>	     <SPREAD>
2017.01.02	00:03:00	1.05141	1.05141	1.05141	1.05141	6	15000000	118
2017.01.02	00:04:00	1.05141	1.05141	1.05141	1.05141	2	5000000	        112
2017.01.02	00:05:00	1.05158	1.05158	1.05148	1.05158	10	17000000	101
2017.01.02	00:06:00	1.05148	1.05158	1.05148	1.05158	7	13000000	101

Ao exportar um histórico de tick, o arquivo CSV se torna muito maior, e seu formato recebe dados em cada tick até milissegundos. Usando esses dados, o terminal faz um histórico de um minuto em que todos os outros tempos gráficos devem ser baseados.

<DATE>          <TIME>          <BID>   <ASK>   <LAST>  <VOLUME>
2017.07.03      00:03:47.212    1.14175 1.14210 0.00000 0       
2017.07.03      00:03:47.212    1.14168 1.14206 0.00000 0       
2017.07.03      00:03:47.717    1.14175 1.14206 0.00000 0       
2017.07.03      00:03:54.241    1.14175 1.14205 0.00000 0       
2017.07.03      00:03:57.982    1.14165 1.14201 0.00000 0       
2017.07.03      00:04:07.795    1.14175 1.14201 0.00000 0       
2017.07.03      00:04:55.432    1.14164 1.14200 0.00000 0       
2017.07.03      00:14:33.743    1.14173 1.14203 0.00000 0       
2017.07.03      00:14:33.743    1.14173 1.14201 0.00000 0       
2017.07.03      00:16:44.901    1.14174 1.14195 0.00000 0       

Portanto, se você formar um histórico para o seu símbolo personalizado usando qualquer fonte de terceiros, você precisa preparar os dados de acordo com os formatos exibidos acima.

Para importar o histórico, execute os passos seguintes. Encontre o seu símbolo personalizado EURUSD_my na pasta Custom\<Grupo personalizado>, vá para a guia Ticks, selecione o arquivo CSV necessário e clique em "Importar Ticks" (faça o mesmo para a importação de barras).


Depois de importar o histórico, você pode editá-lo através da adição, exclusão ou alteração das barras e ticks.

Os símbolos personalizados criados estão disponíveis na Observação do Mercado, podendo abrir os seus gráficos a partir de lá. Assim, os símbolos personalizados permitem que você aplique todo o rico arsenal da análise técnica da MetaTrader 5, incluindo a execução de qualquer indicador personalizado e das ferramentas analíticas do Mercado.


Teste das estratégias de negociação em um símbolo personalizado

O testador de estratégia multi-thread da MetaTrader 5 permite que você teste estratégias de negociação em vários instrumentos financeiros em ticks reais. Use todas as suas vantagens para testar estratégias em símbolos personalizados. Para fazer isso, importe um histórico de minutos de alta qualidade (de preferência de ticks) e defina as propriedades de cada instrumento necessárias para uma reconstrução detalhada do ambiente de negociação. Depois disso, selecione o EA exigido e defina as configurações de teste. Todo o processo é semelhante ao de se trabalhar com os símbolos de negociação convencionais fornecidos pela sua corretora.


Forneça ao testador todos os símbolos necessários que você precise para calcular os requisitos de margem e o lucro na moeda da sua conta de negociação. Ao calcular a margem e o lucro, o testador de estratégia usa automaticamente as taxas cruzadas disponíveis. Suponha que criamos um símbolo personalizado AUDCAD.custom com o tipo Forex para o cálculo da margem, e nossa moeda da conta é USD. Neste caso, o testador procura os símbolos necessários na seguinte ordem com base no nome do símbolo Forex:

  1. primeiro, a busca é realizada para os símbolos dos formatos AUDUSD.custom (para calcular a margem) e USDCAD.custom (para calcular o lucro da operação)
  2. se algum desses símbolos não estiver presente, a busca é realizada para o primeiro símbolo correspondente aos pares de moeda necessários pelo nome (AUDUSD e USDCAD, respectivamente). Por exemplo, os símbolos AUDUSD.b e USDCAD.b foram encontrados. Isso significa que suas taxas devem ser usadas para calcular a margem e o lucro.
Instrumentos com outros tipos de cálculo de margem (CFD, Futuros e Bolsa de Valores) exigem um par de moedas para converter a moeda do instrumento em um depósito. Suponhamos que criamos um símbolo personalizado com margem de lucro e margem expresso em GBP, enquanto a moeda de depósito é CHF. Nesse caso, a busca de símbolos de teste é realizada na seguinte ordem:
  1. É verificado a presença de um símbolo de negociação correspondente a GBPCHF (GBP vs CHF).
  2. Se nenhum símbolo desse tipo existir, a busca é realizada para o primeiro símbolo de negociação que contem GBPCHF em seu nome, por exemplo GBPCHF.b ou GBPCHF.def.

Ao testar usando símbolos personalizados, certifique-se de que a conta de negociação tenha todos os pares de moedas necessários. Caso contrário, o cálculo dos resultados financeiros e os requisitos de margem durante o teste não serão possíveis.

Otimizando estratégias em um símbolo personalizado em uma rede local

Além de seus próprios agentes, você pode usar agentes de uma rede local e agentes remotos para otimizar estratégias de negociação em símbolos personalizados. Esta é mais uma vantagem do testador de estratégia da MetaTrader 5, permitindo reduzir o tempo gasto na procura de parâmetros ideais do seu sistema de negociação.

O uso da MQL5 Cloud Network para otimização de símbolos personalizados não é permitido. Isto é devido ao fato de que podem existir símbolos personalizados com os mesmos nomes, mas históricos de preços diferentes em computadores de diferentes traders. Além da discrepância dos resultados dos testes entre agentes de rede, isso pode causar recarga e sincronização em massa de dados do histórico, o que leva ao uso excessivo da internet.


Funções para trabalhar com os símbolos personalizados

Você também pode trabalhar com os símbolos personalizados usando a linguagem MQL5. As funções das seção "Símbolos personalizados" foi projetada para isso. Uma aplicação MQL5 permite que você crie rapidamente instrumentos financeiros necessários com propriedades específicas com base nos dados de fontes de terceiros. Assim, você pode automatizar a coleta e preparação de dados do histórico para qualquer símbolo, bem como criar seus índices personalizados e outros derivados e testá-los no Testador de estratégia MetaTrader 5.

Função

Ação

CustomSymbolCreate

Cria um símbolo personalizado com o nome especificado no grupo especificado

CustomSymbolDelete

Remove um símbolo personalizado com o nome especificado

CustomSymbolSetInteger

Define o valor da propriedade do tipo inteiro para um símbolo personalizado

CustomSymbolSetDouble

Define o valor da propriedade de tipo real para um símbolo personalizado

CustomSymbolSetString

Define o valor da propriedade do tipo string para um símbolo personalizado

CustomSymbolSetMarginRate

Define as taxas de margem dependendo do tipo de ordem e direção de um símbolo personalizado

CustomSymbolSetSessionQuote

Define a hora de início e término da sessão de cotação especificada para o símbolo especificado e o dia da semana

CustomSymbolSetSessionTrade

Define a hora de início e término da sessão de negociação especificada para o símbolo especificado e o dia da semana

CustomRatesDelete

Remove todas as barras do histórico de preços do símbolo personalizado no intervalo de tempo especificado

CustomRatesReplace

Substitui completamente o histórico de preços do símbolo personalizado dentro do intervalo de tempo especificado com os dados do array do tipo MqlRates

CustomRatesUpdate

Adiciona barras ausentes ao histórico de símbolos personalizado e substitui os dados existentes com o array do tipo MqlRates

CustomTicksDelete

Remove todos os ticks do histórico de preços do símbolo personalizado no intervalo de tempo especificado

CustomTicksReplace

Substitui completamente o histórico de preços do símbolo personalizado dentro do intervalo de tempo especificado com os dados do array do tipo MqlTick

Essas funções complementam as capacidades da seção "Obtenção de Informações do Mercado". Agora, além de obter propriedades de qualquer símbolo, você pode também configurá-los para instrumentos personalizados.

Teste suas ideias de negociação em qualquer símbolo na MetaTrader 5!

A plataforma MetaTrader 5 oferece o conjunto mais amplo de oportunidades para os traders algorítmicos. Aqui estão alguns deles:

Os traders têm acesso a todas as vantagens da plataforma MetaTrader 5, mesmo nos símbolos que suas corretoras ainda não oferecem. Crie seus próprios símbolos e teste as estratégias de negociação em qualquer mercado financeiro!

Traduzido do russo pela MetaQuotes Software Corp.
Artigo original: https://www.mql5.com/ru/articles/3540

Examinemos na prática o método adaptativo de acompanhamento do mercado Examinemos na prática o método adaptativo de acompanhamento do mercado

A principal diferença entre ele e o sistema de negociação proposto no artigo é o uso de ferramentas matemáticas para analisar as cotações da bolsa de valores. O sistema implementa filtragem digital e estimativa espectral de séries temporais discretas. Descrevem-se os aspectos teóricos da estratégia e constrói-se o Expert Advisor para testá-la.

Redes Neurais Profundas (Parte II). Desenvolvimento e seleção de preditores Redes Neurais Profundas (Parte II). Desenvolvimento e seleção de preditores

O segundo artigo da série sobre redes neurais profundas considerará a transformação e seleção dos preditores durante o processo de preparação de dados para treinar um modelo.

Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15) Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)

Nesta atualização da biblioteca, o controle da tabela (a classe CTable) será complementado com novas opções. A gama de controles nas células da tabela foi expandida, desta vez adicionando as caixas de edição de texto e as caixas de combinação. Além disso, esta atualização também apresenta a capacidade de redimensionar a janela de uma aplicação MQL em tempo de execução.

Usando armazenamento em nuvem para intercâmbio de dados entre os terminais Usando armazenamento em nuvem para intercâmbio de dados entre os terminais

As tecnologias baseadas em nuvem estão se tornando mais populares. À nossa disposição temos serviços de armazenamento pagos ou gratuitos. Mas será que é possível usá-los na negociação? Este artigo apresenta uma tecnologia para intercâmbio de dados entre terminais usando serviços de armazenamento em nuvem.