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

 

테스트 세트가 최근에 완료되었습니다. 50번의 반복으로 이중 통과가 없었습니다.

로깅, 대부분 반복 1, 덜 자주 0과 2를 넣었습니다. 그러나 때로는 드물게 이유를 알 수 없지만 최대 7-8까지 버스트가 발생합니다. 나는 예비와 부정적인 영향없이 50을 유지할 것입니다.

 

MTTester.mqh 파일에서 캐시 또는 구성 경로는 ::TerminalInfoString(TERMINAL_PATH)+를 통해 얻습니다.

하지만 개인적으로 저는 프로그램 파일에 설치(기본적으로 모든 것을 설정)하고 프로필은 별도로 설정했습니다. 터미널_데이터_경로로 수정했습니다.

 
원칙적으로 GetLastOptCache(및 그에 따른 GetLastOptCacheFileName)뿐만 아니라 마지막 캐시도 가져오는 것이 유용할 수 있습니다. 또한 특정 문자에 대한 마지막 캐시도 가져올 수 있습니다. 제가 직접 추가한 것이지만 일반 버전에서도 유용할 수 있습니다.
 
traveller00:

테스트 세트가 최근에 완료되었습니다. 50번의 반복으로 이중 통과가 없었습니다.

로깅, 대부분 반복 1, 덜 자주 0과 2를 넣었습니다. 그러나 때로는 드물게 이유를 알 수 없지만 최대 7-8까지 버스트가 발생합니다. 나는 예비와 부정적인 영향없이 50을 유지할 것입니다.

나는 그것으로 인한 부정적인 영향을받지 않았습니다. 정보 주셔서 감사합니다, 나는 50을 넣을 것입니다, 그것은 음식을 요구하지 않지만 다른 사람들을 위해 일할 것입니다.


traveller00:

MTTester.mqh 파일에서 캐시 또는 구성 경로를 ::TerminalInfoString(TERMINAL_PATH)+를 통해 얻습니다.

그러나 개인적으로 저는 프로그램 파일에 설치 (기본적으로 모든 것을 넣었습니다)하고 프로필은 별도로 있습니다. 터미널_데이터_경로로 수정했습니다.

나는 휴대용에서만 일하고 TERMINAL_PATH == TERMINAL_DATA_PATH가 있습니다. 고마워요, 모든 KB 작업에서 유니버설 모드를 작동 시키겠습니다.



원칙적으로 GetLastOptCache (및 그에 상응하는 GetLastOptCacheFileName)를 마지막 것뿐만 아니라 전혀 가져 오는 것이 유용 할 수 있습니다. 그리고 특정 캐릭터의 마지막 것도요. 저 자신을 위해 추가했지만 일반 버전에서도 유용할 수 있습니다.

이 코드를 작성할 때 제가 직접 겪은 사용 시나리오에 따라 안내를 받았습니다. 마지막 심볼별 캐시 옵션은 아직 유용할 수 있는 부분이 보이지 않아 고려하지 않았습니다.

많은 문자를 서로 비교하는 데 유용할 수 있습니다. 아직 유용한 스크립트를 찾지 못했습니다.


자신만의 구현이나 사용 시나리오가 있다면 게시해 주세요. 그렇게 하면 훨씬 더 건설적입니다.

 

지금은 도구를 마무리하고 구체화하는 단계에 있습니다. 그래서 먼저 90개의 심볼에 대해 최적화를 실행했습니다. 그런 다음 결과를 수작업으로 파싱하지 않고 자동화를 통해 전체 더미에서 흥미로운 기호를 찾아내 수작업으로 전환하기로 결정했습니다. 그리고 기본 기능에 실패했기 때문에 기호별 필터링이 필요했습니다.

수정은 최소한의 호환성을 유지하면서 선택적 매개변수인 const 문자열 SymbName = NULL을 추가하고 몇 가지 함수를 통해 이를 던지고 GetLastOptCacheFileName을

return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"\\\Tester\\\cache\\\",SymbName != NULL ? "*."+SymbName+".*.opt" : "*.opt"));

 
traveller00:

지금은 도구를 마무리하고 구체화하는 단계에 있습니다. 그래서 먼저 90개의 심볼에 대해 최적화를 실행했습니다. 그런 다음 결과를 수작업으로 파싱하지 않고 자동으로 처리하기로 결정하고 전체 파일에서 흥미로운 기호를 골라내어 수작업으로 전환했습니다. 기본 기능으로는 실패했고, 그때 문자별 필터링이 필요했습니다.

알았어요. 그런 다음 EA의 이름도 추가하는 것이 논리적입니다.

수정은 최소한의 호환성을 유지하면서 선택적 매개 변수인 const 문자열 SymbName = NULL을 추가하고 몇 가지 함수를 통해 던지고 GetLastOptCacheFileName을

return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"\\\Tester\\\cache\\\",SymbName != NULL ? "*."+SymbName+".*.opt" : "*.opt")));

마스크 생성 문제를 수정하겠습니다.

[삭제]  

뭔가 잘못되었습니다...

