MetaTrader 5 Strategy Tester: バグ、不具合、改善のための提案 - ページ 23

 
Slava:

OnInitが0以外のコードを返したため、テスターが停止した。

だから、統計がないんです。

ありがとうございます。トレードをしたままチャートが作られるのは面白いですね。

 
Andrey Pogoreltsev:

エージェントは、メキシコを通過して何もしないようにしようとするとメモリに過負荷がかかり、タスク数が増える一方です。ログには以下のようなエラーが表示されます。

エージェントのログを見る必要があります。

エラー14は、このツールの入札価格がゼロであることを意味します。つまり、履歴の中に左のバーがあります

PS 単発でテストを行った方が良い。そうすれば、テスターエージェントのログに必ずエラーがヒットします。最適化する場合、OnInitが終了するまでエラーは表示されません。

 

すべて閉じるとグループアイコンが消え、最適化のためのパラメータを選択するオプションも消えます。


input group "ORDER"
input double K = 30;
input double TP_0 = 500;
input double MaxLoss = 0.25;
input group "FUNCTIONS"
input bool MultipleStopOrders = true;
input bool CloseAllPosReversSig = true;
input group "MONEY MANAGEMENT SETTING"
input double StartLot = -0.01;
input group "ORDERS SETTING"
input int MagicNumber_ = 2000; // Magic Number
input int Slippage = 50;       // Slippage
 
Slava:

クリップボードに設定されていないEAの入力パラメータを変更しないよう、強く要望します。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

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

fxsaber, 2019.11.06 11:24

マルチテスターの実行後に大量の最適化キャッシュを見るときも、同じことをするんですね。

  1. 単発で走るには最適なパスを選択する(PCM経由)。
  2. 気に入ったら、最適化を無効にして、間隔を長くするのです。
  3. スタート」を押すと

このとき、ほとんどの時間は手順2に費やされ、その結果、エラーが発生することが多い。半自動化したいと思います。そして、解決策はある!


このテキストをクリップボードにコピーします。

[Tester]
Optimization=0
FromDate=2019.01.01


そして、設定タブでCTRL+Vキーを押すだけです。これにより、自動的に最適化が解除され、正しい日付が設定されます。


ZZYは焦って盛り上がった。EA入力パラメータは、このバッファでデフォルトにリセットされます。

 
fxsaber:

クリップボードに設定されていないEAの入力パラメータを変更しないよう、大きな要望があります。

はい、動作を修正します。

PS 記載されている動作は再現性がありません。挿入されたテキストに [TesterInputs] セクションがない場合、Expert Advisor の設定タブは全く触れません。

 
Slava:
はい、行動を修正する

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

 
fxsaber:

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

プレイしていない
 
Slava:

PS 記載されている動作は再現されません。挿入するテキストに[TesterInputs]セクションがない場合、Expert Advisorの設定タブは全く触れない

エキスパートアドバイザー

input int Range = 0; // 0 .. 100

double OnTester() { return(Range); }


プレイバック


 
おそらく、この標準機能で誰も損をすることはないでしょう。

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

mql5言語の特徴、TipsとTricks

fxsaber, 2019.11.06 16:57

遺伝的最適化では、最初の数千回のパスで、すでに結果を多かれ少なかれ理解できることがあります。

自動的に多くの最適化を実行する場合、すべての動作が速くなるようにしたいものです。そのため、最適化を中断する仕組みが必要になるのです。

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

// Выключает Оптимизацию ( и одиночный проход)
bool OptimizationStop( void )
{
  return(!MTTESTER::IsReady() && MTTESTER::ClickStart(false));
}


アプリケーションです。

// Демонстрация прерывания Оптимизации.

sinput int inAmountPasses = 20; // Через сколько проходов закончить
input int Range = 0; // 0..10000

double OnTester()
{
  int Data[];
  
  return(FrameAdd(NULL, 0, 0, Data)); // Сгенерировали TesterPass
}

void OnTesterPass()
{
  static int Amount = 0;
  
  ulong Pass;
  string Name;
  long ID;
  double Value;
  int Data[];

  while (FrameNext(Pass, Name, ID, Value, Data))
    if (++Amount > inAmountPasses)
    {
      OptimizationStop(); // Как достигли нужного количества проходов, выключили оптимизатор.
      
      break;
    }
}
 
fxsaber:

アドバイザー


プレイバック


この真相に迫ろう