라이브러리: 멀티 테스터 - 페이지 15

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

이미 압축이 가능한가요? (만약 작동한다면 어떻게 되나요? ))))

예, KB의 압축이 조용히 수정되었습니다. 업데이트가 거기에 도착합니다. 내부 파일의 날짜는 업데이트 날짜와 동일하게 됩니다. 따라서 이 날짜로 콘텐츠가 어떤 시간에 해당하는지 즉시 이해할 수 있습니다.

 
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초 만에 (그리고 본질적으로 잘못 실행되었는지) 아직 알아내지 못했습니다. 하지만 버튼을 눌렀다는 점은 분명합니다. 분명히 버튼 표시에 지연이 있는 것 같습니다. 테스트에서 병렬로 실행 중인 두 번째 인스턴스가 있고 CPU를 100%로 로드하고 있기 때문입니다.

 

이해한 것 같아요. 조건이 엉망이었어요. 그래서 지난번에 시도 횟수를 50회로 바꿨나 봐요. 어차피 성공할 때만 잠을 자고, 어차피 나갈 때만 잠을 자요. 그리고 잠들기 좋은 시간이 되면 금방 지나가죠. 버그인가 봐요. 그리고 버그는 슬프고 거의 한 달 동안 나타나지 않았고 구절이 괜찮기를 바랐습니다. 나는 모든 것을 다시 테스트해야 할 것입니다. 그리고 드물지만 가끔 구절이 서로 맞지 않는 이유가 계속 궁금했습니다.

아마도

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

분명히, 그것은 다음과 같아야합니다.

네, 제 부주의로 인해 루프가 의미를 잃고 있었습니다. 살펴봐 주시고 위치를 명확하게 지적해 주셔서 감사합니다. 가능하면 다시 업로드하겠습니다.

 
fxsaber:

네, 제 부주의로 인해 루프가 의미를 잃었습니다. 정리해 주시고 명확하게 지적해 주셔서 감사합니다. 가능하면 다시 업로드하겠습니다.

업데이트했습니다.

 

업데이트를 기다리는 동안 멀티테스터 작업 목록이 반복되는 이유를 알아냈습니다.

첫 번째는 제 컴퓨터의 타사 작업 관리자 "프로세스 올가미"였습니다. 무선 마우스와 키보드에는 도움이 되지만 하나의 애플리케이션이 모든 CPU 코어를 사용하는 것은 마음에 들지 않습니다. 테스트 에이전트 프로세스가 중단되고 결과가 손실됩니다. 매번 새로운 결과가 나오는 불완전한 작업을 수행하게 됩니다. 메타테스터 우선순위를 높이면 모든 문제가 해결되었습니다.

두 번째 문제는 멀티테스터가 전달을 지원하지 않는다는 것입니다. 전달이 활성화되어 있지 않으면 모든 것이 정상적으로 작동합니다. 하지만 이 기능이 활성화되어 있으면 작업 목록이 막히기 시작합니다. 정방향 테스트는 패스가 끝날 때 "완료 " 메시지가 나타나면 시작됩니다. 멀티테스터가 목록을 스크롤하려고 하지만 정방향 테스트가 시작됩니다. 그리고 "시작" 버튼을 누르면 이전 작업이 시작됩니다. 패스를 종료하는 알고리즘의 기준은 무엇인가요?

멀티테스터의향후 버전에서 앞으로 이동을 고려하세요 .

 
Good Beer:

멀티테라의 향후 버전에서 이 기능을 고려해 주세요.

저는 포워드 모드를 실행해 본 적이 없습니다. 언젠가 한번 해보겠습니다.