Ir para o conteúdo

Testar um cBot no cTrader

Este artigo explica como testar robôs de negociação no cTrader Windows e Mac.

Os testes de verificação são uma ferramenta para avaliar cBots, permitindo que negoceiem com dados históricos de mercado sob determinadas condições predefinidas.

Ao realizar testes de verificação, pode executar uma instância de cBot em movimentos de mercado passados. Posteriormente, o cTrader irá gerar um relatório detalhado sobre as operações de negociação realizadas pelo seu cBot e as estatísticas finais de capital/saldo.

Nota

Quaisquer ações de negociação realizadas durante os testes de verificação de cBots não afetarão nenhuma das suas contas. Os testes de verificação não se destinam a lidar com fundos reais. Em vez disso, esta funcionalidade existe apenas para fins de análise.

Para testar um cBot, selecione uma das suas instâncias e mude para o separador Testes de verificação.

Image title

Definições de testes de verificação

Para configurar o funcionamento dos testes de verificação, clique no ícone de engrenagem localizado no canto superior esquerdo. O cTrader deverá abrir o seguinte menu.

Image title

As opções neste menu são definidas da seguinte forma. Todos os parâmetros relacionados com dinheiro (como o capital inicial) são especificados em USD.

Nome da opção Ação e descrição
Capital inicial Defina o capital inicial com o qual o seu cBot irá operar ao negociar.
Mín. Estabeleça a taxa de comissão por milhão de unidades negociadas.
Dados Escolha em que dados de séries temporais o seu cBot será testado. As opções disponíveis são as seguintes.
  • Dados de tick do servidor. Os dados serão obtidos diretamente do servidor numa base de tick a tick. Esta é a fonte de dados históricos mais precisa.
  • Barras M1 do servidor. Os dados serão obtidos de barras de um minuto geradas pelo servidor.
  • Barras M1 em ficheiro CSV. Os dados serão obtidos de barras de um minuto definidas num ficheiro CSV armazenado localmente.
  • Barras H1 do servidor Os dados serão obtidos de barras de uma hora geradas pelo servidor.
Spread Selecione o(s) valor(es) de spread que serão aplicados durante os testes de verificação. As seguintes opções estão disponíveis.
  • Valor fixo. Apenas um valor será aplicado durante todo o teste de verificação. Pode escolhê-lo a partir de um menu suspenso, introduzir um valor personalizado ou fazer corresponder o valor ao spread atual do símbolo (que é atualizado a cada tick).
  • Aleatório. Estabeleça as taxas de spread mínima e máxima. Quando o seu cBot coloca uma ordem, um valor de spread aleatório entre as taxas escolhidas será aplicado a esta ordem.

Exemplo de dados M1 em CSV

Para obter dados de negociação a partir da sua máquina local, certifique-se de criar um ficheiro CSV separado por vírgulas contendo os seguintes dados:

  • Data
  • Por hora
  • Preço de abertura
  • Preço mais alto
  • Preço mais baixo
  • Preço de fecho
  • Volume

Exemplo

1
2
3
4
2003.06.18,16:01,1.11423,1.11428,1.11332,1.11374,19
2003.06.18,16:02,1.11364,1.11436,1.11361,1.11405,7
2003.06.18,16:03,1.11402,1.11455,1.11400,1.11440,5
2003.06.18,16:04,1.11446,1.11461,1.11401,1.11447,14

Procedimento e modos de testes de verificação

Especifique o período para teste utilizando os controlos resumidos abaixo:

  • Utilize o controlo deslizante interativo na parte superior do separador Testes de verificação.
  • Selecione os valores necessários nos menus de calendário à esquerda e à direita do controlo deslizante.
  • Introduza valores personalizados (utilizando o formato DD:MM:YYYY) nos campos de ambos os lados do controlo deslizante.

Image title

Pode executar testes de verificação utilizando os seguintes modos:

  • Teste em tempo não real: O seu robô realiza todas as operações necessárias em sequência; posteriormente, só tem acesso aos resultados finais, incluindo estatísticas de negociação, o gráfico de capital, etc.
  • Teste em tempo real (modo visual): Os dados históricos que forneceu são passados para o seu cBot a uma determinada velocidade de reprodução que pode personalizar. Como resultado, pode ver as operações de negociação à medida que são colocadas. Todas as estatísticas de negociação também são atualizadas à velocidade de reprodução que escolheu.

Testes não em tempo real

Após concluir a configuração, clique no botão Reproduzir à direita do controlo deslizante. Dependendo da duração do período especificado e das especificações da sua máquina local, poderá ter de aguardar vários minutos antes de o cTrader gerar os resultados.

Testes de verificação em tempo real (modo visual)

Especifique as definições necessárias, incluindo o período de teste, e ative a opção Modo visual localizada abaixo do controlo deslizante do calendário.

Image title

Ajuste a velocidade de reprodução dos dados arrastando o controlo deslizante Velocidade ou utilizando o menu à sua direita. Depois de concluir a configuração, clique no botão Reproduzir.

