2013年11月09日

ダブルトップ、ダブルボトムをEA作って検証してみた

ダブルトップ

ダブルトップは天井圏で出現すると相場の天井を示すチャートパターンです。
同程度の2つの高値とその間の安値(ネックライン)でセットアップとなり、
現在の価格がネックラインを下回ると完成、売りシグナルとなります。
下落目標は高値とネックラインの幅と同程度といわれています。

doubletop.gif


ダブルボトム

ダブルボトムはダブルトップの逆で底値圏で出現すると相場の底を示すチャートパターンです。
同程度の2つの安値とその間の高値(ネックライン)でセットアップとなり、
現在の価格がネックラインを上回ると完成、買いシグナルとなります。
上昇目標はネックラインと安値の幅と同程度といわれています。

doublebottom.gif


と、こんな感じの手法です。

以前からダブルトップとダブルボトム
どの程度の優位性があるか気になっていたのですが
さて、どうやってこのチャートパターンを認識するかが問題でした。

逆立ちすること30秒(俺は桜間長太郎か?)・・・ひらめいた!!

MT4には最初からZigZagっていう高値と安値を線で結んでくれるインジケーターがあるじゃないですか

zigzag.gif

ZigZagインジケーターを表示するとこんな感じで高値と安値を結んでくれます。
高値と安値のところのみ値が入っているので、最新の足から過去にさかのぼって必要な数だけ
高値と安値を取りだして、ダブルトップとダブルボトムを探すことにしました。

今回の面倒なところはこれでクリアーできたのでさっそくプログラムです。


買いのルールは次の通り

1.2つの安値の差が小さいこと(パラメータで指定)
2.ネックラインを一定値以上(パラメータで指定)上に抜けたところで買いエントリー
3.ストップは2つの安値とネックラインの差が小さいほうを使用
4.リミットは2つの安値とネックラインの差が大きいほうを使用


売りのルールは次の通り

1.2つの高値の差が小さいこと(パラメータで指定)
2.ネックラインを一定値以上(パラメータで指定)下に抜けたところで買いエントリー
3.ストップは2つの高値とネックラインの差が小さいほうを使用
4.リミットは2つの高値とネックラインの差が大きいほうを使用


です。
では結果はいかに

EURJPY1時間足ショートの結果(2005/1/1〜2013/1/1)
doubletopEURJPY1H.gif

あべし!!

EURJPY1時間足ロングの結果(2005/1/1〜2013/1/1)
doublebottomEURJPY1H.gif

ひでぶー!!


ロングはかろうじてプラスですが、このままチョモランマを完成させて、
その後マリアナ海溝に進みそうなグラフですね・・・。


ロングはピークが2009.9.3
つまりサブプライムローンも、リーマンショックも乗り越えたかに見えたところから
負けに転じている・・・


ロングなのに大暴落の相場を乗り越えている。
しかし、その後はやられっぱなし。
解せんのー。



そこで、固定リミットをやめトレイリングストップを追加してみた。

EURJPY1時間足ショートの結果(2005/1/1〜2013/1/1)
doubletopEURJPY1H2.gif


EURJPY1時間足ロングの結果(2005/1/1〜2013/1/1)
doublebottomEURJPY1H2.gif

結構改善されましたが後半は延びませんね・・・。


ちなみにこれは2013年の結果です。

EURJPY1時間足ショートの結果(20013/1/1〜2013/11/10)
doubletopEURJPY1H3.gif

EURJPY1時間足ロングの結果(20013/1/1〜2013/11/10)
doublebottomEURJPY1H3.gif

ロングはかなり良いですよね。
ショートはつらいですね。

結論としてはダブルボトムは優位性がありそう。
ダブルトップはなさそう。です。
すくなくともEURJPY1時間足ではそう見えます。


もしかしたら
ZigZagでダブルトップ、ダブルボトム探すのに無理があるかもしれませんし、
私のプログラムがダメなのかも知れません。


なので参考までにって感じです。


以上、最後まで読んでいただきありがとうございました。