MT4では、様々なEAという自動売買ツール及びインジケーターがあります。
これらのツールって、いったいどんな風に動いていくのか?
そこが分からないと、これらのツールを使うのは怖いですよね。
インジケーターならば、過去チャートに挿入するだけで、概ねどんなものか分かりますが、例えばBUYやSELLなどのサインが出るインジケーターで、ありがちなのが、リペイントするものがあります。
このリペイントするインジケーターは、過去チャートだけ見ればほぼ完ぺきなタイミングでサインが出ているかと思います。
しかし、リアル相場で使ってみると、サインが点灯したかと思ったら、すぐ消えたりと、なんだこれ?
と思ってしまうことがあります。
そこで、インジケーターも予めリアル相場でどのタイミングで動作するのか?
これをバックテストで見ることが出来ます!
また、EAの場合、どんな時にエントリーと決済がされるのか。
そして、バックテストは期間や通貨ペアを指定できるので、どんな通貨ペアでどの期間で通用するのかを調べることが出来ます!
バックテストを極めれば、EAを貰った場合など、本当に運用して良いシステムなのかどうかを予め分かるようになるので、是非ともマスターしましょう(*’ω’*)
さぁ、それでは、MT4を使ってバックテストをする準備をしていきましょう♪
まず、サーバーにログインし、動かしたいEA(インジケーター)を用意します。
そして、バックテストを行う前にまず、設定の確認です。
これが出来て無いと、うまく出来ないことがあるので必須の項目です!
下記の3点をまず確認して下さい。
MT4を実際にエントリーして、リアル口座で使用するものと、バックテストを行うものとMT4を別々に用意した方が良いです。
何故かと言うと、この後の工程で、過去のバックテストデータを用意するのですが、オンラインになっていると、過去のデータと現在のデータが混ざってしまう可能性もあり、その場合バックテストの不具合となりがちです。
EAが有能だとしても、基本となるバックテストの基礎データが正しいものでないと、しっかりとしたテストを行うことができません。
とても重要なので、バックテストはバックテスト用にMT4を用意しましょう!
そして、もう一つは、MT4のヒストリーと呼ばれる、過去の通貨ペアの価格情報をどれ位前まで読み込むか?
という項目を設定します。
リアル口座でMT4を使う場合、この数値を小さくすることで、重くならず注文がスムーズに出せたり、決済しやすいので、少な目にする方がおススメなのですが、バックテストをでは当然長い(古い)過去データを取り込んだ方が良いと思います。
過去のリーマンショック時など、すごく大きく動いた相場などではどのような動作が起こるのか?
など、知っていた方が良いと思うからです!
では、実際に画像付きで、紹介していきます♪
ツールバーの『ツール』をクリックし、タブを表示します。
そして、タブが表示されたら、『オプション』をクリックします。
すると、オプション画面が表示されるので、
ヒストリー内の最大バー数 と チャートの最大バー数 を
『9999999999999999999999』
という具合に、9で埋め尽くします。
![MT4ヒストリーバー数](https://poporos.com/wp-content/uploads/2023/02/1295436dc4811ed63929ca0d0ba55634.jpg)
そして、『OK』ボタンを押します。
こちらで、ヒストリーの最大バー数の設定は完了です。
この作業をしないと、この後、いくら価格データを取り込んでも、過去データを参照することが出来ず、思い通りにバックテストが出来ないのでご注意を。
また、確認で再度同じように、オプション画面を開いてみると、このようになっていました。
![mt4最大バー数更新後](https://poporos.com/wp-content/uploads/2023/02/55f871fc0943276988080422c5a0c322.jpg)
ヒストリー内の最大バー数 と チャートの最大バー数 が
2147483647 という数字になっておりました。
これが、MT4が参照できる最大のバー数です。
ここも重要です。
バックテストをしたい通貨ペアに、データが残っている場合、データが混ざってしまうと正しいバックテストができません。
メジャー通貨などは、最初から直近1年位のヒストリカルデータが入っている為、こちらをまず削除しましょう!
画像を使って説明しますので、ご確認下さいませ。
下記は、AUDJPYのデータを更新したい場合を例にしたものです。
ツールバーの一番左『ファイル』をクリックし、『データフォルダを開く』をクリックします。
そして、『history』をクリックします。
![ヒストリー確認](https://poporos.com/wp-content/uploads/2023/02/0a13f4d6cd44279de6e16b8709f653ca.jpg)
今回は、alpariという証券会社のデモ口座のヒストリカルデータを更新するので、
Alpari-Demo というフォルダをダブルクリックします。
違う証券会社でも、基本は 証券会社名+Demo と表記されているかと思います。
また、リアル口座の場合、サーバー名のフォルダになっております。
例えば、証券会社名+Live などと表記されるかと思います。
MT4のリアル口座にログインする際、サーバーを選択されるかと思いますので、そちらをご確認下さい。
![ヒストリー確認2](https://poporos.com/wp-content/uploads/2023/02/bb41d58a98965116875823ce18198f8f.jpg)
そして、今回Demo口座のフォルダ内には、下記のように、AUDJPYのデータが色々と入っております。
AUDJPY1.hst
AUDJPY5.hst
AUDJPY15.hst
AUDJPY30.hst
AUDJPY60.hst
AUDJPY240.hst
AUDJPY1440.hst
AUDJPY43200.hst
と言うようなデータがありました。
これは、各時間軸ごとのデータとなっております。
AUDJPY1.hst は1分足。
AUDJPY5.hst は5分足。
AUDJPY15.hst は15分足といったように、時間軸ごとにデータが分かれております。
ですので、更新したい通貨ペアをすべて選択し、削除して下さい。
![ヒストリー確認3](https://poporos.com/wp-content/uploads/2023/02/3bc742588beffa85de3640b680de7c48.jpg)
では、更新したい通貨ペアのヒストリカルデータが削除できたら次へ進みましょう!
そして、次は重要なヒストリカルデータ(価格データ)を準備していきます。
こちらは、大きく分けて2種類があります。
1つは、MT4上から、ヒストリカルデータをダウンロードする方法。
もう一つは、ヒストリカルデータを他の証券会社のサイトからダウンロードしてくる方法です。
順番に開設していきます!
1つ目は、MT4のヒストリーセンターから価格データをダウンロードする方法です。
とても簡単な方法です。
ですが、注意点があります。
基本、このヒストリーセンターと言いうのは、MT4を開発しているメタクオーツ社からのデータをダウンロードすることになります。
操作としては、簡単なのですが、実は価格データの精度がとても悪い(;^ω^)
と評判で。。。
使用するのは推奨できません。
ダウンロードしようとすると、下記のようなアラート画面が出ます。
![MT4ーメタクオーツアラート](https://poporos.com/wp-content/uploads/2023/02/58db322873fd8a615b8de8147583c9b3.jpg)
では、どうしたら良いのか?
と言う訳ですが、実は、この方法でメタクオーツ社のデータでは無く、証券会社自社データがダウンロードできる証券会社があります。
それが、『Alpari』アルパリという証券会社です。
海外の証券会社ですが、こちらはとても信頼のある証券会社で、EAを開発されている方でも、多くの人が使用しておりますので、安心してご利用できます。
名前、メールアドレス、電話番号だけ入力すれば簡単に、利用できるので、是非ご利用下さい。
AlpariのMT4をダウンロードするには、こちらをクリック!
では、無事にAlpariのMT4がダウンロードでき、デモ口座も開設が出来たら、下記のように進めていきます!
まず、ツールバーの『ヒストリーセンター』をダブルクリック。
そして、ヒストリーセンターから、更新したい通貨ペアを開き、1分足データをクリックします。
そうすると、先ほどAUDJPYのデータはすべて消しましたので、データは消えて 0レコードとなっているかと思います。
もし、通貨ペアのデータを消したはずなのに、データベースのレコードがある場合は、
一旦MT4を終了させ、再起動させて下さい。
この時も、必ずオフラインの状態にして下さいね!
※オンラインだと、MT4が立ち上がった瞬間にある一定期間の価格データがダウンロードされてしまう為注意です。
![ヒストリーセンターダウンロード](https://poporos.com/wp-content/uploads/2023/02/c27d7220b3b2c733dace3a739eb2bc08.jpg)
0レコードというのが確認できたら、
『ダウンロード』ボタンをクリックします。
![ヒストリーセンターダウンロードステータス表示](https://poporos.com/wp-content/uploads/2023/02/0086438f30cabc9529600cfe0cbc9aba.jpg)
そうすると、このようにダウンロードステータス表示がされます。
何分かかかるので、待ちます。
無事ダウンロードが完了すると、このような画面になります。
![ヒストリーセンターダウンロード完了1](https://poporos.com/wp-content/uploads/2023/02/e6b7ad7e7716eb96cc0032b022135131.jpg)
ずらっと、価格データが入りました!
この時、何年からのデータが入っているか確認しましょう。
![ヒストリーセンターダウンロード完了2](https://poporos.com/wp-content/uploads/2023/02/7b0af1a6fb48cf3e9b855f55dbc917ce.jpg)
データベースの右のバーを一番下にすると確認ができます。
通貨ペアにもよりますが、だいたい2000年位からのデータが入っているかと思います。
では、1分足の価格データがダウンロードできたら、次は、このデータを使って上位足のデータを生成していきます!
えっ、先ほどのヒストリーセンターから各時間足をダウンロードするんじゃないの?
と思われるかもしれませんが、その方法だと時間がとてもかかる。
その上、下位足と上位足のデータを別々にダウンロードすると、下位足と上位足で価格差が出てしまうことがあったりして、正しくデータが取れないこともあります。
ですので、ヒストリーセンターからは1分足のデータだけを取得し、この1分足の細かいデータを基に上位足のデータを生成することで、一貫性がり、正しいデータを作ることが出来ます。
また、その際使用するツールがピリオドコンバーターALLというものになります。
このツールは、スクリプトと呼ばれ、実行すると1度のみしか動作しないプログラムで、1分足のデータから上位足のデータを自動生成してくれます。
デフォルトのMT4には、通常のピリオドコンバーター(period_converter)というものが入っておりますが、こちらの場合、手動で各時間足を1つづつ生成しなければならないので、結構面倒くさいので、それよりも一度実行したら、全時間軸を一気に生成してくれるピリオドコンバーターALL(period_converter_ALL)の方が楽なので、こちらをおススメします!
ピリオドコンバーターALLは、MQL5と言って、メタクオーツ社が運営するコミュニティーサイトより配布されております。
こちらよりどうぞ→
クリックすると、このような画面になるので、
PeriodConverterAllTimeframes.mq4
をクリックしダウンロードして下さい。
![ピリオドコンバーターALLダウンロード](https://poporos.com/wp-content/uploads/2023/02/4b9331afbe2197e2b27d697d9071631f.jpg)
ダウンロードしたら、この画像のように、ツールバーの
『データフォルダを開く』 → 『MQL4』 → 『Scripts』
の順番にフォルダを開き、『Scripts』内に PeriodConverterAllTimeframes.mq4 を入れて下さい。
![mt4スクリプト画面](https://poporos.com/wp-content/uploads/2023/02/2d1db1926c4c2f8765f874c7d2c068fb.jpg)
この作業ができましたら、ナビゲーター内の『スクリプト』に
period_converter_All
があるはずなので、確認後、挿入するチャートの1分足を開いて下さい。
また、今までの流れで、データを生成するデータは一旦すべて削除済みなので、ダウンロードした1分足以外の時間軸を開くと、この画像のように、アップデート待機中となるはずです。
![MT4アップデート待機中画面](https://poporos.com/wp-content/uploads/2023/02/bd76356b83501ac59ca237b7dd993be5.jpg)
もしこの時、この文字が出ずに、チャートが開くと、データの削除がうまくいって無い、または、オンラインになっていて、価格データが自動で直近分だけダウンロードされてしまっていますので、その場合は、またこの記事をよく見直してもう一度挑戦しましょう!
それでは、大丈夫な方は、再度挿入する通貨ペアの1分足を開いてください。
その後、ナビゲーターのスクリプト内の period_converter_All を
ダブルクリック 又は、チャートにドラッグ&ドロップをして下さい。
![MT4ピリオドコンバーター](https://poporos.com/wp-content/uploads/2023/02/c38c22a221b84fc7dbf8324b5c78fd2f.jpg)
そうすると、チャート左上に、数字が動きだします。
これが、ピリオドコンバーターALLが、1分足データから上位足データを生成している動作となります。
![MT4ピリオドコンバーター2](https://poporos.com/wp-content/uploads/2023/02/2d10e80ddccacb4214f805bc85510e82.jpg)
左上の数字が無くなったら、完了です。
各時間足を開いてみましょう!
![MT4ヒストリカルデータ完了](https://poporos.com/wp-content/uploads/2023/02/cf7f78331c16d9c9cef7a6965ff5cece.jpg)
このように、最初は開けなかった5分足も開けています。
念の為、各時間足すべて開けるかチェックして下さい。
もし、アップデート待機中と出てしまう際は、一度MT4を終了し、再起動して下さい。
これでうまく反映されるはずです♪
以上が、ヒストリーセンターから価格データをダウンロードする方法でした。
お疲れ様です。
慣れると、とても簡単です(*’ω’*)
そして、今度は、ヒストリーセンターからダウンロードでは無く、自分でヒストリカルデータを用意して、インポートをする!
と言う方法です。
こちらは、上記で紹介した『Alpari』社を使わなくても、どの証券会社のMT4でも可能です!
自分でヒストリカルデータを用意してインポートするって、とても難しそう(;^ω^)
と思いがちですが、そうでもありません。
1分足の価格データを無料で配布している証券会社があるので、そこで価格データをダウンロードするだけです。
その後、ヒストリカルデータをインポート → ピリオドコンバーターALL で上位足生成する。
だけなので、難しくありません。
ただ、この方法だと、ダウンロードする証券会社が、通貨ペアによっては、無い場合があります(;^ω^)
メジャー通貨であれば、まず問題は無いのですが、マイナー通貨やゴールド、シルバー、日経225などは無かったりします。
もし、検証したい通貨が無ければ、インターネットで『ゴールド ヒストリカルデータ』など検索して頂き、
配布している証券会社を探して、挿入するか、最初にお教えした、Alpari社だと、そのままダウンロード出来るので、この方法を試してみて下さい。
では、ヒストリカルデータをダウンロードしましょう!
いろいろあるかと思いますが、EA制作者の中で良く使われているヒストリカルデータは、FXDDと言う証券会社がよく使われております。
FXDDのヒストリカルデータはこちらより→
ページにジャンプすると、このように、通貨ペアがズラッと出るので、お好きな1分足データをダウンロードして下さい。
![FXDD](https://poporos.com/wp-content/uploads/2023/02/FXDD.jpg)
この方法だと、メールアドレスなどの入力も不要なので気軽ではあります。
しかし、通貨ペアによっては、価格データが少し抜けている場合があるなど、精度に関して、少し不安な部分もありますので、どちらかというと、最初にお教えしたAlpari社の方が、通貨ペアも多いし確実かと思いますが、どちらかの方法で、価格データを用意して下さい。
また、このFXDDでダウンロードすると、Zip形式で圧縮されているので、解凍しておいて下さい。
その後、下記の画面を見ながら順に操作方法を記載しますので、参考にして下さい。
![MT4ーヒストリカルデータをインポート](https://poporos.com/wp-content/uploads/2023/02/5de0455dfb8036fa5094f1721e7d714e.jpg)
①ツールバーからヒストリーセンターをクリックする。
②通貨ペアの1分足を選択
③インポートボタンをクリック
④画面のインポートが挿入する通貨ペアと1分足を再度確認し、参照ボタンをクリック
⑤先ほどダウンロードして解凍した、hstファイルを選択。
※この時、ファイルの種類を『All Files』にしないとデータが出て来ないので注意。
⑥価格データが挿入されたのを確認
以上が流れとなります。
そうすると、1分足データが何もなかったのですが、このように、ズラッと価格データが入ったのが確認できます。
![ヒストリカルデータインポート完了画面](https://poporos.com/wp-content/uploads/2023/02/50666ae4db4413be94f902e0ceaf3c79.jpg)
データベースのボッチをしたにスクロールして、何年からのデータが入っているのかを確認しておきましょう!
以上で完了です。
お疲れ様でした。
あとは、先ほど紹介した、ピリオドコンバーターALLを使って、同じように上位足データを生成します。
ピリオドコンバーターALL使って各時間足のデータを生成する
の項目を参照して下さいね!
それでは、実際にバックテストをしてみよう!
また、バックテストをするEAをMT4にまだ入れてない方は、こちらの記事を見てみてEAを挿入して下さい。
![mt4ーEA導入稼働方法](https://poporos.com/wp-content/uploads/2023/02/45e557a61b4412a9f00dd8e1109abd35-160x160.jpg)
それでは、バックテストをするにあたって、バックテストはストラテジーテスターという機能を使ってテストしていきます!
分かりやすく、画面を使って解説していきます!
まずは、ツールバーの赤い四角で囲ったボタンをクリックします。
そうすると、チャート下にテスターという枠が出てきます!
これが、ストラテジーテスターとなります。
![ストラテジーテスター解説画面1](https://poporos.com/wp-content/uploads/2023/02/95df62d7bed1d7295aef2473bdf2b7a5.jpg)
これを使って、インジケーターやEAがどのように動くのか?を解説していきますね!
今回は、EAを使って解説していきます。
まずは、各箇所の説明です。
一気に覚えなくても、何度も触っている内に自然に覚えていきますので、最初はこの解説を見ながら、じっくりと覚えていきましょう(*´▽`*)
最初に、黄色の四角で囲んだ箇所の選択ですが、ここで、
・エキスパートアドバイザ
・インディケータ
を選択することができます。
今回は、『エキスパートアドバイザ』を選択します。
そして、その隣の緑色で囲んだ箇所で、動作確認をしたいEAを選択します。
その後、番号を振りましたので、順に設定して下さい。
通貨ペアの選択です。
EAによっては、通貨ペアが指定されているものも多いので、EAの仕様書などを参考に、通貨ペアを設定して下さい。
ここで注意点としては、ヒストリカルデータ(価格データ)が無い場合は、ストラテジーテスターを実行しても何も起こりませんので、選択する価格データが何年から入っているのか?
を是非確認して下さい。
このモデルと言うのは、バックテストの精度です。
・全ティック
・コントロールポイント
・初値のみ
の3つ種類が選択できます。
もちろん、全ティックが一番精度が高くて検証するには一番良いのですが。
その代わりに、動作確認にとても時間がかかる(;^ω^)
のがデメリットです。
またEAによってですが、1ポジ系で確定足しか動かないEAであれば、初値でも構いませんが、ナンピン系のEAの場合は、最低でもコントロールポイント以上での動作確認が必要です。
ナンピン系の場合、1ポジ目が確定足だとしても、2ポジ目以降は、指定したpipsでポジションを持ちますが、これが初値動作になると、ポジションを持つ位置が大幅に変わってしまいます。
ですので、ちゃんとした動作確認ができません。
まず、よく分からなければ、中間のコントロールポイントで試してみましょう!
EAの開発などを行っていく場合も、最初はコントロールポイントで検証してみて、もう修正する箇所が無くなったら、全ティックにするなどでも良いと思います♪
こちらの『期間を指定』にチェックを入れると、指定した期間でのみ動作がします。
例えば、去年1年だけの成績を見たい。
リーマンショック時から現在まで長期で見たいなど。
様々な検証ができます。
やはりEAとしては、長期で耐久性のあるEAの方がより信頼はできます。
長きに渡り、常に右肩上がりならばとても安心して運用できますよね!
どんな動きになるのか?
いろいろ検証して、EAのクセを知りましょう!
また、この際も指定した期間のヒストリカルデータがMT4に入っているのか?をチェックして下さい。
もし無ければ、このページを参考に、ヒストリカルデータを入れて下さい。
このビジュアルモードにチェックを入れると、チャートを表示しながら、どこでエントリーし、どこで決済するのか?
を見ながら検証できるモードとなります。
EA開発の初期段階で、ちゃんと動作するかなどよく利用します。
ただ、長期のテストをしたい場合、ずっと目視する必要は無い為、その際はチェックを外しましょう!
チェックを外した場合でも、テストが終わった後、右の方に『チャートを開く』というボタンがあるので、こちらをクリックすると、エントリー&決済した箇所を確認することができます!
ビジュアルモードにしない方が検証時間としては、かなり早い!
ので、使い分けて利用しましょう。
なかなかイメージしずらいかと思うので、一度ビジュアルモードとビジュアルモードじゃないものと比べてみましょう♪
こちらは、テストする時間軸です。
これも、EAによっては、指定する時間軸しか動かないものも多いかと思います。
ですので、1分足 ~ 日足 まで、各時間足を指定しましょう。
ちなみに、表記は
M1 1分足
M5 5分足
M15 15分足
M30 30分足
H1 1時間足
H4 4時間足
Daily 日足
となります。
テストする際のスプレッドを指定できます。
デフォルトで選択できるのは、
現在地
2
5
10
30
50
100
となっております。
このスプレッドは、結構重要項目で、例えば、2を選択した場合、スプレッドが2pipsと思いがちなのですが。
実は、2ポイントとなります。
2ポイントというのは、pipsにすると、0.2pipsなので(;^ω^)
海外の証券会社では、全く通用しません。
ナンピン系のEAならまだしも、スキャル系で、販売されているEAで、このステラジーテスターの耐用スプレッドが、2とか5とか設定されていたとしたら、そのEAは、リアル口座では、勝てないことが多いです。
いくら良い成績でも、使う証券会社の平均的なスプレッドを設定する必要があります。
海外の証券会社なら、
USDJPY 15 (1.5pips)
EURUSD 20 (2pips)
GBPJPY 35 (3.5pips)
USDCAD 20 (2pips)
以上は、最低でも設定すべきかと思います。
一度、お使いの証券会社のスプレッドがどれ位なのか知っておきましょう。
絶対ではありませんが、比較的ボーナスをよく出している証券会社は比較的スプレッドが高めになっていることが多いです。
また、15(1.5pips)にしたい時はどうしたら良いのか?
なんですが、スプレッドの数値のとこにカーソルを持っていき、この数値を手動で書き換えられる ので、キーボードで15と入力すれば、設定することが可能です!
EAがどこまでのスプレッドに耐えれるのか?
と言うのも知っておくことでより安心できますね(*’ω’*)
こちらをクリックすると、基本的には、EAのパラメーター設定ができます。
だいたいのEAはデフォルト値が一番良くなるように設定がされているかと思いますが、もしパラメーターを変更した場合はどんな成績になるのか?
気になる時があるかと思うので、その際は是非この設定項目から変更して試してみて下さい。
このストラテジーテスターは、リアル口座で運用する前に、どんな条件の時、どんな風になるか?
というのが、とことんシュミレーションできるし、無料なので、ドンドン検証して使いこなしてみましょう!
また、パラメーター以外に共通の設定項目があります。
それは、初期証拠金の設定です。
下記の画面をみて下さい。
そして、自分のMT4の画面を開いてみて下さい。
何が違うか分かりますか?
![MT4エキスパート設定JPY](https://poporos.com/wp-content/uploads/2023/02/88cf027ac38cf31dd744c6e0efa7b506.jpg)
はいっ、通常は初期証拠金がUSD(米ドル)で設定されています。
また、USDの欄の右端のボタンをクリックすると、
USD
EUR
GBP
CHF
の4通貨が指定できます。
しかし、画面はJPY(円)表記になっております!
えっ、円でもMT4って動かせる?
と疑問が出て来ますが、実はできるんです♪
画面のように、通貨の欄をマウスで選択し、キーボードでデリートキーで消し、手動半角でJPYと入力して下さい。
そうすると、円でも設定することができます!
この場合、ストラテジーテスターの結果には、単位は表示されない為、見せる方には、円での単位と教えた方が良いです。
何も表記が無い場合は、基本USD計算になっているかと思いますが。
なかなかUSDだとイメージしにくいかと思うので、JPYにすると計算がしやすいかと思います(*’ω’*)
この方法は、以外に知らない方も多いかもしれません。
是非いろいろ触ってみて覚えていきましょう!
たくさんのパラメーターを検証すのに、とても便利な機能です。
こちらにチェックを入れると、先ほど⑦で紹介した、エキスパート設定のパラメーターで、例えば利確を10pipsでパラメーターで設定していた場合、20pipsや30pisでは成績はどのように変わるのか?
と気になるとこですが、この最適化で、このEAは、利確は何pipsが一番適切なのか?
を一気に知ることが出来ちゃうのです。
ただ、あまりこの機能に頼り過ぎてしまうのも、巷でよく言われている『過剰最適化』というもので、バックテスト上だけを良く見せる為だけのものになってしまい、リアル口座では全く同じようにならない(;^ω^)
なんてことが起きてしまう原因にもなることがあるので、注意が必要です。
この項目だけでも、かなりのコンテンツになるので、一旦今回は、この最適化をすれば、気になるパラメーターを一気に検証することが出来る!
そう思っておいて下さい。
最適化の記事も、また別の機会にお楽しみに!
なお、パラメーターの項目を増やし、全ティックを長期で最適化すると、まる2日位かかるなんてこともあるので、時間に余裕がある時に最適化しましょう!
睡眠前などもおススメです(*’ω’*)
では、以上の項目をすべてチェックしたら、最後に、青い四角で囲んだスタートボタンを押しましょう!
EAや検証期間によって、時間は様々ですが、バックテストが始まります。
このバックテストをマスターすれば、変なEAを買ってしまった(;^ω^)
なんてことは、かなり減るし、買う際になんでスプレッドはこんなに少ないのか?
なんで検証期間はこんなに短いのか?
などなどいろいろと突っ込んで聞けるようになるかと思います。
その質問に正しく答えられない出品者からは、やはり買わない方が良いからです!
では、バックテストが終わったら、見方について解説致します。
こちらも、何度もテストを繰り返していると見方は分かってくるので、何度も操作して覚えていきましょう(*´▽`*)
そして、パラメーター等を設定し、スタートボタンを押すと、下記の画面のように、ステータス表示が現れます!
この表示が、右の方まで行くと、ステラジーテスターの検証が終了します。
![ストラテジー実行](https://poporos.com/wp-content/uploads/2023/02/0884c1de7a1277783a52431f9840743d.jpg)
ひたすら待ちましょう♪
そして、テストが終了すると、いろんなレポート(結果)を見ることができます!
一番下の欄に、
『セッティング』『結果』『グラフ』『レポート』『操作履歴』
とタブがあります。
『結果』タブには、何時何分エントリーし、決済したか細かく表示されます。
数字だけ見てもなかなか分かりずらいので、
『グラフ』タブを選択してみましょう!
結果の数値(資金推移)をグラフにして表示されます。
こんな感じです。
![ストラテジー結果グラフ](https://poporos.com/wp-content/uploads/2023/02/001706d277a4835de193b0deca815766.jpg)
こちらのEAは、見事に右肩上がりで素晴らしいですね♪
また、グラフの下には、『数量』という欄がありますが、こちらはLOT量になります。
慣れてくると分かると思いますが、この図を見ただけで、ナンピン系のEAだと分かります♪
主にEAは、スキャルピング系、スイング系、ナンピン系、グリッド系などありますが、だいたいこんな感じのグラフになるという傾向があるので、EA開発を長くやっていると、グラフを見ただけで、もしかしたらこんなEAじゃないかな?
なんて予想することは、そんなに難しいことではありません。
レポートタブです。
こちらも結構重要です。
いろんな項目がありますが、まずこの黄色で囲んだ『不具合チャートエラー』を見て下さい。
これが0であるか確認して下さい。
基本このページで紹介している方法なら、0になっているかと思いますが、ありがちなのが、オンラインになっていて、過去データと直近のリアルデータが混ざってしまうと不具合を起こすことがあるかと思います。
![ストラテジー結果レポート](https://poporos.com/wp-content/uploads/2023/02/15576dfa5cc233bd7e1d886450345e87.jpg)
基本は、0じゃないとそのデータは信頼できませんので、0以外の場合は、再度価格データを入れ直しましょう!
面倒ですが、間違っている環境下では、何をやっても正しい結果は得られませんのでご注意を。
また、その他の項目を表にしましたのでご参考下さい(*’ω’*)
項目 | 意味 |
---|---|
テストバー数 | テストをしたバーの数 |
モデルティック数 | テストに用いたティック数 |
モデリング品質 | バックテストの品質 |
不整合チャートエラー | チャートのデータに抜けなどがある場合 |
スプレッド | テストをした時のスプレッド |
初期証拠金 | テスト開始時の金額 |
純益 | 損益金額 |
総利益 | 利益の合計 |
総損失 | 損失の合計 |
プロフィットファクタ | 総利益÷総損失 |
期待利益 | 損益÷トレード回数 |
絶対ドローダウン | 開始資金に対して最大のドローダウン |
最大ドローダウン | テスト期間での最大のドローダウン |
相対ドローダウン | 最大ドローダウンの比率 |
総取引数 | 取引を行った回数 |
売りポジション、買いポジション | 売りで入った回数と買いで入った回数 |
最大勝トレード、最大負トレード | 勝ちトレードの最高利益、負けトレードの最高損失 |
平均勝トレード、最大負トレード | 勝ちトレードの平均利益、負けトレードの平均損失 |
いろんな項目があって何を見たら良いのか?
と思いますが、まず、
あなたはどんな成績のEAなら買いたいと思いますか?
ここを考えてみて、気になる項目をチェックしてみて下さい。
とにかく勝率が良いもの。
取引回数が多いもの。
最大ドローダウンが低いもの。
いろいろとあります。
どれも大切ではありますが。
まず私が、見るのは、『初期証拠金』に対しての『純益』です。
仮に、100万円スタートして、損益がー90万であれば、そんなEAは買いたく無いですし。
テストしたある程度の期間を通しても、プラスになっていなければ、まずそのEAは選びません。
投資なので、当然ですよね(;^ω^)
そして、次に大切にしているのは、
『リカバリーファクタ』です!
ん?
そんなもの、表にはなかったぞ。。。
はいっ、こちらは直接結果には現れません。
実は、このリカバリーファクタは、純益 ÷ 最大ドローダウン で計算ができます。
どういうことかというと、最終的に出た純利益に対し、一番大きな含み損をした金額がどれ位だったか?
をみます。
言葉だけで聞くと難しく思うかもしれませんが。
どんなに利益を出していても、最大ドローダウン(一番大きい含み損)が大きすぎると、運用していてヒヤヒヤする為です(;^ω^)
逆に考えると、しっかり利益が出て、最大ドローダウンが少ないということは、運用期間中、含み損が少ないので安心してEAに任せておける!
という信頼がある為です。
逆に、余裕があれば、これくらいまでロットを張っても安心だな。
と予想することもできます。
どう感じるかは、人にもよりますが、ちゃんとしたEA開発者ならば、ここをすごく大事にします。
このリカバリーファクタが、5以上はあるといいかと思います♪
あとは、取引回数が極端に少なすぎないことです。
あまりにも少ないと信頼度が下がるので、ここも注意点でしょうか!
とりあえずは、こんな感じかと思います(*’ω’*)
良いEAに出会う為にも、しっかりと分析出来るように頑張りましょう!
また、ビジュアルモードをせずに、テストした場合、検証終了後、
『チャートを開く』ボタンを押すと、
このように、チャートが開き、どこでエントリー及び決済したかを見ることができます!
![ストラテジー結果チャートを開く](https://poporos.com/wp-content/uploads/2023/02/4f120fcbba1479995a70a319e3dd1f47.jpg)
リアルな動作チェックで無く後からの確認でも良ければ、ビジュアルモードにしない方が、各段に検証スピードが早いので、おススメです!
また、テスターのスタートボタンを押して、一瞬で終わる時などは、エラーが出ていることが多いかと思います。
この時、どうやってチェックするかと言うと、
『操作履歴』
のタブを開きましょう!
ここに、ERR_○○○○ などと出ているときは、エラーです。
また、別の記事で、MT4のエラーコードを記載しますので、ご参考下さい。
![mt4エラーコード表紹介](https://poporos.com/wp-content/uploads/2023/02/0812c1dbe1c38fc6ae9e54a31f088b06-160x160.jpg)
①稼働するEAによって、制限がかけられている場合があります。
口座制限などかけられていると、バックテストも出来ないかと思います。
認証されている口座でバックテストをしましょう!
②よくありがちなのは、エラーコードの表にもありますが、ヒストリカルデータが無い場合です。
操作履歴に、何事もなく完了しているのに、何も動作がしない場合です。
こちらは、テストは無事に完了しているのですが、エントリーがなかったことにより、何も表示されなかった例です。
よくありがちなのが、設定するスプレッドです。
EAでは、よく最大スプレッドを設定出来たりします。
しかし、ストラテジーテスターで設定するスプレッドが、その数値を上回っていると、EAは動くことが出来ません。
また、EAの仕様書などを見て、稼働させる時間軸と通貨ペアは合っていますでしょうか?
ここが正しく無いと、EA内で制限が掛けられていて動かない場合もあります。
EAの作者によりけりですが、本来の作動させる時間軸や通貨ペアじゃない場合、アラートやエラー文を出力するプログラムにしていれば、エラー文が出て分かりやすいのですが、エラー文を出すというコードをプログラムしていない場合、エラーは出ないが、動かないという場合も考えられます。
今一度、EAの仕様書をよく読んでみましょう!
EAの開発段階には、数多くのエラーとの闘いで、コードを修正していくものですが、基本リリースされたEAは、真っ当なEAであれば、様々なエラー対策をしているはずなので、購入したEAなどは、稼働する通貨ペア、時間軸、最大スプレッド、証拠金に対して過度なロットなどを注意すれば、基本動かないことは無いかと思います。
以上です。
お疲れ様でした。
このページに書いてあることを繰り返し繰り返し続ければ、操作方法はもちろん、そのEAは、どこまで信頼ができるか?
が分かって来るかと思います!
頑張って下さい(*’ω’*)