2016年5月21日土曜日

[雑記]MT4のバックテスト結果は日ごとに異なる・・・とバックテストのバグっぽい動き。

Gewinn7のバックテストを今日実行してみたらPFが2.15になっていました。

・・・・・・・・・・
あ、あれ???

なぜに????

ということで調査してみました。

MT4のバックテストではスワップを自動計算します。
その自動計算されるスワップの値は、その日のスワップを使用しています。(ヒストリカルデータにスワップの情報は含まれていません)

そのため、その日のスワップの状況によって長い時間保持していたポジションの利益値が異なります。

それがバックテストに反映されて、同じタイミングの同じ価格で決済されているのにも関わらず損益結果が変わってきたりします。

■5/20に取得したバックテストと5/11に取得したバックテストの切り抜き


全く同じタイミングで売買したのにも関わらず、利益が1.60と1.64で異なってきています。

最初、MT4のバグじゃね?と思って、一つ一つポジションを調べていっていたのですが、結論からするとスワップポイントの自動計算値による違いでした。

1日おいてバックテストで(*´▽`*)PF上がったーって喜ばないようにしないといけないですね^^;;;;;;;

あと、こちらは本気でMT4のバグじゃないか?と疑っているのですが、同じ期間をバックテストした場合で取引結果が異なっている場合があります。

具体的には2007/1/1~2007/2/1までを一回バックテストした後、2007/1/1~2007/3/1までとひと月伸ばしてバックテストをすると、インジケータの値が変わって本来取引しないところで取引をしたりします。

あれー?とおもってPrint文を入れると、とたんに発生しなくなります・・・
なんでやねん!!!!!!

また、同じ期間をもう一度バックテストすると、元に戻ります・・・・。
C言語のメモリリーク時の症状に似ているのですがMQL言語単体ではポインタ利用なんて限られています。内部配列をりようしているところで発生しやすいような・・・・・・。謎です。謎現象です。

バックテストだけの症状であればよいのですが、フォワードでも発生しているとなると、困ります。

というのも、FX-ONでフォワードテストされているGewinn7とOANDAプロで実行しているGewinn7のフォワード結果が異なりすぎる・・・・・。
たとえば、5/17→5/20の取引ですが、こちらのフォワードでは、売りポジションを二つとっていますが、FX-ONのフォワードでは一つしかとっていません。OANDAのデモ口座でバックテストを流してみましたが、バックテストではデモ口座でも二つ売りポジションを持っています。

うーん。こちらでも再度OANDAデモ口座でフォワードテストを再度開始してFX-ONとの結果の違いを調査中です。

「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧

Twitterもよろしくお願いします。
https://twitter.com/mt4program

ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 為替ブログ MetaTraderへ
にほんブログ村

お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。