取引ロボットをマーケットにリリースする際のバリデーションエラー。 - ページ 9

 

EA(MT4)をアップデートすると、レポートが見つからないと書き込まれる。


 
Evgeniy Zhdan:

Expert Advisor(MT4)を更新すると、レポートが見つからなかったと表示される。


テストはどのくらい時間がかかりますか?

30分以上経過している場合は、Expert Advisorが何らかのサイクルでハングアップしているため、コード内でエラーを 検出する必要があります。

 
Denis Nikolaev:

テストはどのくらい時間がかかりますか?

30分以上経過している場合は、EAが何らかのサイクルでフリーズしているため、コード内でエラーを 探す必要があります。

スクリーンショットには、所要時間が表示されています
 
Evgeniy Zhdan:
スクリーンショットに所要時間が書いてある

まさに

が、今度は別のエラーが表示されるようになりました。

ティー

最近アップデートしたのですが、一回目は通ったのに、バージョン番号を変えただけで、通らなくなってしまいました

また何かが壊れたのでしょう。

 
私自身、バリデーションの問題にぶつかりました。解決方法は簡単でした。Expert Advisorの初期リスク設定を0とは異なる設定にしました。このような条件下では、選択された固定ロットの値は重要ではありません。Expert Advisorは税関を通過しなかった。リスクをゼロにして、EAのバージョンを変えてアップロードして確認したところ、わずか数秒でサクサクとゴッソリいってしまいました。と承認されました。
 
Uladzimir Balmatou:
私自身、検証の問題にぶつかりました。溶液が表面に出ていたのです。Expert Advisorの初期リスク設定を0と異なる設定にしていた。このような条件下では、選択された固定ロットの値は重要ではありません。Expert Advisorは税関を通過しなかった。リスクをゼロにして、EAのバージョンを変えてアップロードして確認したところ、わずか数秒でサクサクとゴッソリいってしまいました。と承認されました。

はい、今日も動いていますよ〜、直りましたね


ありがとうございました。
 
こんにちは、バリデーターが機能しているかどうか教えてください。 EURUSD,H1 strategy tester report not foundというエラーが出るのですが、私のせいなのかどうなのかわかりません。ありがとうございました。
 
Aliaksandr Pechan:
こんにちは、バリデーターが機能しているか教えてください。 EURUSD,H1 strategy tester report not found」というエラーメッセージが表示され、私のせいなのかどうかわかりません。ありがとうございました。

今はみんなそうなんです。この検証を3段階に分けて行った。最初、取引操作が ないというエラーが出た。 当然、ロットが正しいか、資金があるかなどを確認して注文を出したが、うまくいかなかった。ReferenceからLotのチェックをコピーしただけで、Lotが正しいかどうかだけ確認しますが、正しくない場合はエラーは修正されず、単に仕訳に書き込まれるだけでした。そして、当然ながら、注文は開封されなかった。少し改造して確認しました。

 double CheckVolumeValue()
  { 
   double volume=lastLot;
//--- минимально допустимый объем для торговых операций
   double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
   if(volume<min_volume)
     {
      Print("Lot less than the minimum allowed value SYMBOL_VOLUME_MIN=",+min_volume);
      volume=min_volume;
     }
//--- максимально допустимый объем для торговых операций
   double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   if(volume>max_volume)
     {
      Print("Lot greater than the maximum allowed SYMBOL_VOLUME_MAX=",max_volume);
      volume=max_volume*0.99;
     }
//--- получим минимальную градацию объема
   double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);
   int ratio=(int)MathRound(volume/volume_step);
   if(MathAbs(ratio*volume_step-volume)>0.0000001)
     {
      Print("Lot is not a multiple of the minimum gradation SYMBOL_VOLUME_STEP=",volume_step);
      volume=MathRound(volume/volume_step);
      volume=volume*volume_step;
     }
   return(volume);
  }

すると、EURUSD,H1 strategy tester report not foundという エラーが出ました。と推理し始めた。テスターレポートがない場合は、EAが全く動作していないことを意味します。どんな場合に?この口座での取引が禁止 されている場合、または接続されていない場合。私は、このテーマについてリファレンスで見つけたすべてを、コードの冒頭に挿入しました。

 void OnTick()
  {
   if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
      {Print("Check the automatic trading permission in the terminal settings!");
      Alert("Check the automatic trading permission in the terminal settings!");
      }
   if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
      {
       Print("Automatic trading is prohibited in the program properties for",__FILE__);
       Alert("Automatic trading is prohibited in the program properties for",__FILE__);
      }
   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT)) 
      Print("Automatic trading is prohibited for the account",AccountInfoInteger(ACCOUNT_LOGIN), 
      " on the trading server side ");
   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)) 
      {Comment("Trading is prohibited for the account ",AccountInfoInteger(ACCOUNT_LOGIN), 
            ".\n It is possible that the connection to the trading account was made using an investment password.", 
            "\n Check the terminal log to see if there is such an entry:", 
            "\n\'",AccountInfoInteger(ACCOUNT_LOGIN),"\': trading has been disabled - investor mode.");
       Print("Trading is prohibited for the account ",AccountInfoInteger(ACCOUNT_LOGIN));
      }
   if(!TerminalInfoInteger(TERMINAL_CONNECTED)) Print("No connection to the server");

このエラーを一発でクリアしました。しかし、もう一つ、エラー148が出ました。

未決済・保留の注文数が、ブローカーが設定した上限に達した。


OrderSendの前に最大注文数のチェックを挿入して、ようやく検証をクリアしました。

 
こんばんは!
MQL5 Marketで テスト段階のEAを配置する際に質問があります。
.ex5ファイルを配置する際に、オートテストの時間枠を指定するにはどうしたらよいですか。そうしないと、オートテストはデフォルトでH1時間枠で実行されます。
取引するペアが1つしかなく、タイムフレームも1つしかない場合はどうしたらよいですか?
今のところ、このチェックの仕方がよくわからないんです。

追伸:ボリュームは自分でチェックしています。
ヘルプにあるようなコードを挿入すればいいのでしょうか?
 
Alexandr Plys:
こんばんは!
MQL5 Marketに Expert Advisorを配置するテスト段階で質問があります。.ex5ファイルを配置する際に、オートテストの時間枠を指定するにはどうしたらよいですか。そうしないと、オートテストはデフォルトでH1時間枠で実行されます。取引するペアが1つしかなく、タイムフレームも1つしかない場合はどうしたらよいですか?今のところ、このチェックの仕方がよくわからないんです。追伸:ボリュームは自分でチェックしています。ヘルプにあるようなコードを挿入すればいいのでしょうか?





市場での自動検証では、財務結果は重要視されず、異なる取引環境条件、異なる預金、異なる時間枠、取引商品で起こりうるエラーについてチェックが行われます。テストは可能な限りすべての条件下でエラーなく行う必要があり、ペアや時間枠の制限は設けることができません。説明では、推奨される取引ツールと時間枠を指定してください。

理由: