Otimizar um cBot no cTrader
Este artigo explica como otimizar robôs de negociação no cTrader Windows e Mac.
Pode ser difícil especificar um conjunto ideal de parâmetros iniciais para um cBot. Felizmente, o cTrader oferece uma funcionalidade integrada de otimização de cBot. A otimização executa o seu código várias vezes, sendo cada execução baseada em vários valores de parâmetros. Em seguida, apresenta-lhe um conjunto de resultados personalizáveis que pode utilizar para definir a configuração ideal dos parâmetros.
Para utilizar esta funcionalidade, selecione uma instância de cBot e mude para o separador Otimização.

Depois, defina o período de testes de verificação para otimização utilizando os calendários pendentes ou arrastando o controlo deslizante.

Definições de otimização
Como a otimização é essencialmente apenas uma série de testes de verificação, pode especificar as definições de testes de verificação de forma semelhante ao que é feito no separador Testes de verificação.
Parâmetros de otimização
Clique no botão Parâmetros à esquerda do controlo deslizante do calendário. Deverá ver a seguinte janela.

Nela, marque as caixas junto aos parâmetros do cBot que pretende otimizar. O parâmetro Timeframe está disponível para todos os cBots.
Critérios de otimização
Prima o botão Critérios localizado à direita do botão Parâmetros de otimização. O cTrader abrirá o seguinte separador.

Os critérios de otimização definem como o algoritmo de otimização classifica o seu resultado após os testes de verificação. Pode escolher entre as seguintes opções:
- Padrão - uma série de critérios predefinidos que pode pretender minimizar ou maximizar. Para tal, escolha um critério no menu pendente à direita e selecione a direção de otimização no menu relacionado à esquerda. Para adicionar um novo critério, clique em Adicionar critério.
- Personalizado - um critério personalizado definido no código do seu cBot utilizando o método
GetFitness(), como mostrado nos exemplos abaixo.
1 2 3 4 5 | |
1 2 3 4 5 6 | |
Cálculos de multicritérios
Se forem utilizados vários critérios para calcular a eficácia dos parâmetros, o cTrader utilizará todos eles de forma igual para calcular o valor de adequação para uma execução de otimização.
Especificamente, a plataforma multiplica os valores de todos os critérios de maximização e multiplica separadamente os valores de todos os critérios de minimização. Subsequentemente, divide o valor de multiplicação absoluto para os critérios de maximização pelo mesmo valor para os critérios de minimização.
O seguinte pseudocódigo mostra exatamente como os valores de adequação de multicritérios são calculados.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Método
Clique no botão Método (representado como GA ou #, dependendo da opção escolhida). No menu abaixo, escolha qual o método de otimização utilizado pela plataforma.

Estão disponíveis as seguintes opções:
- Algoritmo genético - o algoritmo emula o processo de evolução biológica. Por favor, consulte uma secção separada para obter uma descrição detalhada.
- Grelha (#) - o algoritmo realiza testes de verificação sequencialmente de cada conjunto de parâmetros possível.
Nota
Na nossa estimativa, o algoritmo genético é significativamente mais rápido para encontrar valores de parâmetros ideais.
Recursos
Clique no botão Recursos para selecionar qual a percentagem da carga da sua CPU é alocada para testes de verificação. Mova o controlo deslizante para definir a percentagem de utilização da CPU.
Quanto mais recursos afetar, mais rapidamente o processo de otimização será concluído. No entanto, poderá observar uma queda no desempenho ao utilizar outras aplicações.

Note que os recursos da CPU também podem ser ajustados durante a própria otimização.
Iniciar e gerir o procedimento de otimização
Para prosseguir com a otimização, clique no botão Reproduzir à direita do controlo deslizante do calendário. Dependendo dos recursos da sua máquina, das definições de otimização e da complexidade do cBot, a otimização pode demorar algum tempo.
A barra da interface do utilizador imediatamente abaixo do controlo deslizante do calendário fornecerá informações sobre o número de execuções de testes de verificação concluídas, o tempo decorrido e a estimativa do tempo restante.

O ecrã central no separador Otimização, entretanto, fornecerá uma grelha em tempo real contendo informações sobre todas as execuções de testes de verificação que o algoritmo concluiu.

Para aplicar um conjunto de parâmetros testados durante uma determinada execução, clique no botão Aplicar. Este só fica ativo se não houver procedimentos de otimização em execução no momento.
Em alternativa, marque a caixa Selecionar automaticamente a melhor execução no canto superior esquerdo para que o cTrader selecione automaticamente a execução (e os parâmetros) que alcançou o melhor resultado possível de acordo com os seus critérios de otimização especificados.
Resultados da otimização
Após a conclusão da otimização, a tabela central exibirá a lista final de todas as execuções de testes de verificação e os seus resultados.
Esta tabela tem as seguintes colunas. Como a grelha é totalmente configurável, estas colunas podem ser arrastadas e largadas ou desativadas completamente após clicar com o botão direito do rato na tabela e desmarcá-las no menu contextual.
| Campo | Definição |
|---|---|
| Execução | O número da execução. |
| Adequação | O valor que mostra quão bem a execução se adequa aos critérios de otimização. |
| Capital | Capital total no final da execução. |
| Saldo | Saldo total no final da execução. |
| Lucro líquido | A diferença entre o saldo final e o saldo inicial. |
| Negociações | O número total de posições fechadas. |
| Transações com ganhos | O número total de transações com ganhos alcançadas durante a execução. |
| Transações com perdas | O número total de transações com perdas alcançadas durante a execução. |
| Fator de lucro | O rácio lucro total/perda total. |
| *Decréscimo do capital máx. (%) | A percentagem máxima do decréscimo do capital. |
| Decréscimo máximo de saldo (%) | A percentagem máxima do decréscimo do saldo. |
| Decréscimo do capital máx. | O decréscimo máximo do capital especificado na moeda de depósito da conta. |
| Decréscimo máximo de saldo | O decréscimo máximo do saldo especificado na moeda de depósito da conta. |
| Negociação média | O lucro médio para todas as transações realizadas durante a execução. |
| Parâmetros de execução | Clique no botão Aplicar nesta coluna para aplicar os parâmetros desta execução ao seu cBot. |
Selecione uma execução para ver estatísticas detalhadas sobre ela na exibição abaixo da grelha central.
Os primeiros sete separadores nesta exibição fornecem as mesmas informações que os mesmos separadores na janela Testes de verificação. O separador Parâmetros de execução é exclusivo da otimização.
Parâmetros de execução
O separador Parâmetros de execução fornece as seguintes informações.

O cTrader destacará a verde todos os parâmetros otimizados, enquanto os parâmetros fixos (não ativados no menu Parâmetros) permanecerão sem destaque.
Guardar e carregar resultados de otimização
O cTrader também permite guardar e carregar resultados de otimização de e para um ficheiro .optres armazenado localmente.
Nota
Um ficheiro .optres é simplesmente uma coleção de pares chave-valor com chaves que representam várias configurações e métricas de otimização.
Dica
Pode utilizar ficheiros .optres para continuar a refinar os seus cBots em várias máquinas locais sem perder qualquer progresso. Também pode fornecer dados deste ficheiro a ferramentas de IA generativa para tentar detetar padrões nas execuções que o seu cBot concluiu.
Para guardar os resultados da otimização, aguarde até que o processo seja concluído e clique no ícone Guardar. Na caixa de diálogo do explorador de ficheiros, digite o nome do ficheiro e guarde-o.
Para carregar resultados de otimização, clique no ícone Carregar e selecione o ficheiro pretendido na janela do explorador de ficheiros.
