50歳手前の糖尿病メタボおっちゃんの色々悪あがき日記

老後の健康とお金のため・仕事をサボるため、あくせく悪あがきして生きています♪

とりあえず使えるようになる!メタトレーダー5でバックテスト~(2)何もしないEAを作り、動作させる。

 今回は、バックテストするためのEAを実際に作成して動作させるところまでを目標とします。

 EAとは、「エキキスパート・アドバイザ」の略(以下基本、エキスパートと表記します)で、本来であれば「為替取引するプログラム」の意味となります。

 今回のエキスパートは残念ながら何もしませんが、作成して動作させる一連の作業を経験して、習得の勢いをつけるのが目的です。 

 

 

※執筆時点2020/04/29のMT5のバージョンはbuild2361です。

今回のステップ

・MT5を使おう<基礎編>
 □.MT5をインストールする。
    ↓
 □.何もしないEAを作り、動作させる。
    ↓
 □.何か適当なメッセージをログ出力してみる。
    ↓
 □.過去一定期の四本値を取得してみる。
    ↓
 □.単純な売買ルール「山越えで売り・谷越えで買い」を実装する。
    ↓
 □.オーダーを実装する。
    ↓
 □.バックテスト。

 

 

ソースコードの作成

①エディタの起動

 まずは「MetaEditor 5」アイコンをクリックし、エキスパートのソースコードを書く「エディタ」を起動します。

f:id:edger_arkw:20200429163839p:plain

「MetaEditer 5」アイコン
②新規作成

 画面上部のツールバーの「新規作成」をクリックします。

f:id:edger_arkw:20200429164431p:plain

「Metaediter」画面
③ソース選択

 画面手前に以下ウィザードが表示されます。

 何を新規作成するかを、尋ねられてています。
 ここでは、一番上にある「エキスパートアドバイザ(テンプレート)」を選択します。
 なんか便利そうな「エキスパートアドバイザ(自動生成)」を選んでしまうと、わけのわからない物がテンコ盛りのソースが生成されます。、同志は選択しないように!

 [次へ]をクリックします。

f:id:edger_arkw:20200429170213p:plain

MQLウィザード:ファイル
④ファイル名の入力

 続いて、ソースコードを保存するときのファイル名を指定します。

 名前欄すでに入力済の「Expert¥」に続けて入力しします。ここでは「test01」としました。

 著作者、リンクは、ソースコードの上部コメントとなりますので、お好みで。

 パラメータは後でも自由に追加できます。必要に応じて追加すべきなので、ここでは何もしません。

[次へ]をクリックします。

f:id:edger_arkw:20200429171321p:plain

ファイル名を入力
⑤(その一)関数の選択

 続いて、関数の選択画面が表示されます。

 関数は後でも自由に追加できます。必要に応じて追加すべきなので、ここでは何もしません。

[次へ]をクリックします。

f:id:edger_arkw:20200429171934p:plain

関数の選択(1/2)
⑤(その二)関数の選択

 同様の選択画面が表示されます。

 なにもせずに[完了]をクリックします。

f:id:edger_arkw:20200429172137p:plain

関数の選択(2/2)
ソースコード完成

 ウィザードが終了し、画面にソースコードが表示されます。

f:id:edger_arkw:20200429174814p:plain

ソースコード完成

 ~ ソースコードの作成は以上となります。内容については気にせず、コンパイルの工程に進んでください。

コンパイル

ソースコードをエキスパートに変換する作業がコンパイルになります。

コンパイル

 ソースコードを開いている状態で、画面上部のツールーバー中央の[コンパイル]をクリックします。

f:id:edger_arkw:20200429175212p:plain

コンパイルをクリック
コンパイル結果

 画面下部の横長エリア「ツールボックス」に、コンパイルの結果が表示されます。

  下図のメッセージでは「test01.mq5」は、ソースコード、今回の場合「0 errors, 0 warnings~(エラーなし、警告なし)」で「code generated(コード生成した)」なので、コンパイルに成功しています。

 自動生成されたコードに何ら手を加えていませんので、ここでエラーになることはありえませんけどね。

f:id:edger_arkw:20200429180221p:plain

「test01.mq5」コンパイル成功

 ~ コンパイルは以上となります。

 動作確認

これまでの作業で、エキスパートを作成できています。実際に動作させる手順を説明します。

①ターミナルの起動

 一旦デスクトップに戻り「Metatrader5」のアイコンをクリックし「ターミナル」を起動します。

f:id:edger_arkw:20200429180623p:plain

「MetaTrader 5」のアイコン
②邪魔なツールボックスを非表示

 このような画面が起動します。

 画面下部の赤枠の部分が「ストラテジーテスター」となっている場合は手順④へ飛んでください。

 「ツールボックス」と表示されている場合は[×]を押して削除します。

 ツールボックスは、本番取引用の機能です。画面の場所をとるだけでバックテストでは不要なので非表示にします。

f:id:edger_arkw:20200430020612p:plain

ツールボックスを非表示に
③ストラテジーテスターの表示

 「ツールボックス」が非表示になったら、画面上部メニューバーより「表示」→「ストラテジーテスター」を選んでください。

f:id:edger_arkw:20200430021022p:plain

ストラテジーテスターを表示
④概要の選択

 「ストラテジーテスター」の「概要」タグから、今回は「単一」を選択します。

f:id:edger_arkw:20200430021559p:plain

概要タグから、単一を選択

 ※他の概要については、後日の記事で説明します。

⑤エキスパートの選択

 自動的に「設定」タグが表示されます。

 「エキスパート」欄の[v]ボタンをクリックし、先ほど作成したエキスパートを選択します。

 エディタで「test01.mq5」でコンパイルしたエキスパートは「test01.ex5」として扱われます。

f:id:edger_arkw:20200430022659p:plain

エキスパートの選択
⑥スタートボタン

 一見ボタンっぽくない画面右下の「スタート」をクリックします。

 今回のエキスパートは何もしないため、非常に高速です。ですので、銘柄・日付・モデルといったパラメータを気にする必要はないです。

f:id:edger_arkw:20200430023709p:plain

右下[スタート]を押す

 この時初回に限り、PC内にテストに必要なヒストリカルデータ(過去チャート)がない場合、ダウンロードが自動的に行われます。

⑦結果の確認

 「ツキュン♪」と効果音がなり、一瞬で動作テスト終了です。

 テストが正常終了すると、タグ「バックテスト」「フォワード」「グラフ」が追加されました。

f:id:edger_arkw:20200430024926p:plain

バックステスト・・・何もしないので、損益も利益もともにゼロ

f:id:edger_arkw:20200430025051p:plain

フォワード・・・現時点で用途不明。なので無視www

f:id:edger_arkw:20200430025211p:plain

グラフ・・・何もしないから資金残高は水平横ばい

 「操作ログ」はエキスパートの動作に関する詳細情報が表示されます。

 用途として、コンパイル時に発見できず、実行時で発生してしまったエラーを確認するのに使用します。

 また、エキスパートからここに任意のメッセージを表示することもできます。これについては次回の記事で扱います。

f:id:edger_arkw:20200430025856p:plain

操作ログ

 ~ 動作テストは以上となります。

おめでとう♪

 ここまで作業を行ったことで、あなたは「メタトレーダー5でエキスパートを作成し動作させた」という不滅の実績を手にしました。

 あなたを「初心者」から「初級者」にステップアップしたことを認め、銅トロフィーを授与させていただきたいと思います。

 

f:id:edger_arkw:20200430031321p:plain

メタトレーダー5 初級者

今回は、ここまでです。オツカレサマでした。