Oscillator Regime Suite
- インディケータ
-
Narayanan Mohanan Mohanan Krishnan
MT5/MQL5向けのExpert Advisor、カスタムインジケーター、およびバックテスト・検証ツールの開発を行っています。私が重視しているのは、クリーンで十分に文書化されたリペイントしない(No Repaint)コードです。確定足ベースのロジック、検証済みバッファ、適切なハンドル管理とメモリ管理など、信頼できるツールと壊れやすいツールを分けるエンジニアリング品質を大切にしています。 - バージョン: 1.0
- アクティベーション: 10
本インジケーターは、収束/拡散の構成——短期移動平均から長期移動平均を引き、シグナルラインを添えたもの——を、価格ではなく出来高から導かれる系列に適用します。3つのソースから選択できます。累積出来高デルタ、フォースインデックス、オンバランスボリュームです。
その結果の上に適応型ボラティリティバンドを描画し、確定した各バーを5つのレジーム状態のいずれかに分類します。この状態は数値バッファとして公開されるため、エキスパートアドバイザーから直接読み取れます。
ソースが重要な理由
通常のMACDは価格モメンタムを測定しますが、それは上のローソク足を見れば概ね分かることです。この3つのソースが測るのは別のもの——その値動きが起きている間に、出来高が蓄積されていたのか、それとも放出されていたのかです。
3つは互いに置き換えられるものではありません。スクリーンショットの1つでは、同一のチャートに同一の設定で3つすべてを表示し、違いを並べて確認できるようにしています。
- 累積出来高デルタ — 符号付き出来高の累積値で、各日・各週・各月の開始時に再アンカーされます。このアンカーこそが、全履歴の指標ではなくセッション単位の指標にしている要素です。
- フォースインデックス — そのバーの価格変化に出来高を掛け、平滑化したもの。他の2つとは別種の量です。
- オンバランスボリューム — 符号付き出来高の累積値で、履歴の開始から一度もリセットせずに連続します。
出来高デルタとオンバランスボリュームは、符号付き出来高の累積という同じ基礎を共有し、アンカーの有無だけが異なります。デルタを連続に設定すると両者は同一の系列となり、2つの計算経路が一致していることの有用な確認になります。
5つのレジーム状態
確定した各バーは、ヒストグラムがバンドに対してどこに位置するか、そしてなお拡大しているかどうかで分類されます。
- 強い強気 — 上バンドを上抜けており、なお拡大中。バッファ値 +2
- 弱い強気 — 上バンドの上にあるが勢いが減衰。バッファ値 +1
- 中立 — バンド内。バッファ値 0
- 弱い弱気 — 下バンドを下抜けているが和らぎつつある。バッファ値 −1
- 強い弱気 — 下バンドを下抜けており、なお拡大中。バッファ値 −2
バンドを抜けたという事実だけでは、その動きに勢いが残っているかは分かりません。まだ積み上がっている動きと、すでに息切れし始めた動きを分けるのはヒストグラムの向きであり、5つの状態はまさにそれを符号化しています。
分類の厳しさを調整する
バンドは移動平均を中心とした標準偏差なので、値動きが活発になれば広がり、落ち着けば狭まります。状態が切り替わる頻度は2つのパラメータで決まります。
バンド期間が窓の長さを決めます。バンドをシグナルラインに適用は、バンドをシグナルライン基準で測るか、ヒストグラム自体を基準に測るかを決めます。2つのスクリーンショットがその違いを示しています。既定設定では一連の動きの中で状態が次々と切り替わりますが、バンドをより長い期間でヒストグラムから取ると、ヒストグラムはほとんどの時間バンド内にとどまり、本当のブレイクアウト時にのみ着色されます。
どちらの設定が正しいということはありません。分類にすべての振れを追わせたいのか、極端な場面だけを示させたいのかによります。
エキスパートアドバイザーからの読み取り
レジームバイアスはバッファ5ではなく、バッファ6です。 バッファ1がヒストグラムの色インデックスを保持し、バッファ5は非表示のプロットに対応しているため、データバッファの番号は表示されるプロットと連番になっていません。ここで誤解が生じやすいため、明示しています。
int h = iCustom(_Symbol, _Period, "OscillatorRegimeSuite"); double bias[]; ArraySetAsSeries(bias, true); CopyBuffer(h, 6, 0, 100, bias); // +2、+1、0、-1 または -2
- 0 — ヒストグラム
- 1 — ヒストグラムの色インデックス
- 2 — シグナルライン
- 3 — 上バンド
- 4 — 下バンド
- 5 — プレースホルダのプロット
- 6 — レジームバイアス、EA向けの出力
バッファ7と8は短期・長期の移動平均を保持する内部用で、公開インターフェースには含まれません。
スクリーンショットの1つでは、単一バー上のこれらの値がラベル付きでデータウィンドウに表示され、その隣に同じチャート上の標準MACDが比較用に並んでいます。
入力パラメータ
- ソース系列 — 累積出来高デルタ、フォースインデックス、オンバランスボリューム
- 使用する出来高 — ティックボリュームまたは実出来高
- デルタのアンカー — 連続、日次、週次、月次。累積出来高デルタのソースにのみ適用されます
- フォースインデックスの平滑化 — 期間と方法。当該ソースにのみ適用。既定は13、単純平均
- 短期・長期移動平均 — それぞれの期間と方法。既定は12と26、いずれも指数平均
- シグナル移動平均 — 期間と方法。既定は9、単純平均
- バンドとレジーム分類を有効化 — 無効にすると、状態を持たない通常の収束/拡散オシレーターになります
- バンドをシグナルラインに適用 — 既定で有効。無効にするとヒストグラム基準で計算されます
- バンド期間と偏差乗数 — 既定は20と1.618
スクリーンショットの内容
- 1つのチャート上の3つのソース — ビットコイン週足、同一設定、下部に標準MACDを対照として配置。3つの出来高系列は互いに異なり、価格モメンタムとも異なります。
- 転換点における5つの状態 — EURGBP H4。強い弱気から中立、そして強い強気へ、さらに戻る流れがバーごとに読み取れます。
- データウィンドウ — 単一バー上の全バッファがラベル付きで表示され、レジームバイアスは −2.00。その隣に標準MACDのラベルなしの2つの値が並びます。
- USDJPY 1時間足の急落 — 価格MACDがまだプラス圏にある間に、出来高系列はマイナスに転じていました。1つの銘柄の1つの期間です。これが何を示し何を示さないかは、下記の注記をご覧ください。
- ゴールドM15、日次アンカー — デルタがセッションごとにリセットされ、同じチャート上にはるかに低速なオンバランスボリュームのインスタンスが並びます。
- シルバーH4、50/200/20 と US30日足、34/89/13 — 期間は入力値であり、既定から大きく離れた設定でも分類は成立します。
- 選択的な設定 — GBPUSD 1時間足で、バンドを長めの期間でヒストグラムから取った例。大半のバーは中立のままで、明確なブレイクアウトのみ着色されます。
- アンカーの通知 — 日足チャート上で日次アンカーを指定した場合、毎バーでリセットされてしまいます。インジケーターはエキスパートログでその旨を伝え、連続系列に切り替えます。
- パラメータ設定画面 — すべての設定項目と、その背後に見えるインジケーター本体です。
計算の挙動
確定したバーの値は最終値です。形成中のバーは確定するまで更新され、最初に触れた時点で固定されるのではなくティックごとに再計算されます。
累積系のソースは前のバーの値から1バーずつ進むため、形成中のバーを再処理してもその出来高を二重に計上することはありません。これは累積系列が際限なく上方へ乖離していく原因となる不具合です。
計算に必要な履歴が揃うまで、何も描画されません。既定の期間では55バーであり、バンド期間を延ばすかフォースインデックスのソースを使うとさらに増えます。不完全な窓で計算した値を、あたかも完全であるかのように描画することは決してありません。
現在の時間足で機能し得ないアンカー——たとえば日足チャート上の日次アンカーは毎バーでリセットされてしまいます——はエキスパートログに報告され、連続系列に置き換えられます。インジケーターウィンドウの名称もそれに応じて変わるため、実際にどの系列を表示しているかがチャート上で常に分かります。
注意事項
- サブウィンドウに描画し、9本のバッファを持ちます。うち7本は上記に記載しています。
- シグナルラインにどの平均方法を選んでも、バンドは常に単純移動平均を基準に計算されます。標準偏差バンドの一般的な慣行に従っています。
- 実出来高はご利用のブローカーが提供している場合にのみ利用できます。ティックボリュームが既定で、どの環境でも動作します。
- 同一チャートに、異なるソースや異なる期間で複数のインスタンスを適用できます。
- 外部依存はありません。 すべての値はインジケーター内部で計算されます。他のインジケーターを一切呼び出さないため、失敗しうるハンドルは存在せず、併せてインストールするものもなく、標準インジケーターフォルダの状態にも依存しません。
本製品の位置づけ
これはテクニカル分析および相場環境の絞り込みのためのツールです。トレードシステムではなく、売買シグナルを生成せず、投資助言を行わず、ポジションの発注や管理も行いません。
予測ではなく記述を目的としています。スクリーンショットで出来高系列が価格より先に転換している場面は、1つの銘柄の1つの期間であり、分かりやすいという理由で選んだものです。当該系列が価格に先行することの証明ではなく、そうした主張を裏づけるには多数の銘柄と相場環境での検証が必要です。パフォーマンスに関するいかなる主張も行いません。
| この開発者による他のツール 私はMT5のインジケーターとエキスパートアドバイザーを、クリーンで仕様が明示された、リペイントのないコードを重視して開発しています——確定足に基づくロジック、検証済みのバッファ、そして他のインジケーターへの依存がないことです。 3つのソースのうち2つは単体でも無料で公開しています。Anchored Volume Delta with Adaptive Bands と Force Index with Adaptive Volatility Bands です。いずれもバンド付きで1系列を描画しますがレジーム分類は含まないため、本製品を購入する前にこのアプローチが合うかどうかを確かめるのに適しています。 オンバランスボリュームのソースと5状態分類だけをお求めであれば、OBVCD Pro が単一ソースのインジケーターとしてまさにそれを提供します。 計算方法、バッファ、ご自身のEAでの利用についてご質問がありましたら、プライベートメッセージをお送りください。喜んでお答えします。 |
MT5/MQL5開発者 Narayanan Mohanan が開発・保守しています。
本ページの翻訳に誤りがございましたら、ご連絡いただければ修正いたします。
