ライブラリ: マルチテスター - ページ 49

 
fxsaber #:
現在のバージョンのMTTester.mqhをお使いですか?以下のコードがあります。

最新バージョンにアップデートしたのは覚えていますが、なぜそのファイルをアップデートし損ねたのかわかりません。今はすべてうまくいっています。

 
Добрый день!

このサイトでは、......... 続きを読む
Выдаетсяошибка:
parameter convertion type 'short[260]' to 'ushort[] &' is not allowed MTTester.mqh 156 39
int user32::GetClassNameW(long,ushort&[],int) winuser.mqh 1414 37

MTTester.mqh ?

MTTester.mqhをご利用ください。

Не могли бы помочь?

С уважением, Александр.
ファイル:
_Noc.mq5  62 kb
 
klycko #:
添付のスクリプトのコンパイルが止まった。

取引、自動取引システム、取引戦略のテストに関するフォーラム。

ライブラリ: MultiTester

fxsaber, 2025.06.08 16:57

KBからソースをダウンロードするには、写真のように対応するファイルをクリックするだけです。

この方法でダウンロードして確認したところ、エラーなくコンパイルできました。

 
fxsaber #:

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

すべてうまくいきました!

 

上記の画像のようにダウンロードしましたが、cmopileでエラーが発生しました。

Mttester.mqh コンパイルエラー pls check for new build MT5 V5 BULD 5142


ERRROS :


parameter convertion type 'short[260]' to 'ushort[] &' is not allowed MTTester.mqh 135 39

'ReadFile' - 関数呼び出しにオーバーロードを適用できない MTTester.mqh 1283 21


 
dave365 #:

上の画像のようにダウンロードしたが、cmopileでエラーが発生した。

取引、自動取引システム、取引戦略のテストに関するフォーラム

ライブラリマルチテスター

fxsaber, 2025.06.12 14:55

現在のバージョンのMTTester.mqh ファイルのサイズは現在123,822 バイトです。

 

こんにちは

お元気ですか?

マルチテスターに関するあなたの仕事についています。例とライブラリの使い方の説明を読みましたが、どのように使うのかわかりません。

私は9つのシンボル上のインジケータをテスト/最適化するために書いたEAを持っています。EAに以下のようなコードを実装しました。

//+------------------------------------------------------------------+
//|MultiTesterBase.mq5
//|著作権 2025, MetaQuotes Ltd.|
//|https://www.mql5.com
//+------------------------------------------------------------------+
#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"

#include <fxsaber\MultiTester\MultiTester.mqh>

#define  EA_NAME "IndicatorTesting\\EAs\\ash_indicator_testing.ex5"

// この関数は、タスクのリストを生成する。
void SetTesterSettings()
{
   TesterSettings.Add(EA_NAME, "EURUSD", PERIOD_CURRENT);
   TesterSettings.Add(EA_NAME, "AUDNZD", PERIOD_CURRENT);
   TesterSettings.Add(EA_NAME, "EURGBP", PERIOD_CURRENT);
   TesterSettings.Add(EA_NAME, "AUDCAD", PERIOD_CURRENT);
   TesterSettings.Add(EA_NAME, "CHFJPY", PERIOD_CURRENT);
   TesterSettings.Add(EA_NAME, "CADSGD", PERIOD_CURRENT);
   TesterSettings.Add(EA_NAME, "BTCUSD", PERIOD_CURRENT);
   TesterSettings.Add(EA_NAME, "XAUUSD", PERIOD_CURRENT);
   TesterSettings.Add(EA_NAME, "US500", PERIOD_CURRENT);
}
//+------------------------------------------------------------------+

テスターでは、ash_indicator_testing EA を選択する必要がありました。なぜなら、そうしなければ最適化パラメータが得られないからです。そうした後、私は上記の貼り付けたコード・スニペット、すなわち(multitester ea)をチャートに適用しました!使い方について十分な情報を見つけることができませんでした。

どうかご指導ください。

よろしくお願いします。

 
Hafiz Tamur Ahmed #:

