Directional Movement DMI with Cross Alerts MT4
- インディケータ
- バージョン: 1.0
Directional Movement DMI with Cross Alerts MT4 は、TV 互換の DMI を MetaTrader 4 で使えるようにしたインジケーターです。TradingView もお使いなら、標準の「Directional Movement Index」をご存じでしょう。価格の下の枠に、ピンクの ADX、青の +DI、オレンジの −DI の3本の線が出るものです。本インジケーターは、それと同じ式、同じ初期値、同じ色を使います。
使いみち:最近の値動きの強さ(ADX)と、上向きの動き(+DI)と下向きの動き(−DI)のどちらが大きかったかを読み取ること。使えないこと:売買のサインや予測。線のクロスは、この先の値動きについて確かなことは何も言いません。
■ 計算のあらまし
設定 | 初期値 | TradingView と同じ?
ADX Smoothing | 14 | 同じ
DI Length | 14 | 同じ
平滑化の方法 | RMA(ワイルダー) | 同じ(ta.rma と同じ)
しきい値の線 | 25、灰色の破線 | 追加(TradingView の DMI には無い)
+DM と −DM は、前の足に対する高値と安値の変化から求めます(大きいほうの動きだけを、正の値のときだけ数えます)。TR はトゥルーレンジです。+DI = 100 × RMA(+DM) ÷ RMA(TR)、−DI = 100 × RMA(−DM) ÷ RMA(TR)、ADX = 100 × RMA(|+DI − −DI| ÷ (+DI + −DI))。比較には Pine Script と同じ許容幅 1e-10 を使うので、クロスは TradingView と同じ足になります。
■ リペイントはありますか?
確定した足:ありません。ADX、+DI、−DI の値は確定です。
形成中の足:あります(TradingView と同じです)。確定するまで毎ティック計算し直します。そのためアラートは確定した足だけを見ます。
■ MT4 での設定の注意(お読みください)
1. 色は入力で決まります。「ADX line color」「+DI line color」「-DI line color」を入力タブで設定してください。色の設定タブより入力が優先されます。
2. ADX は DI Length + ADX Smoothing 本(初期値で 28 本)の足がそろってから描かれます。+DI と −DI はそれより早く出ます。
3. 読み込んだ直後、チャートに付いているかを確かめるために、インジケーター一覧の名前が一瞬「probe#…」となることがあります。異常ではありません。
4. MT4 では入力に見出しが付かず、下に書いた順に並びます。
■ アラート
初期値はオフ。スイッチは2つで、別々に使えます:
・「Alert: +DI / -DI cross」:+DI が −DI を上抜け、または下抜けして足が確定したときに1回。
・「Alert: ADX crosses above the threshold」:ADX がしきい値を上抜けして足が確定したときに1回(上向きのみ)。
・インジケーターを読み込む前に確定した足では出しません。再起動しても古いアラートは繰り返されません。
・文面の例:"DMI TV GBPUSD H4: ADX crossed above 25.0 (ADX 25.63)"(日本語表示では「ADX が 25.0 を上抜け」)。
・ポップアップ、サウンド、プッシュ(MetaQuotes ID が必要)を組み合わせられます。文面は英語か日本語(Language の入力)。
・ストラテジーテスターの中ではアラートを出しません。
■ TradingView との比較
TradingView の価格データ(足)をそのまま MetaTrader に読み込み、3本の線を TradingView 標準の DMI と比べたところ、計算の丸め誤差の範囲(差は 1e-12 程度)で一致しました。お使いの MT4 のチャートは業者の価格で、TradingView のデータとはわずかに違うため、値にも小さな差が出ます。ワイルダーの平滑化は履歴の一番古い足から始まります。その足が TradingView と違うと、チャートの古い部分の値が少し違うことがありますが、計算する足が増えるにつれて差は消えていきます。
■ iCustom のバッファー
バッファー 0:ADX。バッファー 1:+DI。バッファー 2:−DI。まだ値が無い足は EMPTY_VALUE。
iCustom で呼び出したときはアラートを出さず、バッファーだけを計算します。入力に見出しが無いので、引数は下の順に渡してください。
■ 入力項目(MT4 の並び)
ADX Smoothing = 14(1〜1000);DI Length = 14(1〜1000);ADX line color = #F50057;+DI line color = #2962FF;-DI line color = #FF6D00;Line width = 1(1〜5);Show ADX threshold line = true;ADX threshold = 25(0〜100);Threshold line color = #787B86;Alert: +DI / -DI cross = false;Alert: ADX crosses above the threshold = false;Alert by pop-up = true;Alert by sound = false;Alert by push notification = false;Language = Auto(端末の言語)、English、Japanese。
範囲外の値では読み込まず、理由を「エキスパート」タブのログに書きます。
■ 知っておいてほしいこと
・しきい値の 25 はよく使われる目安で、決まりではありません。自由に変えるか、線を消してください。
・DLL、ファイル、インターネット接続は使いません。
・分析の道具です。注文を出したり決済したりはしません。投資の成果を保証するものではありません。
■ サポート
導入、設定、不具合のご連絡は MQL5 のメッセージでお受けします。相場の見通しや個別の売買についてのご質問にはお答えしていません。
MT5 版(別の商品)と同じ作者のほかのツールは、販売者プロフィールのページに載っています。
TradingView は TradingView, Inc. の商標です。本製品は TradingView, Inc. と提携しておらず、同社の後援・承認を受けたものではありません。
