A plataforma de negociação permite que você crie seus próprios instrumentos financeiros. Graças a eles, é possível visualizar gráficos e implementar análise técnica, além disso, podem ser usados para testar robôs de negociação e indicadores no testador de estratégias.
Se sua corretora não fornece um instrumento no qual você gostaria de testar sua estratégia, ou proporciona um histórico de preços de má qualidade ou pouca profundidade, crie sozinho o instrumento e carregue nele seus próprios dados.
Abra a janela de gerenciamento de símbolos através do menu de contexto "Observação do mercado" e clique no botão "Criar símbolo":
Todos os parâmetros a partir da especificação de instrumentos de negociação, bem como o seguintes recursos adicionais estão disponíveis para fazer a configuração:
Além desses parâmetros, você pode configurar as sessões de cotação e de negociação de acordo com o instrumento. As sessões são configuradas separadamente para cada dia. Clique duas vezes nele para iniciar a edição.
Defina as sessões por meio de alavancas. Expert Advisors não podem negociar no testador estratégia fora das sessões de negociação.
Por padrão as sessões de negociação não são definidas, elas coincidem com as de cotação. Se você quiser configurar o tempo das sessões de cotação e de negociação de forma individual, marque a opção "Usar sessões de negociação separadas." Todas as sessões de negociação devem estar dentro das de cotação.
|
Você pode facilmente compartilhar instrumentos personalizados ou transferi-los entre suas plataformas. É possível exportar e importar as configurações de um símbolo personalizado particular a partir da janela de edição de suas configurações, como mostrado acima.
Você também pode exportar e importar todos os grupos de símbolos:
As configurações são exportadas para arquivos de texto em formato JSON:
{
|
Todos os símbolos são exibidos num grupo separado Custom. Para alterar ou apagar um símbolo, use o menu de contexto na lista:
Você pode importar dados de preço para seu próprio símbolo a partir de qualquer arquivo de texto, bem como desde os arquivos do histórico do MetaTrader (HST). Selecione o símbolo, e, em seguida, clique na guia "Barras" ou "Тicks".
Na caixa de diálogo de importação, especifique o caminho para o arquivo com os dados e defina as configurações:
O arquivo com barras de minuto deve ter o formato: Data Hora Open High Low Close VolumeDeTicks Volume Spread. Por exemplo:
<DATE> <TIME> <OPEN> <HIGH> <LOW> <CLOSE> <TICKVOL><VOL> <SPREAD>
|
O arquivo de ticks deve estar no formato: Data Hora Bid Ask Last Volume. Por exemplo:
<DATE> <TIME> <BID> <ASK> <LAST> <VOLUME>
|
Não é necessário passar os sinalizadores de ticks, o terminal os calcula por conta própria durante a importação.
Para seu próprio símbolo, você pode utilizar os dados de qualquer instrumento existente. Exporte-os, se necessário, modifique, e, em seguida, importe de volta novamente.
|
Os dados de preço dos símbolos personalizados são armazenados no diretório separado Custom (fora dos diretórios de dados de servidores de negociação específicos):
C:\Users\[windows account]\AppData\Roaming\MetaQuotes\Terminal\[instance id]\bases\Custom |
Você pode editar o histórico de barras e ticks dos instrumentos personalizados manualmente. Para fazer isso, use o intervalo de dados necessário na guia "Barras" ou "Ticks".
Ao editar barras, recomenda-se bastante solicitar dados do período M1. Na plataforma de negociação, o histórico de preço é armazenado na forma de barras de minuto. Todos os outros timeframes são baseados nelas. Mesmo se você pediu inicialmente barras de outro período, todas as mudanças serão aplicadas às barras de minuto correspondentes. Por exemplo, depois de solicitar dados do período М5 e mudar as barras, você pode alterar cinco barras de minuto por uma de minuto (que corresponde ao início da barra М5). Ou seja, acontecerá a substituição completa do intervalo editado. |
Por conveniência, as entradas modificadas são destacadas:
|
Para salvar as alterações, clique em "Aplicar alterações" na parte inferior da janela.
O uso de símbolos personalizados praticamente não difere do dos fornecidos pela corretora. Eles também são exibidos na janela "Observação do mercado", além disso, segundo eles é possível abrir gráficos onde podem ser aplicados indicadores e objetos analíticos.
Não se devem realizar negociações reais de acordo com os símbolos personalizados, no entanto, elas podem ser utilizadas para testar robôs de negociação e indicadores no testador de estratégias. Basta escolher seu próprio símbolo e iniciar o teste:
Ao calcular a margem e o lucro segundo as transações realizadas durante o teste, o testador de estratégias, se necessário, utiliza automaticamente as cotações de moeda disponíveis. Por exemplo, se a moeda de lucro do instrumento é o EUR e a moedas da conta o USD, o testador irá convertê-las no par EURUSD correspondente.
Com alta probabilidade os instrumentos personalizados têm em seus nomes diferentes sufixos, por exemplo, EURUSD.1 ou EURUSD.f. Portanto, o testador de estratégias utiliza um mecanismo especial para a busca de taxas transversais adequadas para converter.
Por exemplo, nós criamos o símbolo próprio AUDCAD.custom com tipo de cálculo de margem Forex, e moeda conta USD. Assim, com base no nome do instrumento forex, o testador procura os símbolos desejados na seguinte ordem:
Para os instrumentos com os outros tipos de cálculo de margem (Futures, Stock Exchange), é necessário um par de moedas a fim de converter a moeda do instrumento para a moeda de depósito. Por exemplo, nós criamos nosso próprio símbolo com moeda de lucro e de margem expressa em libras esterlinas (GBP), enquanto a moeda de depósito é o franco suíço (CHF). Assim, a busca de instrumentos para o teste é realizada na seguinte ordem:
|
A plataforma de negociação permite criar instrumentos financeiros sintéticos, isto é, instrumentos com base em um ou mais dos que temos disponíveis. Basta especificar a fórmula para calcular as cotações, e a plataforma em tempo real gera os ticks do instrumento sintético, bem como cria seu histórico de minuto.
Por exemplo, você pode criar um instrumento que mostre o índice do dólar (USDX). Sua fórmula será a seguinte:
50.14348112*pow(ask(EURUSD),-0.576)*pow(USDJPY,0.136)*pow(ask(GBPUSD),-0.119)*pow(USDCAD,0.091)*pow(USDSEK,0.042)*pow(USDCHF,0.036) |
---|
A plataforma calculará em tempo real o preço do novo instrumento com base nas cotações de outros seis instrumentos diferentes fornecidos pela sua corretora. Na Observação do mercado e no gráfico, você pode ver como se altera seu preço:
Crie um novo instrumento personalizado, abra sua especificação e insira a fórmula:
Cálculo deticks e barras de minuto do instrumento sintético começa após ele ser adicionado à "Observação do mercado". Além disso, todos os símbolos necessários para seu cálculo são adicionados automaticamente à "Observação do mercado". Ao diário da plataforma será adicionado a entrada de log sobre o início do cálculo: Synthetic Symbol USDX: processing started.
|
A cada 100 ms (dez vezes por segundo) é verificado se o preço de pelo menos um dos instrumentos envolvidos na fórmula mudou. Se assim for, ocorrerá o cálculo do preço do instrumento sintético e será gerado um tick. O cálculo é realizado paralelamente em três fluxos para os preços Bid, Ask e Last. Por exemplo, se, na fórmula, for especificado EURUSD*GBPUSD, o cálculo do instrumento sintético será como se segue:
A presença de alterações é verificada para cada preço separadamente. Por exemplo, como, durante o cálculo, no instrumento-fonte só foi o preço Bid que se alterou, então, para o tick do instrumento sintético foi calculado apenas o preço onde houve mudanças.
Além da coleta de ticks em tempo real, a plataforma cria um histórico de minuto para o instrumento sintético. Assim, o trader pode, da mesma maneira como o faria com instrumentos convencionais, ver seus gráficos, realizar a análise técnica usando os objetos e indicadores.
Assim que o trader adiciona um instrumento sintético à Observação do mercado, a plataforma verifica se exite algum histórico de minuto reservado para ele. Se não for assim, ele será criado para os últimos 60 dias, o que é cerca de 50 000 barras. Se, nas configurações da plataforma, no parâmetro máx. de barras na janela, for definido um valor menor, será usada essa restrição. Quando uma parte das barras em este período já está construída, a plataforma criar as que estão em falta.
Após construir as barras dos últimos 60 dias, a plataforma no modo de fundo começará a completar histórico mais profundo. O histórico de preços de cada instrumento incluído na fórmula pode ter diferentes profundidades. É por isso que o cálculo é feito para o período mais curto. Por exemplo, a fórmula usa três instrumentos:
Nesse caso, o histórico do instrumento sintético será calculado apenas de 2014.06.01 até o presente. Além dessa data, serão descartados outros 100 minutos para garantir a integridade do cálculo (na ausência de uma barra de minutos separada no histórico, no cálculo é usada a barra do minuto anterior).
O histórico de barras de minuto, do instrumento sintético, é calculado com base nas barras de minuto (e não de ticks) dos instrumentos incluídos na fórmula. Por exemplo, para calcular o preço Open da barra de minuto do instrumento sintético, a plataforma toma os preços Open dos instrumentos incluídos na fórmula. Da mesma forma, é realizado o cálculo para os preços High, Low e Close.
Se qualquer um dos instrumentos da fórmula não tiver a barra de minuto necessária, a plataforma será obrigada a calcular usando o preço Close da barra anterior. Vamos supor que estamos usando três instrumentos: EURUSD, USDJPY e GBPUSD. Se não for encontrada a barra correspondente ao minuto 12:00 durante seu cálculo, serão usados os seguintes preços:
Se nenhum dos instrumentos da fórmula tiver certa barra de minuto, a barra correspondente no instrumento sintético também não não será calculada.
Todas as barras novas (atuais e ulteriores) do instrumento sintético são construídas com base nos ticks gerados. O preço segundo o qual são construídas as barras depende do parâmetro "Plotagem de gráficos" na especificação:
Na fórmula, podem-se usar dados de preços, bem como algumas propriedades dos símbolos (fornecidas pela corretora). Para fazer isso, especifique:
Se o personagem tem um nome complexo (contendo hífens, pontos, etc.), deve estar entre aspas. Por exemplo, "RTS-6.17". |
Na fórmula, pode-se utilizar operações aritméticas tais como a adição (+), a subtração (-), multiplicação (*), divisão (/) e o resto da divisão (%). Por exemplo, EURUSD+GBPUSD indica que o preço é calculado como a soma dos preços EURUSD e GBPUSD. Também na fórmula pode ser usado o menos unário para alterar o sinal, por exemplo: -10*EURUSD.
É dada prioridade à execução de operações aritméticas:
Além disso, na fórmula, é possível usar as constantes:
Além disso, na fórmula é possível utilizar todas as funções matemáticas habilitadas para linguagem MQL5, exceto MathSrand, MathRand e MathIsValidNuber:
Função |
Descrição |
---|---|
fabs(número) |
Retorna o valor absoluto (valor do módulo) do número transferido por ele. |
acos(número) |
Retorna o valor do arco cosseno em radianos |
asin(número) |
Retorna o valor do arco seno em radianos |
atan(número) |
Retorna o arco tangente em radianos |
ceil(número) |
Retorna o número inteiro mais próximo desde cima |
cos(número) |
Retorna o co-seno do número |
exp(número) |
Retorna o expoente do número |
floor(número) |
Retorna o número inteiro mais próximo desde baixo |
log(número) |
Retorna o logaritmo natural |
log10(número) |
Retorna o logaritmo de base 10 do número |
fmax(número1, número2) |
Retorna o valor máximo de dois valores |
fmin(número1, número2) |
Retorna o valor mínimo de dois valores |
fmod(dividendo e divisor) |
Retorna resto real da divisão de dois números |
pow(base, expoente ) |
Eleva a base ao expoente especificado |
round(número) |
Arredonda o número para o inteiro mais próximo |
sin(número) |
Retorna o seno do número |
sqrt(número) |
Retorna a raiz quadrada |
tan(número) |
Retorna a tangente do número |
expm1(número) |
Retorna o valor da expressão exp(número)-1 |
log1p(número) |
Retorna o valor da expressão log(1+número) |
acosh(número) |
Retorna o valor do arco cosseno hiperbólico |
asinh(número) |
Retorna o valor do arco seno hiperbólico |
atanh(número) |
Retorna o valor do arco tangente hiperbólico |
cosh(número) |
Retorna o valor do cosseno hiperbólico |
sinh(número) |
Retorna o valor do seno hiperbólico |
tanh(número) |
Retorna o valor da tangente hiperbólica |