English Русский 中文 Español Deutsch 日本語
Teste de Visualização: Histórico de negociações

Teste de Visualização: Histórico de negociações

MetaTrader 4Testador | 19 fevereiro 2016, 12:37
1 937 0
Andrey Khatimlianskii
Andrey Khatimlianskii

1. Motivação

A partir da compilação 196, o terminal do cliente MetaTrader 4 oferece a função de visualização de teste. Ele permite controlar os testes do Expert Advisors de modo inovador. Agora, o programador de trading pode assistir cada ação de seu Expert Advisor e verificar o funcionamento na história!

Você pode ler sobre o uso do visualizador em Testing of Expert Advisors in the MetaTrader 4 Client Terminal: Um olhar de fora. No meu artigo anterior nomeado Teste de Visualização: Melhoria da funcionabilidade, foi descrito como fazer a aba "Trade" para teste. Aqui, adicionaremos a aba "Histórico da conta".


2. A tarefa e como realizá-la

Primeiro de tudo, não podemos criar uma shadow copy do "Histórico da conta". Para criá-la, teríamos que escrever um programa complicado usando dlls. Mas não precisamos de tudo isso de uma vez já que a aba “Resultados de Teste” contém praticamente todas as informações sobre as operações realizadas.

Nossa tarefa é mostrar informações atuais. Isso pode ser muito conveniente quando se analisa o trabalho do Expert Advisors. Não haverá necessidade de alternar entre as abas o tempo todo.

Como não há muito espaço no visor e a realização de rolagem não é uma tarefa muito simples, só exibiremos os eventos mais recentes.

O que resta é recordar que, para criar uma sub-janela, onde o histórico será exibido, é necessário criar um indicador e, tendo ligado ele ao gráfico, criar o template denominado tester.tpl ou no template .tpl (você pode baixar o indicador diretamente deste artigo).

Salvando um template para teste

Salvando um template para teste

Agora podemos começar a preparar o Expert Advisor.

Também não é muito difícil:

  • salve o arquivo VisualTestingTools.mq4 no diretório nomeado ...\MetaTrader 4\experts\include\;
  • adicione #include alinhe com o Expert - agora o conteúdo do arquivo está incluso no código do Expert; e
  • insira no init do Expert () e na função iniciar() as chamadas para as funções responsáveis pela atualização do histórico de negociações.
...
double _Commission = 0.0; string _Comment = ""; datetime _Expiration = -1;
 
#include <VisualTestingTools.mq4>
 
int init()
  {
    if(FastEMAPeriod >= SlowEMAPeriod) 
        return(-1);
    vTerminalInit();
    vHistoryInit();
    return(0);
  }
 
int start()
  {
    if(FastEMAPeriod >= SlowEMAPeriod)
        return(-1);
    vTerminalRefresh();
    vHistoryRefresh();
 
    int _GetLastError = 0;
...



3. Testando

Agora, vamos tentar testar o novo Expert. Para isso, abra a janela do verificador de estratégia, selecione CrossMACD_DeLuxe_VisualHistory no menu do Expert e pressione o botão propriedades.

Janela do verificador de estratégia

Janela do verificador de estratégia


O Expert possui algumas novas variáveis externas - elas são declaradas em um arquivo incluso chamado VisualTestingTools.mq4. Alguns deles são destinados para controlar a guia "Terminal", os outros - para a aba "Histórico da conta", mas a maioria deles são comuns:
  • ColunasTerminal - a quantidade máxima de linhas da guia "terminal" a ser exibida. Ao colocar colunas do terminal = 0, o terminal não será atualizado;
  • ColunasHistórico - o montante máximo das linhas do "Histórico da conta" a ser exibido. Ao colocar Colunas do terminal=0, o histórico da conta não será atualizado;
  • CaixaAlta - marque caso queira tornar a fonte maior;
  • PontosSinal - a distância, em pontos, a partir da qual Parar Perda, Parar Lucros e Abrir Campos de Preço de ordens pendentes serão destacados. Por exemplo, se pontos de sinal = 10, o campo Parar Perdas mudará a cor quando o preço estiver a 10 pontos de distância do Parar Perda de posição;
  • CancelarVisualização - configure caso queira visualizar ordens canceladas no histórico de negociações;
  • Visualizar Expirado - configure caso queira visualizar ordens pendentes expiradas no histórico de negociações;
  • CorPrincipal - cor de manchetes do Terminal e histórico da conta, bem como a barra de informações da conta do terminal de negociações (Balanço, Patrimônio, ...).
  • ComprarCor - cor de informações sobre Comprar posições;
  • ComprarCorAP - cor do campo Abrir Preço da guia terminal; esta cor substituirá a cor principal quando o preço atual se aproximar do nível aberto de ordens Parar Compra e Limitar Compra;
  • ComprarCorSL - para a guia Terminal: cor que irá substituir a cor principal quando o preço se aproximar dos níveis de Parar Perda da Compra de posições; para a guia Histórico da Conta: cor que irá substituir a cor principal se a Compra de posições for fechada pelo Parar perda;
  • ComprarCorTP - o mesmo que ComprarCorSL aplicado para obter lucro das posições;
  • VenderCorAP, VenderCorSl e VenderCorTP - o mesmo para Vender posições.
Defina os valores desejados das variáveis e pressione OK. Verifique se a visualização está habilitada e inicie o teste:


Teste de Visualização: As janelas 'Terminal' e 'Histórico da conta' foram carregadas



EA abriu uma posição, e esta é visualizada na janela "Terminal"



Assim que a posição foi fechada, ela mudou-se para o "Histórico da conta" e foi substituída por outra.
Observe que o campo Parar Perda é destacado em vermelho - a posição foi fechada por Parar Perda.



A segunda posição foi fechada por Obter Lucro.
Observe que as últimas posições são mostradas no topo do Histórico da Conta.
Assim, vamos sempre ver os eventos mais recentes.



Assim que o nosso terminal virtual fica depois de alguns minutos.



4. Possíveis problemas

O problema descrito no meu artigo Teste de visualização: Melhoria da funcionabilidade também aplica-se ao indicador do Histórico: se o indicador não estiver na segunda sub janela no modelo utilizado pelo verificador, o bom funcionamento das funções responsáveis pela atualização do Histórico da conta deve ser fornecido pelo número de sub janelas explicitamente especificado:

    vHistory_win = WindowFind( "vHistory" );
    if ( IsTesting() ) { vHistory_win = 2; }


5. Conclusão

Imagens que ilustram como a guia Histórico da Conta olha em várias situações são fornecidas abaixo.







Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/1452

Usando o Skype para enviar mensagens de um Expert Advisor Usando o Skype para enviar mensagens de um Expert Advisor
O artigo trata de como enviar mensagens internas e SMS do Expert Advisor para celulares utilizando o Skype.
Análise técnica: Torne possível o impossível! Análise técnica: Torne possível o impossível!
O artigo responde a pergunta: por que o impossível tornou-se possível onde grande parte sugere o contrário? Raciocínio da análise técnica.
Princípios de transformação de tempo em negociações intraday Princípios de transformação de tempo em negociações intraday
Este artigo contém o conceito de tempo de operação que permite receber mais até com fluxo de preço. Ele também contém o código de mudança de média móvel com auxílio para essa transformação de tempo.
Pontos de interrupção no verificador: É possível! Pontos de interrupção no verificador: É possível!
O artigo trata da emulação do ponto de interrupção quando passa pelo verificador, informações de depuração estão sendo exibidas.