최적화를 위한 CPU 코어 평가

 

최적화 모드에서 전략 테스터에 대한 효율성을 평가하기 위해 다양한 프로세서의 성능에 대한 통계를 수집할 것을 제안합니다.

보다 객관적으로 " 수학적 계산 " 모드에서 작동하는 어드바이저를 사용하는 것이 좋습니다. 이렇게 하면 하드 디스크와 컴퓨터 메모리를 최소한으로 사용할 수 있습니다. 가능하면 프로세서 이름, 마더보드 및 RAM 주파수를 포함하십시오.

EA에는 최적화 대상이 되는 매개변수가 하나만 있으며(객관성을 위해 더미이고 모든 에이전트에 대해 데이터가 동일함) 스레드 수와 동일한 패스 수를 지정하고 다음 기준에 따라 에이전트를 선택합니다. 프로세서 코어 수(하이퍼트레이딩 제외!).

수집된 데이터가 최적화를 위한 하드웨어를 선택하는 데 도움이 되기를 바랍니다. 이것이 가장 먼저 받아들여야 하는 신선함은 아닙니다. 어쨌든 최근에는 그랬지만 뭔가 달라졌을 수도 있습니다.

EA 자체는 실제 EA에서 잘라낸 것으로, 비슷한 작업에서 의사 결정 트리에서 잎을 선택하는 데 사용합니다. MO의 진짜 과제, 그리고 코드 속도를 높이는 아이디어가 있다면 관심있게 듣겠습니다. 코드에는 1000개의 잎만 있고 실제로는 이미 70,000개가 넘는 잎이 있으므로 컴파일 결과를 기다리는 허용 가능한 시간 동안 함수로 이동됩니다.

 2019.08 . 09 23 : 04 : 26.397 Terminal        Windows 7 Service Pack 1 (build 7601 ) x64, IE 11 , Intel Core i5  M 450 @ 2.40 GHz, Memory: 2045 / 3766 Mb, Disk: 53 / 148 Gb, GMT+ 3
전략 테스터 로그에서 컨텍스트 메뉴를 사용하여 "전체 최적화 로그" 확인란을 선택합니다.
 2019.08 . 09 22 : 41 : 25.630 Core 2   pass 2 returned result 1001000.00 in 0 : 04 : 50.391
2019.08 . 09 22 : 41 : 26.642 Core 1   pass 0 returned result 1001000.00 in 0 : 04 : 51.365
2019.08 . 09 22 : 46 : 09.036 Core 2   pass 3 returned result 1001000.00 in 0 : 04 : 43.441
2019.08 . 09 22 : 46 : 10.759 Core 1   pass 1 returned result 1001000.00 in 0 : 04 : 44.152
2019.08 . 09 22 : 46 : 10.759 Tester  optimization finished, total passes 4
2019.08 . 09 22 : 46 : 10.769 Statistics      optimization done in 9 minutes 36 seconds
2019.08 . 09 22 : 46 : 10.769 Statistics      shortest pass 0 : 04 : 43.441 , longest pass 0 : 04 : 51.365 , average pass 0 : 04 : 47.337

추가됨: 이 스레드에서 코드가 구조적으로 크게 변경되지는 않지만 일부 프로세서의 파일 크기(우리가 알아야 할 사항)가 시스템 전체의 성능에 영향을 미치는 것으로 나타났습니다. 따라서 나는 모두에게 두 명의 고문을 테스트하도록 요청합니다.

테스터 설정의 예 - 기호, 기간 및 시간 프레임은 중요하지 않습니다. 나머지 설정은 관련이 있으며 화면에 다른 조언자가 있지만 설정은 필요합니다.

컴퓨팅 리소스 비용에 대해 Expert Advisor의 가장 무거운 변형인 마지막 열을 기준으로 필터링됩니다.



Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Большую часть времени современные компьютеры простаивают и не используют всех возможностей процессора. Мы предлагаем задействовать их с пользой. Вы можете сдавать мощности вашего компьютера другим участникам нашей сети для выполнения разнообразных...
파일:
 
Aleksey Vyazmikin :

최적화 모드에서 전략 테스터에 대한 효율성을 평가하기 위해 다양한 프로세서의 성능에 대한 통계를 수집할 것을 제안합니다.

좋은 이니셔티브, 지지합니다.

컴파일할 때 경고가 표시됩니다.

implicit conversion from 'number' to 'string'   Tree_Brut_TestPL.mq5    2567    16

그래야만 합니까?

라인:

   if ( FrameAdd (Test_P, 1 , 0 ,stat_values)== false )
 
Aleksey Vyazmikin :

최적화 모드에서 전략 테스터에 대한 효율성을 평가하기 위해 다양한 프로세서의 성능에 대한 통계를 수집할 것을 제안합니다.

보다 객관적으로 " 수학적 계산 " 모드에서 작동하는 어드바이저를 사용하는 것이 좋습니다. 이렇게 하면 하드 디스크와 컴퓨터 메모리를 최소한으로 사용할 수 있습니다. 가능하면 프로세서 이름, 마더보드 및 RAM 주파수를 포함하십시오.

EA에는 최적화 대상이 되는 매개변수가 하나만 있으며(객관성을 위해 더미이고 모든 에이전트에 대해 데이터가 동일함) 스레드 수와 동일한 패스 수를 지정하고 다음 기준에 따라 에이전트를 선택합니다. 프로세서 코어 수(하이퍼트레이딩 제외!).

수집된 데이터가 최적화를 위한 하드웨어를 선택하는 데 도움이 되기를 바랍니다. 이것이 가장 먼저 받아들여야 하는 신선함은 아닙니다. 어쨌든 최근에는 그랬지만 뭔가 달라졌을 수도 있습니다.

EA 자체는 실제 EA에서 잘라낸 것으로, 비슷한 작업에서 의사 결정 트리에서 잎을 선택하는 데 사용합니다. MO의 진짜 과제, 그리고 코드 속도를 높이는 아이디어가 있다면 관심있게 듣겠습니다. 코드에는 1000개의 잎만 있고 실제로는 이미 70,000개가 넘는 잎이 있으므로 컴파일 결과를 기다리는 허용 가능한 시간 동안 함수로 이동됩니다.

최적화할 기간과 기간은? 도구가 중요한가?
 
Serhii Shevchuk :

좋은 이니셔티브, 지지합니다.

컴파일할 때 경고가 표시됩니다.

그래야만 합니까?

라인:

수정해서 재업로드했습니다!

시험.

 
Maxim Romanov :
최적화할 기간과 기간은? 도구가 중요한가?

" 수학 계산 " 모드에서는 문제가 되지 않습니다. 틱이 생성되지 않습니다!

 
그리고 거기에 무엇이 있습니까? 2000년대 말의 그루터기는 더 이상 이륙하지 않는다? :디
 
Artem Prischepa :
그리고 거기에 무엇이 있습니까? 2000년대 말의 그루터기는 더 이상 이륙하지 않는다? :디

프로세서를 사용해 보고 결과를 버리십시오 - 이륙하는지 아니면 그냥 굴러가는지 봅시다!

 

늙은 말이 밭고랑을 망칠까?

철

결과:

 2019.08 . 09 23 : 22 : 07.472 Tester   set "Custom max" as optimization criterion for mathematical calculations
