見出し画像

MT4とMT5でのバックテスト比較とスプレッド制御の影響

今回新しいEAを作成して先にMT4から完成させて2024/01/09から
フォワード回してます。
まぁそれはいいとしてなぜ今回このnoteを書くことになったかは
X(Twitter)での投稿だと有料プランだけど文字数はよくても画像は確か枚数制限あったかな?
要約して説明するのが難しいのでだらだらと書き綴ってみようと思ったのではじめてみました。
そこでも気付きをダラダラと参考になればと思い書いていきます😊


★バックテスト結果違いから。。。

EAの新作をMT4バージョンとMT5バージョンで同一のロジックを使用して完成させ、同じ条件で同じ期間でバックテストを行いました。その結果、いくつかの気づきがありました。以前からEAには違いがあったので、完全に同じになるとは考えていませんでしたし、誤差があることは当然だと思っていました。しかし、今回は特に気になりましたので、そこから考察を述べたいと思います。

★バックテスト

ではでは まずバックテストの結果をみてください。

MT4MT5比較

左がMT5右がMT4
同じ条件 同じ期間 同じ許容スプレッド(PIPS)でバックテスト結果です
グラフぱっと見では違いも分かるし、細かなPFやすべての数値が違うので似てるEAって感じにもみえますが、実際は全くおなじ条件で作ったEAです
(できてるはず💦)
今までもMT4からMT5へEAを変えてきてバックテストの多少の誤差はありりました。
この要因について憶測として
TDSとMT5のリアルティックの差

  • スプレッド

  • 価格の違い

  • それによるオシレーターの数値の違い

こんな感じだろうってすごく浅はかに考えてました。
実際そうであると思います。
ではその中で今回いつもより気になったので
調べてしてみました。

★岩ライザーでの検証

MT4,MT5の岩ライザーでの計算結果比較
この比較から原因がなんだろうか調べるきっけに、、、

岩ライザー
  • MT5

    • 総取引数 636

  • MT4

    • 総取引数 754


MT5履歴

MT4履歴

同じ期間で取引数の差は 118回!
この結果の違いにほぼエントリーされてない期間がMT5にだけあります
なぜだと思いますか?

取引??期間


最初はコードを疑いましたが、でもそれは無くよく考えてたら
ふと、最近犯したミスがあるのを思いだしてそれは

☆スプレッド制御

これがどういうことかというと
今回このEAはスプレッド4.0pips
以下でしかエントリーされないように制御をかけてます。
本来ならもっと制御かけたいのですが💦
ここからが今回のnoteで伝えたい内容に入っていきます!

★過去の平均スプレッド

今皆さんバックテストもフォワードもみててスプレッドについてどうおもいますか?
今まで低スプだったブローカーも急に広がったりないですか?
ではバックテストするうえでのスプレッドについて
個人的な見解を賛否両論 開発者やEAトレーダー様々な考え方ややり方があるので断定するものでもないし、否定されるかもしれませんがその辺は軽くながしてくださいね💦

今回ヒストリカルデーターについては置いといて
☆スプレッドについて

スプレッドはブローカーごと
口座の種類ごと(RAWやスタンダードなど)
年や月、日によって様々で
変動するのが固定スプ以外は当たり前ですが

バックテストの時どうしてますか?
MT4の場合

  1. 固定スプレッドで大きく設定して負荷をかけてのバックテストするやり方

  2. TDSで変動スプレッドでバックテスト

    1. デフォルト設定

    2. 各ブローカーなどの平均スプレッドへ寄せる設定(手数料等も)

ではTDSの平均スプレッドはとってますか?
以前は手作業でとってたんですがアルマダさんのインジ使用してTDSの平均スプレッドを把握して各ブローカの※直近の平均スプレッドより負荷がかかってたらTDSのデフォルト設定で、下回ってたら負荷をかけてバックテストをしてました。そんなにたくさんのブローカーを調べてないので僕の使用するブローカーだけですが。。。

でも結局はTDS=デューカスさんのヒストリカルデーターのスプレッドであっていくら変動でも各ブローカーの変動じゃない
まぁ当たり前のことを述べてますが。
そんなに突き詰めて調べず、負荷かかってるしいいだろうぐらいでした。

☆負荷かけて勝てる強いEA!それでいいんです☆

なんですが!!!
それじゃ話も終わるし 
どれだけの負荷なのか??
スプ狭い時を狙えるいいEAも埋もれちゃいます!
そうならないようにバックテストのスプレッドにも
気を付ける点を僕なりの考察を実際に今回あった事例で紹介します!

★何が正解なのか

岩ライザーでの分析でわかるように本数は同じスプレッドの制御によって
本数を絞られてました。

でもMT4は絞られてないんですよ!
MT5は絞れてるんですよ!

ここが重要なんです!

  • スプレッドの負荷をかけてバックテストしてます

  • EAにスプレッド制御かけてエントリーしないようにしてます

すなわち一定以上のスプレッドが広がるとEAはエントリーしません。
4PIPS(40point)これだけ許容範囲をもって同じ設定でバックテストしてます。なのに
エントリーしないMT5
エントリーするMT4
どれだけスプレッドに差があるんだ!?
ってことです。

