ADX は、高値と安値の変化から求めた値を平滑化したものです。多くの場合、+DI と −DI と一緒に表示されます。この2本は上方向と下方向の動きを比較し、ADX はどちらが優勢かではなく、その差の大きさをまとめます。表すのは過去のデータであり、収益率や今後の上昇確率ではありません。
ペーターは、下落する価格の下で ADX が上昇しているのを見つけます。矛盾ではありません。下落トレンドが強まっている可能性があるのです。まず、一定の時間帯をまとめたローソク足から考えましょう。High はその間の最高値、Low は最安値です。TradingView では、現在の High から前の High を引いた値を UpMove、前の Low から現在の Low を引いた値を DownMove と呼びます。UpMove が正で、かつ DownMove より大きい場合だけ、+DM に UpMove を採用します。−DM では逆の比較を行い、同じ値なら両方ともゼロです。両方向を同時に足すのではなく、価格の両端で起きた正の変化のうち、大きい側を選びます。 [1]
価格の変化には、比較するための尺度が必要です。Fidelity は True Range(TR)と比較します。これは前の終値からの距離も含めた値幅です。TR は High–Low と、両端の価格から前の Close、つまり終値までの絶対的な距離のうち、最大の値です。絶対的な距離とは、符号を除いた差の大きさを指します。方向別の動きと TR は、まず Wilder の方法で平滑化され、過去の情報を含みます。平滑化した上方向の動きを平滑化した TR で割り、100 を掛けると +DI になります。−DI も同様です。名前のマイナスは下方向を示すもので、負の数を意味しません。分母がゼロなら、この比率自体は定義できません。 [2]
次にペーターは、両方の線がどれほど違うのかを知りたいと考えます。+DI と −DI から得る中間値が DX です。差の絶対値を合計で割り、100 を掛けます。Fidelity が説明する比較はこの計算です。重要なのは絶対値という点です。値を入れ替えると優勢な方向は逆になりますが、DX は変わりません。価格の上昇率や成功確率を求めているわけではないのです。合計がゼロなら割り算はできません。アプリが代わりの値を表示する場合、それは実装上の取り決めであって、この比率の計算結果ではありません。 [2]
DX は現在の比率を表し、ADX はその履歴を平滑化します。Fidelity は、選んだ期間数の DX の平均から始め、その後の値を前の結果に取り込みます。長さ n の場合、前の ADX に n − 1 を掛け、現在の DX を足し、全体を n で割ります。例えば 14 は計算の期間数であり、必ずしも日数ではありません。方向線の値が一組あれば DX は計算できますが、ADX には履歴が必要です。アプリ同士を比較するときは、初期データ、期間の長さ、平滑化の方法も確認します。過去の情報を残すため、相場の変化への反応には遅れがあります。 [2]
TradingView が説明する DMI では、それぞれの線の役割が異なります。+DI が −DI より上なら、平滑化した上方向の成分が強く、逆なら下方向の成分が優勢です。ADX は、その優勢さを平滑化した後の強さを示します。したがって ADX の上昇は、ビットコイン保有者にとって朗報とは限りません。下落の深まりを伴うこともあります。ADX の低下も、価格の反転を自動的に告げるものではありません。優勢さが弱まりながらトレンドが続き、平均にはまだ以前の動きが残っている場合もあります。どの線も、それだけで次に何が起こるかは示しません。 [1]
TradingView は、従来の目安として 20 と 25 を挙げています。前者より低ければ弱いトレンド、後者より高ければ比較的強いトレンドと呼ばれます。しかし、その水準を超えたことを買いのルールに直結させるのは誤りです。強いトレンドが下を向いているかもしれません。数値は市場、時間間隔、設定によって変わり、どのチャートにも通用する境界ではありません。ADX が低くても、価格が穏やかだったり動かなかったりするとは限りません。上下の大きな動きが交互に起これば、測定される優勢さは小さいままになり得ます。 [3]
ペーターは、いつその数値を読んだかにも注意する必要があります。TradingView が指摘するように、High、Low、Close はローソク足が確定するまで最終値ではありません。高値や安値の更新によって方向別の動きと True Range が変わり、その後の指標にも影響します。途中で見えた交差が確定時には消えることもあります。ルールの検証では、足の途中での判断と確定後の判断を区別しなければなりません。最終値を、もっと早い時点で既知だった情報として扱うことはできません。 [4]
方向線の交差は、線の上下関係が変わったことを意味します。それだけでは利益の出る取引を証明できません。TradingView は誤ったシグナルに注意を促し、検証の説明でシグナルと実際の約定を分けています。ADX を絞り込み条件に使うなら、ペーターは取引の開始、終了、数量、計画を無効とする条件を先に決める必要があります。結果には手数料とスリッページ、つまり想定した約定価格と実際の価格の差も含めます。同じ過去データに繰り返し合わせると overfitting、すなわち過剰適合になります。過去には合っても、別の状況では機能しないかもしれません。ルールの選定に使っていないデータで検証することが役立ちます。 [3] [5]
方向が反対でも結果は同じ
架空の例として、すでに +DI = 30、−DI = 10 が計算されているとします。すると DX = abs(30 − 10) / (30 + 10) × 100 = 50 です。abs は絶対値、つまり符号を除いた大きさを意味します。入力を +DI = 10、−DI = 30 に入れ替えても DX は再び 50 です。次の段階を示すため、前の ADX を 22、長さを n = 14 とします。ADX = (22 × 13 + 50) / 14 = 24 になります。前の ADX が同じなら、この最後の計算結果も両方の組で同じです。価格の履歴全体が同じだったという意味ではありません。現在の方向、DX、平滑化した ADX は取り替えられないこと、そして結果が確率ではないことを示す例です。
理解を深めるには、この項目とあわせて次もお読みください Average True Range, Technical indicator, Technical analysis, Timeframe, Backtesting, Relative Strength Index.
01ADX が二十五を超えたら買うべきですか?+
いいえ。測定されたトレンドの強さについての従来の目安であり、下落トレンドの場合もあります。その水準だけでは、取引開始時の価格、リスク、費用、終了条件は決まりません。別途、検証済みのルールが必要です。
02一組の DI の値だけで ADX を計算できますか?+
合計がゼロでなければ現在の DX は求められます。ADX には前の ADX と平滑化設定、または初期平均を求めるための十分な履歴も必要です。アプリを比べる前に、データ、時間間隔、設定をそろえてください。