コンテンツにスキップ

cTraderでcBotをバックテストする方法

この記事とその対応するビデオでは、cBotをバックテストする方法について説明します。 バックテストにアクセスする方法、バックテスト設定を構成する方法、およびバックテストの結果を解釈する方法を学びます。

cTraderでのバックテスト

cBotは、移動平均収束発散(MACD)クロスオーバーなどの特定の市場の動きやイベントに遭遇したときにさまざまな取引アクションを実行するように構成できる完全にカスタマイズ可能な取引ロボットです。

ただし、cBotをコーディングする際、最初の試行ですべてを正しく行うことは難しい場合があります。 ほとんどの場合、cBotに代わって取引を行う前に、cBotを改良したいと思うでしょう。

ここでバックテストが役立ちます。 バックテストを、cBotが過去の市場データで取引を行うことができる遊び場と考えてください。これにより、何もリスクを負うことなく取引を行うことができます。 したがって、バックテストは、cBotが実際の資金をリスクにさらすことなく意図した結果を達成できるかどうかを評価するために非常に貴重です。

自分で作成したcBotや他のチャネルを通じて取得したcBotに対して、徹底的なバックテストを行うことを強くお勧めします。

バックテストにアクセスする

バックテストにアクセスするには、まず、評価したいcBotの既存のインスタンスを選択します。 UIの最上部のバー(戻るボタンを含むバー)のすぐ下に、現在選択されているインスタンスが動作している取引チャートを含む最初のタブが表示されます。

バックテストタブはそのすぐ右側にあります。 それをクリックしてバックテストエリアに切り替えます。

Image title

このタブを開いた後、次のインターフェースが表示されます。

Image title

期間を設定する

前述のように、バックテストを使用すると、cBotインスタンスを過去の市場データで実行できます。 バックテストプロセスがカバーする正確な期間を定義するためのいくつかのオプションがあります。

スライダーを使用する

カレンダースライダーは、バックテストタブの上部近くにあります。

Image title

両方の灰色のポイントをスライダー上でドラッグして、後続のバックテストのデータ範囲を指定します。 上のスクリーンショットでは、ポイントの1つをドラッグして、約2年に相当する期間をカバーしました。

メニューを使用する

スライダーの左右にあるカレンダードロップダウンメニューを使用して、正確な日付範囲を選択することもできます。

Image title

バックテスト期間が正確に2年であることを確認するために、左側のメニューを開いて2020年11月30日を新しい開始日として選択できます。

設定を構成する

バックテストを実行する前に、左端のカレンダーメニューのすぐ左にある歯車アイコンをクリックします。 次の設定が表示されます。

Image title

このセクションを開いたら、次の操作を実行します。

  • 取引開始時の資金フィールドで、cBotが開始する初期資金を指定します。
  • 手数料メニューを開き、cBotが100万単位の取引後に支払う手数料を選択(または入力)します。
  • データメニューで、バックテストの過去データのソースを設定します。 一般的に、サーバーからm1データを受信することは、精度とバックテストのリソース集約性の間の良い妥協点です。 ローカルに保存された.CSVファイルからカスタムデータをアップロードすることもできます。
  • スプレッドサブセクションで、固定またはランダムのスプレッドを選択します。 ライブをクリックして、固定スプレッド(選択されている場合)を現在のシンボルスプレッドに一致させます。

バックテスト設定とそれがバックテストの結果にどのように影響するかについて詳しく知るには、このチュートリアルを参照してください。

モードを選択する

バックテストの結果(cBotが開いたポジション)が発生するのを見ることを選択できます。 この機能は、cBotが期待どおりに動作しない特定のイベントや条件を検出するのに特に役立ちます。

これにアクセスするには、カレンダースライダーのすぐ下の左側にあるビジュアルモードフラグを有効にします。 速度メニューで、選択した取引チャートが再生される速度を選択します。 バックテスト中に再生速度をいつでも変更できることに注意してください。

Image title

または、ビジュアルモードフラグを無効のままにします。 バックテストをリアルタイムで見る代わりに、最後にバックテスト結果を含む1回限りのレポートを受け取ります。

今のところ、ビジュアルモード機能は無効のままにしておきます。

バックテストを起動

指定された設定と選択されたモードでバックテストを実行するには、一番右のカレンダーメニューの右側にある再生ボタンをクリックします。

cTraderは必要な過去データの読み込みを開始します。 このプロセスは、選択した期間とcTraderを実行しているハードウェアによって数分かかる場合があります。

今回のケースでは、2年間の情報のみをリクエストしたため、比較的迅速に処理されます。 バックテストが実行されると、ビジュアルモードフラグの右側にあるバーが左から右に徐々に移動するのが見えます。

バーが完全に右に移動すると、バックテストプロセスが終了します。

結果を表示

バックテストの結果を判断するために使用できる方法がいくつかあります。 バックテストが終了すると、取引チャートの中央上部にある数字が、cBotによって生成された純利益の合計を要約します。

Image title

今回のケースでは、cBotは503%という大幅な純利益を上げました。

cBotのパフォーマンスを評価するもう一つの方法は、取引チャートのすぐ下にある取引パネルの有効証拠金タブに切り替えることです。 X軸にcBotが行った取引の総数、Y軸に資金を表示したチャートが表示されます。

黄色の線はcBotの残高を追跡し、灰色の線は有効証拠金を追跡します。

Image title

バックテスト中にcBotがうまく機能していたことがわかりますが、実際の資金にアクセスさせる前に修正が必要な場合もあるかもしれません。

最後に、取引統計タブには、cBotが実行したすべての取引アクションの累積統計が表示されます。

Image title

総リターンが非常に良かったことがわかります。 ロボットは合計271回の勝利取引を行い、総リターンの大部分(33,009.55)はたった1回の取引で生成されました! このcBotにはリスクの高いプレイをする可能性があることが明らかです。

バックテストは、cBotが期待通りに動作することを確認するための優れた方法です。 詳細な統計と有効証拠金チャートを使用して、テスト中のロボットが正しい(または間違った)動きをしていた価格の瞬間を特定できます。 バックテストは完全にカスタマイズ可能で、cBotをまったく異なる条件でトレーニングすることができます。