『新メタトレ入門本』ストラテジーテスターによるEAの最適化


新MT4対応 FXメタトレーダープログラミング入門』(新メタトレ入門本)連動企画です。

今回は、本書の第4章「エキスパートアドバイザー(EA)のプログラミング」「4-6 ストラテジーテスターによるEAの最適化」についてです。

【目次】
第1章 メタトレーダーの紹介
第2章 スクリプトのプログラミング
第3章 カスタム指標のプログラミング
第4章 エキスパートアドバイザー(EA)のプログラミング
  4-1 新規ファイルの作成
  4-2 EAの基本プログラム
  4-3 ストラテジーテスターによるEAの動作確認
  4-4 EAのサンプルプログラム
  4-5 EAのデバッグ
  4-6 ストラテジーテスターによるEAの最適化
  4-7 EAの自動売買のためのプログラミング

本書アップデート情報

このセクションでは、本書内容のアップデートはありません

関連するMT5情報

バックテストの結果の見方

ストラテジーテスターでEAをバックテストした結果として出力されるデータは、MT4と同じものもありますが、違うものもあります。

まず、バックテスト後に増えるタブは「バックテスト」「グラフ」の二つです。

グラフ」タブの画面は、MT4と同様、資産曲線が表示されます。

バックテスト」タブの画面には複数の情報が含まれます。右クリックすると、以下のようなサブメニューが現れます。

最初は「レポート」が選択された状態ですが、ほかにも「約定」「注文」「約定と注文」を選択することができます。

MT5では「注文」と「約定」を区別します。「注文」は、成行注文や待機注文も含めた注文のリスト、「約定」は、実際に約定したポジションのリストです。

約定」の画面には、各トレードの売買日時、価格や損益が表示され、トレードごとに残高も更新されるので、MT4の「結果」と同じようなものだと考えればいいでしょう。

さらに、このサブメニューでは、「常にチャートを開く」にチェックが入っています。これは、バックテスト終了と同時にチャートを開くための設定です。

常にチャートを開く」のチェックを外すと、バックテストが終わってもチャートは自動的に開きません。その場合、チャートを開くために、その下の「チャートを開く」を選択する必要があります。

レポート」タブの画面で表示される情報は、MT4に比べてかなり多くなっています。

個々の説明は省略しますが、本書の内容に関連する項目として「リカバリーファクター」が標準で表示されることが挙げられます。

本書では、売買システムの評価として、プロフィットファクターリカバリーファクターに注目しているので、この二つが並んで表示されるのは便利です。

EA最適化のための設定

MT5では、EA最適化の設定は、すべてストラテジーテスターの設定画面に集約されています。

オプティマイズ」の項目で「無効化」以外を選ぶと、その右で、最大化したい評価項目を選択することができます。

変化させたいパラメータの設定は、「パラメータ」タブの画面で、MT4と同様な方法で行います。

評価項目を「カスタム最大」にすると、OnTester()関数で計算した結果を評価基準にできます。

OnTester()の書き方はMQL4の場合と同じです。
サンプルプログラムex8_ea.mq4と同じ仕様のOnTester()関数を追加したい場合、本書と同じ書き方をしてもいいですが、MQL5ではリカバリーファクターを直接求めることができるので、以下のように記述することもできます。

    //カスタム評価関数
    double OnTester()
    {
       //(リカバリーファクター)-(プロフィットファクター)
       return(TesterStatistics(STAT_RECOVERY_FACTOR)
              -TesterStatistics(STAT_PROFIT_FACTOR));
    }

MT5では、フォワードテストなど、EAの最適化に役立つ機能がさらに追加されています。詳細については、以下のkindle本で紹介しています。興味のある方はそちらをご覧ください。

メタトレーダー4&5共通ライブラリによるEA開発入門

前へ

『新メタトレ入門本』EAのデバッグ

次へ

『新メタトレ入門本』EAの自動売買のためのプログラミング