cTrader Algo リファレンスとガイドの使い方

cBots (自動売買)

cTraderには、包括的なドキュメント(現在ご覧いただいているのはその一部です)や教育ビデオなどの補助資料が揃っています。この記事では、この宝の山を効果的に利用する方法について説明します。アルゴAPIには多くのメンバーが存在し、必要な情報を迅速に取得する方法を知ることが重要です。

ドキュメントの更新

ドキュメントは新しいcTraderリリースに合わせて定期的に更新されます。場合によっては、まだcTraderで利用できないAPIの改善点がドキュメントに記載されていることがあります。そのような場合は、今後のcTraderのバージョンでの先行公開と考えてください。

ドキュメントとガイドのアクセス方法

教育資料はcTrader Desktop内で簡単に見つけることができます。‘Algo’アプリケーションを開き、任意のアルゴリズムを選択してください。コードエディタウィンドウの右側の列に、プラットフォーム内に統合されたAPIドキュメントが表示されます。

Image title

実際、cTrader内でこの記事を読んでいる可能性が高いです。

また、cTraderヘルプセンターを訪れ、アルゴトレーディングに関するセクションを開くこともできます。そこには、通常のcTrader Desktopと同じインターフェースと構造が表示されます。最後に、YouTubeチャンネルも訪れ、cTraderアルゴリズムに関するビデオガイドを見ることができます。これらのガイドは、ヘルプセンターや統合されたAPIドキュメントにも埋め込まれています。

ドキュメントのナビゲーション方法

ドキュメントにはいくつかの重要なセクションがあります。

C#と.NETの基礎. C#と.NETの基本原則についての簡潔な紹介です。カスタムアルゴリズムの作成を始めるのに最適です。

cBots/インディケーター これらのガイドは、cBots/インディケーターをゼロから作成するプロセスをカバーしており、自作のアルゴに自由に再利用できるいくつかのコードスニペットを提供しています。

アルゴとの連携. このセクションでは、外部IDEの使用、コンパイルとビルド、デバッグ、スレッドセーフティなど、cTraderアルゴリズムの作業をスムーズにするためのすべてについて説明しています。

APIの機能. このセクションのドキュメントでは、アルゴAPIの主要メンバー(特にネットワークアクセスとローカルストレージ)を使用する方法について詳述しています。’高度なcBot操作‘および’高度なインディケーター操作‘ガイドには、ネストされたインディケーターなどの複雑な種類のcTraderアルゴリズムのコードスニペットが含まれています。

ユーザーガイド. このセクションには、特定のアクション(例:カスタムインディケーターのライフサイクルにおけるキーイベントの処理)を実行する方法についての記事とビデオが含まれています。この記事もこのセクションにあります。

リファレンス. APIリファレンスには、すべてのAPIメンバーの説明が含まれており、特定のプロパティを通じて取得または設定できるもの、さまざまなenumの可能な値、特定のメソッドが返すものについて読むことができます。同じ情報が、コードエディタウィンドウで特定のAPIメンバーにカーソルを合わせると表示されます。

コードスニペットの使用方法

豊富なコードスニペットは、このドキュメントの主要な特徴の一つです。作成したいアルゴリズムの種類に関係なく、ドキュメントには再利用できるコードが高い確率で含まれています。これを示すために、ドキュメントから取得したコードを少し修正するだけで動作するシンプルなcBotを作成してみましょう。

そのためには、まず新しいcBotを作成します。これは通常、‘New cBot’ボタンをクリックするか、アルゴリズムリストの上部のドロップダウンメニューを開いて同じオプションを選択することで行います。

Image title

複数のシンボルを取引するシンプルなcBotを作成します。ニュースに基づいて取引を行うため、これらのニュースに関連するすべてのシンボルで取引を行うアルゴリズムを持つことが理にかなっています。

そのために、統合されたAlgo APIドキュメントを開き、その検索バーに‘multiple symbols’と入力します。検索結果によると、‘Advanced Operations With cBots’ガイドに他のシンボルを取引することについてのサブセクションがあります。この特定の結果をクリックすると、関連するコードスニペットと補足情報が表示されます。このスニペットをすぐにコピーしてcBotに貼り付けることができます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
  [Robot()]
  public class Sample_cBot : Robot
  {
    protected override void OnStart()
    {
        var symbol = Symbols.GetSymbol("GBPUSD");

        if (symbol is not null)
        {
            _ = ExecuteMarketOrder(TradeType.Sell, symbol.Name, symbol.VolumeInUnitsMin);
        }
    }
  }

上記のコードスニペットの情報により、必要なシンボルを見つけるためにSymbolsコレクションを使用できることがわかります。例えば、米国財務省が利率サイクルについての新たなスピーチを行い、複数の米国ベースの指標で売りポジションを開きたいとします(ただし、cBotが添付されているシンボルには適用されません)。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[Robot()]
  public class Sample_cBot : Robot
  {
    protected override void OnStart()
    {
        var symbolOne = Symbols.GetSymbol("US 500");

        var symbolTwo = Symbols.GetSymbol("US 30");

        var symbolThree = Symbols.GetSymbol("US TECH 100");

        if (symbolOne is not null && symbolTwo is not null && symbolThree is not null)
        {
            ExecuteMarketOrder(TradeType.Sell, symbolOne.Name, symbolOne.VolumeInUnitsMin);
            ExecuteMarketOrder(TradeType.Sell, symbolTwo.Name, symbolTwo.VolumeInUnitsMin);
            ExecuteMarketOrder(TradeType.Sell, symbolThree.Name, symbolThree.VolumeInUnitsMin);
        }
    }
  }

開始時に、cBotは必要な操作を実行します。APIドキュメントを参照することで、既存のコードを再利用し、必要に応じてわずかに修正するだけで多くの時間を節約することができました。

まとめ

cTraderでは、プラットフォーム内のさまざまな場所でAPIドキュメントにアクセスできます。これはアルゴを強化するための非常に便利な方法であり、ドキュメントからコードスニペットを再利用して必要な修正を加えるだけで済みます。また、新しい教育ビデオをリリースするたびに通知を受け取るために、YouTubeチャンネルの購読を強くお勧めします。

目次

このページについて