MetaTrader4バックテスト効率化ツール「MT4BackTester」の概要と設定方法について

MetaTrader4
  1. MT4BackTesterとは?
    1. 主な機能
  2. MT4BackTesterの使い方
    1. MT4BackTesterのご購入方法
    2. MT4BackTesterの使用方法
        1. 左上のアイコンをクリックしてバックテスト画面に遷移
        2. EA選択ボタンをクリックするとEA選択画面が表示されます。
        3. バックテスト条件の指定
        4. バックテスト終了確認
        5. バックテスト結果画面
        6. 結果分析画面(結果画面で「分析」ボタンをクリック)
        7. エクスプローラで開いた場合(結果画面で…ボタンをクリック)
    3. テンプレートの保存と読込、削除(Ver 2.4.0にて追加)
    4. MT4BackTesterの高度な設定
      1. 同時起動数設定
      2. バッチ処理の作成・編集画面
      3. 起動時に設定ファイルを読み込ませる
        1. MT4backTesterで使用するMetaTrader4を起動してStrategy Testerを表示
        2. バックテストしたいEAを選択、Expert Properiesをクリック
        3. バックテスト実行時に使用したいパラメータを入力し、Saveボタンをクリック
      4. EAのファイル名と同じ名前でsetファイルを保存
      5. 時間毎に設定ファイルを変える
      6. 出力先設定
    5. Q&A
      1. A:ReportManagerというツールで結合できます
        1. 以下のファイルをダウンロード
        2. 任意のフォルダに解凍し、reportmanager.exeを実行
        3. メニューのFile>Open Reportsを選択
        4. MT4BackTesterで実行した結果出力フォルダ(MT4のデータフォルダ)を指定し、対象ファイルを選択
        5. メニューのFile>Marge Reportsを選択
        6. 結合結果が表示されます
    6. 注意事項等
    7. 最後に
    8. ご購入はこちら
  3. その他開発ツール等

MT4BackTesterとは?

MetaTrader4のバックテストを効率的に実行するためのツール(ソフトウェア)です。

主な機能

複数のEA、複数の通貨ペア、複数の時間を選択して一度に実行できます。

たとえば、”あるEAのバックテストを8種類の通貨ペアで3種類の時間でバックテストしたい”場合、24回のバックテストを手動で実行する必要がありますが、このツールを使用すると1回(自動的に24回)の実行で完了できます。

さらに、当バージョンから「一年毎に分割実行」が可能となりました。

MT4では短期トレードシステムを長期間でバックテストを実行すると、最後まで実行されない問題があります。(数年で止まってしまいます)

そのため、今までのバージョンでは「停止しない期間を指定して数回バックテストを実行する必要」がありましたが、このバージョンの新機能「一年毎に分割実行」をチェックすることで「途中で停止しないように自動で分割実行できる」ようになりました。

また、「一年毎に分割実行」することで全体実行では見えてこない「年間の実績」も確認できます。

※別のツールを使うことで分割実行した結果を集計して1つにまとめることもできます(後述)

また、分析機能が追加され、バックテストした結果を年別、月別、曜日別、日別、時間別、曜日・時間別に損益が確認できるようになりました。

これにより利益が出ない月、曜日、時間は停止するといった運用を検討できます。

TickDataSuite(TDS)と併用することも可能です。

MT4BackTesterの使い方

MT4BackTesterのご購入方法

以下のリンク先から購入可能です。価格は4,900円で販売中です。

MT4BackTesterのご購入

MT4BackTesterの使用方法

インストール方法につきましては同梱のマニュアルを御覧ください。

インストーラーが付属しておりますので簡単にインストールすることが可能です。

以下、インストール後の使用方法についてご説明いたします。

左上のアイコンをクリックしてバックテスト画面に遷移
EA選択ボタンをクリックするとEA選択画面が表示されます。

チェック後、OKボタンをクリックするとEAの一覧画面が閉じます。(複数選択可能)

バックテスト条件の指定

バックテストの条件を指定します。

・MT4複数同時起動:複数のインストール先が指定されている場合に使用可能です。同時実行することでバックテスト時間を短縮します。

・通貨ペア:通貨ペアを指定します。通貨ペア名はダブルクリックすることで変更可能です。

入力後、Enterキーを入力すると変更が確定できます。

・時間軸指定:バックテストしたい時間を指定します。

・モデル:全ティック、コントロールポイント(ControlPoint)、始値のみの中から1つだけ選択します。

・最適化:最適化を実行する場合にはオンにしてください。

