エラー、バグ、質問 - ページ 2174

 

カスタムシンボルの利益通貨(SYMBOL_CURRENCY_PROFIT)は、Terminal再起動後にリセットされます。このため、TickValueが0になることが多く、Strategy Testerでは利益ゼロのトレードが発生する。その都度、利益通貨の値を正常なものに戻す必要があります。


プレイバック

void OnStart()
{
  const string Name = "EXAMPL";
  
  if (CustomSymbolCreate(Name))
    CustomSymbolSetString(Name, SYMBOL_CURRENCY_PROFIT, "JPY");

  Print(SymbolInfoString(Name, SYMBOL_CURRENCY_PROFIT)); // "JPY" - до перезагрузки Терминала, "MPL" - после.
}
 
Testerのカスタムシンボルでは、指値注文の正のスリッページによる粒子が発生します。カスタムシンボルの指値注文のスリッページを無効にするか、スリッページ(と手数料)を調整してください。
 

Core1-Agentを無効化するオプションはありません。

単発の実行は不可

2018.03.27 09:18:19.647 Core 1  agent process started
2018.03.27 09:18:28.380 Core 1  connecting to 127.0.0.1:3000
2018.03.27 09:18:45.562 Core 1  tester agent authorization error
2018.03.27 09:18:45.564 Core 1  connection closed

ターミナルを再起動してもダメです。


HH たった2回のパスで最適化はこうなる(アニメーション)

正常な接続が行われるまで、Agentの認証エラーが継続的に発生する。しかも、それがたった2回のパスで!?

 

選択可能なシンボルのリストが著しく不足している。

 
fxsaber:

Core1-Agentを無効化するオプションはありません。


また、第1コアを無効化したいと思います。
 

このほかにも

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

バグ、バグ、質問

キリル・ベローゾフ さん 2018.03.26 12:30

名前が違うので、その点を考慮して削除しています。


SAVE THAT:

_______________________________________

サブウィンドウリストの最初のインジケータを削除すると、サブウィンドウのオブジェクトが完全に消去される(手動で描いた線、矢印、テキストラベルも削除される)。

再現しました。

1.コンストラクタで、別ウィンドウに空のインジケータを作成する(または、標準の配信セットからMACDなど、既存の任意のインジケータを取得する)。

2.1つのサブウインドウに5つのインジケーター/コピーを追加する

3.サブウインドウ(または任意のオブジェクト)に手動で縦線を引く。

インジケータリストから先頭でないインジケータを削除しても線は残りますが、先頭のインジケータがリストにある場合は、すべてのサブウィンドウオブジェクトが削除されます(縦線が引かれる)。

最初の線を削除した後にもう一度線を引くと、残りの線のうち最初の線が削除されたときに、また削除されます。最初の1個を削除しない場合、サブウィンドウ内のオブジェクトは削除されません。


ドキュメントのどこに書いてあるのですか?サブウィンドウの一覧で最初に表示されるインジケーターというのは、何が特別なのでしょうか?

サブウインドウの完全な再初期化が行われているようです。


MT4/MT5で再現。

MT5では、インジケーターのファイル名が異なるはずです。MT4では、ファイル名を変更することなく、1つのサブウィンドウに同じインジケータファイルを配置することができます。


最初のサブウィンドウのインジケーターに関する問題

サブウィンドウのインジケータが削除される時点で、そのインジケータがサブウィンドウのインジケータリストの先頭であった場合、すべてのオブジェクトが削除される

サブウィンドウのインジケータリストから最初のインジケータを削除する場合、すべてのサブウィンドウオブジェクトがOnDeinit()の前に削除されます。

void OnDeinit(const int reason)
  {
  int window=ChartWindowFind();
  if(window==2)
  {
  int count=0;
  for(int i=ObjectsTotal()-1;i>=0;i--)
    {
     if(ObjectFind(ObjectName(i))==window) count++;
    }
  Alert("Осталось объектов в подокне #2 - ",count," _StopFlag=",_StopFlag," REASON=",reason);
  }
//....
}

最初の1枚ではなく、リストの最初の1枚を削除してみよう

すべてのオブジェクトが削除されます

サブウィンドウ内のインジケータや手動で作成したオブジェクトに関係なく、すべてのオブジェクトが削除されます。
 

MQ-Demoで "All ticks "モードでアドバイザーを実行する。

void OnTick()
{
  static int i = 0;
  
  if (i < 2)
  {
    MqlTick Tick;
    
    if (SymbolInfoTick(_Symbol, Tick))
      Print(Tick.time_msc);
      
    i++;
  }
  else
    ExpertRemove();
}


結果

Si-6.18,M1 (MetaQuotes-Demo): every tick generating
Si-6.18,M1: testing of Experts\fxsaber\LimitsSlippage.ex5 from 2018.03.25 00:00 to 2018.03.27 00:00 started
2018.03.26 10:00:00   1522058400378
2018.03.26 10:00:00   1522058400013
2018.03.26 10:00:00   ExpertRemove() function called

最初に生成されたティックの時間が2番目より長い - バグ。

 
オプティマイザーが無限ループに入り、次のようなメッセージが繰り返される(3つのパスがすべて開始されている)。
2018.03.27 23:13:54.520 Core 2  TESTER_EURUSD: history for 2017 year synchronized
2018.03.27 23:13:54.578 Core 1  pass 0 tested with error "history processing error (314 TESTER_EURUSD)" in 0:00:00.125
2018.03.27 23:13:54.580 Core 2  pass 1 tested with error "history processing error (314 TESTER_EURUSD)" in 0:00:00.124
2018.03.27 23:13:54.580 Core 3  pass 2 tested with error "history processing error (314 TESTER_EURUSD)" in 0:00:00.124
2018.03.27 23:13:54.600 Core 5  common synchronization completed


ZS再生


添付のアーカイブの 内容をサンドボックスにコピーします。

MQ-Demoでスクリプトを実行する

#include <fxsaber\ThirdPartyTicks\ThirdPartyTicks.mqh> // https://www.mql5.com/ru/code/20225

void OnStart()
{
  THIRDPARTYTICKS ThirdPartyTicks; // Подключились к локальному архиву котировок

  const string Name = ThirdPartyTicks["EURGBP"].ToCustomSymbol(true); // Создали кастомный символ на основе локального архива  
  
  if (Name != NULL)
  {
    const SYMBOL Symb("TESTER"); // Создали символ
  
    if (Symb.IsExist()) // Если символ создан
    {
      Symb.CloneProperties("Si-6.18");      
      Symb.SetProperty(SYMBOL_DIGITS, 5);
      
      Symb.CloneHistory(Name);
  
      if (Symb.On()) // Включили в Обзор рынка
        ChartOpen(Symb.Name, PERIOD_CURRENT); // Открыли график нового символа
    }   
  }
}


カスタムTESTERシンボルが作成されます。テスターで選択します。設定:最適化スロー、全ティック。

このEAを追加する

input int Range = 0;

void OnTick() {}


オプションタブ


Optimizationを起動 し、この無限ループをご覧ください。


ファイル:
Archive.zip  1729 kb
 

テスターでは、"no money "のリモート注文は、クローズ時間がゼロに設定されます。

もちろん、これはバグです。

 

この投稿の 画像が新しいポップアップで開かないのは私だけでしょうか?Mozilla FireFox 59.0.2 (64ビット)

つまり、引用元になっている画像が開かないのです。