Tipos principais de cBots
Os cBots são ferramentas versáteis que, dependendo do seu código e lógica, podem cumprir várias funções e papéis, desde a negociação totalmente automatizada até ao apoio à implementação de estratégias de negociação manual. Neste artigo e no vídeo correspondente, vamos definir os principais tipos de cBots, delinear as suas principais diferenças e listar algumas melhores práticas para criar e usar cBots de vários tipos.
De um modo geral, existem quatro tipos principais de cBots.
Nota
As categorias abaixo diferem puramente com base nos comportamentos do cBot. Nenhuma categoria é especificada dentro do código real do cBot. Além disso, alguns programadores também podem criar classificações personalizadas de cBots.
- Estratégias de negociação automatizadas - como o nome implica, os cBots deste tipo executam estratégias de negociação de forma autónoma. Por exemplo, um cBot de Três corvos negros e três soldados brancos coloca uma nova ordem de compra após encontrar três velas verdes consecutivas e uma nova ordem de venda ao enfrentar três velas vermelhas consecutivas.
- Scripts - os cBots pertencentes a este tipo executam uma ação no início e param após a conclusão da execução. Por exemplo, um cBot de script pode estabelecer um stop loss para todas as posições atualmente abertas, independentemente da sua direção, volume ou instrumento.
- Assistentes de negociação - são projetados para executar algum tipo de ação útil que complementa uma estratégia de negociação manual ou automática. Por exemplo, um cBot deste tipo pode gerir os seus stop losses móveis usando regras personalizadas que são diferentes da funcionalidade de stop loss móvel incorporada oferecida pelo cTrader.
- Painéis de negociação - os cBots deste tipo não negoceiam de forma autónoma; em vez disso, criam controlos personalizados que podem ser usados para vários fins. Por exemplo, um cBot pode lançar um WebView de um agregador de notícias Forex enquanto integra botões personalizados de compra e venda, bem como um seletor de símbolos dentro do WebView, permitindo que o utilizador negocie sem sair do site de notícias.
Nas subsecções abaixo, discutimos cada um dos tipos acima em detalhe, delineamos os seus benefícios e limitações e sugerimos vários casos de uso.
Estratégias de negociação algorítmica
Os cBots pertencentes ao tipo de estratégia de negociação automatizada são complexos, mas poderosos. Eles têm de implementar corretamente uma estratégia de negociação, incluindo todos os seus aspetos, como gestão de risco, dimensionamento de posições e análise técnica.
Pode criar uma estratégia de negociação automatizada simples em menos de dois minutos, simplesmente substituindo o modelo padrão de novo cBot pelo código abaixo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
1 2 3 4 5 6 7 8 9 10 11 | |
O cBot abre uma nova posição em cada barra. Uma posição longa é aberta se o preço aumentou na barra anterior em comparação com a barra anterior a ela. Por outro lado, uma posição curta é aberta se o preço tiver descido.
Testes de verificação e otimização
As estratégias de negociação automatizadas geralmente incluem muitas partes móveis e parâmetros. Como resultado, esses cBots frequentemente precisam de ser extensivamente testados e otimizados antes de serem lançados em contas reais. Felizmente, o cTrader fornece ferramentas incorporadas que podem lidar com testes de verificação e otimização para si.
Ferramenta de linha de comando do cTrader (CLI)
As estratégias de negociação automatizadas geralmente precisam de funcionar por longos períodos de tempo para que possam reagir a vários sinais de análise técnica. Para economizar no consumo de RAM e CPU nesses casos, pode lançar cBots através do cTrader CLI sem nunca abrir o cTrader Windows (note que é possível lançar qualquer cBot através do cTrader CLI, não apenas cBots deste tipo).
Scripts
Os scripts são normalmente necessários para executar algum tipo de ação que seria difícil ou demorada de fazer manualmente. Estas ações são normalmente realizadas no início do cBot para que possa lançar um script, observar os resultados do seu funcionamento e depois parar a sua instância em caso de sucesso para economizar no consumo de RAM e CPU.
Por exemplo, um script pode fechar todas as posições cujo lucro bruto exceda 50 unidades da moeda de depósito da conta do trader. Na prática, o script atuaria como um take profit universal para todas as posições abertas que pode acionar a qualquer momento. Eis como o código para este script ficaria.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
1 2 3 4 5 6 7 8 9 10 11 | |
Após lançar o cBot, deveríamos ver várias posições lucrativas a serem gradualmente fechadas.
Parando scripts
Como os scripts precisam de executar apenas uma ação específica uma vez, pode instruir o cTrader a fechar imediatamente um script após a execução ser concluída com sucesso. Como mostrado no exemplo acima, pode fazê-lo chamando o método Stop().
Assistentes de negociação
O objetivo dos assistentes de negociação é realizar regularmente ações úteis. Embora isso os torne semelhantes aos scripts, os scripts apenas executam uma ação no início da instância. Em contraste, os assistentes de negociação são projetados para reagir continuamente às condições de mercado ou outros fatores e executar operações em resposta a certos padrões.
Por exemplo, considere um cBot que cobre automaticamente as suas posições assim que as abre. O código para este cBot poderia ser o seguinte.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Ao abrir uma posição, o cBot tenta imediatamente abrir outra na direção oposta; o volume desta nova posição é exatamente metade do volume da posição original.
Note que estamos a usar o campo hasHedgedPosition para evitar um loop infinito, de modo que o cBot apenas cubra uma nova posição uma vez.
Funções de callback
Os assistentes de negociação frequentemente usam funções de callback que atuam como manipuladores para vários eventos. Para descobrir quais eventos pode manipular para uma determinada classe, abra a documentação da API integrada, procure a classe necessária e navegue até à secção Eventos no índice.
Painéis de negociação
Os painéis de negociação exibem controlos personalizados que acionam várias ações quando interagidos. Normalmente, fornecem melhorias na qualidade de vida à interface do utilizador padrão do cTrader. Por exemplo, um cBot pode exibir um botão Comprar que, quando clicado, executa uma ordem de mercado para um volume predefinido no cTrader.
Para criar tal cBot, basta usar o código abaixo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Ao clicar no botão Comprar, é colocada uma nova ordem de mercado para 10.000 unidades. A colocação conveniente do botão permite reagir rapidamente a novas oportunidades de mercado.
Combinando painéis de negociação com outros tipos de cBots
Os painéis de negociação fornecem controlos de interface do utilizador personalizados que permitem realizar várias operações. Pode usá-los juntamente com outros tipos de cBots. Por exemplo, um painel de negociação pode incluir um botão Cobertura personalizado que, quando clicado, cobre todas as posições atualmente abertas, semelhante ao exemplo do assistente de negociação acima.
Resumo
Todas as quatro categorias de cBots têm usos válidos e podem ser combinadas de acordo com as suas preferências. Por exemplo, pode lançar simultaneamente uma estratégia de negociação automatizada e um assistente de negociação para alcançar os melhores resultados possíveis. Pode experimentar cBots de vários tipos para garantir que a sua abordagem preferida de negociação seja executada totalmente e sem falhas.