・スプレッド:バックテストで使用するスプレッドを選択します。任意の数値を入力することも可能です。
※TickDataSuiteの「ティックデータを使う」場合にはスプレッドの指定は無効になります。(MT4BackTesterで指定した値は無視され、変動スプレッドが使用されます。)


・バッチ処理の実行:別画面の「バッチ処理編集画面」でバッチ処理を作成することでバッチ処理の実行が可能になります。

・一年毎に分割実行:オンにすると一年毎に分割実行します。

・期間指定:期間指定する場合にはオンにして、期間を手入力またはカレンダーから指定してください。

・結果を上書き:同一条件の結果を上書きするかどうかの設定です。通常は「上書き」をオンで問題ありません。

・時間毎に設定ファイルを変える:時間毎に設定ファイルを変えてバックテストしたい場合にオンにします。

・バックテスト終了時にMT4をシャットダウンしない:オンにするとバックテスト終了時にMT4をシャットダウンしません。(手動で終了してください。)

条件を指定して「バックテスト実行」ボタンをクリックするとバックテストが実行されます。
(※MetaTrader4が起動中の場合にはバックテストが実行されません。MetaTrader4を終了させてから実行してください。)

バックテスト終了確認

バックテストが終了すると「バックテストが終了しました。バックテスト結果を表示しますか?」というメッセージが表示されます。

「はい」をクリックすると結果画面が表示され、「いいえ」をクリックするとメッセージが閉じます。

バックテスト結果画面

バックテストをしたEA名、通貨ペア、時間とMT4が出力したレポートファイルがフルパスで表示されます。

確認したい結果をダブルクリックするとブラウザが開いてMT4のレポートが表示されます。
「結果分析ボタン」をクリックすると「結果分析画面」に遷移します。(最適化を実行した場合には結果分析は表示できません)

結果が出力されているフォルダをエクスプローラで開きたい場合には右端の…ボタンをクリックしてください。

結果分析画面(結果画面で「分析」ボタンをクリック)

バックテスト結果を分析し、BUY/SELL別損益、年別損益、月別損益、曜日別損益、日別損益、時間別損益、曜日・時間別の損益を表示します。

エクスプローラで開いた場合(結果画面で…ボタンをクリック)

出力結果はMetaTrader4で「レポート」を「保存」したものと同じです。

ファイル名はEA名_通貨ペア+時間.html(.gif)になります。
(一年毎分割実行の場合、最後に_yyyy(年)が付加されます)

テンプレートの保存と読込、削除(Ver 2.4.0にて追加)

バックテスト条件を「名前をつけて保存」し、必要に応じて読み込むことができます。

1.左のメニューにある保存アイコンをクリックしてください。

2.名前を付けて保存の欄に任意の名前を付けて保存ボタンを押します。わかりやすく、かつ短い名称をつけてください。文字数制限はございませんが、リストには全角で24文字程度(半角で44文字程度)しか表示されません。なお、テンプレート名には \ / : * ? “ < > | といった記号を含む文字列は使用できません。

保存ボタンをクリックすると、入力内容が保存されます。

3.保存したバックテスト条件を適用したい場合には、「保存したデータの読み込み」から「名前を付けて保存」で保存した名前を選択し、読込ボタンをクリックしてください。読み込み確認が表示されます。

「はい」をクリックするとバックテスト条件が適用されます。

4.保存したバックテスト条件を削除することができます。削除したい名前を選択し、「読み込み」の右にある「削除」ボタンをクリックしてください。

MT4BackTesterの高度な設定

同時起動数設定

複数のMetaTrader4を同時に起動することでバックテストを高速化する機能です。

まずは通常の設定を行いバックテストできることを確認したら「インストールフォルダ」に指定したフォルダをコピーしてMetaTrader4を複製し、「同時起動数」を「2」に変更してインストールフォルダの2番目に指定します。

この状態で「バックテスト実行」すると、2つのMetaTrader4を同時に起動して処理を行います。(3つ・4つ起動したい場合には同様にMetaTrader4を複製してください)

詳細は高速化検証記事「4倍速!?MT4のバックテストを並列実行して高速化」を御覧ください。

バッチ処理の作成・編集画面

MT4BackTesterでは「複数の設定ファイルを用意して、その設定を使用したバックテストを連続実行する」機能をバッチ処理と呼びます。

以下の画面では10個の設定ファイルを作成しています。

利用方法はアイデア次第です。

例えば、あるパラメーターAが1の時にはパラメーターBは10から100で最適化したいが、Aが2の時にはパラメーターBは20から200で最適化したい(Aが1のときは20から200までの最適化は不要、Aが2のときは10から100までの最適化は不要な)場合にはバッチ処理を2つ作ることで実行回数を減らせます。

