既存のMT4のバックテストにはヒストリカルデーターの精度の問題が大きかったので、今回のGuppyEA(エキスパートアドバイザー)はMT5で製作する事にした。
まずは今年に入ってから丸5ヶ月間のバックテスト結果を見てみよう。

上記の画像は2023年1月1日から5月31日までの丸5ヶ月間のバックテスト=BT結果であるが、10万円の初期証拠金が1億8千万円にまで増えている。
このバックテストはポンド円の1時間足を使用した100%のFX自動売買ツールを使用したもので、指標回避や週末処理または曜日や時間帯などの管理を一切していない文字通り「100%ほったらかしEA」である。
もちろんこれだけの利益を出すということはそれなりのリスクが高い設定であることを意味している。
オートロットで100%を選択しているので、10万円の証拠金に対して1.0ロット=10万通貨の売買をしている。
海外の証券会社でFXGTという業者のMT5を使用したバックテスト結果である。

海外の業者なのでレバレッジは1000倍でのBTである。
損切りは48Pipsの固定なので、2回連続して負けると48000円の2倍で96000円の損切りになるのでほぼ10万円は消えてしまうほどのリスクなのだ。
ギャンブルのようなパラメーター設定であることはあらかじめ言っておこう。
しかし1万円を5ヶ月ほったらかしにして置いたら、1800万円になっていたとしたらどうだろう?
リスクは1万円なのでやってみる価値はあるかも!?
私は個人的にそう思う。(根がギャンブラーなのでそういう思考)
もう一つのリスクとして、単体で運用しているだけでは無いので、条件が揃えば2つ3つとピラミッティングする場合もある。
例えばこんな感じで複数のポジションを保有する場合もある。

上図では、既に条件が揃いエントリーしたポジションが一つと、次に条件が揃えばエントリーする待機しているポジションとなる仕掛けが一つあるので、トレンドがこのまま上昇する場合は、同時に2つのポジションを保有する事になる。
ポジション数に制限をかけていないので、3つ〜4つとポジションが増える場合もある。
そう考えると10万円でも1万円でもリスク100%は無理はあるがBTでは最適化の結果リスク100%が最も利益が大きかった。
現実に運用する場合はリスクを25%など低くして、10万円の証拠金に対して一回のエントリーは25%=0.25ロット程度が妥当なところだと思う。
資金が大きいほどリスクは小さくするべきだ。
先ほども説明したがブローカーは海外のFXGTという業者のPro口座で行ったものだ。

GuppyEAをMT5で製作した理由はいくつかある。
GuppyEAの製作をMT4ではなくて、MT5にした理由の一つがMT5のヒストリカルデーターはリアルティックに基づいた本当に描画されたローソク足であること。
つまりMT4との違いはまずこのスプレッドを含むティックデーターが現実のデーターと同じであることがMT5の大きな優位性となる。

上図の赤いラインと白いラインの間がスプレッドと呼ばれているもので、ブローカーの手数料とも言われている。
トレーダーが不利なように働くのがスプレッドだ。
例えば上図の赤いラインで買うということは、より高い価格で買うことを意味しているし、白いラインで売るということはより安い価格で売ると言う事になる。
逆なら良いのだが、安く買って高くで売り、高くで売って安くで買い戻せば利益は大きくなるが現実には逆になっている。
なのでスプレッドが加算されてより不利な状況でも利益を出すEAであるかどうかはMT5のバックテストの方が現実味がある。
もちろんMT4でもスプレッドを選んでBTすることは出来るのだが、現実は指標発表や要人発言などでスプレッドは大きく拡大するので、やはり実際の取引と同じ広さのスプレッドを使用してBTしたいものだ。
ECNと言われるインターバンク直結の取引も、一往復当たりの手数料がかかるのでスプレッドと大差はないだろう。
EAにとってはECNの方が利益が大きくなりやすいので、EA販売者の多くはECNまたは、ロースプレッド口座を推奨している。
ここではMT5でのバックテストなので上図のように赤い線と白い線がBTの取引結果に影響している。
逆に言うとMT4のデーターはスプレッドが計算されていないのでスプレッド分が利益として計算されているため理想的なエントリーとエグジットが過去に起きた想定となってる。
もう一つはデーターの遅延の問題がある。
どんなに優れたVPSを利用していても必ずデーターの送受信時に遅延は起こる。

Pingと言われるデーターの送受信スピードだが、現実にはEAにとって不利となる遅延が含まれているのはMT5だけだ。

上図のように実際の遅延が直近で213ミリ秒(サーバーへの最後のPingは213.04ミリ秒です)と意味まで書いてあるのがMT5の特徴。
上記プルダウンには遅延0という選択項目があり、まさにこれがMT4のBTでのデフォルト設定となる。
次にMT4とMT5の違いについて大事な論点を付け加えておこう。
それはスプレッドの問題だ。
実際の初期の取引ではスプレッドほど損益に影響を与える要素は無いと言っても過言ではない。
多くのEA作者が低スプレッド口座やECN口座を進める理由はスプレッドがいかに多くの影響を与えているかの証明に他ならない。

実際に過去に取引された状態を忠実に再現するための機能がMT5には搭載されている。
上図の「リアルティックに基づいたすべてのティック」を選択することで実際の過去の取引で広がっていたスプレッドさえも確実に再現される。
この2つの要素がバックテストをする際のMT4とMT5の違いとなる。
MT4でもスプレッドを固定で選択できるが、現実に広がったスプレッドが再現されるわけではない。
この2つのBT条件の違いは実際にEAを稼働した時に大きく影響するであろうと容易に想像できる。
MT4のバックテストではこの現実に起きているデーター送受信の遅延が含まれていないため、理想的なロスのないエントリーやイグジットで計算されてしまうというデメリットがある。
つまりMT4のバックテストはスプレッドもない、データーの送受信遅延もないまさに理想的な環境でトレードをした・・・と言う過去検証なので、実際のリアルトレードで想定外の結果を引き起こしやすい。
繰り返すが、上記の条件の違いからMT4のバックテスト=BTは現実に描画されたローソク足やスプレッドや送受信時の遅延が含まれないテストのため信憑性が低くなり、実際にEAを稼働させてもBTとの乖離が出てしまう。
もっと言えば全く違った結果にもなり得ると言える。
その点MT5のBTは上記の問題を全てクリアしているのでより信憑性が高くなる。
さらに成り行きエントリーロジックや高速スカルピングロジックなどでのBTよりはスウィングトレードや指値や逆指し値注文などのロジックを用いた方がBTとの乖離が少なくなる。
私が現在リアル口座で実運用を通して経験している限りは上記で述べたような条件のMT5のEAの方がかなりBTとの乖離がないと言える。
そこで今回開発したGuppyEAはデイトレード的なスウィングトレードをロジックとした。
MT5スウィングトレード型のEAにすることでスプレッドの問題や遅延の問題も軽減され、尚且つBTとの乖離も少なくなる計算だ。
GuppyEAは時に条件が揃えば成り行きエントリーもあるが、基本的にはそのエントリーの多くは逆指し値注文とSL/TPによる損切りと利確を繰り返す仕様とした。
EA稼働には約定力のある24時間稼働できるVPSは必須条件となる。

今回採用したロジックはSMAのPO(MAのシンプルとパーフェクトオーダー)+(極秘のロジック)となっている。
単純なSMAだけで大きな時間軸でロジックを組むと、エントリー回数がかなり少なくなる。
少なくなるというよりも少なすぎてしまうので、もう一つの極秘ロジックと組み合わせることで、ある程度のエントリー回数を増やすことに成功している。
MA=移動平均線なのでMAの期間が10の場合は10本のローソク足の終値を平均化したものを点と点で繋いだラインとなる。
この最もシンプルなインジケーターを使用している理由は、おそらく多くの機関投資家や大手のファンドや投資銀行などが見ているであろうメジャーなインジケーターだからだ。

インジケーターやオシレーターは複雑に組み合わせるほど精度が高くなると思われがちだが、逆も真なり。
シンプルでポピュラーなインジケーターほど精度が高いとも言える。
そこでまず初めに私が手がけたのはオリジナルインジケーターの製作だ。
なぜ最初からEAにしなかったのか?
それはサインツールの精度を実際の現場で視覚的に確かめたかったと言うのが理由。
例えばこのシーン。

上図は直近のポン円の1時間足。
左にサインはGuppy Indicatorのサイン。
下向きのショートのサインだが、Guupy EAのロジックはサインと同時に入るわけではなく、直近の最安値に逆指し値注文を置く仕様になっている。
基本的なロジックはポン円の1時間足のMAが一定条件を満たした時にインジケーターではサインとなり、EAでは直近の高値・安値に逆指し値注文を置くが、直近高値・安値がかなり遠い場合はEAによる成り行きエントリーもある。
では次のサインを見てみよう。

