ボリンジャーバンドを使ったボラティリティブレイクアウト手法~HotForex MT5用のEAを作成してバックテストしてみた

2019年1月2日

相場の勢いを捉える捉えるブレイクアウト手法

古くから知られているトレード手法の中でもブレイクアウト戦略は現在でも通用する優れた手法の一つです。停滞していた相場がニュースや指標などの材料を得て一方向に一気にブレイクアウトすれば、そこから大きなトレンドが発生することも少なくありません。

過去n日間の高値を上方ブレイクアウトしたら買い、安値を下方ブレイク・アウトしたら売りなどという戦略はシステムトレードをやっている人なら一度は耳にしたことがあるのではないでしょうか。

ブレイクアウトの判断には過去n日間の高値、安値を用いる方法が有名なわけですが、それ以外にも様々な方法でブレイクアウトを判断することが出来ます。

オシレーターの数値があるレベルをブレイクアウトしたらエントリーする戦略などはEA化すると面白いのではないかと思います。オシレーターはレンジ相場での一定の周期で波のようなラインを描いていくのですが、トレンドが発生すると上限や下限付近に張り付いていることが多くなります。

この特性を利用するわけですね。

他にはボリンジャーバンドの±2σのラインを利用したブレイクアウト手法も有効です。ボラティリティブレイクアウトで検索するとこの手法を紹介したサイトがかなり出てくるので知っている人も多いのではないかと思います。ボリンジャーバンドを逆張り指標として使うのではなく順張り指標として使う手法ですね。

±2σの範囲をブレイクアウトしたらトレンドが発生したと判断してエントリーするのでかなり騙しも多いのですが、適当なフィルターと組み合わせておけばかなり威力を発揮する手法です。

ボリンジャーバンドを使ったボラティリティブレイクアウトのロジックを考えてみた

今回はボリンジャーバンドの+2σを上方ブレイク・アウトしたら買いエントリー、-2σを下方ブレイク・アウトしたら売りエントリーするというシンプルなロジックでEAを作成してみたいと思います。

ボリンジャーバンドをチャートに表示させたことのない人はほとんどいないとは思いますが、念の為ドル円1時間足にボリンジャーバンドを表示させたチャートのスクリーンショットを撮ってみました。

このチャートを見るとボリンジャーバンドにタッチして反発している時もあるし、ボリンジャーバンドを突き破ってトレンドを形成している時もあります。

ボラティリティブレイクアウトで利用するのはボリンジャーバンドを突き破る動きなので、ロジック的には非常にシンプルなものになります。

買いエントリー

2本前のロウソク足が+2σラインよりも下
and
1本前のロウソク足が+2σのラインよりも上

売りエントリー

2本前のロウソク足が-2σラインよりも上
and
1本前のロウソク足が-2σのラインよりも下

このエントリーロジックにストップロスとテイクプロフィットを組み合わせればとりあえず完成です(笑)

ちょっと手抜きをし過ぎた感が拭えませんが、このロジックでEAを作成してみました。

今回はHotForexのMT5を使ってバックテストしていますが、せっかくMT5を使っているので12時間足という変なタイムフレームを使ってみることにします。日足だとトレード数が稼げないし4時間足だと騙しが多そうだしこの辺がちょうどいいんじゃないですかね←適当w

ブレイクアウト系のEAと相性のいいポンド円でバックテストした結果です。

流石に勝率は悪くコツコツ負けてドカーンと勝つ感じで利益を積み上げていくタイプのEAですね。低打率のホームランバッターという高校野球では監督が使い所に悩むタイプの選手です(笑)

フィルターを使用していないのが勝率に響いているのでしょうね。チャートを見るとレンジ相場で騙しにあって連敗している様子がよくわかります。

一方トレンドさえ発生してしまえば連勝することもあります。

これがレンジに弱く、トレンドに強いというボラティリティブレイクアウトの性質がこのチャート1枚からでもよくわかりますね。

ボリンジャーバンドの期間と偏差を最適化してみた

MT5でEAを作成することのメリットの一つはパソコンのCPUの性能をフルに使えるということです。MT5はマルチコアに対応しており、最適化の時には全てのコアを使って全力で作業してくれます。MT4が1つのコアでセコセコと最適化する横で4コア、あるいは8コアを使って最適化してくれるので作業効率が段違いなのです。

MacBook ProのBootCampにWindows10をインストールした状態でもきちんとマルチコアで作動してくれています。もし自分のパソコンの能力だけでは足りないと思ったらMQL5クラウドネットワーク上にあるエージェントを利用すればいくらでも能力をアップすることが出来ます。

クラウド上にある他人のパソコンのリソースを使わせてもらうので有料になってしまいますが、急いでいる人にはうってつけのサービスなのではないでしょうか。

ただしマルチコアで作業できるのは最適化の時だけでバックテスト時にはシングルコアでの動作になります。最適化をしない人には恩恵が少ないかもしれないのでご注意ください。

 

話が横にそれてしまいましたが気を取り直して今回作成したEAの最適化を行ってみました。時間節約のために最適化するのはボリンジャーバンドの期間と偏差だけにして、ストップロスとテイクプロフィットは弄らないことにします。

最適化してバックテストした結果、先程よりもかなり良い感じになっていました。

偏差が小さくなったことによりトレード回数が増えています。偏差が小さくなったことでエントリー頻度が上がり、勝率が下がると思っていたのですが勝率もアップしています。

ブレイクアウトの判断が早くなったことがプラス方向に働いた可能性もありますが、明確な理由はわかりません(笑)

今後追加したいのはレンジフィルターとクローズロジックですが、レンジフィルターを付けるとエントリー数が減ってしまうのでクローズロジックだけ追加したほうがいいのかもしれませんね。

騙しは避けられないものとして諦めブレイクイーブンやトレイリングストップを使って負けを小さくすることを模索するのが正解かもしれませんね。

【関連記事】

今回作成したボラティリティブレイクアウトEAにクローズロジックを追懐してみました

ボリンジャーバンドを使ったボラティリティブレイクアウトEAにクローズロジックを追加してみた~MT5 EA