Przejdź do treści

Korzystanie z Visual Studio i innych IDE

Tworzenie nowych cBotów/wskaźników

Możesz zdecydować się na korzystanie z zewnętrznych IDE do tworzenia nowych cBotów/wskaźników zamiast robić to za pomocą wbudowanego edytora kodu. Korzystanie z zewnętrznych IDE niesie ze sobą kilka korzyści, takich jak możliwość używania niestandardowych rozszerzeń IDE, w tym linterów i narzędzi do automatycznego formatowania.

Zewnętrzne IDE

Oto pełna lista zewnętrznych IDE obecnie obsługiwanych przez cTrader.

  • Visual Studio
  • Visual Studio Code
  • Rider
  • Sublime Text

Możesz użyć dowolnego z powyższych do edycji algorytmu, jeśli masz dostęp do jego kodu źródłowego. Wybierz taki algorytm z listy i otwórz menu rozwijane Edytuj w... u góry okna edytora kodu. W menu wybierz IDE, w którym chcesz otworzyć algorytm.

Chociaż istnieje wiele odpowiednich IDE do pracy z C# i .NET, zalecamy korzystanie z Microsoft Visual Studio lub Visual Studio Code. Oba te IDE są łatwe w użyciu i oferują szeroki zakres konfigurowalnych ustawień ułatwiających pracę z C# i .NET. Nasza dokumentacja obejmuje tylko te IDE.

Visual Studio

Zainstaluj pakiet NuGet cTrader.Automate

Przed utworzeniem cBota lub wskaźnika zainstaluj pakiet NuGet cTrader.Automate. Możesz to zrobić, wykonując następujące czynności:

  • Otwórz menu Project w Visual Studio i wybierz Manage NuGet packages.
  • Wybierz nuget.org jako źródło pakietów i wpisz cTrader w pasku wyszukiwania.
  • Kliknij pakiet cTrader.Automate i wybierz Install.

Image title

Uwaga

Jeśli pracujesz ze starszą wersją Visual Studio (2015 lub wcześniejszą), będziesz musiał również zainstalować NuGet Package Manager. Aby uzyskać więcej informacji, zapoznaj się z tą dokumentacją.

Alternatywnie otwórz menu Tools, wybierz NuGet package manager i otwórz Package Manager Console. W nim wpisz Install-Package cTrader.Automate.

Po zainstalowaniu pakietu NuGet cTrader.Automate, za każdym razem, gdy kompilujesz projekt cBota/wskaźnika, Visual Studio automatycznie utworzy plik .algo dla Twojego projektu w jego katalogu build. Podczas pracy w systemie Windows pakiet utworzy również odpowiedni plik .algo w folderze ../Documents/cAlgo/Sources/{Robots/Indicators}.

Tworzenie nowych cBotów i wskaźników w Visual Studio

Aby utworzyć nowego cBota/wskaźnik, utwórz nowy projekt w Visual Studio i wybierz Class library. Nazwij swój projekt tak, jak chcesz, aby nazywał się Twój cBot/rozszerzenie.

Image title

W pliku „Class1.cs" napisz kod dla swojego cBota/wskaźnika. Następnie otwórz menu Build i wybierz Build solution. Alternatywnie naciśnij Ctrl+Shift+B. Po pomyślnej kompilacji powinieneś zobaczyć plik .algo w katalogach określonych powyżej.

Jeśli nie widzisz swojego nowego cBota/wskaźnika w interfejsie użytkownika cTrader, uruchom ponownie platformę cTrader, a powinien pojawić się wśród innych rozszerzeń.

Aby uzyskać dodatkowe informacje na temat Visual Studio, zapoznaj się z tą dokumentacją.

Visual Studio Code

W porównaniu do Visual Studio, VS Code jest znacznie lżejszym edytorem kodu, co uzasadnia jego rosnącą popularność wśród programistów. To create cBots/indicators via VS Code, you have to meet the following prerequisites.

  • Zainstaluj .NET SDK.
  • Zainstaluj rozszerzenie C# w VS Code.

