cTrader'da algoritmaları derle ve oluştur
cTrader algoritmalarını derlerken/oluştururken iki tür derleyici kullanabilirsiniz:
- Gömülü derleyici
- .NET SDK derleyicisi
Varsayılan olarak, cTrader gömülü derleyiciyi kullanır ancak yerel makinenizde kurulu bir .NET SDK derleyicisi varsa onu .NET SDK derleyicisine değiştirmenizi öneririz.
Compiling CSPROJ files and retrieving cBots
cTrader Algo, .csproj dosyalarını derleyerek algoritmalar oluşturmanıza ve kaydetmenize olanak tanır. İşlemi gerçekleştirmek için aşağıdaki kodu kullanın:
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 | |
AccessRights değerini None olarak ayarlarsanız algo veri klasörünün içindeki dizinlere giden yolları belirtmeniz gerekir. Bu yapılandırma, algoların kendi veri klasörlerinin dışındaki dosyaları derlemesine izin verilmediği anlamına gelir.
AccessRights değerini FullAccess olarak ayarlarsanız hem .csproj dosyası hem de oluşturulan algoritma için herhangi bir dizine veya konuma giden yolu belirtebilirsiniz.
Göreceli bir dosya yolu kullanmayı düşünüyorsanız temel dizin şu yolda bulunmalıdır: ..Documents\Algo\Data\{Algo type}\{Algo name}.
cBot'u yerel olarak başlattıktan sonra algoritma belirtilen dizine kaydedilir.
Derleyicileri değiştirme
Farklı bir derleyiciye geçmek için ayarlar penceresini açmak üzere kullanıcı arayüzünün sol alt köşesindeki Ayarlar'a tıklayın, ardından Algo sekmesine geçin.

Derleyici seç açılır menüsünü açın ve mevcut seçeneklerden uygun bir derleyici seçin.
Gömülü derleyici
Gömülü derleyici, cTrader Windows platformunda yerleşiktir. .NET SDK derleyicisine kıyasla sınırlı özelliklere sahiptir. Örneğin, gömülü derleyici WinForms ve WPF gibi üçüncü taraf .NET paketlerini ve çerçevelerini desteklemez.
.NET SDK derleyicisi
Büyük projeler veya üçüncü taraf .NET kitaplıklarını kullanan uzantılar için .NET SDK derleyicisinin kullanılması şiddetle tavsiye edilir. .NET SDK derleyicisi ayrıca derleme parametreleri gibi ek özellikleri de destekler.
Derleyici seç menüsü, yerel makinenizde yüklü olan herhangi bir .NET SDK derleyicisini seçmenizi sağlar. Hiçbir .NET SDK sürümü yüklü değilse en son kararlı sürümün indirme sayfasına gitmek için her zaman .NET SDK'yı Yükle düğmesine tıklayabilirsiniz.
Parametreler
cTrader, cBots/göstergelerinizi harici IDE'lerde oluştururken .NET CLI kullanırken belirtebileceğiniz özelleştirilebilir parametreler sunar. Aşağıda tanımlanmışlardır:
| Ad | Varsayılan değer | Açıklama |
|---|---|---|
| AlgoName | $(MSBuildProjectName) | .algo dosya adını belirtir.Bu özellik AssemblyName değerini etkilemez. |
| AlgoBuild | True | .algo dosyalarının oluşturulmasını sağlar. |
| AlgoPublish | True | Başarılı bir derlemeden sonra .algo dosyalarının geçerli kullanıcının Belgelerim dizinine kopyalanmasını sağlar. |
| IncludeSource | False | Kaynak dizini hedef .algo dosyasına dahil eder. |
| IncludeSymbols | False (Release)True (Debug) | Hata ayıklama sembollerini hedef .algo dosyasına dahil eder. |
Ek bir hatayı ele alma
Sınıf kitaplığı projenizde herhangi bir cTrader algo sınıfı (bir cBot için Robot gibi) içermeyen cTrader.Automate NuGet paketine başvurursanız projeyi derlemeye çalıştığınızda "Assembly must contain algo type" hatasıyla karşılaşırsınız. Bu hata, AlgoBuild parametresinin varsayılan olarak True değerine eşit olması nedeniyle ortaya çıkar.
Sorunu düzeltmek için aşağıdaki örnekte görüldüğü gibi .NET proje dosyanızda AlgoBuild değerini False olarak ayarlamanız yeterlidir:
<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>