O cTrader começará então a exibir um gráfico de negociação para o período escolhido em tempo real, acelerado utilizando a sua definição de velocidade de reprodução. Note que pode ajustar a velocidade de reprodução dinamicamente à medida que os testes de verificação ocorrem.

Dependendo do seu código, o seu cBot também realizará operações de negociação em tempo real, reagindo aos sinais de análise técnica que se materializam no gráfico. As estatísticas dos testes de verificação serão automaticamente atualizadas com base nas ações tomadas pelo seu cBot.

Dependendo do período escolhido e da velocidade de reprodução, os testes em modo visual podem ser demorados. No entanto, se o seu cBot não se estiver a comportar como esperado, pode testar as suas reações a várias condições de mercado utilizando testes em modo visual e dados de negociação personalizados provenientes de um ficheiro CSV.

Teste de verificação utilizando gráficos Renko e barras de intervalo

O cTrader suporta testes de verificação de cBots em gráficos Renko e de barras de intervalo. Para realizar um teste de verificação deste tipo, crie uma nova instância de cBot e selecione um gráfico Renko/de barras de intervalo como o gráfico de negociação ao qual está associado.

Image title

Em alternativa, com uma instância de cBot já selecionada, utilize o menu de seleção de gráficos no topo do ecrã clicando no ícone Mais. No menu que apareceu, selecione um dos limiares de volume disponíveis para gerar blocos Renko ou barras de intervalo.

Image title

Depois de o cTrader gerar um gráfico Renko/de barras de intervalo para o símbolo escolhido, mude para o separador Testes de verificação. Nele, configure o modo/definições de teste de verificação como faria normalmente. Clique no ícone Reproduzir para realizar um teste de verificação no gráfico escolhido.

Resultados dos testes de verificação

O cTrader gera várias estatísticas de negociação para mostrar os resultados dos testes de verificação. Para visualizar estes dados, aceda aos separadores localizados imediatamente abaixo do gráfico de negociação.

Image title

O gráfico de capital

Quando é realizado um teste de verificação (independentemente de utilizar o modo visual), o cTrader gera um gráfico de capital com o número de transações no eixo X e o saldo da conta no eixo Y. Contém as seguintes estatísticas:

  • A linha amarela mostra o saldo da conta à medida que muda com cada transação.
  • A zona cinzenta destaca como o capital total aumenta ou diminui dependendo das transações feitas pelo seu bot.

Para ter uma melhor ideia do que o gráfico de capital faz, considere o exemplo acima. Mostra que o nosso bot realizou mais de 290 transações durante o teste de verificação. Com cada alteração no saldo da conta, também podemos ver uma alteração correspondente no capital total.

Estatísticas de negociação

O separador Estatísticas de negociação contém dados sobre exatamente como o seu cBot se comportou ao longo do teste de verificação. Inclui os seguintes campos.

Nome do campo Definição
Lucro líquido O lucro líquido total de todas as transações.
Fator de lucro O rácio calculado dividindo o lucro líquido total pela perda líquida total.
Mín. O montante total de comissões pagas pelas transações feitas pelo seu cBot.
Decréscimo máximo de saldo O montante máximo da queda do saldo.
Decréscimo do capital máx. O montante máximo da queda do capital.
Negociações totais O número total de transações realizadas pelo seu cBot.
Transações com ganhos O número total de transações que resultaram em lucros realizados.
Máximo de transações consecutivas com ganhos O maior número de transações consecutivas que geraram lucros realizados.
Negociação com mais ganhos O maior lucro realizado gerado por uma transação.
Transações com perdas O número total de transações que geraram perdas realizadas.
Máximo de transações consecutivas com perdas O maior número de transações consecutivas que geraram perdas realizadas.
Negociação com mais perdas O maior montante de perdas realizadas gerado por uma transação.
Negociação média Os P&L realizados médios gerados por todas as transações.

Posições

O separador Posições mostra todas as posições que estão atualmente abertas pelo seu cBot. Está estruturado de forma semelhante ao separador Posições na exibição regular da Observação da Negociação e contém os mesmos dados.

Image title

Clique no ícone engrenagem no canto inferior direito para personalizar quais dados são exibidos na tabela central.

Ordens

O separador Ordens contém informações sobre as ordens que foram colocadas pelo seu cBot. A sua estrutura e aparência copiam o separador Ordens na exibição principal da Observação da Negociação.

Image title

História

O separador Histórico exibe estatísticas sobre todas as transações de abertura e fecho que foram registadas durante o teste de verificação. De forma semelhante aos outros separadores discutidos acima, copia o separador Histórico na exibição da Observação da Negociação.

Image title

Eventos

O separador Eventos lista todas as comunicações relacionadas com o servidor e exibe vários parâmetros destes eventos.

Image title

Registo

Por último, o separador Registo exibe a saída do seu cBot ao longo do teste de verificação. A lista de mensagens é totalmente pesquisável e filtrável por tipo de evento e instância.

Image title