見出し画像

【ADX】BASEバックテスト結果

皆様、お疲れさまです!

1週間、記事の更新が遅れてしまい申し訳ございませんでした。
更新しなかった1週間で、

noteの方向性、これからの進め方、その他やりたいこと

などを考えていました!


皆様の為になる記事を書きたいというのはもちろんなのですが、
やはり一番大事なのは、

【自分の書きたいことを記事にしていく】

なのかと1週間考えていて思いました!

自分のやりたい書きたい記事を書いて、それが見てくれた人のためになる。

そんな状態を作れたら最高だなと思っています!
なので記事に対して何かご意見・ご要望がある際には、TwitterのDMでも一言連絡してもらえればと思います!

あと、

・こんなバックテストも見てみたい!
・こんな記事も書いてほしい!

などもあればどしどしご連絡してきてください!!
前置きが長くなってしまいましたが、本編へと移っていきたいと思います!


まず初めに、この記事は8000字を超える記事となっていて、
今まで公開してきた記事は多くて4000字くらいになっています。


なので、読みたいと思った人以外はこれ以降絶対に読まないでください。。


文字を読むって思った以上に時間がかかりますので、、
自分の知識として一つ入れておきたいなと思う人が読んでくれたらうれしいです!!

では、この先から記事が始まります!!











今回はADXと呼ばれるインジケーターのバックテストを取得していこうと思います!

なんでADXのバックテストを取得するのか?
これ自体に意味はありません。ですが全く意味がないわけではなく、自分自身まだ知らないインジケーターがたくさんあるという現状があります。

ロジックも今までにたくさん作ってきましたが、そのロジックすべてが今まで載せてきたような有名どころのインジケータを使用して作ってきました。

今までの記事で一つのインジケーターを極めろ!!


こんなことも書いてきたかと思います。
その意思は決してブレていません。

・あくまでも自分にあったインジケーターを見つけたい。
・今の自分の知識量をさらに増やしていきたい。

これらのことを思ったら、知らないインジケーターのバックテスト結果も見てみたいとなりました!


なので皆さんにはこのことを伝えたいです!


私の記事から、
今、自分自身で使っているロジックに合いそう(使えそうな条件)
を盗んでください!!


私の意見として、各インジケーターはそれぞれ似ていたとしても計算式も特徴も違うと思います。

なのでそれぞれのインジケーターの長所・短所も変わってくることは必然です。


-----例-----

RSI長所
・そもそものインジケーターとしてのBASE力が強い。
・計算式もそこまで複雑ではないのでアレンジがしやすい。

RSI短所
・相場の急激な変化には対応できない。
・簡単な計算式だけあって閾値だけで制御しようとすると限界がある。
・RSI(14)をそのまま70/30で使用すると直近相場では有効ではない。

---------------


このRSIの短所をカバーするために、

”ほかのインジケーターを加えてみる” 

これができるのかと思います。

もちろん、RSIの短所をRSIでカバーしていくことも可能ですし、
その方がロジックの中身としてはごちゃごちゃにならないので実際にシグナルを見ていてわかりやすいと言う事もあります。

ですが、そこは人それぞれの考え方があり正解はないと私は思っていて知識を増やして自分のやり方にあった引き出しを見つける一つの手助けになれればと思います!


私自身が知らないADXの記事を書こうとした理由は上記の理由があってです!なので記事を書きながら私も理解を深めていこうと思いますので一緒になって勉強している感覚で見ていただけたら嬉しいです!

それではまず、ADXとはなんだ?計算式は?というところから見ていきましょう!


《ADXとは何?計算式は??》

ADX:Average Direction Movement Index 
と呼ばれるインジケーターになります。

考案者:J.W.ワイルダー(Welles Wilder) 1978年
考案者はRSIを考案したで有名な J.W.ワイルダー氏 になります!

そもそも、ADXという名称ですが、MT4のインジケータ表記では
【Average Direction Movement Index】と表記されています。

画像1

上記の青で選択されているのが今回バックテスト取得するのに使用したADXです!

またそれをチャートに入れると上記のようになります!

このインジケーターは ADX” と ”DMI” の2つで構成されています。

それでは、このインジケーターの考え方を簡単にまとめていきたいと思います。

※ここから下の内容は、下記のサイトを参考に私が見て必要な内容をところどころ追記して書いています。そのことをご承知おき願います。

参考文献:https://www.moneypartners.co.jp/support/tech/dmi-adx.html


------------考え方------------

価格の変動幅(上昇・下落)を指数化することで、トレンドの方向性、強弱を分析。

①当日の高値・安値が、前日の高値・安値に比べて、どちらが大きいかを比較。
➝ここで買いか強いのか売りが強いのかを判断する。

②当日の値幅が、前日の値幅の上か下か、どちらかにはみ出してきたかを検証することで、トレンドの方向性を見極め。

