ZigZagはMT4でトレードされている方にとっては聞き馴染みのあるインジケータかと思います。
チャートにZigZagを表示させるとトレンドが一目瞭然となり、これを使えば勝てるのではないかと多くの方が思われるのではないでしょうか。
実際はリペイントのリスクがあるなどそう単純ではないのですが、出来上がったチャートに対してトレンドを浮き彫りにさせる能力は非常に高く、検討の余地は高いと思われます。
そこで本記事では、ZigZagを使って勝てるのかをバックテストで検証してみることにしました。
これからZigZagを使ったトレードをやってみようかと検討されている方は、ぜひ参考にしてみてください。
- ZigZagを使ったトレードの勝率
- ZigZagパラメータの最適設定値
ZigZagの使い方とその課題
馴染みのない方のためにZigZagを描画したチャートを以下に掲載します。チャートの底で谷を形成し、逆に上げ止まったところで山を形成しています。

トレンドがうまく捉えられていて、山で売り、谷で買えば利益が出そうです。
またZigZagの使い方に関しては以下のサイトを参考にさせていただきました。特に計算式は複雑ですのでリンク先をご参照いただければと思います。

さて、ZigZagをどのように使うべきかの記載を抜粋しますと以下です。
通常のインジケーターであれば、インジケーターの計算式やその意味を理解して、売買サインを見ていきますが、このZigZagでは、これを使って売買サインとして使うには使い勝手が良くないために、まずは、基本の活用方法を見ていきましょう。なぜ、ZigZagを引くのでしょう。それは、皆さんがチャートを見てどのようなトレードをしたいと考えているかを確認するためです。それがZigZagを引くことで見えてきます。どういうことかというと、同じチャートでも大きな波動を狙いたい方と細かな波動を狙いたい方では見ている波動が違うのです。
「ZigZag(ジグザグ)とは?使い方・計算式について|初めてのFX」『AVATRADE』
なるほど。トレードにそのまま使うのではなく、トレンドを把握するために使用するのがいいとのことです。
確かに、ZigZagはリペイントされる(直近形成されている山や谷の描写が途中で変わる)ことが多く、リアルタイムでのトレードでは使いにくいということかも知れません。
ですが本記事では、あえて山で売り、谷で売るという見たまんまのトレードをしてみて勝率がどれぐらいになるのかを検証してみたいと思います。
いい結果が出なければ、リンク先記載の「トレンド把握のために使用する」という用途に限定されるべきなのだろうと思われます。
検証条件
どういう条件で検証するか、また最適なパラメータも模索したく、どういう範囲で探索するかもここで定義したいと思います。
どんなトレードで検証するか?
山で売り、谷で買うというトレードでいきたいと思いますが、一点注意が必要なのはリペイントがある点です。
例えば以下の状態を例にあげます。谷を形成した後、ZigZagが上に伸びている状況です。

この後チャート下がり、一時的に山を形成した状況が以下となります。

実はこの後、リペイントされこの山が無しになる(元々あった上に伸びているZigZagと合流する)可能性もあるのですが、ここでは一時的であれ山を形成したらそのタイミングで売りエントリーをするトレードを検証対象にしたいと思います。というのもチャートの予測はできませんし、ZigZagとはそもそもそういうものだからです。
逆に仮にであれ谷を形成すれば買いでエントリーします。
入札ロットは固定とし(検証では0.1Lot)、次のエントリーが行われた際は前のポジションを手仕舞いします。所謂ドテンです。
あまりに機械的なトレードであるため、「そんな単純なトレードはしないのでないか」「自分は裁量トレーダーなのでこれでは参考にならない」などの声が聞こえてきそうですが、このように基本的な使い方をした場合の検証結果は非常に重要と考えています。
というのも、もしこれによってパフォーマンスが絶望的であることがわかれば、他のインジケータと組み合わせて使おうが、あるいは裁量トレードをしようが、そこから期待値をプラスにひっくり返すことは困難であると考えられるからです。
パラメータの探索範囲は?
パラメータ設定は以下のサイトを参考にさせていただきました。

ZigZagのパラメータにはDepth、Deviation、Backstepの3つがあり、デフォルトは以下で設定されている場合が多いようです。
- Depth:12
- Deviation:5
- Backstep:3
一方、短期トレード、中期トレードの場合はそれぞれ以下の設定値がいいとのこと。
Depth | Deviation | Backstep | |
短期トレード | 7 | 5 | 3 |
中期トレード | 25 or 40 | 5 | 3 |
見た感じ、Deviation、Backstepはそれぞれ5と3で固定で、Depthのみを7、12、25、40と変えて検証をする必要性がありそうです。
「短期トレード、中期トレード」とそれぞれ棲み分けがありますが、一旦これは無視し時間足に関係なく検証対象にしようと思います。
また今回検証では時間足として15分足、1時間足、4時間足を取り上げます。それぞれ前から、スキャルピング、デイトレード、スイングトレードを意識しています。
それでは実際に検証結果を見てみたいと思います。
検証結果
バックテストは以下の条件にて行いました。
通貨ペア | USD/JPY |
スプレッド | 0.3pips(0.3銭) |
検証期間 | 2013/1/1 ~ 2023/12/31 |
ポジション | 0.1Lot(10000通貨) |
資産 | 100万円 |
以下が検証結果です。括弧の左の数字はプロフィットファクタを表していて、1より大きければ期待値はプラス、1未満であれば期待値はマイナスとなります。また括弧の中の数字は取引回数になります。
15分足 | 1時間足 | 4時間足 | |
Depth = 7 | 0.92(22202) | 1.00(6543) | 1.08(1582) |
Depth = 12 | 0.95(16336) | 1.07(3854) | 1.13(980) |
Depth = 25 | 1.01(8022) | 1.07(1860) | 0.98(507) |
Depth = 40 | 1.04(5046) | 1.17(1198) | 1.07(316) |
文字色が灰色になっている箇所は、取引回数が1000未満の場合です。個人的に1000回の施行もなかったものは統計的信憑性に欠けると考えてますので、あくまで参考程度と思った方がいいかも知れません。
結果の概ねの傾向として、Depthを大きくするか時間足を長くすればプロフィットファクタは大きくなるようです。
特に1時間足かつDepthが40の組み合わせはプロフィットファクタ1.17と最大です。以下にバックテストの詳細を載せておきます。多少の浮き沈みはあるものの継続的には右肩上がりになっているのではないでしょうか。

ただ当サイトの他の検証結果と比較して特別プロフィットファクタが大きいかというとそうでもないように思います。
引用元サイトに記載の通り、トレンドを把握する用途をメインとし、特別これのみを指標にトレードする必要性はないのかも知れません。
まとめ
本記事では、バックテストを介してZigZagの勝率を検証しました。以下に結論となる重要なポイントを示します。
- 15分足の場合、Deviation=5、Backstep=3としたとき、Depthが25以上だとプロフィットファクタは1を超え、検証の中ではDepth=40のときがプロフィットファクタ1.04と最大になる。
- 1時間足の場合、Deviation=5、Backstep=3としたとき、Depthがによらずプロフィットファクタは1を超え、検証の中ではDepth=40のときがプロフィットファクタ1.17と最大になる。
以上、最後まで読んでいただきありがとうございました。