Ir para o conteúdo

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.org como a sua fonte de pacotes e digite cTrader na barra de pesquisa.
  • Clique no pacote cTrader.Automate e selecione Instalar.

Image title

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.

Image title

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.

Image title

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
using cAlgo.API;

namespace cAlgo;

[Indicator(AccessRights = AccessRights.None)]
public class MyIndicator : Indicator
{
    [Parameter(DefaultValue = "Hello world!")]
    public string Message { get; set; }

    [Output("Main")]
    public IndicatorDataSeries Result { get; set; }

    protected override void Initialize()
    {
        // To learn more about cTrader Algo visit our Help Center:
        // https://help.ctrader.com/ctrader-algo

        Print(Message);
    }

    public override void Calculate(int index)
    {
        // Calculate value at specified index
        // Result[index] =
    }
}

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
using cAlgo.API;

namespace cAlgo.Robots;

[Robot(AccessRights = AccessRights.None)]
public class MyRobot : Robot
{
    [Parameter(DefaultValue = "Hello world!")]
    public string Message { get; set; }

    protected override void OnStart()
    {
        // To learn more about cTrader Algo visit our Help Center:
        // https://help.ctrader.com/ctrader-algo

        Print(Message);
    }

    protected override void OnTick()
    {
        // Handle price updates here
    }

    protected override void OnStop()
    {
        // Handle cBot stop here
    }
}

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:

  1. Crie um projeto de biblioteca de classes .NET.
  2. Instale o pacote NuGet cTrader.Automate.
  3. Crie um ficheiro de classe contendo o código-fonte do seu cBot/indicador. Os indicadores herdam da classe Indicator enquanto os cBots devem herdar da classe Robot.
  4. Compile a sua extensão. Para mais informações sobre compilação, consulte a secção relacionada desta documentação.