また、複数同時起動を使用している場合には単純に最適化する数を分けることもできます。

3つ同時起動が可能な場合、パラメーターAの値が1から100まで、101から200まで、201から300までの3つの設定ファイルを作成して同時起動するとMT4が3つ起動して、100回ずつの最適化を3つ同時に実行できます。(環境にもよりますが、バックテスト実行時間をほぼ三分の一にできます。)

起動時に設定ファイルを読み込ませる

バックテスト実行時、設定ファイルを読み込ませることができます。

MT4backTesterで使用するMetaTrader4を起動してStrategy Testerを表示
バックテストしたいEAを選択、Expert Properiesをクリック
バックテスト実行時に使用したいパラメータを入力し、Saveボタンをクリック

MT4Back6_compressed

EAのファイル名と同じ名前でsetファイルを保存

MT4Back7_compressed

※EA名が「MACD Sample」の場合、「MACD Sample」と入力して保存

※保存場所はデータフォルダのtesterの下です。通常、保存ダイアログが起動するとこのフォルダが指定されています。 これで準備完了です。 後は通常通りMT4BackTesterから「バックテスト実行」を行うと自動的に設定ファイルを読み込んでバックテストを実行します。

時間毎に設定ファイルを変える

「15分/30分/1時間の複数時間を使用してバックテストする際に、時間毎に読み込ませる設定ファイルを変えたい」場合に使うオプションです。 上記の「起動時に設定ファイルを読み込ませる」と同じ手順で設定ファイルを作りますが、ファイルを保存する際に以下のように保存してください。

※EA名が「MACD Sample」の場合

15分⇒MACD Sample_M15.set

30分⇒MACD Sample_M30.set

1時間⇒MACD Sample_H1.set

最後にMT4BackTesterで「時間毎に設定ファイルを変更する」にチェックを入れてバックテスト実行すると、作成した設定ファイルを読み込んでバックテストを実行します。

出力先設定

結果の出力先をデータフォルダ直下からデータフォルダ下の任意のフォルダに変更できます。

1.左のメニューに有る保存アイコンをクリックしてください。

2.保存先フォルダの設定に任意の名前を入力して保存ボタンをクリックしてください。

データフォルダの下に入力した名前でフォルダを作成、以降はバックテスト結果をこのフォルダに保存します。

Q&A

Q:分割実行した結果を結合したい

A:ReportManagerというツールで結合できます

以下のファイルをダウンロード

下記URLから最新版のダウンロードができます。

ReportManagerダウンロード先

※このツールはJavaで動作します。Javaがインストールされていない場合にはJavaもインストールしてください。

Javaのダウンロード

任意のフォルダに解凍し、reportmanager.exeを実行
メニューのFile>Open Reportsを選択

reportmanager1

MT4BackTesterで実行した結果出力フォルダ(MT4のデータフォルダ)を指定し、対象ファイルを選択

reportmanager2

※フォルダ指定はMT4からデータフォルダをエクスプローラで開いてReportManegerのファイル選択画面にコピペすると楽です。

※ファイルは複数選択可能です。表示されているhtmファイルを選択してください。

メニューのFile>Marge Reportsを選択

reportmanager3

結合結果が表示されます

reportmanager4

※上記は2005年から2014年までを「一年毎に分割実行」した結果を結合したものです。

注意事項等

当ツールを利用したことに関連して生ずる損害について、一切責任を負いません。(自己責任でお使いください)

個人使用・業務使用に関わらず自由にご使用いただいてかまいませんが、著作権は放棄しておりませんので当ツールの加工・販売等は禁止といたします。

なお、ライセンスは1つのご注文につき5ライセンスとなっております。5台のPCまで同時に使用できます。それ以上必要な場合には申し訳ございませんが、も う1つご購入ください。

不要なライセンスは削除することができます。ソフトに同梱している「ライセンス申請説明書.pdf」に削除方法が書いておりますので、削除したい場合にはそちらを御覧ください。

また、ライセンス認証にはインターネット接続が必要です。ご利用の際にはインターネットに接続できるPCをご用意ください。

もし不具合等ございましたら当記事のコメント欄またはメールでご連絡ください。

メールアドレス:support@tasfx.net

最後に

当サイトをご覧いただきありがとうございます。

このツールは私自身が使用するために開発したものですが、私と同じ悩みを抱えている方はいらっしゃるはず・・・と考えて無償で公開しております。

たくさんのご質問があり、当方の負担が大きくなってきましたので有料に切り替えさせていただきました。

私自身、しばらくEAの開発から離れておりましたため、MetaTrader4 Build600対応が遅くなってしまいました。(「動かなくなっている」ことは分かっていたのですが、必要に迫られないとやらない性格でして・・・)

心待ちにしていた方にはお詫びいたします。

「一年毎に分割実行」は今回どうしても実装したかった機能です。

当ツールの開発を始めた当初は「短期トレードシステム」を作っていなかったため「バックテストが途中で止まる」ことは無かったのですが、現在は「全て短期トレードシステム」に置き換わってしまい「止まる」ことが頻発していました・・・。

「これはどうにかしなければ」と重い腰をようやく上げて実装に取り掛かったわけです(笑)

この機能はVer1.0.0公開当初から要望されていた機能でしたので、嬉しい方は多くいるのではないか?と思っています。

当ツールが皆様のお役に立てれば幸いです。

ご購入はこちら

以下のリンク先から購入可能です。

MT4BackTesterのご購入

その他開発ツール等

開発ラボ」に開発したツールの一覧があります。

ご興味がございましたら、ぜひご覧ください。

コメント

  1. neo より:

    複数通貨の検証もっと効率的にできないかなぁ~と思ってたら、本ページに辿り着きました。フリーというのは驚きを隠せないですが、お言葉に甘え有難く使わさせて頂きたいと思います。

    p.s.
    プロフィール見ましたが、専業トレーダー達成おめでとうございます!
    自動のみで生計立てられるということを証明され心強い限りです。是非とも今後とも継続して成功・活躍されることを期待しています。
    自分現在サラリーマン(SE)やっており、自分もそちらの世界に行きたいのですが、もう少し時間かかりそうです。

    • emija より:

      コメントありがとうございます。
      このツールが役に立ちましたら幸いです。

      専業トレーダーまで後少しです。(現在、有給休暇消化中)

      自動売買のみで生計は立てられます!(それは確かです)
      私もFXを始めて5年ほどでようやくここまでこれました。
      諦めずに続けていけば、きっと専業にもなれるはずです。
      がんばりましょうっ!

  2. […] 『MT4BackTester_Ver2.0.0』(無料) […]

  3. tomo より:

    ブログ拝見させていただいてます。
    いつもかなり勉強させていただいてます。ありがとうございます。
    ひとつ要望ですが、MT4のバックテストにバイナリーオプション用にアレンジはできないでしょうか?出来てくれるとすごくうれしいのですが…
    勝手な要望ですみません…

    • emija より:

      tomoさん>コメントありがとうございます。

      アレンジ・・・ですか。
      どのようなものを想像されているのか分からないのですが、僕自身は「MT4でBOのバックテストを行うのは難しい」と思っています。
      ※僕が調査する際にはMT4で出力したCSVを基に表計算ソフトを使って調査しています。
      ※具体的な案がありましたら、コメントかメールにてご連絡いただければ検討してみます。

  4. 金子 より:

    本当にすごい助かります。

    ただ、お名前.comのFX用サーバ(本日開設)だと下記のように表示されてしまい使えないです。

    自分のミスもかもしれませんが、この土日に最適化したいEAがあり、ぜひ助けていただきたいです。

    お忙しいと思いますが、何卒宜しくお願い致します。
    ————————————————————
    Just-In-Time (JIT) デバッグを呼び出すための詳細については、
    ダイアログ ボックスではなく、このメッセージの最後を参照してください。

    ************** 例外テキスト **************
    System.IO.DirectoryNotFoundException: パス ‘C:\Program Files (x86)\MetaTrader 4 – Alpari Japan\experts’ の一部が見つかりませんでした。
    場所 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    場所 System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
    場所 System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
    場所 MT4BackTester.frmMT4BackTester.ShowEAList()
    場所 MT4BackTester.frmMT4BackTester.btnInstallChoice_Click(Object sender, EventArgs e)
    場所 System.Windows.Forms.Control.OnClick(EventArgs e)
    場所 System.Windows.Forms.Button.OnClick(EventArgs e)
    場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    場所 System.Windows.Forms.Control.WndProc(Message& m)
    場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
    場所 System.Windows.Forms.Button.WndProc(Message& m)
    場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** 読み込まれたアセンブリ **************
    mscorlib
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
    コードベース: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    —————————————-
    MT4BackTester
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 1.0.0.0
    コードベース: file:///C:/Users/UserAccount/Desktop/MT4BackTester/MT4BackTester.exe
    —————————————-
    System.Windows.Forms
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    —————————————-
    System
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    —————————————-
    System.Drawing
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    —————————————-
    mscorlib.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
    コードベース: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    —————————————-
    System.Windows.Forms.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
    —————————————-

    ************** JIT デバッグ **************
    Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
    またはコンピュータ (machine.config) の構成ファイルの jitDebugging
    値を system.windows.forms セクションで設定しなければなりません。
    アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
    なりません。

    例:

    JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
    ハンドルされていない例外はすべてコンピュータに登録された
    JIT デバッガに設定されなければなりません。

    • emija より:

      金子様>
      System.IO.DirectoryNotFoundException: パス ‘C:\Program Files (x86)\MetaTrader 4 – Alpari Japan\experts’ の一部が見つかりませんでした。

      と出ているのでパスが無いのでは・・・(それ以上のことはメッセージからは見出せません)

      ※バックテストはご自信のPCでやられたほうがよいのではないかと思います。
       (どのような契約かはわかりませんが、一般的には)メモリも十分ではありませんし、バックテストの速度も出ません。

      • 金子 より:

        早速の返信をありがとうございます。
        自宅のPCで試してみることにしますね。

        これからもブログ参考にさせていただきます!!

  5. 金子 より:

    もうひとつ質問させてください。

    Microsoft .NET Frameworkのバージョンを教えていただくことは出来ますでしょうか。

    原因はそこかなと思い当たりまして…

    • emija より:

      返信が遅くなりまして申し訳ございません。
      (管理画面のコメントに新着として上がっていなかったので気づきませんでした・・・)
      もう解決済みかもしれませんが、念のためご回答いたします。

      .Net Frameworkは2.0以上であれば動作するはずです
      (動作確認はしていませんが・・・)

      私の開発環境はWindows7の.NetFramework4と4.5がインストールされているのでこのバージョンであれば間違いなく動作するかと思います。
      ※「パスが見つかりません。」とエラーが表示されているので、Frameworkのバージョンは関係ないのでは?と思いますが。

  6. 伊藤 敦 より:

    はじめまして、こんにちは。伊藤敦と申します。
    お忙しい中誠に申し訳ありません。説明通りに設定いたしましたが、一瞬で消えてしまって立ち上がりません。それを何回も繰り返すだけです。何が原因だと思われるでしょうか?
    よろしくお願いします。(Windows7です。)

    • emija より:

      なんらかのエラーが表示されていれば原因の特定も可能かもしれませんが。。。

      うーん・・・例えば、セキュリティソフトが何かやっていたりしませんか?
      (許可されていないEXEを実行できない、とか)

      管理権限で実行してみるとか・・(プロパティで設定できると思います)

      それでダメであれば実行エラーがイベントログの方に出力されていたりしませんか。
      http://windows.microsoft.com/ja-jp/windows/open-event-viewer#1TC=windows-7

      といったところでしょうか・・・。

  7. 吉野伸介 より:

    エラーがでてしまいます。

    下記エラー内容です。

    何度やってもこのWINDOUS7のPCだけでます。他のXPではでません。

    お時間あるときで結構です。よろしくお願いします。。。

    Just-In-Time (JIT) デバッグを呼び出すための詳細については、
    ダイアログ ボックスではなく、このメッセージの最後を参照してください。

    ************** 例外テキスト **************
    System.UnauthorizedAccessException: パス ‘C:\Program Files (x86)\FXDD Malta – MetaTrader 4\tester\MT4BackTester\’ へのアクセスが拒否されました。
    場所 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    場所 System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)
    場所 System.IO.Directory.CreateDirectory(String path, DirectorySecurity directorySecurity)
    場所 MT4BackTester.frmMT4BackTester.WriteBackTestSetFile(String path, String eaName, String pair, String period, StringBuilder fileStrings, Int32 year)
    場所 MT4BackTester.frmMT4BackTester.btnBackTest_Click(Object sender, EventArgs e)
    場所 System.Windows.Forms.Control.OnClick(EventArgs e)
    場所 System.Windows.Forms.Button.OnClick(EventArgs e)
    場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    場所 System.Windows.Forms.Control.WndProc(Message& m)
    場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
    場所 System.Windows.Forms.Button.WndProc(Message& m)
    場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** 読み込まれたアセンブリ **************
    mscorlib
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    —————————————-
    MT4BackTester
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 1.0.0.0
    コードベース: file:///C:/Users/user/Desktop/FX2015/各ソフト/MT4BackTester/MT4BackTester/MT4BackTester.exe
    —————————————-
    System.Windows.Forms
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5491 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    —————————————-
    System
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    —————————————-
    System.Drawing
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5492 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    —————————————-
    mscorlib.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
    コードベース: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    —————————————-
    System.Windows.Forms.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.5420 (Win7SP1.050727-5400)
    コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
    —————————————-

    ************** JIT デバッグ **************
    Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
    またはコンピュータ (machine.config) の構成ファイルの jitDebugging
    値を system.windows.forms セクションで設定しなければなりません。
    アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
    なりません。

    例:

    JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
    ハンドルされていない例外はすべてコンピュータに登録された
    JIT デバッガに設定されなければなりません。

    • admin より:

      Windows Vista以降のPCではProgramFilesフォルダの下にファイルを書き込む場合、権限が必要になります。
      MT4BackTesterを管理者権限で実行すれば回避できるかもしれません。

      別の回避方法としてはMT4をProgram Filesの下にインストールせず、例えばC:\MT4のようなフォルダを作って、そこにMT4をインストールすれば回避できると思います。

      以上、よろしくお願いします。

  8. しん より:

    恐れ入ります、このソフトは、Windows10に対応していますでしょうか?

    フリー版をインストールして、
    バックテストまでは実行できたのですが、
    出力だけができない、という状態です。
    (Windows10、64bitとなります)

    もし、Windows10でも実行できるようでしたら、
    正式版を購入したいと考えております。

    どうぞよろしくお願いいたします。

    • emija より:

      Windows10での動作確認も実施しております。
      よくあるのが「バックテストでMT4を起動したままにしている」というものです。
      MT4BackTester実行前にMT4を終了させてください。
      MT4を終了させていても出力されない場合は、出力の設定に誤りがある可能性がございます。

  9. しん より:

    ejima様

    ご回答ありがとうございました。

    原因がわかりました。

    「出力先設定」の部分は、
    「データフォルダ設定」と同様に入力するものと思い、
    データフォルダのアドレスを入力していたのが、
    いけなかったようです。

    お手数おかけいたしました。

  10. しん より:

    ejima様

    正式版を、購入させていただきました。

    なお、クレジットカードの、購入確認の画面で、
    文字化けが発生しまして、
    メールアドレス等の部分に、
    {{ ::formCtrl.order._id }}
    というような表記がなされておりましたが、
    特に問題ありませんでしょうか?

    なお、ダウンロードは、正常にできております。

    今後とも、よろしくお願いいたします。

    • emija より:

      ご連絡・ご購入ありがとうございます。問題なく購入されております。

      よろしくお願いいたします。

  11. 吉野 より:

    お久しぶりです。

    MT4BackTester 2.1.0久しぶりに使用しています。

    A社製のデータをB社MT4でテストしました。1分足で違う3通貨(AUD/CAD・AUD/NZD・AUD/JPY)を同じ手法でバックテストしました。勝率等が相違してでると思います。それぞれ勝率65%/PF4 60/3 55/2 位になっていました。
    テスト回数は2005年位から現在まで11万回です。
    問題はグラフが全く同じ形状をしていました。そしてPC再起動して開くと
    また今度は全く違う形状で3種類一緒になってしまってます。

    問題となるのは
    1.一気に2.1.0でテストしたから?
    2.ヒスデータが間違っている?
    3.1年毎にやってないから?

    2は1分足データで5本連続一緒の成績だったり、T/PとS/Lが100なのに
    損失-1.5が100戦の中で15個も有ったりとかしています。

    3は試しに1年で1通貨でテストしても、10年3通貨一気にやったのと同じデータでした。

    どこに問題が有ると考えられますか?
    気になるのは出力先データに.htmlの拡張子がついてないから手動で一つずつつけています
    がこれも関係していますか?
    後gifの画像ですが、ほとんどでなかったりしています。

    ヒスデータを出してるのってFXDDが10年以上だしているみたいですが、
    ALPINEとかOANDAとかFOREX.com・FXTFやデューカスコピーとかですけど
    お勧めってあります?
    国内でもクリック証券で出力できそうですが、1日単位で掻き集めがあるので。。。

    • emija より:

      MT4BackTesterはMT4に「この条件でバックテストを実行してくれ」というファイルを渡してMT4を実行しているだけで、グラフ(画像)生成にもHTML生成にも一切関与していません。
      問題は(おそらく)MT4側にあると思います。(全くファイルが生成されないということであればMT4BackTesterのデータフォルダの指定に誤りがある可能性はありますが、ファイルが生成されているのであれば当ソフトの問題ではないと思います)

      ヒストリカルデータが同じでも結果が異なることはありえます。(手数料やスワップの違い、あるいは業者側の何らかの不具合等でおかしな結果が出ることも過去に経験したことがあります)
      まずはMT4BackTesterを使用せずに納得のいくバックテストができる環境を作ってからMT4BackTesterをご利用いただくようお願い致します。

      ヒストリカルデータについては、私は基本的にFXDDを使用していますが、最終的にはAlpariやDukascopyでもバックテストしています。 それ以外は現在は使用していません。

  12. 吉野 より:

    ファイルは必ず生成されているのは確認し、複数台のPCで同じ現象を確認していますので
    MT4開発元にでも聞いてみます。

    データに関しては不具合や同じデータが続いたりするのは覚悟で使用してみます。
    納得してからMT4BackTesterを使用します。

    今回FXDDの後にDukascopyのヒストリカルデータにしましたが、最終的にはFXDDとAlpariの付き合わせをしてみようと思います。

    この度はありがとうございました。。。

  13. yann より:

    お疲れさまです。正規品を購入しようか検討しているのですが、

    どうもデモ版がうまく作動しません。

    指定通りに全て設定して、バックテスト実行を行い、「全てのテストが正常に終了しました」と表示されるのに、結果が指定のフォルダに入っていません。

    どのような原因が考えられますでしょうか。

    PS、もしかしたら、インストールフォルダの設定方法が問題あるのかもしれません(載っているお手本の画像と少し違う気がします)。

    C:¥Program Files¥FXDD Malta – MetaTrader 4

    というような感じで設定されているのですが、間違っていますでしょうか。。。

    よろしくお願いします。

  14. yann より:

    上のものです(追記です)

    MT4BackTesterのフォルダーには、テストの度に新しいテキストドキュメントが保存されるので、いいとこまで来ているのではないかと思っているのですが、やはりそれ以上の情報はどこにも記録されていない状況です。

    テキストドキュメントの内容を一応載せておきます。

    よろしくお願いします。

    ; start strategy tester
    TestExpert=050.EMASMA
    TestExpertParameters=050.EMASMA.set
    TestSymbol=GBPJPY
    TestPeriod=M15
    TestModel=2
    TestSpread=5
    TestOptimization=false
    TestDateEnable=true
    TestFromDate=2016.02.02
    TestToDate=2017.03.19
    TestReport=C:\Users\a\Desktop\999999999999999\050.EMASMA_GBPJPYM15
    TestReplaceReport=false
    TestShutdownTerminal=true

    • emija より:

      レポートの保存先(TestReport)が間違っているように見えます。
      出力先設定にデスクトップを指定されているようですが、ここに設定できるのはデータフォルダの下にあるフォルダだけです。(MT4の仕様)
      それも相対パスで指定する必要があります。出力先設定の説明をよく読んで再設定してください。

      それとEA名にピリオドを含まないようお願いします(ファイル名を変更してください)
      これもMT4の仕様(バグ?)で、起動時パラメーター(つまり、このテキストファイル)で情報を渡して起動した時に、ピリオドが含まれていると正しくレポートを作成してくれません。

  15. yann より:

    返信ありがとうございます。

    出力先をC:\Users\a\AppData\Roaming\MetaQuotes\Terminal\DEF4C7E0C19F101EA5FCC8AFBF2C7854\tester\files
    に設定してみましたが症状は変わりません(汗
    同じMT4に設定しているはずなのですが。。。

    逆に言えば、出力先を空欄(スペース)にしても結果は同じ状態です。

    (EAファイル名は修正しました)

    • emija より:

      出力先設定は”相対パス”でないといけません。
      (上記の場合、tester\Filesと指定します)
      しかし、空欄にしても出力されないということであれば、出力先の問題だけではないようです・・
      他によくあるのは「MT4を起動したまま」にしている場合があります。
      MT4は必ず終了させてからMT4BackTester.exeを実行してください。
      これでも出力されなければお手数ですがsupport@tasfx.netの方にiniファイルをお送りください。
      ※MT4BackTester.exeと同じフォルダにMT4BackTester.iniというファイルが作成されます。このファイルを添付してください。
      ※無料ソフトについてはサポート対象外とさせていただいているのですが‥今回は乗りかかった船ということで特別に対応いたします。

  16. yann より:

    返信ありがとうございます。

    色々試行錯誤した結果、正常に作動いたしました(汗)

    (ソフトの再ダウンロードを行い初期設定からやり直していったところ、正常にテスト結果が反映されました)

    お手数おかけしました、ありがとうございますm(__)m

    有料バージョンのほうも購入予定です。

    ありがとうございました。

  17. ふら より:

    おせわになります。

    さきほど購入し、いくつかテストを試してみています。いくつかのシンプルなEAでは稼働しましたが、EAの中にDLLファイルを利用するものでは稼働しません。

    こちらは未対応でしょうか?

    • emija より:

      当ツールは単純にMT4を起動しているだけですので。MT4の設定によると思います。
      メニューのツール>エキスパートアドバイザ>DLLの使用を許可するにチェックをつけてもバックテストできないでしょうか。

      まずは、手動でバックテストができることを確認してからMT4BackTesterを使用してみてください。

  18. […] ネットで調べていると、有償のツールで日本の方が開発されたソフトウェア MT4BackTester は見つかったのですが、何せ有償ですから…無料で野良EAを見つけて開発している私としては、一 […]

  19. たく より:

    質問があります

    backtesterで表示されている通過ペアは指定したMT4上から読み込んでいるのでしょうか?

    例えばBTCとの通貨ペアを扱っている業者等のMT4でBTCのペアは表示されますか?

    デモ版は拝見しました。
    そこに問題なければ購入したいので教えてください
    よろしくお願いします

    • admin より:

      ご連絡が遅くなりまして申し訳ございません。
      MT4BackTesterの通貨ペア情報は固定です‥。すみません。
      追加する方法について検討してみます。

  20. ソイヤ! より:

    有料版を購入させて頂きましたが質問があります。
    こちらのサイト(https://efxcursion.com/969.html)で
    最適化の結果を結合して保存ができると記載されていて
    購入したのですが、やり方がわかりません…
    rexportmanagerでは
    通常の結果は結合できますが、
    最適化の結合はエラーが出るようです。

    • admin より:

      これは誤記だと思います‥。
      「結果の結合」は「分割実行した際に結合する」機能ですので最適化の結果を結合するわけではない‥はずです‥。

      • ソイヤ! より:

        ご返信ありがとうこざいます!
        無料版では機能が制限されているということで
        有料版には、その機能が付いているのだと思い
        emija様もサイトにコメント残しておられたようで
        内容を信頼してしまい、やってしまいました…。

  21. […] ネットで調べていると、有償のツールで日本の方が開発されたソフトウェア MT4BackTester は見つかったのですが、何せ有償ですから…無料で野良EAを見つけて開発している私としては、一 […]

  22. kazuma より:

    初めまして、MT4BackTesterは素晴らしく、欲しいものでした。
    取り急ぎ、無料版でテストさせていただきますが、1つ質問があります。
    このMT4BackTesterを利用してOptimizationを複数の通貨ペアで行うことなどは可能なのでしょうか?
    私的には、このようなことも頻繁に行うため、できたらうれしいと思っています。
    お忙しいところ申し訳ございませんが、回答お願いいたします。

    • emija より:

      コメントありがとうございます。
      最適化を選択した上で複数の通貨ペアを選択することは可能です。
      この場合、通貨ペア毎に結果が出ます。(時間軸も選択した場合には通貨ペア/時間軸毎に結果が出ます)

  23. Hiro より:

     数か月前に購入させていただき、ありがたく使わせて頂いております!
    使っていて欲しい機能が今のところ3点見つかりました!
     ①通貨ペアのAllClear機能(チェックがいれられている通貨ペアをすべてワンクリックでクリアできる機能)
     ②通貨ぺアのAllCheck機能(①とは逆にワンクリックですべての通貨ペアにチェックが入れられる機能)
     ③期間指定において、よく使用する期間がだいたい決まっているので、履歴や簡単なプルダウンなどで選べたりできる機能(毎回変更するのが面倒なので何個か過去記録やテンプレートなどから呼び出したりできれば嬉しいです)

     いつも大変助かっており、物凄く感謝しております!ご検討のほどをどうかよろしくお願いいたします!

    • emija より:

      お世話になっております。
      ご回答が遅くなりまして申し訳ございません。
      次回改修時の参考にさせていただきます。

  24. おは より:

    はじめまして。ゴゴジャンにも同メッセージを送らせていただきました。
    有料版を購入させていただくにあたりまして、無料版にて動作確認をさせていただいております中で1件ご教授お願いいたします。
    無料版の場合は、EAの選択ができないのでしょうか。
    データフォルダ設定、インストールフォルダの設定・選択をしてもMT4内にインストールされていますEAが表示されません。
    よろしくお願いいたします。

タイトルとURLをコピーしました