Kompiluj i buduj algorytmy w cTrader
Możesz użyć dwóch typów kompilatorów podczas kompilowania/budowania algorytmów cTrader:
- Kompilator wbudowany
- Kompilator .NET SDK
Domyślnie cTrader używa kompilatora wbudowanego, ale zalecamy zmianę go na kompilator .NET SDK, jeśli masz go zainstalowanego na swoim komputerze lokalnym.
Kompilowanie plików CSPROJ i pobieranie cBotów
cTrader Algo umożliwia generowanie i zapisywanie algorytmów poprzez kompilowanie plików .csproj. Użyj następującego kodu, aby wykonać operację:
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 | |
Jeśli ustawisz AccessRights na None, musisz określić ścieżki do katalogów wewnątrz folderu danych algo. Ta konfiguracja oznacza, że algorytmy nie mogą kompilować plików poza swoimi folderami danych.
Jeśli ustawisz AccessRights na FullAccess, możesz określić ścieżkę do dowolnego katalogu lub lokalizacji zarówno dla pliku .csproj, jak i wygenerowanego algorytmu.
Jeśli zamierzasz użyć względnej ścieżki pliku, katalog bazowy musi istnieć wzdłuż tej ścieżki: ..Documents\Algo\Data\{Algo type}\{Algo name}.
Po uruchomieniu cBota lokalnie algorytm zostanie zapisany w określonym katalogu.
Przełączanie kompilatorów
Aby zmienić kompilator, kliknij Ustawienia w lewym dolnym rogu interfejsu użytkownika, aby otworzyć okno ustawień, a następnie przełącz się na kartę Algo.

Otwórz menu rozwijane Wybierz kompilator i wybierz odpowiedni kompilator z dostępnych opcji.
Kompilator osadzony
Kompilator osadzony jest wbudowany w platformę cTrader Windows. W porównaniu z kompilatorem .NET SDK ma ograniczone funkcje. Na przykład kompilator osadzony nie obsługuje żadnych pakietów i frameworków .NET innych firm, takich jak WinForms i WPF.
Kompilator .NET SDK
Korzystanie z kompilatora .NET SDK jest zdecydowanie zalecane w przypadku dużych projektów lub rozszerzeń, które wykorzystują biblioteki .NET innych firm. Kompilator .NET SDK obsługuje również dodatkowe funkcje, takie jak parametry kompilacji.
Menu Wybierz kompilator umożliwia wybór dowolnego kompilatora .NET SDK zainstalowanego na komputerze lokalnym. Jeśli nie są zainstalowane żadne wersje .NET SDK, zawsze możesz kliknąć przycisk Zainstaluj .NET SDK, aby przejść do strony pobierania najnowszej stabilnej wersji.
Parametry
cTrader oferuje konfigurowalne parametry, które można określić podczas korzystania z .NET CLI podczas kompilowania cBotów/wskaźników w zewnętrznych IDE. Są one zdefiniowane poniżej:
| Nazwa | Wartość domyślna | Opis |
|---|---|---|
| AlgoName | $(MSBuildProjectName) | Określa nazwę pliku .algo.Ta właściwość nie wpływa na AssemblyName. |
| AlgoBuild | True | Umożliwia kompilowanie plików .algo. |
| AlgoPublish | True | Umożliwia kopiowanie plików .algo do katalogu MyDocuments bieżącego użytkownika po pomyślnej kompilacji. |
| IncludeSource | False | Dołącza katalog źródłowy do docelowego pliku .algo. |
| IncludeSymbols | False (Release)True (Debug) | Dołącza symbole debugowania do docelowego pliku .algo. |
Obsługa dodatkowego błędu
Jeśli odwołujesz się do pakietu NuGet cTrader.Automate w projekcie biblioteki klas, który nie zawiera żadnych klas algo cTrader (takich jak Robot dla cBota), napotkasz błąd „Assembly must contain algo type" podczas próby kompilacji projektu. Ten błąd pojawia się, ponieważ parametr AlgoBuild domyślnie ma wartość True.
Aby rozwiązać problem, po prostu ustaw AlgoBuild na False w pliku projektu .NET, jak pokazano w poniższym przykładzie:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AlgoBuild>false</AlgoBuild>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="cTrader.Automate" Version="1.*-*" />
</ItemGroup>
</Project>