2023年5月8日にGuppy Indicatorのロングサインが確定している。
このタイミングにGuppy EAは直近高値にロングの逆指値を配置する事になっている。
思惑通り直近高値更新があってEAが配置したロング逆指し値注文が成立する。
この場合はEAによる最高値更新でエントリーし、その後の直近高値まで44Pipsの含み益となるが、パラメーターの設定次第ではブレイクイーブンやトレイリングストップで同値で終わるか、微益で終わるか?
またはTPまで届かずに損切りで終わるか?
こうしたいくつかのシナリオが起こり得る。
なぜ幾つかのシナリオがあり得るのかというと最適化テストというバックテストをより詳細にしたテスト結果で変わってくるからだ。
またこれらの最適化はブローカーごとに、そしてペア通貨ごとに、さらに時間軸ごとに最適化テストを繰り返す必要がある。
今回の記事で紹介しているFXGTのポンド円1時間足による最適化テスト結果で導き出したパラメーターではブレイクイーブンが41Pipsになっているので、2つ目のサインに関しては±0という結果となる。
例えば、現在最適化テストしたペア通貨は、ドル円・ユロ円・ポン円・オージー円・ユロドル・ポンドル・オージードル・ユロポンとやってみたが、大きな収益が見込めるペア通貨はドル円とポン円だけだった。
どのペア通過でも利益が出るEAには残念ながらなっていないのが現状である。
他のペア通貨も損益ではプラスでも起伏の激しいグラフと、比較的なだらかなラインのグラフに分かれていく。
起伏が激しいBTでは、スタート時のタイミングが悪ければ口座が破綻したり、損失が大きくなる可能性がある。
EAの場合は、MT4でもMT5でもBTが理想的であっても常に口座破綻の可能性は否めない。
そこで失っても痛くない程度の資金を初期投資することがとても重要となる。
しかしここでもオーバーフィッティングと言われる過剰最適化の領域が存在していることも確かなことだ。
そして私が注目しているのは直近の半年くらいの最適化に未来を合わせるべきではないか?
・・・という考えだ。
逆に言えば過去10年、もっと言えば20年のバックテスト及び最適化の方が未来を保証しているという考え方だが?
本当なのか?
私はこの15年間で数百のEAを実際にリアル運用とデモ口座運用とでバックテストして来たが、どうもそれも怪しい気がしている。
最近Aという海外製のEAを15万円で購入したが、過去10年間のバックテストではすこぶる絶好調だったのだが、購入した2023年4月のリアル口座での運用では右肩下がりに損失が膨らんでしまったのだ。
そこから多くの購入者のレビューでは低評価が急に増えてしまったのだ。
過去10年も20年も通用したバックテストが急に使えなくなることを目の当たりにしたのだ。
それで自分でEAを開発するモチベーションにもなったわけだが、かなりショックを受けた。
そこで最適化の時間効率もあって今年の5ヶ月だけで通用する最適化で十分だと考えている。
私が海外FXブローカーを推奨しているのは口座が破綻した場合の次なるリスクを懸念しているからである。
口座が破綻した際に国内のFXブローカーでは追証が発生するリスクがある。
例えばドル円を140円で購入したとしよう、証拠金が10万円で、1.0ロットを買いでエントリーしていて、指標発表で142円まで急拡大しスプレッドが50Pipsに急拡大したとしたら、通常なら証拠金維持率は20%を下回ると強制的にロスカットされてしまう。
つまり10万円以上の損失にはならないはずだが、FXや株式投資やCFDの世界ではそれが通用しない。
なぜか?
今回の事例ではスリップページで50Pipsの赤字になったとしたら?
スリップページとは指標発表や要人発言の際に為替の変動が急激に大きくなる場合は、ブローカーはスプレッドを極端に広げるからだ。
国内業者では追証が5万円発生し請求が来ることになるかも知れないのだ。
手持ちの10万円の損失だけでは済まないのが国内FXブローカーである。
もしそうではないFXブローカーだとしたら「0カットシステム」を謳い文句にするはずだ。
私がEAを稼働している海外FXブローカーは2つある。
一つはXM。
もう一つの海外FXブローカーはFXGT。
今回のバックテストを行った海外FXブローカーだ。

そしてこれらのFX自動売買を24時間稼働させ資産運用させるための必須条件がVPSで、おすすめはコスト面や約定力と自動再起動システムありの「お名前.com」のVPSだ。

VPSについての詳しい記事を書いているので参考までに読んで頂きたい。
コメント