ご指示ください

歴史的に、MultiTester.mqhは Testerとのインタラクションを書くのに使われていません。ですから、すぐに別の方法、つまりMTTester.mqhを 使うことをお勧めします。


ここに良い例があります。

取引、自動取引システム、取引戦略のテストに関するフォーラム。

ライブラリ: MultiTester

fxsaber, 2024.01.17 12:13 AM

#include <fxsaber\MultiTester\MTTester.mqh>    //https://www.mql5.com/ja/code/26132

#define _CS(A) ((!IsStopped()) && (A))
#define  PAUSE 200

void Run( const string Settings )
{
  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);

  MTTESTER::CloseNotChart();
    
  if (_CS(MTTESTER::SetSettings2(Settings)))
    MTTESTER::ClickStart(false);

  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);
}

void OnStart()
{
  string Settings[] = {"[Tester]\n" +
                       "Expert=Input_String_Example_Alternative.ex5\n" +
                       "Symbol=EURUSD\n" +
                       "Period=M1\n" +
                       "Optimization=2\n" +
                       "Model=4\n" +
                       "FromDate=2023.01.01\n" +
                       "ToDate=2024.01.01\n" +
                       "ForwardMode=0\n" +
                       "Deposit=1000000000\n" +
                       "Currency=USD\n" +
                       "ProfitInPips=1\n" +
                       "Leverage=100\n" +
                       "ExecutionMode=0\n" +
                       "OptimizationCriterion=6\n" +
                       "[TesterInputs]\n" +
                       "inAmount=1||1||1||10||N\n" +
                       "inCount=2||2||1||20||N\n" +
                       "inPeriod=3||3||1||30||N\n" +
                       "inKoef=4.56||4.56||0.456000||45.600000||N\n" +
                       "inLog=7.89||7.89||0.789000||78.900000||N\n" +
                       "inFlag=true||false||0||true||N"
                      };

  for (uint i = ArraySize(Settings); (bool)i--;)
    Run(Settings[i]);
}

テスターの設定はCTRL+C/Vで保存されます。それらを別のファイルに保存し、上記のソースのSettings[] 配列にそれらのデータを入れることができます。


追加の例です。

Optimize EA over a time window
Optimize EA over a time window
  • 2025.06.30
  • Maker
  • www.mql5.com
Is it possible to make the Strategy Tester to Optimize EA running it automatically multiple times over a range of time windows...
 

ご回答ありがとうございます。しかし、コントローラーEAの実装方法と使用方法がよくわかりません。というのも、フォーラムを読んでいるのですが、ポップアップが表示されたり、そのようなものを見たことがないからです。コントローラーEAを私のチャートに適用したときに私の側で起こったことといえば、テスターを待っているという行と、何が実行されているのかという行だけで、下のストラテジーテスターは常に点滅しています。私はテスターで何もできませんでした!

私のような新参者が簡単に理解し、シナリオに従って実装できるように、ライブラリのドキュメントで完全なエンドツーエンドガイドが提供されれば幸いです!

よろしくお願いします。

CC:fxsaber

 
非標準的な方法で暦月の刻み数を取得する。
#include <fxsaber\MultiTester\MTTester.mqh> //https://www.mql5.com/ja/code/26132

#define  PRINT(A) Print(#A + " = " + (string)(A));

void OnStart()
{
  MqlTick Ticks[];
  
  // 州法による暦月の刻み数。
  PRINT(CopyTicksRange(_Symbol, Ticks, COPY_TICKS_ALL, D'2025.08.01' * 1000, D'2025.09.01' * 1000 - 1));
  
  // 非標準的な方法による、暦月ごとの刻み数。
  PRINT(MTTESTER::GetAmountFileMonthTicks(D'2025.08.01'));
}


結果

CopyTicksRange(_Symbol, Ticks, COPY_TICKS_ALL, D'2025.08.01' * 1000, D'2025.09.01' * 1000 - 1) = 10820615
MTTESTER::GetAmountFileMonthTicks(D'2025.08.01') = 10820615