Registo de algoritmos
Se tiver um grande portfólio de algoritmos que está a distribuir aos utilizadores, poderá querer oferecer também um painel ou sistema personalizado que permita a estes utilizadores gerir facilmente os seus algoritmos nas suas máquinas locais. Tal sistema seria especialmente valioso se oferecer vários produtos que se complementam entre si (por exemplo, dois cBots e um indicador personalizado que precisam de ser todos instalados para funcionar corretamente). Se um utilizador se esquecer de instalar um produto necessário, poderá alertá-lo para este facto.
Além disso, quando um utilizador tem acesso a muitos algoritmos, por vezes pode ser difícil manter o controlo de todos eles. Por exemplo, um utilizador pode acidentalmente apagar um algoritmo valioso apenas para perceber mais tarde que já não o pode operar.
Para o ajudar a si e aos seus utilizadores, a API Algo expõe a interface AlgoRegistry, que oferece um meio conveniente de rastrear dinamicamente estatísticas sobre algoritmos atualmente instalados e desinstalados de diferentes tipos.
Trabalhar com o registo de algoritmos
No AlgoRegistry, cada algoritmo é representado por um AlgoType, que contém o nome único do algoritmo e o seu AlgoKind (como um AlgoKind.CustomIndicator).
Pode recuperar um algoritmo específico do registo chamando o seguinte método.
1 | |
Para recuperar uma contagem de algoritmos de um tipo particular, chame o seguinte método.
1 | |
Também pode adicionar manipuladores personalizados aos seguintes eventos:
AlgoTypeInstalled- acionado sempre que um novo algoritmo é instalado.AlgoTypeDeleted- acionado sempre que um novo algoritmo é apagado.AlgoTypeChanged- acionado sempre que um algoritmo instalado é modificado.
AlgoRegistry em diferentes modos
AlgoRegistry funciona como pretendido em backtesting e otimização. Não funciona ao usar o cTrader CLI.
Criar um plugin de exemplo
O AlgoRegistry é perfeito para criar um plugin que irá exibir informações sobre algoritmos diretamente na interface do cTrader. O seguinte plugin faz exatamente isso.
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | |
Após compilar o nosso plugin, deveremos ver o seguinte bloco no Painel de símbolo ativo. Os dados no bloco serão atualizados dinamicamente a cada segundo.

Instalar um algo através de outro algo
A interface AlgoRegistry permite aos programadores criar algoritmos que podem instalar outros algoritmos. Por exemplo, pode programar um cBot (ao iniciar) para instalar automaticamente outro cBot, um indicador ou um plugin.
O seguinte cBot está programado para instalar outro cBot:
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 | |
Resumo
AlgoRegistry é uma excelente funcionalidade para programadores de plugins, mas também pode ser utilizada com outros tipos de algos. Por exemplo, pode criar um indicador que faça referência a outro indicador personalizado, caso em que o seu algo teria primeiro de verificar se o indicador necessário está instalado pelo utilizador. Também recomendamos adicionar o AlgoRegistry aos seus algos existentes para simplificar a gestão de indicadores personalizados e outros tipos de algos.