2019.11.29 17:21:46.241 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (1/25) - Start.
2019.11.29 17:24:05.099 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (1/25) - Done. Time = 00:02:19
2019.11.29 17:24:05.250 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (2/25) - Start.
2019.11.29 17:25:54.975 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (2/25) - Done. Time = 00:01:49
2019.11.29 17:25:55.136 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (3/25) - Start.
2019.11.29 17:27:30.347 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (3/25) - Done. Time = 00:01:35
2019.11.29 17:27:30.531 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (4/25) - Start.
2019.11.29 17:29:18.129 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (4/25) - Done. Time = 00:01:48
2019.11.29 17:29:18.333 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (5/25) - Start.
2019.11.29 17:31:15.052 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (5/25) - Done. Time = 00:01:57
2019.11.29 17:31:15.170 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (6/25) - Start.
2019.11.29 17:33:16.972 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (6/25) - Done. Time = 00:02:01
2019.11.29 17:33:17.092 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (7/25) - Start.
2019.11.29 17:35:00.090 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (7/25) - Done. Time = 00:01:43
2019.11.29 17:35:00.412 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (8/25) - Start.
2019.11.29 17:36:45.975 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (8/25) - Done. Time = 00:01:45
2019.11.29 17:36:46.092 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (9/25) - Start.
2019.11.29 17:38:19.975 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (9/25) - Done. Time = 00:01:33
2019.11.29 17:38:20.090 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (10/25) - Start.
2019.11.29 17:40:02.238 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (10/25) - Done. Time = 00:01:42
2019.11.29 17:40:02.352 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (11/25) - Start.
2019.11.29 17:41:58.122 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (11/25) - Done. Time = 00:01:56
2019.11.29 17:41:58.236 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (12/25) - Start.
2019.11.29 17:43:37.213 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (12/25) - Done. Time = 00:01:39
2019.11.29 17:43:37.324 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (13/25) - Start.
2019.11.29 17:45:30.973 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (13/25) - Done. Time = 00:01:53
2019.11.29 17:45:31.087 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (14/25) - Start.
2019.11.29 17:47:10.246 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (14/25) - Done. Time = 00:01:39
2019.11.29 17:47:10.362 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (15/25) - Start.
2019.11.29 17:48:52.973 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (15/25) - Done. Time = 00:01:42
2019.11.29 17:48:53.086 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (16/25) - Start.
2019.11.29 17:50:37.262 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (16/25) - Done. Time = 00:01:44
2019.11.29 17:50:37.376 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (17/25) - Start.
2019.11.29 17:52:48.973 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (17/25) - Done. Time = 00:02:11
2019.11.29 17:52:49.136 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (18/25) - Start.
2019.11.29 17:54:22.974 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (18/25) - Done. Time = 00:01:33
2019.11.29 17:54:23.210 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (19/25) - Start.
2019.11.29 17:56:43.272 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (19/25) - Done. Time = 00:02:20
2019.11.29 17:56:43.439 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (20/25) - Start.
2019.11.29 17:58:59.975 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (20/25) - Done. Time = 00:02:16
2019.11.29 17:59:00.168 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (21/25) - Start.
2019.11.29 18:02:01.111 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (21/25) - Done. Time = 00:03:01
2019.11.29 18:02:01.290 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (22/25) - Start.
2019.11.29 18:05:07.304 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (22/25) - Done. Time = 00:03:06
2019.11.29 18:05:07.474 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (23/25) - Start.
2019.11.29 18:08:17.320 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (23/25) - Done. Time = 00:03:10
2019.11.29 18:08:17.447 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (24/25) - Start.
2019.11.29 18:10:44.184 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (24/25) - Done. Time = 00:02:27
2019.11.29 18:10:44.361 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (25/25) - Start.
2019.11.29 18:14:04.974 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (25/25) - Done. Time = 00:03:20
2019.11.29 18:14:04.975 MultiTester_Example (FTSE100,D1)        Alert: Finish.
2019.11.29 18:14:04.975 MultiTester_Example (FTSE100,D1)        ExpertRemove() function called
2019.11.29 18:14:04.975 MultiTester_Example (FTSE100,D1)        Полное время оптимизации = 00:52:21

그리고 .opt 파일이 3개밖에 없습니다...

이게 어떻게 가능한가요?

"손실된" 문자 중 하나에 대해 수동 최적화를 실행했습니다. 모든 것이 정상입니다....


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

무슨 일이 있었어요...

안타깝게도 버그나 솔루션 개선 방법을 발견하면 항상 KB에서 업데이트하지는 않습니다. 이번 경우도 마찬가지입니다.

[삭제]  
fxsaber:

안타깝게도 버그나 솔루션 개선 방법을 발견할 때 항상 KB에서 업데이트하는 것은 아닙니다. 이 경우도 마찬가지입니다.

그래서 2190에 적응한 후에는 아무것도 업데이트하지 않았습니다.

시스템 결함이라고 치부해 버리죠. 적어도 다시 나타날 때까지는요. )))

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

그래서 2190으로 조정한 이후에는 아무것도 업데이트하지 않았습니다.

함정을 발견하고 제거했기 때문에 상당히 업데이트했습니다. 또한 다른 유형의 작업에 맞게 개선했습니다.