③一定期間の平均値を計算して、トレンドの強弱を指数化。
➝ここでADXの値を算出。トレンドの強弱を判断。

------------------------------------

それでは、インジケータの計算式を見ていきたいと思います。


《ADXの計算式》

計算式自体は①~⑤まであります。DIの算出は③まで。ADXの算出は⑤までを経て成り立っています。

①方向性
(DM: Directional Movementディレクショナル・ムーブメント)の分析

・前足と現在足の変動幅(上昇幅・下落幅)を比較して方向性を分析。
・+DM(上昇幅)と-DM(下落幅)を比較して、大きい方をカウントし、小さい方は「ゼロ」にする。

+DM(plus DM)=現在の高値-前足の高値
(上昇幅:上昇方向の増加分⇒上昇の強さ

-DM(minus DM)=前足の安値-現在の安値
(下落幅:下落方向の増加分⇒下落の強さ

画像6

まずは、DMを算出していくところから計算式はスタートしていきます。
DM自体は前足の高値・安値と比較し、
大:【+】 小:【-】になり加算していきます。


②実質変動幅
(TR:True Rangeトゥルー・レンジ)の計算

・実質変動幅とは、変動幅の増加分であり、AかBの大きい方、AかCの大きい方です。
A:現在足の高値-前足の安値
B:現在足の高値-前足の終値
C:前足の終値-現在足の安値

画像6

何か難しく書いてあるように感じますが、
前足の高値安値または終値 と 現在足の大きさを比較して一番大きい幅を採用するという意味になります。


③方向性指標
(DI:Direction Indicatorディレクショナル・インディケーター)の計算

①方向性(DM)を②実質変動幅(TR)で割ることで、方向性指標を計算します。(期間は、ワイルダーは基本14日間を採用しています。)

+DI=(14日間の+DMの合計) ÷ (14日間のTRの合計) ×100% ⇒上昇の強さ
-DI=(14日間の-DMの合計) ÷ (14日間のTRの合計) ×100% ⇒下落の強さ

ここで①と②で計算された値を割り一つの指標として算出します。
ここまでの計算式はRSIとかなり似ているのが分かるかと思います。


この③がチャート上に表示されている、+DI値 -DI値 になります!


なので、+DI➝買いの勢力。 -DI➝売りの勢力。

と表現できるのかなと思います!
ここから、ADXの値を算出していきます。


④方向性指数
(DX:Directional Movement Index)の計算
・方向性の強さを示す+DIと-DIの差の絶対値を、方向性を持っていた比率{+DI+(-DI)}で割り、指数化することで、トレンドの強弱を認識できるようにします。
・DXは、上昇・下落に関わらず、トレンドが強くなれば増加し、弱くなれば、減少します。
・DXが反転する時は、トレンドが反転する可能性が高いことを示唆します。

画像4


少し計算式が分かりにくいので私なり図にして表記してみました。

画像7

上記に書いた通り、+DI値 -DI値 の幅が連続で開いていけばDXの値はどんどん大きくなっていき、幅が狭くなってくるとDXの値も小さくなってきます。幅が大きくなってきたらDXも大きくなってくるんだなと思ってもらえればと思います!


⑤ADX
(Average Directional Movement Index):DXの指数平滑移動平均線(EMA)

④で算出した値を指定期間で平均化する。(デフォルト期間は14としている)

・ディレクショナル・ライン(+DIと-DI)の差
・トレンドが強く、継続する場合⇒2本線の差は拡大⇒ADXは上昇
・トレンドが弱く、反転するかレンジ相場に移行する場合⇒2本線の差は縮小⇒ADXは下落

④で算出した値を平均化してADXの値になります!
ようやくADXが出てきましたね!
これがADXの計算式になります!


ここまで計算式を見てきて、このADXインジケータの大切なポイントは、

・+DI値 -DI値 の値の動き

・ADXは±DI値によって算出されるため、どちらかの値が一方的に大きくなるとADXの値も大きくなってくる。なのでその時の相場の形としてはトレンドを形成している時が多い。

この2点に注目していきたいのかなと思います。

私がこのインジケータを見て、+DI -DI の両方が制御できるのでLowエントリーとHighエントリーでロジックを組み替えやすいのかなと思いました。

またADXの値を使用してトレンドの回避を事前に察知し一方的なトレンドでは制御を厳しくもできるのでは?と感じました。


計算式を分析していて何か面白いことが出来るのではないかとワクワクしています!

ですがBASEとしてどのくらいの馬力があるかによって使い方も変わってくるかと思うのでこれからBASEデータを見ていきましょう!


《バックテスト条件》

今回バックテストを取得するにあたって、BASEのロジックをどうしようか考えました。計算式を理解したところで、私は、

ADX:30以上 かつ +DI:30以上 Lowエントリー
ADX:30以上 かつ  -DI:30以上 Highエントリー

この条件でバックテストを取得しようと思います。

ADXの値を30に設定して、相場的には勢いのある場所で反応させるようにし、その時のDI値もしっかりと大きくなってるという意味を込めて上記の条件にしました。これをBASEとして結果を見ながら値を変化させていけたらいいなと思っています!

それでは上記条件にて取得したバックテストはこのようになりました!


《バックテスト結果》

2010年から2020年9月までの結果
短期(5分判定)
資金推移

全通貨_S

年別結果

全通貨_S_y

時間別結果

全通貨_S_h


中期(10分判定)
資金推移

全通貨_M

年別結果

全通貨_M_y

時間別結果

全通貨_M_h


長期(15分判定)
資金推移

全通貨_L

年別結果

全通貨_L_y

時間別結果

全通貨_L_h


直近3年のバックテスト結果
2017年から2020年9月までの結果

短期(5分判定)
資金推移

全通貨_S_3年

年別結果

全通貨_S_y_3年

時間別結果

全通貨_S_h_3年


中期(10分判定)
資金推移

全通貨_M_3年

年別結果

全通貨_M_y_3年

時間別結果

全通貨_M_h_3年



長期(15分判定)
資金推移

全通貨_L_3年

年別結果

全通貨_L_y_3年

時間別結果

全通貨_L_h_3年


通貨別結果

画像24


今回取得したバックテスト結果は上記のようになりました。



《バックテスト結果の考察》

今回取得したバックテスト結果の考察をしていきたいと思います。

ちなみにアローポイントはこのようなポイントで出現します!

画像25

画像26

画像27

画像28

この様な感じでアローは出現します!
RSIを作ったといわれる J.W.ワイルダー氏 が作成したADXなので私はこのアローポイントを見てRSIが反応しそうなポイントと似たようなところで出現するんだなと率直に感じました。

それではバックテストの分析結果を細かく見ていきたいと思います。

ADX分析結果まとめ

全通貨一覧

こちらが全判定時刻のバックテスト結果をまとめた一覧になりますね。
これから分かる内容もあるかと思いますが、何かと比較するとより強み弱みが明確になってくるので、今回は J.W.ワイルダー氏 の作ったRSI(14)70/30以上以下の結果と比較していきたいと思います。

RSIのバックテスト結果はこうでした。

RSI分析結果まとめ
RSIのBASE結果の記事はこちら

RSI7030_バックテスト結果_一覧

では、この二つの結果を比較しながらADXの強さ・弱さを深掘りしていこうと思います。


《バックテスト結果の深掘り》

■取引回数・勝率■

取引回数は、RSIの結果と比べると、日平均で70回ほど多い結果となりました。

閾値30でADXを制御していくとこのくらいの取引回数になることが分かりましたね。バックテストを実際に取得している人ならわかるかと思いますが、この日平均70回UPはかなり大きいことなのかなと思います。

なので、BASEの取引回数としてはそれなりの多さを持つインジケーターの一つになるのかなと思います。

その時の勝率は?と見ていくと、

短期 ➝ 中期 ➝ 長期

の順で勝率が上がっていく結果となりました。
これはRSIの勝率推移と同じような結果になりましたね!

ADXの計算式はRSIに似ているところもあり、勝率の推移の傾向も似たのかなと思います。

それでも、ADXの全判定はRSIよりも低い結果となりました。ですが、回数が日平均で70回多い中、長期判定は0.2%しか変わらない結果に私は驚きました!

改善の仕方によってはRSIよりも回数が多くて勝率も高くすることが出来るかもしれないです!


また、私はこの長期判定に強いという事にも魅力を感じていて、短期判定は勝率を上げやすいものの現状のハイローのスプレッド等を考えるとシビアにならないといけないのは確実です。

もともとインジケーターとして長期判定が強いとなるとアローポイントの見方も、短期判定のロジックを作る時とはまた違う視点で見ていくことになるかと思うので、そう言った面でもADXを深掘りしていく価値はあるのかなと私は思います!

今回、RSIの取引回数と勝率を比較してみて使い方によっては化けるのではないか?と感じてバックテスト取得して良かったなと思います!


■獲得Pipsについて■

獲得PipsはRSIの結果よりも全判定で小さくなる結果となりました。

ですが、一番勝率の高い長期判定が一番獲得Pipsも大きいという事で取引回数もまだ十分にあることからこちらもかなり修正の仕方によっては大きく化けさせることができる項目になりますね!

今後、レートずらしも避けてはいけなくなりますし、スプレットも大きくなっていくことが考えられるのでこの獲得Pipsにはこれからも注目をしていき勝率だけではなく、相場の動きとして優位性のあるポイントをこのインジケーターのバックテストを通して見つけていきたいと私は考えています。


■このADXのさらなる可能性について■

私はこの記事を書きながら初めてADXのバックテスト結果を目の当たりにしていますが、他のインジケーターには無いものを持っているなと感じました。その内容とは以下の項目です。

①ADXを使用することで相場のトレンド力を可視化しやすく、また言語化しやすい。

+DI・-DI と売りと買いのパラメーターが2つ存在していることからHigh側エントリー。Low側エントリーでのバックテスト考察がしやすく上昇トレンド、下降トレンドでの相場のクセを見抜きやすくなる。
➝これによって、High・Lowでの修正がしやすく相場の動きにあったロジック構成にすることができる。

この2点が私はほかのインジケーターには無いものなのかなと思います。


①に関しては、皆さんならこのように質問されたらどう答えますか?

「皆さんのトレンド相場とはどのような相場ですか??」

どのように答えますでしょうか?

よく、トレンドでの逆張りは避けなさい。
なんてことを耳にするかと思いますが、
では一体トレンドってどうなったらトレンドなの??

となるかと思います。

こんな時に相場の強さを可視化できるADX(チャートの水色の線)の値が参考になるのかなと思います!

ADXの算出方法を忘れてしまった人は、もう一度計算式のところを振り返ってみてもらいたいのですが、ADXが大きくなるのは、

「+DI値 -DI値 の値が連続で開いていくとき」

に大きくなります。

なので、どちらか一方向の相場形成していくとADXの値が大きくなります。

ADX=40以上をトレンド相場と定義。として、トレンドでのエントリーはしないと決めたら、ADX=40以上の時はエントリーしないとコードを書いてあげればいい訳だし、

トレンドの時は厳しく見ていきたいなというのであれば、

ADX=30の時は、+DI・-DI=30以上でエントリー。
ADX=40の時は、+DI・-DI=40以上でエントリー。

と条件を変えることも可能ですよね!

この魅力を私は1つ目に感じました。



そして2つ目は、
RSIであれば、50を真ん中とし、50以上はLow。50以下はHigh。
と逆張りはしていくかと思います。

実際、ロジックを作ったことがある人ならわかるかと思いますが、同じ閾値の幅を使用してもHighとLowでの勝率は一緒にならないかと思います。

体感的に、自分はLowエントリーの方が得意だな~。
いや、私はHighエントリーの方が好きだな。

と人それぞれで感じ方が違うかと思います。その感覚があるのは実際に相場の動きと自分のロジックの感覚がリンクしているエントリー方向があるという事なのです。


なのでインジケーターを使用してロジック作成している人は実際にはHighとLowで閾値を変更したりしているなんて人もいるかと思います。

そういったことから、上昇トレンドの相場。下降トレンドの相場。の時にどの形になったら強いのか、弱いのか。これを理解しているだけでもかなりチャートの見方も変わってくるかと思います。


なので、この+DI・-DIが別々に存在しているADXはその分析がしやすく適応もさせやすいのかなと2つ目の魅力を感じました!


この2点の魅力から、これから深掘りしていったら面白いのではないかと思わせてくれるようなインジケーターでした!!



《まとめ》

まとめに入ります!

今回は、新たなインジケータとしてADXを計算式から自分なりに落とし込んでいきました。

ぶっちゃけ、、、

記事長すぎだろ、見ててつまらなかったわ!!

と思った人は申し訳ありません。。。

私も最初はこんなに書くはずでは無かったのですが、気づいたらこのくらいの文字量になってしまっていました。。

でも、私はこのような記事を書いているときが一番楽しいんです・・・

自分の楽しいと思えることが誰かのためになったらそれ以上に最高のことはないと思いますので、是非ともそこら辺をご理解していただけたら嬉しいです!!


これからも自分らしく記事は書いていきますので引き続きよろしくお願いします!!


つまらなかった、読んだ時間を返してください。
という方はDMください。謝罪します。。

いい記事だな。少しでも勉強になったなという人は右下のいいねや記事を共有してくれたらうれしいです!!


それでは、また!!


Note最後の枠

最後まで読んでいただきありがとうございました!
皆さんのためになるような投稿をできるよう日々精進していきます!

ADX、分析してみるまでは一つも触れてこなかったインジケーターでしたが実際に見てみると面白いところがたくさんありました。

実際に自分の持っているロジックのこういったところにはADXの制御を加えたらうまく言語化できそうだなとかそんなことも執筆しながら考えていました!

これが私の記事。これが私らしさ!と思いながら書きましたのでご理解していただけたら嬉しいです!

Twitterでも投資に関してやバックテストについての情報発信をしているので、是非チェックお願いします!

Twitter:@yuuki81600

Note最後の枠


この記事が気に入ったらサポートをしてみませんか?