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

 
Сергей Таболин:

すでにzip圧縮は可能なのか不可能なのか?(うまくいったらどうしようという感じです))))。

はい、KBのzipは静かに修正されました - アップデートはそこに着く。中のファイルの日付はアップデートの日付と同じになります。だから、この日付によって、そのコンテンツが何時に対応したものかをすぐに理解することができる。

 
fxsaber:

テスターのログを見る必要がある。

ターミナルを再起動して10分ほど待つと効果がある。アラートも表示される。ターミナルを開いたらすぐにテストを始めるべきで、トレンドに目を通してはいけない。しかし、時間が経てばすべてが中断されたりループしたりする。前回は普通に172回パスした。もし同じ状況が繰り返されたら、ログを送ります。以前は、そこで標準からの逸脱に気づいたことはない。
 
Good Beer:
ターミナルを開いたらすぐにテストを始めるべきだ。

これは普通の状況ではない。正常な状態とは、無条件ですべてが機能することである。

 

MTTesterに基づいて、異なる取引ロジックの効率を比較することができます。

例えば、TS1とTS2があります。どちらが優れているかを理解する必要があります(もちろん条件付きですが)。


それぞれのTSを最適化し、異なるOOSインターバルで最良の通路をシングルとして実行します。

これはすべてMTTesterを使って自動的に行うことができる。


OOSの結果を比較し、どちらのTSが優れているかを決定する。

 

興味深いログが

2019.12.21 13:38:35.994 Tester  Ready to set
2019.12.21 13:38:36.617 Tester  i=100

が出てきた。

  static bool ClickStart( const bool Check = true, const int Attempts = 100 )
  {
    bool Res = !Check || MTTESTER::IsReady();

    if (Res)
    {
      static const int ControlID[] = {0xE81E, 0x804E, 0x2712, 0x4196};
      GET_HANDLE

      user32::SendMessageW(Handle, BM_CLICK, 0, 0);

      Res = !Check || !MTTESTER::IsReady();

      int i = 0;
      for (i = 0; (i < Attempts) && (!Res)/* && !::IsStopped() */; i++) // グローバル・デストラクタは
        if (Res = !Check || !MTTESTER::IsReady())
          ::Sleep(100);
      Print("i="+(string)i);
    }

    return(Res);
  }

Print("Ready to set");
MTTESTER::SetSettings2(TesterInput);
MTTESTER::ClickStart();

i=100で最低10秒間スリープするのが理想的だ。どうやってそれを1秒でやってのけたのか(そして本質的に間違った実行に移ったのか)、私にはまだわからない。しかし、ボタンが押されたことは確かだ。どうやらボタンの表示にラグがあるようだ。というのも、このテストでは2つ目のインスタンスが並行して実行されていて、CPUに100%の負荷がかかっているからだ。

 

僕はわかったと思う。コンディションがめちゃくちゃだった。おそらく前回、試行回数を50回に変更せざるを得なかった理由だろう。彼は成功した時だけ、とにかく出がけにしか寝ないんだ。しかも、寝るタイミングだとあっという間に過ぎてしまう。バグに違いない。しかも、その虫は悲しいことに、明らかに1ヶ月近く現れなかったし、通路は問題ないと思っていたのに。すべてを再検査しなければならない。そして、なぜめったにないことだが、時々パッセージが合わなくなるのかずっと不思議に思っていた。

それはきっと

if (!(Res = !Check || !MTTESTER::IsReady()))
 
traveller00:

どうやら、それは

そう、私の不注意でループが意味を失っていたのだ。調べてくれて、はっきりと場所を指摘してくれてありがとう。できれば再アップロードします。

 
fxsaber:

そう、私の不注意のせいで、ループが意味を失っていたんだ。それを整理し、明確に指摘してくれてありがとう。できれば再アップロードします。

更新しました。

 

アップデートを待っている間に、マルチテスターのタスクリストがループする原因がわかった。

最初の原因は、私のコンピューターにある サードパーティーのタスクマネージャー「process lasso」だった。ワイヤレスマウスとキーボードには役立つが、1つのアプリケーションがすべてのCPUコアを占有するのは気に入らない。テストエージェントプロセスが 中断され、結果が失われてしまうのだ。不完全なタスクが発生し、そのたびに新しい結果が出た。メタテスターの優先度を上げると、すべてが解決した。

つ目の問題は、 マルチ テスターがフォワードをサポートしていないことである。フォワードが有効になっていなければ、すべてうまくいく。しかしフォワードが有効になっていると、タスクリストが停滞し始める。フォワードテストは、パスの 最後に「DONE メッセージが表示されたときに始まるMultitesterは リストをスクロールしたいが、フォワードが始まる。そして "START "ボタンが押され、古いタスクが開始される。パスを終了するアルゴリズムの基準は何ですか?

multitesterの将来のバージョンでforwardを検討してください

 
Good Beer:

multitesteraの将来のバージョンでは、前方について検討してください。

私はフォワードモードを使ったことがない。いつか試してみよう。