前回、Python と MT5 の約定を1件ずつ突き合わせた話を書きました。
今回は、その手前でつまずいていた話です。

 

約定を比べる前に、EAが見ている指標の値が同じかを比べます。
指標がずれていたら、売買がずれるのは当たり前だからです。

 

比べた11の値のうち、最後まで合わなかったのが ADX でした。

 

 

ADX は、相場に勢いがあるかを測る指標

 

ADX は、値動きに一定の向きがあるかどうかを数値にしたものです。
高いと一方向に動いていて、低いと行ったり来たりしている、と読みます。

 

作った人の本や解説では、平らにならすときに「1/期間」の重みを使うと書かれています。
期間が14なら、新しい値の重みは1/14です。

 

これまでの Python も、この通りに書いていました。

 

 

32通り試して、一番合ったのが1.58%

 

MT5 が出した ADX と、Python で計算した ADX を、足ごとに比べました。
ほとんど一致しません。

 

そこで、ならし方や、どの足から計算を始めるかを変えて、32通り試しました。
一番合った組み合わせでも、一致したのは1.58%でした。

 

あとで分かったのは、32通りの中に正解が入っていなかったことです。
試したならし方は、単純な平均と「1/期間」の2つだけでした。

 

 

MT5 の ADX は「2/(期間+1)」だった

 

MT5 の ADX は、「2/(期間+1)」の重みでならしていました。
期間が14なら、新しい値の重みは2/15です。

 

1/14 と 2/15 は、近いようで違います。
重みが違うと、昔の値がどれくらい残るかが変わり、毎日の値が少しずつずれていきます。

 

もう1つ、計算を始める足を MT5 と揃える必要がありました。
始める足がずれていると、最初は大きくずれて、月を追うごとに差が縮んでいきます。

 

差が月ごとに同じ割合で縮んでいるのを見て、始める足がずれていると分かりました。

 

 

11の値が、全部の足で一致した

 

2つを直して、11の値すべてが、全部の足で MT5 と一致しました。
1つの期間だけでなく、別の期間・別の通貨でも同じでした。

 

指標の値が揃ったので、次に約定を比べました。
それが前回の話です。

 

教科書の式は、MT5 の式とは限りません。
今は、指標を書いたら、まず MT5 が出した値と足ごとに比べています。

 

 

日経平均は、1週間で1,518円下げた

 

前の記事で、10月15日の日経平均の終値が64,425.95円だったと書きました。
10月22日の終値は62,907.84円で、1週間で1,518.11円下げました。

 

22日だけで1,713.40円(−2.65%)下げています。
下げに一番効いたのはアドバンテストで、日経平均を446.6円押し下げました。次いで東京エレクトロン、ソフトバンクグループです(株探 10月22日の市況記事)。

 

日経平均でのバックテストは、まだ始めていません。

 

始めたら、結果は良くても悪くても同じ形で出します。

 


 

稼働状況(10月22日時点)

今日の確定した損益 +40,482円

10月の確定した損益 +289,807円
9月の確定した損益 -994,802円
8月の確定した損益 +50,000円

開始からの確定した損益 -654,995円(8月18日から)

本内容は参考情報であり、投資助言ではありません。

 

EA開発ログのnoteで口座ごとの記録を読む

 

 

 

 

EA開発ログのLINEでEAを受け取る