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

MetaTrader4

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を同時に起動することでバックテストを高速化する機能です。

上級者向けの設定ですので操作に慣れてからご利用いただくことをおすすめいたします。

1.管理者権限で実行するためMT4BackTesterをシフトキーを押しながら右クリック、「管理者として実行」で起動してください。

2.MetaTrader設定の「インストールフォルダ」の下にある+ボタンをクリックすると「インストール先の複製確認」が表示されます。

「はい」をクリックすると複製が実行されます。データフォルダの内容をすべて複製するため、時間がかかります。終了までそのままお待ち下さい。

3.インストール先の複製完了が表示されますのでOKをクリックしてください。

4.バックテストの設定画面に移動して、MT4複数同時起動のスイッチをONにして右のリストから2を選択してください。

「バックテスト実行」をクリックするとMT4を2つ起動してバックテストを実行します。

同時起動数を増やしたい場合にはインストールフォルダの下の+ボタンをもう一度クリックして複製してください。

複製したくない場合(既存のフォルダを指定したい場合)には複製確認画面で「いいえ」を選択するとインストールフォルダが空欄で表示されますので、任意のフォルダを設定してください。

1つずつ、正常に動作することを確認しながら増やすようにしてください。
なお、パソコンの能力によって正しくバックテストできるMT4の起動数が異なります。通常のパソコンでは2か3つ程度まで、高性能なパソコンでも4つか5つ程度が正常にバックテストできる限界のようです。

複製したフォルダは「削除」ボタンで削除できます。(インストールフォルダ、データフォルダも物理的に削除します)

設定ファイルの編集

左側のメニュー、上から「ファイル」のアイコンをクリックすると「設定ファイル編集画面」が表示されます。

MT4を起動せずに設定の編集・保存が可能です。

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

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

事前準備として「EA名と同名の設定ファイル」が必要になります。(同梱の説明書にて詳細に解説しております)

手動編集モード

1.バッチ処理編集画面

左メニューの上から3番目、ファイルが2つのアイコンをクリックするとバッチ処理編集画面が起動します。

2.バッチ処理作成

(1)「バッチ実行元の設定ファイルを選択」ボタンをクリックして設定ファイルを作成したEAを選択します

(2)選択したEA名が表示されますので、次にバッチ作成数を選択して「バッチ処理を作成」ボタンをクリックします。今回は10個作成しました。

3.バッチ処理の編集

連続で実行したいパラメーターを設定していきます。今回は例として各パラメーターをそれぞれ最適化します。

(1)StopLossの最適化

(2)TrailingStopの最適化

パラメーターを個別に最適化する場合に、バッチ処理を作成しておくと、一度の「バックテスト実行」で設定したパラメーターをすべて最適化できます。

※編集後は右下の「保存」ボタンを押してください。保存ボタンを押さずに別の設定ファイルを選択したり、別の画面に遷移しますと、編集内容が消えてしまいます。
※同梱のマニュアルにはより詳しい使い方(設定の追加・削除等)が記載されています。

4.バッチ処理の実行

利用方法はアイデア次第です。例えば、あるパラメーター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つ同時に実行できます。(環境にもよりますが、バックテスト実行時間をほぼ三分の一にできます。)

最適化展開モード

最適化展開モードは、「最適化で実行するケース」を「個別のバックテストに展開(分解)」するモードです。

これにより、本来は1つのMT4でしか処理できない最適化処理を複数のMT4で分割実行が可能になります。(高速化)

また、複数のパラメーターで最適化を行う場合、「不要なバックテスト」が発生することがあります。(実行しなくてもよいケースが発生することがあります)

そういった不要なバックテストを「最適化展開」した後で削除してしまうことで、不要なバックテストを省ことも可能です。

TickDataSuite(TDS)の最適化による問題

TickDataSuite(以下TDS)ではリアルティックを使用したバックテストが可能となっておりますが、最適化を行った場合には「全ティック」によるバックテストが実行されず、「最適化」した結果と「通常のバックテスト」の結果が異なるという問題があります。(TDSの問題ではなく、MT4側の問題です)

最適化展開モードを使用することで「最適化と同様の結果を通常のバックテスト」で実行することが可能となっています。

1.最適化展開モードの実行

基本的な使い方は「手動編集モード」と同じです。

左メニューの上から3番目、ファイルが2つのアイコンをクリックするとバッチ処理編集画面が起動しますので、EAを選択して「最適化展開モード」をクリックしてください。

2.展開したい最適化にチェックをつけてスタート、ステップ、ストップを設定

StopLossの最適化を展開して10パターンのバックテストを生成してみます。

StopLossの左端にチェックを入れ、スタート、ステップ、ストップを設定しました。

設定すると右に生成されるパターン数が表示されます。生成内容に問題なければ右下の「生成」ボタンをクリックするとバックテスト用のバッチ設定が生成されます。

3.バッチ処理の実行

最後にバックテスト設定の「バックテスト実行条件の設定」にある「バッチ処理の実行」スイッチをONにしてから「バックテスト実行」ボタンをクリックしてください。(「バッチ処理の実行」スイッチがOFFの場合にはバッチ処理が実行されません。)

「最適化」のスイッチはOFFにしてください。ONにしていると展開したバックテストが実行されません。

MT4BackTesterのご購入方法

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

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をコピーしました