ATRバンドを使った売買システム

皆さん、こんにちは。

久々の記事ですが、最近暑いせいかぐだぐだです。

断捨離しようと思っているActive Trader Magazineに適当に目を通していたところ、2013年7月号にATRを使った簡単な売買システムが載っていたので試してみました。

売買ルールはシンプルです。

移動平均線にATRをプラスしたラインとマイナスしたラインでバンドを作ります。ATRはAverage True Rangeの略で各バーのレンジの平均ですが、いくつかバリエーションがあるので後で説明します。

そして、買いシグナルはバーが完全に上位ラインを上回ったとき、売りシグナルは、バーが完全に下位ラインを下回ったときです。

また手仕舞いシグナルは、買いポジションの場合、バーが完全に上位ラインを下回ったとき、売りシグナルの場合、バーが完全に下位ラインを上回ったときです。

チャートで見るとこんな感じです。

1本前の安値が上位ラインを超えたときに買いシグナル、1本前の高値が上位ラインを下回ったときが手仕舞いとなります。

売りシグナルは、高値が下位ラインを下回ったとき、手仕舞いは安値が下位ラインを上回ったときとなります。

この売買ルールをBlock EAで表したのが下図になります。

ブロックデータを以下に置いておきます。Block EAで開いてみてください。


Block EAでEAのコードが出せるので、それをコンパイルすればMT4/MT5でバックテストできます。

ただ、このシステムは見ての通りのトレンドフォロー型なので、大きいトレンドが出るときしかうまくいきません。

今回の記事では、売買システムというよりATRに注目してみます。

上のシステムのATRは、MQLに標準搭載されているATRを使いました。TR(True Range)に単純移動平均(SMA)をかけて平滑化するものです。

ところが、Active Trader Magazineの記事では、色々なテクニカル指標を考案しているWilderのATRを使っています。

WilderのATRは、平滑化の移動平均がSMAではなく、SMMAというところが違います。SMMAはEMAと同じく指数平滑化移動平均で、直近の値に重みがかかっているため、価格の変動への追随性がSMAより高いという特徴があります。

WilderのATRをBlock EAで作ったものが以下になります。

これはカスタム指標なのでちょっと見にくいですが、以下にブロックデータを置いておきます。


ところで、TRの平滑化をSMAでするのとSMMAでするのとで、どのくらい違うかというと、こんな感じです。

どちらも期間は14ですが、WATRの方が値幅が急に大きくなったときに急に変化しているのがわかります。

このWATRを使ったシステムは以下のようになります。

ブロックデータです。


ATRの動きだけ見ると違いはわかりますが、ATRバンドにしたときはそれほど大きな差はありません。

なので、ATRをWATRに変えたとしても、よくなるケースもあれば悪くなるケースもあって、なんとも言えません。

ということで、今回、Block EAを使ってATRバンドを使ったEAとカスタム指標を作っただけの記事となってしまいました。ぐだぐだだけど一応更新しておきます。

ちなみにWilderのATRは、以下のサイトにもコードがありました。わざわざ作る必要もなかったかもしれません。

ではまた。

前へ

共通ライブラリを使ったEAを速くする方法