Visual Studioおよびその他のIDEの使用

新しい cBots/インジケーターの作成

このドキュメントの紹介で述べたように、新しい cBots/インジケーターを作成する際に、組み込みのコードエディターの代わりに外部 IDE を使用することができます。外部 IDE を使用することには、リンターや自動フォーマッターなどのカスタム IDE 拡張機能を利用できるという利点があります。

外部 IDE

現在 cTrader でサポートされている外部 IDE の完全なリストは以下の通りです。

  • Visual Studio
  • Visual Studio Code
  • Rider
  • Sublime Text

これらの IDE のいずれかを使用して、ソースコードにアクセスできる任意のアルゴを編集できます。アルゴのリストから選択し、コードエディターウィンドウの上部にある ‘Edit in…‘ ドロップダウンを開き、開きたい IDE を選択します。

多くの C# および .NET の作業に適した IDE が存在しますが、Microsoft Visual Studio または Visual Studio Code のいずれかを使用することをお勧めします。これらの IDE は使いやすく、C# と .NET での作業をサポートする広範なカスタマイズ設定を提供します。私たちのドキュメントではこれらの IDE のみをカバーしています。

Visual Studio

‘cTrader.Automate’ Nuget パッケージのインストール

cBot またはインジケーターを作成する前に、cTrader.Automate Nuget パッケージをインストールします。以下の手順でインストールできます。

  • Visual Studio の ‘プロジェクト‘ メニューを開き、’NuGet パッケージの管理‘ を選択します。
  • nuget.org をパッケージソースとして選択し、検索バーに cTrader と入力します。
  • cTrader.Automate パッケージをクリックし、’インストール‘ を選択します。

Image title

古いバージョンの Visual Studio (2015 以前) を使用している場合は、NuGet パッケージ マネージャーもインストールする必要があります。詳細についてはこのドキュメントをご覧ください。

または、’ツール‘ メニューを開き、’NuGet パッケージ マネージャー‘ を選択して、’パッケージ マネージャー コンソール’ を開きます。そこで、Install-Package cTrader.Automate と入力します。

cTrader.Automate Nuget パッケージをインストールした後は、cBot/インジケーター プロジェクトをビルドする際に、Visual Studio は自動的にプロジェクトの .algo ファイルを build ディレクトリに作成します。Windows で作業している場合、このパッケージは ../Documents/cAlgo/Sources/{Robots/Indicators} フォルダーにも対応する .algo ファイルを作成します。

Visual Studio での新しい cBots/インジケーターの作成

新しい cBot/インジケーターを作成するには、Visual Studio 内で新しいプロジェクトを作成し、’クラスライブラリ‘ を選択します。プロジェクトに任意の名前を付けます。

Image title

‘Class1.cs’ ファイルに cBot/インジケーターのコードを記述します。その後、’ビルド‘ メニューを開き、’ソリューションのビルド‘ を選択します。または、Ctrl+Shift+B を押します。ビルドが成功すると、上記のディレクトリに .algo ファイルが表示されるはずです。

新しい cBot/インジケーターが cTrader UI に表示されない場合は、cTrader プラットフォームを再起動すると、他の拡張機能と一緒に表示されるようになります。

Visual Studio に関する追加情報についてはこのドキュメントをご覧ください。

Visual Studio Code

Visual Studio に比べて、VS Code はより軽量なコードエディターであり、開発者の間での人気が急上昇しています。VS Code で cBots/インジケーターを作成するには、以下の前提条件を満たす必要があります。

  • .NET SDK をインストールします。
  • VS Code に C# 拡張機能をインストールします。

適切な拡張機能をインストールするには、拡張機能マーケットプレイスを開き、検索バーに C# と入力して、公式の Microsoft 拡張機能または他の適切なアドオンを選択します。

Image title

その後、.NET コマンドライン インターフェイス (CLI) を使用して、ソリューションとクラスライブラリ プロジェクトを作成し、cBot/インジケーターを含めます。

Windows システムを使用している場合は Documents\cAlgo\Sources を使用してください。それ以外の場合は、任意のディレクトリでインジケーター/cBot プロジェクトを作成してビルドできます。