ではTDSMT5のスプレッド平均を見てみましょう。


TDS MT4


MT5 2のブローカー

岩ライザーでのテスト画像のエントリーが少ない期間をみてください

2018/1~2019/6この間MT5では平均スプレッドが大きくなってるのが
わかりましたがMT4のほうでは平均スプレッドが小さい

☆このことによってEA自体のバックテスト全体に疑念がわきませんか?

  • バックテスト結果

    • 総利益

    • 総損失

    • エントリー回数

  • ヒストリカルデーターへの信憑性

  • ロジックの優位性

  • スプレッドが低くなるということは

    • MT4のバックテストは実際より優位にでてる可能性や、せっかくスプレッド制御をいれてるのに無駄にエントリーされてるなど、FWが実際はスプレッドが耐性がなくバックテストとの剥離が起きてしまうのではないか?

などバックテストへの正確性信頼性は?
バックテスト結果が変わるためせっかくの
分析 せっかくするのに勝率も期待利得もドローダウンも分析数値すべて変わってきます。
それだけでなくほかの問題疑問もきっとありますよね?

★何を信用するべきか?まとめ

まるでMT4、まぁすなわちTDSですよね
その結果を批判する書き方してるみたいに
MT5が絶対だ!みたいな表現でしましたが
品質100%かつそれがブローカー提供のヒストリカルデーターと仮定して判断です
その辺は比較するにあたっての表現ですのでご理解よろしくお願いします。
そして、TDSのデーターもデューカスさんの
ちゃんとした
ヒストリカルデーターです!
MT4のこの結果がおかしい!ってことではありません!
TDSにもほかのヒストリカルデーターをダウンロードできるのでそれも同じように調査するのもいいですよね!
今回はスプレッドにだけ注視して話しますが
バックテストをすることにより
過去の価格の変動にそのロジックが利益をもたらすものなのか
確認する行為であり、今後使用するための指標でしかないと思います
ロジックによってはスプレッド影響の少ないEAもあるりますが、
でもその1PIPSの積み重ねもばかになりません。結果だってかわる。
今回伝えたい事感じたことをまとめると

バックテスト

  • 各ブローカーのスプレッド調べておこう

  • TDS持ってる人はTDSのスプレッドも把握しよう

  • 過去その都度平均スプレッドは変わってるので、スプレッド制御を入れておかないとスプレッドが開いたときFWのずれやEAの性能は落ちる

  • スプレッド制御を入れてどこまでが許容範囲なのか知る

  • 今回のようにこれだけ結果が変わるということは様々なパターンでの  バックテストはするべき

EAを使うにあたって

  • バックテストを過度に信用しない

  • 平均スプレッドの変動によって

    • バックテストで期待してる本数がなくエントリーが         全然ない時期もあり得る

    • 利益率も変わる

    • スプレッド制御の有無を確認しておく

☆MT4とMT5まだまだMT4が主流ですが
MT5は
ブローカーのヒストリカルデーターを利用できるので
過去に起きたことや突き詰めるともしかしたらクセ?なんかも見つけられるかもしれません。そのままでもリアルティックでバックテストすれば精度の高いバックテストはできると思います、負荷をかけてもいいかもですね。
MT4は
TDSを使用して機能をしっかり使う事も大切と思います
固定スプレッドでやるのもいいと思います

MT4もMT5も様々な角度パターンでバックテストをするべきですね!
MT5ではブローカーのヒストリカルデーターを使えることによって
TDSでは再現できないバックテストが容易にできるのが魅力ですし
MT5が主流になる日が近づいてきてると思います。

過剰最適化 カーブフィッテイング
過去に合わしに行くのではなく
過去のどんな状態でも安定していることが
どんな未来が来るかわからないし変わっていくとは思いますが
過去を知ることがバックテストは大切だと思います
バックテストなんだから

最後に
TDSだけでは分からなかった過去の変動スプレッドに関してMT5で知ることができた。

★あとがき

ダラダラと書き綴ってこんな薄い内容でなんかすいません💦
反響あれば
ヒストリカルデーターをリアルティックとデモのティックのことなんかも書こうかなと思います。反響あれば💦
でも文章なんてほんと書くことなく生きてきて
スコップで穴ほって、仕事は見て覚えろ、根性論で今まで来たので
上手のまとめるのが苦手です😢読みにくかったとは思いますが
ほんとにここまで
読んでいただいてありがとうございます。感謝です!
読んでいただいたお礼に今回使用したtoolを配布します
アルマダさんのご厚意で許可いただいたので
MT4用のtoolと
それと今回作ったMT5用の同じもの作ってたので
ダウンロードリンクは期限ついてますが使用期限はないので使ってみてください

NIKA-AllSpredについての説明はyukoさんのブログから見てください‼️

https://yukolife.com/allspred/

https://x.com/yuko08333148?s=20


2024年6月28日(金)まで
https://6.gigafile.nu/0628-6865e296516cf7ea896e7b3b98cabde1


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