この投稿文は次の言語で読めます: 日本語
zigzag とは?
zigzag(ジグザグ)は、レートの山と谷を視覚的に表示したシンプルなインジケーターです。
MT4/MT5 ともに、初期インストール時からサンプルで付属しているインジケーターのため、一度は利用されたことがある方も多いのではないでしょうか?
非常にシンプルですが、ダウ理論、エリオット波動理論など、zigzagの拡張で実装可能なものは多くあり、それだけ汎用的に利用できるインジケーターです。
(個人的には一番最初に勉強したのがメリマンサイクル理論でした。)
表示イメージ
実際に使用すると分かるのですが、最新の山/谷の位置は、レートが更新されるとずれることがあります。
現在のバーが最高値/最安値を更新すれば、山/谷の位置は再描画されます。
都度、最新の山/谷の位置が変わり、いわゆる「あと付け解釈」的なものになりますので、直接的に売買条件に組み込むのは判断誤りに繋がります。
しかし「あと付け解釈」であっても、再描画により相場の解釈を正しく評価することができるため、
過去相場の環境認識と、それに基づく今後の売買判断としては十分機能するインジケーターになります。
前述のエリオット波動 なども、上昇波動や下降波動の判断は、前回高値を更新した山、前回安値を更新した谷の数を元に判断しています。
ちなみに、エリオット波動を再現したインジケーター も存在するようですが、自作でEA開発する場合にはもう少し自己流の独自基準で判断したいケースもあると思います。
今回は、zigzagの値を定量的に出力するインジケーターをご紹介します。
これ自体を売買基準にするというよりは、様々な判定条件を作成するためのデータ準備工程の位置づけです。
インジケーター紹介
表示メージ
zigzag の各頂点として記録された
日時、レート、山/谷、期間、高値/安値の連続更新の情報をリスト化、出力した、 だけです。
高値/安値の連続更新については、山と谷それぞれの区分ごとに
高値を更新した場合は、連続回数を1ずつ増加させ、連続更新が止まったタイミングで0にリセットしています。 安値更新の場合はその逆です。
zigzag本体のインジケーターを iCustomでアクセスすると、
- zigzagBuffer
- zigzagHighBuffer
- zigzagLowBuffer
の3つに対してアクセスすることができますが、前述の最終確定しなかった段階で記録された山/谷の情報が含まれ、そのまま使うには
上記3つのインジケーターを組み合わせて判定する必要があったり、 各頂点毎の期間(バー数)、安値切り上げの回数や起点を表す指標がほしかったので
別インジケーターとして作成しました。
なんとなく、インジケーターというと画面上にオブジェクトを描画し視覚的な判断を促すようなイメージが強いのですが、
個人的には二次活用可能なデータとして出力できるものの方が、機械学習とかも含め今後の応用が効きそうで好きです。
今回も、外部インジケーターやEAからの呼び出しを想定し、画面描画は最小限にしています。
パラメータ
zigzag の3パラメータに加え、画面表示件数と表示フォントに関する情報を追加しました。
display_count = 0 で画面非表示。
応用
若干、あと付け解釈の側面もあるため、EAに対して直接的な判断条件に組み込むものではないのですが、
一方でEAにも環境認識工程が必要になり、それによって優位性の高いポイントを絞り込む事ができるようになります。
補助的な位置づけではありますが、判断条件に組み込めると効果が見込めると思いますので今後も活用を進めたいと思います。