Directional Movement DMI with Cross Alerts
- インディケータ
- バージョン: 1.0
Directional Movement DMI with Cross Alerts は、MetaTrader 5 用の TV 互換 DMI(方向性指数)です。TradingView に標準で入っている「Directional Movement Index」と同じ計算で ADX、+DI、−DI を求め、同じ初期の色でサブウィンドウに描きます:ADX(#F50057)、+DI(#2962FF)、−DI(#FF6D00)。
DMI は、最近の値動きの強さ(ADX)と、上下どちらの動きが大きかったか(+DI と −DI)を表す道具です。売買のサインではなく、この先の値動きを予測するものでもありません。
■ 計算のしかた
・up = 高値 − 前の足の高値、down = 前の足の安値 − 安値。+DM は up > down かつ up > 0 のとき up、それ以外は 0。−DM は down > up かつ down > 0 のとき down、それ以外は 0。
・TR = トゥルーレンジ:高値 − 安値、|高値 − 前の終値|、|安値 − 前の終値| のうち最大のもの。
・+DI = 100 × RMA(+DM) ÷ RMA(TR)、−DI = 100 × RMA(−DM) ÷ RMA(TR)。期間は DI Length(初期値 14)。
・ADX = 100 × RMA(|+DI − −DI| ÷ (+DI + −DI))。期間は ADX Smoothing(初期値 14)。
・RMA はワイルダーの平滑化で、TradingView の ta.rma() と同じです。最初の値は単純平均、その後は alpha = 1 ÷ 期間。
・大小の比較には Pine Script と同じ小さな許容幅(1e-10)を使います。2本の線がほぼ同じ値のときも、TradingView と同じ足でクロスを判定します。
■ 確かめたこと
・TradingView の価格データ(足)をそのまま MetaTrader に読み込み、TradingView 標準の DMI と比べました。ADX、+DI、−DI は計算の丸め誤差の範囲(差は 1e-12 程度)で一致しました。
・業者のチャートでは価格データの提供元が違うため、値は少し違います。
・ワイルダーの平滑化は読み込まれている一番古い足から始まります。履歴の始まりが TradingView と違うと、チャートの古い部分の値がわずかに違うことがあります。計算する足が増えるにつれて、この差は消えていきます。
■ 表示
・サブウィンドウに3本の線。色と太さ(1〜5)を変えられます。
・ADX のしきい値の破線(初期値 25、灰色)を出せます。TradingView 標準の DMI には無い追加の表示です。25 はよく使われる目安の一つで、決まりではありません。
・値は TradingView と同じく小数4桁で表示します。
■ 最新の足(リペイント)について
・まだ確定していない最新の足は、TradingView と同じく毎ティック計算し直します。その足の値は、足が確定するまで変わることがあります。
・確定した足の値は、その後変わりません。
■ アラート(初期値オフ)
・+DI/−DI のクロス:確定した直後の足で +DI が −DI を上抜け、または下抜けしたとき。
・ADX のしきい値:確定した直後の足で ADX がしきい値を上抜けしたとき(上向きのみ)。
・確定した足1本につき1回だけ確かめます。インジケーターを読み込む前に確定した足ではアラートを出しません。付け直しや MT5 の再起動で古いアラートが出ることはありません。
・メッセージの例:"DMI TV EURUSD H1: +DI crossed above -DI (+DI 27.41 / -DI 19.85)"(日本語表示では「+DI が -DI を上抜け」)。
・ポップアップ、サウンド、プッシュ通知を組み合わせられます。プッシュ通知には端末のオプションで MetaQuotes ID の設定が必要です。
■ EA・iCustom で使う方へ
・バッファー 0 = ADX、バッファー 1 = +DI、バッファー 2 = −DI。値が無い足は EMPTY_VALUE を返します。3つともデータウィンドウにも表示されます。
・EA などから iCustom で読み込んだときは、アラートを出しません。バッファーだけを計算します。
■ 使う前にお読みください
・ADX が表示されるには DI Length + ADX Smoothing 本の履歴が必要です(初期値で 28 本)。+DI と −DI はそれより早く表示されます。
・読み込んだ直後、チャートに付いているかを確かめるために、インジケーター一覧の短い名前が一瞬「probe#…」と表示されることがあります。異常ではありません。
・ストラテジーテスターの中ではアラートを出しません。
・DLL、外部ファイル、インターネット接続は使いません。
・売買はしません。投資の成果を保証するものではありません。
■ 入力項目
DMI:ADX Smoothing(14、1〜1000)、DI Length(14、1〜1000)
Style: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)
Alerts: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)
範囲外の値を入れると読み込まず、理由を「エキスパート」タブのログに書きます。
■ サポート
導入、設定、不具合についてのご質問は MQL5 のメッセージでお受けします。相場の見通しや個別の売買についてのご質問はサポートの対象外です。
本インジケーターは無料の TV 風ツールのシリーズの1つです。MT4 版も別の商品として用意しています。同じ作者のほかのツールは、販売者プロフィールのページに載っています。
TradingView は TradingView, Inc. の商標です。本製品は TradingView, Inc. と提携しておらず、同社の後援・承認を受けたものではありません。
