コンパイラ設定
cTraderアルゴをコンパイル/ビルドする際に、2種類のコンパイラを使用できます:
- 組み込みコンパイラ
- .NET SDKコンパイラ
デフォルトでは、cTraderは組み込みコンパイラを使用しますが、ローカルマシンに.NET SDKコンパイラがインストールされている場合は、こちらに変更することをお勧めします。
コンパイラの変更
別のコンパイラに変更するには、UIの左下隅にある「歯車」アイコンをクリックして設定ウィンドウを開きます。そこから「Algo」タブに切り替えます。
「コンパイラの選択」ドロップダウンメニューを開き、利用可能なオプションから適切なコンパイラを選択します。
組み込みコンパイラ
組み込みコンパイラはcTraderデスクトッププラットフォームに組み込まれています。 .NET SDKコンパイラと比較して、機能が制限されています。たとえば、組み込みコンパイラは、WinFormsやWPFなどのサードパーティ.NETパッケージやフレームワークをサポートしていません。
.NET SDKコンパイラ
.NET SDKコンパイラの使用は、大規模なプロジェクトやサードパーティ.NETライブラリを使用する拡張機能に強く推奨されます。.NET SDKコンパイラは、ビルドパラメーターなどの追加機能もサポートしています。
「コンパイラの選択」メニューでは、ローカルマシンにインストールされている任意の.NET SDKコンパイラを選択できます。 .NET SDKのバージョンがインストールされていない場合は、「.NET SDKのインストール」ボタンをクリックして、最新の安定版リリースのダウンロードページに移動できます。
パラメーター
cTraderでは、外部IDEでcBots/インジケーターをビルドする際に使用できるカスタマイズ可能なパラメーターが提供されています。これらは以下に定義されています。
名前 | デフォルト値 | 説明 |
---|---|---|
AlgoName | $(MSBuildProjectName) | .algo ファイル名を指定します。このプロパティは、 AssemblyName には影響しません。 |
AlgoBuild | True | .algo ファイルのビルドを有効にします。 |
AlgoPublish | True | ビルドが成功した後、.algo ファイルを現在のユーザーのMyDocuments ディレクトリにコピーすることを有効にします。 |
IncludeSource | False | ターゲットの.algo ファイルにソースディレクトリを含めます。 |
IncludeSymbols | False (Release)True (Debug) | ターゲットの.algo ファイルにデバッグシンボルを含めます。 |
追加のエラーの処理
クラスライブラリプロジェクトで Nugetパッケージを参照している場合、cTraderアルゴクラスが含まれていないと(例えば、cBotのためのRobot
)、プロジェクトをビルドしようとすると「アセンブリにはアルゴタイプが含まれている必要があります」というエラーが発生します。このエラーは、AlgoBuild
パラメーターがデフォルトでTrue
になっているためです。
問題を解決するには、.NETプロジェクトファイルでAlgoBuild
をFalse
に設定します。以下の例のように設定してください。
<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>