Anchored Volume Delta with Adaptive Bands MT4
- インディケータ
-
Narayanan Mohanan Mohanan Krishnan
MT5/MQL5向けのExpert Advisor、カスタムインジケーター、およびバックテスト・検証ツールの開発を行っています。私が重視しているのは、クリーンで十分に文書化されたリペイントしない(No Repaint)コードです。確定足ベースのロジック、検証済みバッファ、適切なハンドル管理とメモリ管理など、信頼できるツールと壊れやすいツールを分けるエンジニアリング品質を大切にしています。 - バージョン: 1.0
本インジケーターは累積出来高デルタ(CVD)——各バーの出来高に、そのバーが終値でどちらに引けたかに応じた符号を付けて積み上げた累計——を、適応型の標準偏差バンドの中に描画します。価格だけでは分からないことに答えます。その値動きは参加によって支えられているのか、それとも漂っているだけなのか、という問いです。
累計は、お選びいただいたアンカー——日次、週次、月次——で再び始まります。したがって表示される値は、チャート履歴の先頭ではなく、常に現在のセッション、週、月に対する相対値になります。この一つの設定こそが、同じインジケーターを為替の1分足チャートでも株価指数の日足チャートでも役立つものにしており、履歴がたまたま始まった地点から増え続けるだけの単純な累積出来高ラインとの違いでもあります。
計算の仕組み
各バーはその出来高を累計に寄与させます。前のバーの終値より高く引ければ加算、低く引ければ減算、同値であれば累計は変わりません。
次に、この累積系列に対して20期間の中心線とその標準偏差を計算し、上下のバンドを標準偏差の指定倍数の位置に置きます。バンドは系列自身のばらつきから構成されるため、参加が荒くなれば広がり、落ち着けば狭まります——銘柄ごとに調整し直す固定のしきい値はありません。
累計がアンカーの境界に達するとゼロに戻り、再び始まります。チャート上ではラインがきれいに引き直された形で現れ、バンドは新しい期間を中心に形成し直されます。
バンドが示すもの
バンドの外への動きは、その銘柄の直近の挙動から見て出来高の流れが統計的に異例になったことを意味します。内側への復帰は、それが平常に戻ったことを意味します。どちらも行動を促すシグナルではありません——参加が自身の直近レンジに対して今どこにあるかを述べているだけです。
トレーダーがこの表示から通常読み取る三つの見方があります。
バンドへの接触。CVDラインが上バンドに達したときは、買いの流れが直近レンジに対して伸び切っていることを示します。下バンドは売りの流れについて同じことを示します。スクリーンショットでは、これらの位置を上バンドでは赤、下バンドでは緑で示しています。伸び切った状態のあとに何が起きるかは決まっていません——流れが平常に戻ることもあれば、バンドが周囲に広がりながらさらに伸び続けることもあります。
確認。価格が高値または安値を更新し、CVDラインも同じく更新している状態です。参加が価格とともに動いています。
ダイバージェンス。価格が安値を更新する一方でCVDラインは切り上がった安値をつける、あるいは高値で逆の形になる状態です。価格は動いたものの、その背後にある出来高の流れは追随していません。これは予測ではなく背景情報です——ダイバージェンスは両方向に解消しますし、想定よりはるかに長く続くこともあります。
入力パラメータ
- 使用する出来高 — ティックボリューム(既定)
- アンカー期間 — 連続、日次(既定)、週次、月次
- バンド期間 — 20
- バンドの偏差 — 2.0
アンカーが意味を持つには、チャートの時間足より粗くなければなりません。日足チャートで日次アンカーを使うと毎バーでリセットされてしまいます。その場合、インジケーターは連続系列に切り替え、その理由をエキスパートログに記し、実際に使用しているアンカーを短縮名に表示します——ですから表示されているラベルは常に実際に動作している設定です。
バッファ
- バッファ 0 — CVDライン
- バッファ 1 — 上バンド
- バッファ 2 — 中心線
- バッファ 3 — 下バンド
4本すべてを、エキスパートアドバイザーや他のインジケーターから iCustom() で読み取れます。MQL4のバッファは時系列インデックスのため、シフト1が最後に確定したバーです。値が変わらないデータを得るにはこれを読み取ってください。
double cvd = iCustom(NULL, 0, "NaaMo\\CVDBands", 0, 1); double upper = iCustom(NULL, 0, "NaaMo\\CVDBands", 1, 1); double basis = iCustom(NULL, 0, "NaaMo\\CVDBands", 2, 1); double lower = iCustom(NULL, 0, "NaaMo\\CVDBands", 3, 1);
バッファのインデックスは MetaTrader 5 版と完全に一致します。バッファ2に対して書かれたコードは、どちらのプラットフォームでも中心線を受け取ります。
本インジケーターは自己完結型です。他のインジケーターを一切呼び出さないため、動作させるために別途必要なものはありません。
銘柄をまたいで
スクリーンショットは5つの銘柄と複数のアンカー設定での動作を示しています。印が付いている箇所では、赤が上バンドへの接触、緑が下バンドへの接触を表します。
- EURUSD 1時間足、月次アンカー — 既定の日次より長い累積で、両端でのバンド接触に印を付けています。
- ドルインデックス 15分足、日次アンカー — データウィンドウを開き、1本のバーに対する4つのバッファを名前付きで表示しています。
- US30 日足 — フォールバックの実例です。日次アンカーでは毎バーでリセットされてしまうため、インジケーターは連続系列に切り替え、ラベルに Continuous と表示しています。
- XAUUSD 5分足、日次アンカー — 売りの流れがラインを下バンドの外へ運び、価格が下げ続ける間そこに留まった日中のセッションです。
- GBPUSD 1分足、日次アンカー — 最も短い時間足で、アンカーのリセットが頻繁に起こり、バンドも素早く形成し直されます。
- BTCUSD 15分足 — すべての設定項目を示したパラメータ画面です。
計算の挙動
値は確定したデータのみから計算されます。バーが確定すればその値は最終値であり、変わることはありません。更新されるのは形成中のバーだけで、新しいティックの到来とともに変化し、そのバーの確定時に固定されます。本インジケーターは先読みデータを使用せず、確定したバーを描き直すこともありません。
累積系列は決定論的に再構築されるため、同じチャートと同じ設定であれば、インジケーターをいつ適用したか、履歴をどのように読み込んだかにかかわらず、常に同じ値になります。
注意事項
- 独立したインジケーターウィンドウ、4本のライン、4つのバッファです。
- バンドの描画が始まるまでに約20本分の履歴が必要です。
- ティックボリュームは出来高の近似値です。MetaTrader 4 では実出来高を利用できません。これを選択した場合、インジケーターは黙って別のものに置き換えるのではなく、メッセージを出して停止します。
- 外部依存はありません。累積系列、中心線、標準偏差バンドはすべてインジケーター内部で計算されます。他のインジケーターを呼び出さない単一ファイルですので、併せてインストールするものはなく、インジケーターフォルダの状態にも依存しません。
- MetaTrader 5 版も公開しており、バッファのインデックスは同一です。
本インジケーターはテクニカル分析および相場環境の絞り込みのためのツールです。トレードシステムではなく、売買シグナルを生成せず、投資助言を行わず、自動での建玉や管理も行いません。パフォーマンスに関するいかなる主張も行いません。
無料でダウンロードしてお使いいただけます。お役に立ちましたら、評価をいただけると他のトレーダーが見つけやすくなります。
| この開発者による他のツール 私は MetaTrader のインジケーターとエキスパートアドバイザーを、クリーンで仕様が明示された、リペイントのないコードを重視して開発しています——確定足に基づくロジック、検証済みのバッファ、そして他のインジケーターへの依存がないことです。 計算方法、バッファ、ご自身のEAでの利用についてご質問がありましたら、プライベートメッセージをお送りください。喜んでお答えします。 |
MetaTrader 開発者 Narayanan Mohanan が開発・保守しています。
本ページの翻訳に誤りがございましたら、ご連絡いただければ修正いたします。
