はじめに
本記事では最近話題のcTraderを取り上げて、FXやCFD取引ツールからの自動売買の可能性を広げる事を目的としています。
尚、この記事から金融取引の斡旋や勧誘することはありません。
記事中はすべて Demo口座 での挙動確認のみとなります。
本記事では取引は紹介していませんが、実運用口座での取引は自己責任でお願いいたします。
公式ページ( https://ctrader.com/ )、正規ブローカー以外から配布されているアプリケーションは詐欺の可能性があります。十分に注意してください。
対象
- FXやCFDに興味がある方(初心者)
- MT4やMT5を扱った事があり、代替ツールを検討している方
- C#、 Python が少しでも書ける方
- cTraderを使用しており、cBot作成に興味がある方
開発の目標
cTraderからレートの変動イベントを検知、 拡張できることが確認できればその他取引ツールへの通知等も行える為、レート変動におけるイベントの検知までを確認します。
cTraderとは
cTrader※1.は、Spotware Systems社で開発されたチャート機能と取引機能を備えた取引プラットフォームです。
取扱銘柄も主要通貨はもちろん、Index(指数)、金、原油等のコモディティの他、日本株も一部扱っているようですが、本取引を行う場合は契約するバイヤーの取扱銘柄のみとなるので注意してください。
簡単に言えばFXやCFD等の取引ツールです。
※1. cTrader - Claude AIによる回答
cTraderは、ロンドンのSpotware Systems社が2011年に開発したFX・CFD取引プラットフォームです。
ECN方式に特化しており、高い約定力と直感的な操作性が特徴です。
日本における同様のサービスはMT4(MetaTreder4※2.)、MT5が有名です。
本記事の内容はDemo口座登録までとしているので、実際にお金のかかる契約等は必要ありません。
※2. MetaTreder4 - Claude AIによる回答
MetaTrader 4(MT4)は、MetaQuotes社が開発したFXなどの金融商品を取引するための高機能なプラットフォームです。
世界中のトレーダーに利用されており、自動売買プログラム(EA)によるシステムトレードや、豊富なインジケーターを使った詳細なチャート分析が可能です。
cTraderの魅力は日本語にも対応しており、開発環境構築の手軽さ、検証のし易さ、そして自由度の高さが挙げられます。
MT4、MT5も同様の事が可能でユーザーも多く、日本企業も多くサポートしているので、取引を目的とするならばそちらで契約すべきです。
今回使うcTraderはまだ歴史が浅くあまり情報もない為、今回は備忘録的な意味合いで執筆しています。
FXやCFD取引に興味がある方は、 Demo口座で取引をし、 イメージを膨らませるとよいかもしれません。
ただし、実際の取引には税等、取引以外にも資金が必要となります。
本口座を開設される場合は必ず説明されるので十分注意しましょう。
開発機能(cBot)
cTraderにおける開発環境構築は、ほぼクリックのみで完了します。
- 環境
開発の対応OSは Windows と Mac の2つをサポート
開発言語は C# と Python の2つをサポート
今回は OS「Windows」、開発言語「C#」で進めていきます。
- 種類
開発可能な種類としては、cBot(取引用)、Indicator(テクニカルチャートや解析用)、プラグイン(その他)の三種あります。
今回はレート検知を目的としているので、「cBot」を選択します。
環境構築
アカウント作成
アカウント作成にはメールアドレスが必要です。
cTrader公式ページ 内、「I'm new here」より「Dive in」を選択します。

必要事項を入力、指示に従いアカウントを作成します。
アプリケーションダウンロード - インストール
公式ページより「Get cTrader」を選択します。

該当OSのアプリケーションを選択します。
(今回は「cTrader Windows」を選択)

ダウンロードが完了したらインストール、 起動します。
起動するとアカウントを要求されるので、 作成したアカウントでログインします。
ログインするDemo口座が作成されており、 取引が可能となります。

Demo口座では架空の初期資金として 1000 EUR が付与されます。
この資金を元に銘柄を自由に売買(架空取引ですが)することが可能です。
ここでは取引の説明はしませんが、もし金融取引に興味があるようであれば Demo口座 で取引のイメージを掴むのもよいかもしれません。
.NET SDKダウンロード - インストール
C#開発に必要な.NET SDKの準備します。
まず、cTrader 内の「設定」(歯車マーク)を選択します。

アプリケーション - 「Algo」 を選択し
「.NET SDKをインストール」を押下(ブラウザ起動)

ダウンロードされた「dotnet-sdk-6.0.100-win-x64.exe」をインストール
インストール完了後、 「Algo」の「コンパイラ」更新ボタンを押下し、プルダウンを最新化。
プルダウンからインストールした.NET SDKを選択します

cBot追加
開発のベースとなるcBotを作成します。
cTrader のサイドバーから「Algo」を選択
「cBot」タブを選択し、 「新規」ボタンを押下

「新しいアルゴリズムを追加する」を選択し「次へ」ボタンを押下
名前を指定(今回は「SimpleRateChecker」)、「cBot」を選択し「次へ」ボタンを押下
「C#」を選択し、「次へ」ボタンを押下
「最初から作成する」を選択し、「作成」ボタンを押下

すると、よくある「Hello World」サンプルコードが作成されます。

作成されたクラスをベースとして下記のようにDebug文を差し込みます。
(シンプルに銘柄名と買値と売値を表示するように変更)
[Robot(AccessRights = AccessRights.None, AddIndicators = true)]
public class SimpleRateChecker : Robot
{
protected override void OnTick()
{
// Handle price updates here
Print($"updated tick [{this.SymbolName}: Ask={this.Symbol.Ask}, Bid={this.Symbol.Bid}]");
}
}
ビルド
cTraderではツール上でソース修正だけでなく、ビルドも行う事ができます。
方法は「cBotをビルド」ボタンを押すだけです。
まるで統合開発環境のような手軽さです。

ビルド結果の結果を確認します。
「ビルド成功」の緑色の文字が出力されれば問題ありません。
動作確認
動作を確認するにはある程度値動きのある銘柄を選ぶ必要があります。
ここでは通貨ペアUSD/JPYで確認を取ります。
cTrader のサイドメニューから「trade」を選択します。
「米ドル/円」を選択し、「m1」(1分足)を選択します。

対象の通貨ウィンドウを選択し、「cBotを追加」ボタン押下します。

ビルドに成功していれば、作成した「SimpleRateChecker」が表示されるので、選択します。

cBotの起動ボタンを押すと、下部の「Algo」タブにログが出力されます。
レート変動と共にログが出力されることを確認します。

念のため、「D1」(日足※)に変更しても、レート変動と共にログが出力されることを確認してみましょう。
※ 日足:相場の動きを1日単位で表したもの
最後に
今回初めて cTrader を扱いましたが、 開発の敷居が低く設定されている事の他、開発用資料もサンプルを含め ヘルプ に手厚く用意されている他、日本語や discord でも対応されている為、かなり好感が持てました。
アプリケーションの挙動もスピーディーで安定しており、主要デバイスにも対応しているのも良かったです。
また cTrader では Open API にも対応している為、 外部ツールとの連携もかなり取りやすいと感じました。
これにより、cTrader で扱うストラテジーをベースに運用したい場合や、 MT4、5 の代替先を検討している方には扱いやすいのではないかと思います。
国内では、cTrader を扱う業者は少ないですが、 今後増えてくる事を期待します。
