Utilizar o Visual Studio e outros IDEs
Criar novos cBots/indicadores
Pode optar por utilizar IDEs externos para criar novos cBots/indicadores em vez de o fazer utilizando o editor de código incorporado. A utilização de IDEs externos tem várias vantagens, como poder utilizar extensões de IDE personalizadas, incluindo linters e formatadores automáticos.
IDEs externos
Aqui está a lista completa de IDEs externos atualmente suportados pelo cTrader.
- Visual Studio
- Visual Studio Code
- Rider
- Sublime Text
Pode utilizar qualquer um dos acima mencionados para editar um algoritmo se tiver acesso ao seu código-fonte. Selecione esse algoritmo na lista e abra o menu suspenso Editar em... na parte superior da janela do editor de código. No menu, selecione o IDE com o qual pretende abrir o algoritmo.
Embora exista um grande número de IDEs adequados para trabalhar com C# e .NET, recomendamos a utilização do Microsoft Visual Studio ou do Visual Studio Code. Ambos estes IDEs são fáceis de utilizar e oferecem uma vasta gama de definições personalizáveis que facilitam o trabalho com C# e .NET. A nossa documentação abrange apenas estes IDEs.
Visual Studio
Instalar o pacote NuGet cTrader.Automate
Antes de criar um cBot ou um indicador, instale o pacote NuGet cTrader.Automate. Pode fazê-lo executando as seguintes ações:
- Abra o menu Projeto no Visual Studio e selecione Gerir pacotes NuGet.
- Selecione
nuget.orgcomo a sua fonte de pacotes e digitecTraderna barra de pesquisa. - Clique no pacote
cTrader.Automatee selecione Instalar.
Nota
Se estiver a trabalhar com uma versão mais antiga do Visual Studio (2015 ou anterior), também terá de instalar o Gestor de Pacotes NuGet. Para mais informações, consulte esta documentação.
Em alternativa, abra o menu Ferramentas, selecione Gestor de pacotes NuGet e abra a Consola do Gestor de Pacotes. Nela, digite Install-Package cTrader.Automate.
Depois de instalar o pacote NuGet cTrader.Automate, sempre que compilar um projeto de cBot/indicador, o Visual Studio criará automaticamente um ficheiro .algo para o seu projeto no diretório build. Ao trabalhar no Windows, o pacote também criará um ficheiro .algo correspondente na pasta ../Documents/cAlgo/Sources/{Robots/Indicators}.
Criar novos cBots e indicadores no Visual Studio
Para criar um novo cBot/indicador, crie um novo projeto dentro do Visual Studio e escolha Biblioteca de classes. Dê ao seu projeto o nome que pretende que o seu cBot/extensão tenha.

No ficheiro "Class1.cs", escreva o código para o seu cBot/indicador. Depois, abra o menu Compilar e selecione Compilar solução. Em alternativa, prima Ctrl+Shift+B. Após uma compilação bem-sucedida, deverá ver um ficheiro .algo nos diretórios especificados acima.
Se não vir o seu novo cBot/indicador na interface do cTrader, reinicie a plataforma cTrader e este deverá aparecer entre outras extensões.
Para informações adicionais sobre o Visual Studio, consulte esta documentação.
Visual Studio Code
Em comparação com o Visual Studio, o VS Code é um editor de código muito mais leve, o que justifica a sua crescente popularidade entre os programadores. Para criar cBots/indicadores através do VS Code, tem de cumprir os seguintes pré-requisitos.
- Instale o .NET SDK.
- Instale uma extensão C# no VS Code.
Para instalar uma extensão adequada, abra o mercado de extensões, digite C# na barra de pesquisa e escolha a extensão oficial da Microsoft ou qualquer outro complemento adequado.

Depois, terá de utilizar a interface de linha de comandos (CLI) do .NET para criar uma solução e um projeto de biblioteca de classes contendo o seu cBot/indicador.
Nota
Deve utilizar Documents\cAlgo\Sources apenas se estiver a utilizar um sistema Windows; caso contrário, pode criar e compilar os seus projetos de indicador/cBot em qualquer diretório.
Criar um indicador
Para criar um indicador através do VS Code, abra um novo terminal PowerShell escolhendo Novo terminal no menu Terminal. Alternativamente, prima Ctrl+Shift+`.
1. No terminal, abra o seu diretório Documents\cAlgo\Sources\Indicators.
cd Documents\cAlgo\Sources\Indicators\
2. Crie um novo diretório para o seu indicador. Este irá conter a sua solução e projeto do indicador. Mude para este diretório.
mkdir MyIndicator
cd MyIndicator
3. Crie uma nova solução .NET dentro do diretório recém-criado.
dotnet new sln
4. Crie um projeto de biblioteca de classes .NET.
dotnet new classlib --name MyIndicator
Este projeto será criado dentro do diretório MyIndicator.
5. Adicione o projeto à sua solução.
dotnet sln add .\MyIndicator\MyIndicator.csproj
6. Instale o pacote NuGet cTrader.Automate.
dotnet add .\MyIndicator\MyIndicator.csproj package cTrader.Automate
7. Adicione uma classe de indicador. Para tal, renomeie o ficheiro Class1.cs para MyIndicator.cs e abra-o, depois substitua o seu conteúdo pelo seguinte código de exemplo. Edite o código dentro do VS Code.
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 | |
8. Compile o projeto.
dotnet build --configuration Release
Também pode compilar o seu projeto com código-fonte.
dotnet build --configuration Release -p:IncludeSource=True
Pode alterar a configuração de compilação para Debug se quiser depurar o seu indicador.
Após uma compilação bem-sucedida, terá o ficheiro .algo do indicador dentro da pasta bin do seu projeto e também dentro da pasta Documents\cAlgo\Sources\Indicators\ se estiver a usar o Windows.
Criar um cBot
Criar um cBot é semelhante a criar um indicador, exceto que tem de usar a classe Robot em vez da classe Indicator e o diretório Documents\cAlgo\Sources\Robots\ em vez de Documents\cAlgo\Sources\Indicators\.
Pode usar o código de exemplo abaixo para a sua classe 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 27 28 | |
Outros IDEs .NET
Se assim o desejar, pode usar outros IDEs para trabalhar com cBots, plugins e indicadores. Siga estes passos para criar extensões cTrader válidas:
- Crie um projeto de biblioteca de classes .NET.
- Instale o pacote NuGet
cTrader.Automate. - Crie um ficheiro de classe contendo o código-fonte do seu cBot/indicador. Os indicadores herdam da classe
Indicatorenquanto os cBots devem herdar da classeRobot. - Compile a sua extensão. Para mais informações sobre compilação, consulte a secção relacionada desta documentação.