cTraderにおけるレンジバーストラテジー

cBots (自動売買)

レンジチャートは、価格がその動きをするのにどれだけの時間がかかるかに関係なく、指定された価格範囲の動きを表すために構築されます。これにより、範囲サイズより小さい価格の動きがフィルタリングされ、トレンドの視覚化が容易になります。cTraderでは、レンジバーに基づいて意思決定を行う自動売買戦略を開発するプロセスは、標準の時間ベースのローソク足に基づく戦略を作成するプロセスと同じです。この記事とその付随するビデオでは、レンジバーに基づいた簡単な戦略を開発してバックテストする方法を示します。

買いと売りのシグナルの定義

トレーディングロジックを簡単に説明しましょう。

  • 「買い」シグナルは、弱気のレンジバーの後に強気のレンジバーが続き、弱気バーの始値を上回ってクローズした場合に発生します。
  • 「売り」シグナルは、強気のレンジバーの後に弱気のレンジバーが続き、強気バーの始値を下回ってクローズした場合に発生します。

「買い」シグナルの解釈は、弱気トレンドが強い抵抗に遭遇したとき、リバウンドを期待して買う時期であるということです。逆のセットアップは「売り」シグナルに適用されます。強気トレンドが抵抗に遭遇し、「売り」注文を出してこれを活用する必要があります。

例のcBotの作成

ここで、cBotの作成を開始できます。まず、必要なパラメータを定義します。

1
2
3
4
5
6
7
8
[Parameter(DefaultValue = 10000)]
public double Volume { get; set; }
[Parameter(DefaultValue = 20)]
public double StopLoss { get; set; }
[Parameter(DefaultValue = 20)]
public double TakeProfit { get; set; }

「買い」シグナルを次のようにコード化できます。

1
2
3
4
if (Bars.Last(0).Close > Bars.Last(0).Open && Bars.Last(1).Close < Bars.Last(1).Open && Bars.Last(0).Close > Bars.Last(1).Open)
{
    ExecuteMarketOrder(TradeType.Buy, SymbolName, Volume,InstanceId, StopLoss, TakeProfit);
}

「売り」シグナルは次のようになります。

1
2
3
4
if (Bars.Last(0).Close < Bars.Last(0).Open && Bars.Last(1).Close > Bars.Last(1).Open && Bars.Last(0).Close < Bars.Last(1).Open)
{
    ExecuteMarketOrder(TradeType.Sell, SymbolName, Volume,InstanceId, StopLoss, TakeProfit);
}

戦略のバックテスト

新しいボットをビルドしてバックテストした後、「バックテスト」タブに切り替えてバックテストを実行できます。以下はその結果です。

注意

レンジバーストラテジーは、ローソク足ベースのストラテジーと同じデータ構造を使用します。たとえば、レンジバーを取得するためにBarsコレクションを使用しました。これは、ローソク足を取得しようとする場合にも同じコレクションを使用します。cTraderのこの機能により、どのチャートタイプでも修正なしでテストおよび実行できる戦略を開発できます。

このチュートリアルでは、レンジチャートに基づく簡単な戦略を迅速に開発する方法を示しました。また、そのような戦略を時間ベースのローソク足を含むチャートで自由に再利用できることを提案しました。

このビデオが役に立った場合は、YouTubeチャンネルの購読を検討してください。

目次

このページについて