多くの場合、自動化された戦略はトレーディングの決定を下す前に異なる時間枠からの情報を考慮する必要があります。幸いなことに、cTraderはアルゴリズムが複数の時間枠からデータに簡単にアクセスできるツールを多数提供しています。このビデオとそれに対応する記事では、これらのツールを使用して効果的なcBotを作成する方法を説明します。
cBotパラメータの宣言
移動平均のために必要なパラメータを宣言することから始めます。期間、時間枠、および移動平均のタイプが必要です。
1 2 3 4 5 6 7 8 |
|
次に、移動平均を定義します。
1 |
|
移動平均をOnStart()
メソッドで初期化できます。MarketData.GetBars()
メソッドを使用して、最初の移動平均のバーを取得し、それをインディケーターのコンストラクターに渡します。GetBars()
メソッドは、必要な任意の時間枠と任意のシンボルのバーのデータを取得するための非常に便利なメソッドです。
1 |
|
他の2つの移動平均についても同じプロセスを繰り返します。以下のコードをコピーして貼り付けるだけで進めることができます。
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 29 30 31 32 33 34 35 36 37 |
|
トレーディングロジックの実装
ここで、トレーディングロジックを実装できます。私たちの戦略では、すべての移動平均が上昇しているときに買いポジションを持ち、移動平均が下降しているときに売りポジションを持ちます。以下は買い側のロジックのコードです。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
以下は売り側のロジックのコードです。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
マルチタイムフレーム戦略のバックテスト
最後に、新しいcBotをバックテストする必要があります。移動平均が同じ方向に同期しているときにcBotがポジションを取ることがわかります。また、各インディケーターが異なる方向を指しているときには市場に参入しません。
このビデオと記事がお役に立てば幸いです。このビデオの下部でお気軽に質問してください。また、新しいビデオを公開した際に更新情報を受け取るために、チャンネル登録をお願いします。