빌드 3902에서 AVX / AVX2 + FMA3 / AVX512 + FMA3 명령어 집합을 사용한 MQL5 프로그램 컴파일 - 페이지 10

 

컴파일 명령어 세트 선택에 따라 백테스트 결과가 달라지는 문제(b4040) 수정.

tst 파일의 크기가 1.5배 다릅니다: 13(AVX) 메가바이트와 17(X64 일반) 메가바이트입니다. 형편없다는 말은 할 말이 없습니다.

 
fxsaber #:

백테스트 결과는 컴파일 명령어 집합의 선택에 따라 달라집니다(b4040).

tst 파일의 크기는 1.5배 차이가 납니다: 13(AVX) 및 17(X64 일반) 메가바이트입니다. 형편없다는 말은 할 말이 없습니다.

아마도 최적화 때문일 것입니다. 최적화는 프로그램 로직을 손상시킬 수 있습니다. 최적화하지 않고 시도하면 로직이 텍스트 스타일이 될 것입니다.
 
fxsaber #:

백테스트 결과는 컴파일 명령어 집합의 선택에 따라 달라집니다(b4040).

tst 파일의 크기는 1.5배 차이가 납니다: 13(AVX) 및 17(X64 일반) 메가바이트입니다. 형편없다는 말은 할 말이 없습니다.

테스트가 제대로 작동하나요?

 
fxsaber #:

백테스트 결과는 컴파일 명령어 집합의 선택에 따라 달라집니다(b4040).

tst 파일의 크기는 1.5배 차이가 납니다: 13(AVX) 및 17(X64 일반) 메가바이트입니다. 형편없다고 말하는 것은 아무 말도 하지 않는 것과 같습니다.

테스트 동작이 다르다면 UB를 찾아보세요. 크기만 신경 쓰인다면 정상입니다.)
 
Aleksey Vyazmikin #:

테스트만 제대로 작동하나요?

이 질문에 답하기 위한 벤치마크가 필요합니다.

 
Vladimir Simakov #:
테스트 동작이 다르면 UB를 찾아보세요. 크기 때문에 혼란스럽다면 괜찮습니다.)

이게 뭐죠?

 
fxsaber #:

무슨 일이죠?

정의되지 않은 동작인 것 같습니다. 정의되지 않은 동작입니다.
 
traveller00 #:
정의되지 않은 동작인 것 같습니다. 정의되지 않은 행동입니다.

그렇다면 조언은 쓸모가 없습니다.

 
이런 일이 일어나서는 안 되는 이유에 대해 알아봅시다.
 
fxsaber #:

이 질문에 답할 수 있는 벤치마크가 필요합니다.

어디가 맞는지 말하는 것이 아니라 테스트 모드에 대해 말하는 것입니다.

개장 시점에 간단한 전문가 조언 거래로 시작할 수 있습니다. 즉, 틱 히스토리의 영향을 제외합니다.

적은 수의 거래에서 보고서를 비교하고 불일치를 시각적으로 연구합니다.

사유: