표준 기능/접근법의 대체 구현 - 페이지 2

 
Renat Fatkhullin :

2016년까지 대부분의 C++ 컴파일러는 동일한 수준의 최적화에 도달했습니다.

MSVC는 각 업데이트의 개선 사항에 대해 궁금해하게 만들고 컴파일러로서의 Intel C++가 병합되었지만 대규모 프로젝트에서 "내부 오류"가 해결되지 않았습니다.

컴파일러에서 1400 빌드의 또 다른 개선 사항은 복잡한 프로젝트를 컴파일하는 속도가 빨라졌다는 것입니다.

이 대화가 없었다면 아마도 그들은 인식하지 못했을 것입니다. 당신이하고있는 위대한 일에 대한 추가 정보.
 
fxsaber :

이 주제에. 표준 함수는 때때로 필요한 것을 제공하지 않기 때문에 표준 함수에 대한 대안을 만들어야 합니다. 다음은 SymbolInfoTick의 대안 예입니다.

테스터에서 각 이벤트 에 대해 NewTick SymbolInfoTick을 호출하고 거래량 필드를 추가하여 교환 회전율을 확인하는 것 같습니다. 하지만 아니, 당신은 할 수 없습니다! MySymbolInfoDouble을 의미하는 데 훨씬 더 논리적이어야 합니다.

당신이 제작자인 프로그래밍에 오신 것을 환영합니다!

우리는 당신이 원하는 무엇이든 할 수 있는 가장 완벽한 도구를 제공합니다.

 
Renat Fatkhullin :

주변의 모든 것을 최적화할 수 있습니다.

끝이 없는 과정입니다. 그러나 99%의 경우 경제적으로 실행 가능하지 않습니다.

이것은 최적화에 관한 것이 아니라 이전 기능을 새로운 현실로 가져오는 것에 관한 것입니다. NormalizeDouble 을 전혀 작성할 수 없다는 것은 분명합니다. 그리고 사람들은 자신의 일을 할 것입니다. 그러나 만든 시간을 절약하기 위해. 이제 이것으로 충분하지 않았습니다. 그리고 오래된 자전거가 동일한 기본 장비를 충족하도록 수리하는 것이 좋을 것입니다.
 
fxsaber :
이것은 최적화에 관한 것이 아니라 이전 기능을 새로운 현실로 가져오는 것에 관한 것입니다. NormalizeDouble을 전혀 작성할 수 없다는 것은 분명합니다. 그리고 사람들은 자신의 일을 할 것입니다. 그러나 만든 시간을 절약하기 위해. 이제 이것으로 충분하지 않았습니다. 그리고 오래된 자전거가 동일한 기본 장비를 충족하도록 수리하는 것이 좋을 것입니다.
감사합니다. 라이브러리 변경 가능성을 확인하고 살펴보겠습니다.
 

그건 그렇고, @iliyas는 얼마 전에 MQL5 에 소스 코드로 컴파일 단계에서 많은 시스템 기능을 삽입하여 인라인 및 최대 최적화에 참여할 수 있도록 제안했습니다.

나는 그 아이디어에 즉시 감사하지 않았지만 지금은 그것이 훌륭할 것이라는 것을 알았습니다. 동일한 MSVC를 수행합니다.

 
Renat Fatkhullin :
감사합니다. 라이브러리 변경 가능성을 확인하고 살펴보겠습니다.

당신은 이해하지 못했습니다. 라이브러리가 아니라 NormalizeDouble . 과부하 추가

 double NormalizeDouble ( double Value, double TickSize );

TickSize = 25, VolumeStep = 0.5일 때 가격과 로트를 정규화하려면

예를 들어 정규화는 다음과 같습니다.

 NormalizeDouble (Price, 0.00001 ) // Нормализация до пятого знака
NormalizeDouble (Price, 10.0 ) // Нормализация цены для RTS-9.16
NormalizeDouble (Price, 25.0 ) // Нормализация цены для MIX-9.16
 
Renat Fatkhullin :

그건 그렇고, @iliyas는 얼마 전에 MQL5 에 소스 코드로 컴파일 단계에서 많은 시스템 기능을 삽입하여 인라인 및 최대 최적화에 참여할 수 있도록 제안했습니다.

나는 그 아이디어에 즉시 감사하지 않았지만 지금은 그것이 훌륭할 것이라는 것을 알았습니다. 동일한 MSVC를 수행합니다.

#import ex5는 최적화의 악이라는 것이 밝혀졌습니다.

전처리기의 가능성에 주의하십시오

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

열거 형을 순차적으로 반복하는 방법은 무엇입니까?

알렉세이 나보이코프 , 2016.09.01 23:20

자, 이것이 핵심입니다. MQL5에서 매크로는 고정된 수의 인수를 가질 뿐만 아니라 이 수도 8로 제한됩니다. 따라서 3개의 값에 대해서만 열거형을 만들 수 있습니다.

그리고 이론적으로 보면 enum 파싱을 위한 일반 함수가 더 빨리 나타날 것입니다. 개발자들은 이미 무언가를 낳겠다고 약속했습니다.


결과적으로 매우 교활하고 사용하기 쉬운 디자인을 만들 수 있습니다.

 
fxsaber :

당신은 이해하지 못했습니다. 라이브러리가 아니라 NormalizeDouble입니다. 과부하 추가

TickSize = 25, VolumeStep = 0.5일 때 가격과 로트를 정규화하려면

예를 들어 정규화는 다음과 같습니다.

그래서 당신은 그것을 오버로드 할 수 없습니다. 동일한 기능 서명.

그러나 아이디어는 명확합니다. 진드기 과립을 고려한 정규화 기능입니다.

 
Renat Fatkhullin :

그래서 당신은 그것을 오버로드 할 수 없습니다. 동일한 기능 서명.

문제가 없는 것 같습니다. 한 변형에서 두 번째 매개 변수는 int(이전)이고 다른 매개 변수에서는 double(나타날 것입니다)입니다.

그러나 아이디어는 명확합니다. 진드기 과립을 고려한 정규화 기능입니다.

정확히!
 

fxsaber

코드에 오류가 있습니다.