こんばんは。
ヒロセです。
初めに
結論から言うとバックテストは失敗です。
今回の記事で有益なのは、ストラテジーテスターの起動と設定方法、バックテスト結果の保存方法のみです。
その先は迷走しているだけなので、私の困る様子が見たいというお暇な方のみご覧くださいませ。(;^ω^)
前回までのあらすじ
・FXTFに口座を開設しました。
・MT4をインストールしてログインできました。
・EAをダウンロードしてMT4に設定しました。
・ヒストリカルデータをダウンロードしてMT4に取り込みました。
・あとはバックテストを実行するだけです。←今ここ
というわけで、今回はいよいよバックテストの実践編です。
『FXメタトレーダー実践プログラミング』
という書籍の特典としてついていたタダでダウンロードしてきたEAが果たして使えるのか??
ドキドキですよね♪(*´ω`*)
今回も画像タップリでわかりやすくお届けします。
目次
MT4でバックテストをしてみよう
前回までで、バックテストを行うための準備はほぼ終了しました。
あとはテスターを設定して実行するだけです。
(テストを行う通貨ペアは南アランド円です)
ストラテジーテスターの起動と設定
では早速、MT4を起動して、ツールバーにあるストラテジーテスターをクリックしてください。
ストラテジーテスターをクリックすると、バックテストの設定ウインドウが開きます。
ウインドウが開いたら設定を入力していきます。
①ストラテジー(EA)を選ぶ。今回は『RIDOrder2』を選択してダブルクリック。
②通貨ペアを選ぶ。ZARJPYを選択してダブルクリック。
③モデルを選ぶ。とりあえず、最も早い『初値のみ』を選択。
④期間を選ぶ。 M1(1分足)を選択。
⑤期間を指定する。『期間を指定』にチェックを入れ『開始日』と『終了日』を入力する。
①~⑤までの設定が終われば『スタート』をクリックします。
ダメだった、やっぱりダメだった・・って話
全ての準備を終わらせ、あとはスタートボタンをクリックするだけです。
これで、バックテストが始まります。
普通ならスタートボタン左のバーがグリーンに伸びていって進捗状況を知らせてくれます。
が、
今回はうんともすんともいいませんでした・・(;^ω^)
がっくり・・ε-(‐ω‐;)ハァ
ま、いっか・・OK!想定の範囲内です。(*´ω`*)
バックテストがうまくいくとこうなる
失敗の原因を調べる前に、ひとまず、バックテストがうまくいったとしたらどのような感じになるのか試してみましょうか。
ではEAを『RIDOrder2』から『MACD Sample』へ変更して『スタート』をクリックしてみます。
様子見なので、一瞬で済むように期間も短く設定してます。(大体1年8か月くらい)
スタートを押すと、少しのタイムラグの後、一瞬でバーが伸びて『ぴよっ』とかいう微妙な効果音がなって終了を知らせてくれました。(*´ω`*)
下の『グラフ』タブをクリックすると期間中のパフォーマンスがグラフで確認できます。
キレイな右肩下がりで負け続けることがわかります。(;´・ω・)
テスト結果を保存する方法
次にバックテスト結果を保存する方法をみてみましょう。
『レポート』タブをクリックし、画面上で右クリックすると、『コピー』『レポートの保存』の選択ウインドウが開くので『レポートの保存』をクリックしてください。
保存先のフォルダを指定して保存します。
保存できたら、ファイルを開いて中を確認してみましょう。
保存先を確認すると『Strategy Tester』のファイルが、GIFとHTMの2つの種類で保存されています。
GIFファイルの方は上記のグラフ画像が保存されています。
HTMファイルはブラウザで開けますので右クリックから、『プログラムから開く』を選択し、お使いのブラウザを選択して開いてみましょう。
ここでは『Google Chrome』を使います。
HTMファイルを開くとこのようにレポートが保存されています。
以上が、バックテストの方法とテストレポートの保存方法になります。
注)これから先、マネしてはいけませんw
注意ポイント
うまくいかなかった原因はコピペするファイルが『RIDOrder2』だけだったことなんですが、
コレから先はそれが判明する前だったので、原因究明について迷走を始めています。(;^ω^)
すべて無駄な努力だったわけですが、面白いので削除せずおいておきます。w
お暇な方のみお読みくださいませ。(*´ω`*)
バックテスト失敗の検証
では今回なぜ『RIDOrder2』でバックテストが出来なかったのかを検証してみることにしましょう。
とりあえず、『RIDOrder2』のパラメーターの変更を試みました。
EAのパラメーターを変更してみる
EAのパラメーターの変更は、パラメーターウインドウから行えます。
『ナビゲーター』ウインドウでEAをダブルクリックするか、チャート上にドラッグ&ドロップすることでパラメーターウインドウが開きます。
ちなみに『MACD Sample』ではちゃんとパラメーターウインドウが開きましたが、『RIDOrder2』では開きませんでした。(;´・ω・)
よって、パラメーターが失敗の原因の線はなしです。
あるハズのファイルがないのを発見
さらに、よくよくみてみたところ、バックテストの設定ウインドウでのEA選択画面ではファイル名が『RIDOrder2.ex4』となっていました。
で、EAが保存されているフォルダを見てみると・・(MT4からファイル>データフォルダを開く>MQL4>Experts)
初めから入っていたEA、『MACD Sample』と『Moving Averege』にはMQL4ファイルとEX4ファイルがあるのに対して、
『RIDOrder2』にはEX4ファイルがありませんでした。
これや~~~!!( ゚Д゚)
MQL4ファイル、EX4ファイルとは
MQL4ファイルとEX4ファイルの違いを調べたところ、
MQL4は編集用のテキストファイルで、エディタで編集することができる(ソースコード)なのに対して、
EX4は実行ファイルであり、この形式じゃないとMT4が読み込むことができない(オブジェクトコード)とのことでした。
MT4が最新のバージョンであれば、MT4起動の際にMQL4ファイルが自動的にコンパイル(変換)されEX4ファイルが作成されるハズなのですが、
何かしらの原因によりコンパイルがうまくいかなかったという可能性が考えられます。
手動コンパイルで原因を特定する
MT4起動での自動コンパイルができていないことがわかったので、手動でコンパイル操作を行って原因を探っていきたいと思います。
手動でのコンパイル手順
まず、エディタを起動します。
MT4画面の赤枠部分、ツールバーの『メタクォーツ言語エディタ』もしくは、テスターの『エキスパート編集』をクリック。
エディタが開いたら、左の『ナビゲータ』ウインドウでEXpertsを展開し、目的のEAをダブルクリックしてソースコードを表示します。
これで、目的のMQL4ファイルが編集できることになります。
この状態でツールバーの『コンパイル』をクリックします。
ここまでが、手動コンパイルの手順となります。
エラー表示で原因と場所が特定できる
手動でコンパイルを試みた結果、このような画面となりました。
MT4起動時に自動的にコンパイルされないので、当然のように手動でもコンパイルできませんでした。(;^ω^)
ただ、この方法だとエラー表示が出て、『どのようなエラーが』『どの行、列にあるのか』が特定できます。
エラーとその場所が特定できたので、対処が可能であると思われます。
が、
正直、どうやって直せばいいのかわかりません・・(;^ω^)
本買って勉強してみます
正直な話、新しいEAを導入するのが一番早い気もしますが、せっかくここまで来たんだから最後までやってみようと思います。
なので、EAの特典が付属していた書籍を買うことにしました。
EAをダウンロードしたオリジナルの
『FXメタトレーダー実践プログラミング』
を買うつもりでいたのですが、販売が2007年と古いのと値段がちょいとお高いので、同じ著者の
『新MT4対応 FXメタトレーダープログラミング入門』
を購入して勉強することにします。(kindle版で900円とお値打ちでした)(*´ω`*)
サンプルプログラムも付属しているようなので、こちらのEAに差し替えるかもしれません。
どのみち理解しないと先に進めないので頑張りたいと思います。
まとめ
まぁ、最初からうまくはいかないだろうとは思ってはいましたが、やっぱりうまくいきませんでした。(;^ω^)
予想はしていましたが、こうなるとちょっと凹みますよね~
最近はFXの方もさっぱり利確しないし・・(;´・ω・)
ここから先はプログラミング言語とかの話になりますので、私にとっては未知の領域です。
が、しかし、MT4でEAを自作もしくは改造して自分の思うように動かしたいのなら覚えておいて損はない知識だと思われます。
あまり期待せずに次回をお待ちいただきますよう、お願いします。(*´ω`*)
もし、いつまでたってもバックテストの記事が上がらなかったら『挫折』したと思っていただいて結構です。w
それではこの辺で。
次回にはさまざまな条件でのバックテスト結果をお届けできるよう、適当に頑張ります。
今回も最後までお付き合いいただきありがとうございました。
ヒロセ
追記
ストラテジーテスターが作動しない理由と対策が判明いたしましたので、こちらでアップしています。
お恥ずかしながら、超初歩的なミスでした・・自分のPCスキルのショボさを思い知らされました・・(;´д`)