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.orgjako źródło pakietów i wpiszcTraderw pasku wyszukiwania. - Kliknij pakiet
cTrader.Automatei wybierz Install.
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.

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.

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 | |
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 | |
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:
- Utwórz projekt biblioteki klas .NET.
- Zainstaluj pakiet NuGet
cTrader.Automate. - 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 klasyRobot. - Skompiluj swoje rozszerzenie. Aby uzyskać więcej informacji na temat kompilowania/budowania, sprawdź powiązaną sekcję tej dokumentacji.