インジケーターの作成

VS Code でインジケーターを作成するには、’新しいターミナル‘ を ‘ターミナル‘ メニューから選択して新しい PowerShell ターミナルを開きます。または、Ctrl+Shift+` を押します。

1. ターミナルで、Documents\cAlgo\Sources\Indicators ディレクトリを開きます。

cd Documents\cAlgo\Sources\Indicators\

2. インジケーター用の新しいディレクトリを作成します。このディレクトリにはインジケーターソリューションとプロジェクトが含まれます。このディレクトリに切り替えます。

mkdir MyIndicator
cd MyIndicator

3. 新しく作成したディレクトリ内に .NET ソリューションを作成します。

dotnet new sln

4. クラスライブラリ .NET プロジェクトを作成します。

dotnet new classlib --name MyIndicator

このプロジェクトは MyIndicator ディレクトリ内に作成されます。

5. ソリューションにプロジェクトを追加します。

dotnet sln add .\MyIndicator\MyIndicator.csproj

6. cTrader.Automate NuGet パッケージをインストールします。

dotnet add .\MyIndicator\MyIndicator.csproj package cTrader.Automate

7. インジケータークラスを追加します。そのためには、Class1.cs ファイルの名前を MyIndicator.cs に変更し、開いて、その内容を以下のプレースホルダーコードで置き換えます。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
using cAlgo.API;
namespace cAlgo;
[Indicator(AccessRights = AccessRights.None)]
public class MyIndicator : Indicator
{
    [Parameter(DefaultValue = "Hello world!")]
    public string Message { get; set; }

    [Output("Main")]
    public IndicatorDataSeries Result { get; set; }

    protected override void Initialize()
    {
        // To learn more about cTrader Algo visit our Help Center:
        // https://help.ctrader.com/ctrader-algo

        Print(Message);
    }

    public override void Calculate(int index)
    {
        // Calculate value at specified index
        // Result[index] =
    }
}

8. プロジェクトをビルドします。

dotnet build --configuration Release

ソースコードを含めてプロジェクトをビルドすることもできます。

dotnet build --configuration Release -p:IncludeSource=True

インジケーターをデバッグしたい場合は、ビルド設定を Debug に変更することができます。

ビルドが成功すると、インジケーターの .algo ファイルがプロジェクトの bin フォルダー内と、Windows を使用している場合は Documents\cAlgo\Sources\Indicators\ フォルダー内に生成されます。

cBot の作成

cBot の作成はインジケーターの作成と似ていますが、Indicator クラスの代わりに Robot クラスを使用し、Documents\cAlgo\Sources\Indicators\ ディレクトリの代わりに Documents\cAlgo\Sources\Robots\ ディレクトリを使用します。

以下のサンプルコードを cBot クラスに使用できます。

 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
using cAlgo.API;
namespace cAlgo.Robots;
[Robot(AccessRights = AccessRights.None)]
public class MyRobot : Robot
{
    [Parameter(DefaultValue = "Hello world!")]
    public string Message { get; set; }

    protected override void OnStart()
    {
        // To learn more about cTrader Algo visit our Help Center:
        // https://help.ctrader.com/ctrader-algo

        Print(Message);
    }

    protected override void OnTick()
    {
        // Handle price updates here
    }

    protected override void OnStop()
    {
        // Handle cBot stop here
    }
}

NET IDEs

cBots、プラグイン、およびインジケーターを扱うために、他のIDEを使用することもできます。以下の手順に従って、有効なcTrader拡張機能を作成してください。

  1. .NETクラスライブラリプロジェクトを作成します。
  2. cTrader.Automate Nugetパッケージをインストールします。
  3. cBot/インジケーターのソースコードを含むクラスファイルを作成します。インジケーターはIndicator クラスを継承し、cBot は Robot クラスを継承する必要があります。
  4. 拡張機能をビルドします。コンパイル/ビルドに関する詳細情報は、このドキュメントの関連セクションを確認してください。
目次

このページについて