コンパイルとビルド

コンパイラ設定

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には影響しません。
AlgoBuildTrue.algoファイルのビルドを有効にします。
AlgoPublishTrueビルドが成功した後、.algoファイルを現在のユーザーのMyDocumentsディレクトリにコピーすることを有効にします。
IncludeSourceFalseターゲットの.algoファイルにソースディレクトリを含めます。
IncludeSymbolsFalse (Release)
True (Debug)
ターゲットの.algoファイルにデバッグシンボルを含めます。

追加のエラーの処理

クラスライブラリプロジェクトで Nugetパッケージを参照している場合、cTraderアルゴクラスが含まれていないと(例えば、cBotのためのRobot)、プロジェクトをビルドしようとすると「アセンブリにはアルゴタイプが含まれている必要があります」というエラーが発生します。このエラーは、AlgoBuildパラメーターがデフォルトでTrueになっているためです。

問題を解決するには、.NETプロジェクトファイルでAlgoBuildFalseに設定します。以下の例のように設定してください。

<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>
目次

このページについて