Aby zainstalować odpowiednie rozszerzenie, otwórz marketplace rozszerzeń, wpisz C# w pasku wyszukiwania i wybierz oficjalne rozszerzenie Microsoft lub dowolny inny odpowiedni dodatek.

Image title

Następnie będziesz musiał użyć interfejsu wiersza poleceń (CLI) .NET, aby utworzyć rozwiązanie i projekt biblioteki klas zawierający Twojego cBota/wskaźnik.

Uwaga

Powinieneś używać Documents\cAlgo\Sources tylko wtedy, gdy korzystasz z systemu Windows, w przeciwnym razie możesz tworzyć i kompilować swoje projekty wskaźników/cBotów w dowolnym katalogu.

Tworzenie wskaźnika

Aby utworzyć wskaźnik za pomocą VS Code, otwórz nowy terminal PowerShell, wybierając New terminal w menu Terminal. Alternatywnie naciśnij Ctrl+Shift+`.

1. W terminalu otwórz katalog Documents\cAlgo\Sources\Indicators.

cd Documents\cAlgo\Sources\Indicators

2. Utwórz nowy katalog dla swojego wskaźnika. Będzie zawierał rozwiązanie i projekt Twojego wskaźnika. Przejdź do tego katalogu.

mkdir MyIndicator
cd MyIndicator

3. Utwórz nowe rozwiązanie .NET w nowo utworzonym katalogu.

dotnet new sln

4. Utwórz projekt biblioteki klas .NET.

dotnet new classlib --name MyIndicator

Ten projekt zostanie utworzony w katalogu MyIndicator.

5. Dodaj projekt do swojego rozwiązania.

dotnet sln add .\MyIndicator\MyIndicator.csproj

6. Zainstaluj pakiet NuGet cTrader.Automate.

dotnet add .\MyIndicator\MyIndicator.csproj package cTrader.Automate

7. Dodaj klasę wskaźnika. Aby to zrobić, zmień nazwę pliku Class1.cs na MyIndicator.cs i otwórz go, następnie zastąp jego zawartość następującym kodem zastępczym. Edytuj kod w 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. Skompiluj projekt.

dotnet build --configuration Release

Możesz również skompilować swój projekt z kodem źródłowym.

dotnet build --configuration Release -p:IncludeSource=True

Możesz zmienić konfigurację kompilacji na Debug, jeśli chcesz debugować swój wskaźnik.

Po pomyślnej kompilacji będziesz mieć plik .algo wskaźnika w folderze bin jego projektu, a także w folderze Documents\cAlgo\Sources\Indicators\, jeśli korzystasz z systemu Windows.

Tworzenie cBota

Tworzenie cBota jest podobne do tworzenia wskaźnika, z tym że musisz użyć klasy Robot zamiast klasy Indicator oraz katalogu Documents\cAlgo\Sources\Robots\ zamiast Documents\cAlgo\Sources\Indicators\.

Możesz użyć poniższego przykładowego kodu dla swojej klasy cBota:

 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
    }
}

Inne IDE .NET

Jeśli chcesz, możesz używać innych IDE do pracy z cBotami, wtyczkami i wskaźnikami. Wykonaj następujące kroki, aby utworzyć prawidłowe rozszerzenia cTrader:

  1. Utwórz projekt biblioteki klas .NET.
  2. Zainstaluj pakiet NuGet cTrader.Automate.
  3. Utwórz plik klasy zawierający kod źródłowy Twojego cBota/wskaźnika. Wskaźniki dziedziczą z klasy Indicator, podczas gdy cBoty muszą dziedziczyć z klasy Robot.
  4. Skompiluj swoje rozszerzenie. Aby uzyskać więcej informacji na temat kompilowania/budowania, sprawdź powiązaną sekcję tej dokumentacji.