2019.08 . 09 23 : 22 : 07.540 Experts optimization frame expert Tree_Brut_TestPL (EURUSD.m,H1) processing started
2019.08 . 09 23 : 22 : 07.592 Tester  cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt' deleted
2019.08 . 09 23 : 22 : 07.623 Tester  Experts\Tree_Brut_TestPL.ex5 math calculations test means no history and no symbol info for EURUSD.m
2019.08 . 09 23 : 22 : 07.623 Tester  complete optimization started
2019.08 . 09 23 : 22 : 07.648 Core 1   agent process started on 127.0 . 0.1 : 3008
2019.08 . 09 23 : 22 : 07.650 Core 2   agent process started on 127.0 . 0.1 : 3009
2019.08 . 09 23 : 22 : 07.652 Core 3   agent process started on 127.0 . 0.1 : 3010
2019.08 . 09 23 : 22 : 07.654 Core 4   agent process started on 127.0 . 0.1 : 3011
2019.08 . 09 23 : 22 : 07.657 Core 5   agent process started on 127.0 . 0.1 : 3012
2019.08 . 09 23 : 22 : 07.659 Core 6   agent process started on 127.0 . 0.1 : 3013
2019.08 . 09 23 : 22 : 07.662 Core 7   agent process started on 127.0 . 0.1 : 3014
2019.08 . 09 23 : 22 : 07.664 Core 8   agent process started on 127.0 . 0.1 : 3015
2019.08 . 09 23 : 22 : 07.972 Core 1   connecting to 127.0 . 0.1 : 3008
2019.08 . 09 23 : 22 : 07.973 Core 1   connected
2019.08 . 09 23 : 22 : 07.983 Core 1   authorized (agent build 2097 )
2019.08 . 09 23 : 22 : 07.997 Core 1   common synchronization completed
2019.08 . 09 23 : 22 : 08.035 Core 3   connecting to 127.0 . 0.1 : 3010
2019.08 . 09 23 : 22 : 08.036 Core 3   connected
2019.08 . 09 23 : 22 : 08.046 Core 3   authorized (agent build 2097 )
2019.08 . 09 23 : 22 : 08.056 Core 2   connecting to 127.0 . 0.1 : 3009
2019.08 . 09 23 : 22 : 08.057 Core 2   connected
2019.08 . 09 23 : 22 : 08.059 Core 3   common synchronization completed
2019.08 . 09 23 : 22 : 08.067 Core 5   connecting to 127.0 . 0.1 : 3012
2019.08 . 09 23 : 22 : 08.068 Core 5   connected
2019.08 . 09 23 : 22 : 08.068 Core 2   authorized (agent build 2097 )
2019.08 . 09 23 : 22 : 08.082 Core 2   common synchronization completed
2019.08 . 09 23 : 22 : 08.083 Core 5   authorized (agent build 2097 )
2019.08 . 09 23 : 22 : 08.103 Core 7   connecting to 127.0 . 0.1 : 3014
2019.08 . 09 23 : 22 : 08.104 Core 7   connected
2019.08 . 09 23 : 22 : 08.119 Core 7   authorized (agent build 2097 )
2019.08 . 09 23 : 22 : 08.125 Core 5   common synchronization completed
2019.08 . 09 23 : 22 : 08.140 Core 7   common synchronization completed
2019.08 . 09 23 : 22 : 08.150 Core 4   connecting to 127.0 . 0.1 : 3011
2019.08 . 09 23 : 22 : 08.151 Core 4   connected
2019.08 . 09 23 : 22 : 08.151 Core 8   connecting to 127.0 . 0.1 : 3015
2019.08 . 09 23 : 22 : 08.151 Core 8   connected
2019.08 . 09 23 : 22 : 08.162 Core 8   authorized (agent build 2097 )
2019.08 . 09 23 : 22 : 08.164 Core 4   authorized (agent build 2097 )
2019.08 . 09 23 : 22 : 08.184 Core 6   connecting to 127.0 . 0.1 : 3013
2019.08 . 09 23 : 22 : 08.185 Core 6   connected
2019.08 . 09 23 : 22 : 08.208 Core 6   authorized (agent build 2097 )
2019.08 . 09 23 : 22 : 08.228 Core 4   common synchronization completed
2019.08 . 09 23 : 22 : 08.240 Core 6   common synchronization completed
2019.08 . 09 23 : 22 : 08.250 Core 8   common synchronization completed
2019.08 . 09 23 : 24 : 45.931 Tester  optimization finished, total passes 8
2019.08 . 09 23 : 24 : 45.941 Statistics      optimization done in 2 minutes 38 seconds
2019.08 . 09 23 : 24 : 45.941 Statistics      shortest pass 0 : 02 : 35.945 , longest pass 0 : 02 : 37.669 , average pass 0 : 02 : 37.006
2019.08 . 09 23 : 24 : 45.941 Statistics       8000 frames ( 3.14 Mb total, 412 bytes per frame) received
2019.08 . 09 23 : 24 : 45.941 Statistics      local 8 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)
2019.08 . 09 23 : 24 : 45.988 Tester   8 new records saved to cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt'

터미널 버전:

 2019.08 . 09 23 : 20 : 35.776 Terminal        MetaTrader 5 x64 build 2085 started (MetaQuotes Software Corp.)
2019.08 . 09 23 : 20 : 35.778 Terminal        Windows 10 (build 17763 ) x64, IE 11 , UAC, AMD FX- 8300 Eight-Core Processor , Memory: 17102 / 24574 Mb, Disk: 2407 / 2441 Gb, GMT+ 2
 
Serhii Shevchuk :

늙은 말이 밭고랑을 망칠까?

결과:

터미널 버전:

8개의 에이전트가 관련된 것 같지만 FX에는 4개의 FPU와 8개의 ALU만 있기 때문에 4개가 필요합니다. 즉, 최적화 중에 FPU가 로드됩니다. 이것이 왜 그런지는 분명하지 않습니다. 코드가 대부분 비교를 기반으로 작성되기 때문에 질문은 개발자에게 있습니다. 보조 프로세서의 수를 정확히 설정하려면 1 패스가 더 빨라지고 평균 시간은 거의 동일하게 유지됩니다.

 
Aleksey Vyazmikin :

8개의 에이전트가 관련된 것으로 보이지만 FX에는 4개의 FPU와 8개의 APU만 있으므로 최적화 중에 FPU가 로드되므로 4개가 필요합니다. 이것이 왜 그런지는 분명하지 않습니다. 코드가 대부분 비교를 기반으로 작성되기 때문에 질문은 개발자에게 있습니다. 보조 프로세서의 수를 정확히 설정하려면 1 패스가 더 빨라지고 평균 시간은 거의 동일하게 유지됩니다.

명확히 해주세요. 4개의 에이전트를 비활성화하고 매개변수를 최적화하여 4개의 최적화 패스를 얻습니까? 또는 8 패스?
 
Serhii Shevchuk :
명확히 해주세요. 4개의 에이전트를 비활성화하고 매개변수를 최적화하여 4개의 최적화 패스를 얻습니까? 또는 8 패스?

8은 스레드 수에 따라 하이퍼 트레이딩과 유사한 4개의 에이전트를 전달합니다.

각 패스의 시간을 보려면 "전체 최적화 로그"를 활성화하십시오.