template <typename T>
class IS
{
public:
template <typename T1>
staticbool Object( const T1* Ptr )
{
return(dynamic_cast<const T*>(Ptr) != NULL);
}
};
class CLASS1 {};
class CLASS2 : public CLASS1 {};
class CLASS3 : public CLASS1 {};
voidOnStart()
{
CLASS2 Object;
CLASS1* Ptr = &Object;
Print(IS<CLASS1>::Object(Ptr)); // true - Ptr указывает на объект класса CLASS1Print(IS<CLASS2>::Object(Ptr)); // true - Ptr указывает на объект класса CLASS2Print(IS<CLASS3>::Object(Ptr)); // false - Ptr НЕ указывает на объект класса CLASS3
}
10개 패스(50개는 너무 많음)에 대해 여러 최적화(하나가 아닌!)를 실행합니다. 최적화 캐시가 있으므로 최적화 사이에 EA를 다시 컴파일하거나 가짜 매개변수 반복의 값을 변경합니다(이것이 바람직함). 위와 아래에서 2개의 극단값을 버립니다. 각 최적화에서 나머지 6개 값을 분석합니다.
대량 측정의 경우 마이크로초 타이머를 사용하지 마십시오. 일반 밀리초 GetTickCount를 사용합니다. 밀리초가 수백, 수천 단위로 측정되는 광범위한 테스트 날짜를 사용하십시오. 그러면 더 정확하고 안정적인 측정 결과를 얻을 수 있습니다.
게시물에서 가져온 예 무작위 확인
세미콜론은 컴파일 결과에 영향을 미치지 않습니다....오류 없는 결과세미콜론은 컴파일 결과에 영향을 미치지 않습니다....오류 없는 결과
함수 호출로 정적 변수를 초기화하는 것은 문서화되지 않은 기능으로 아주 우연히 나타났지만 지금은 제거하기가 매우 어렵습니다.
정적 변수를 초기화하기 위해 거래 환경 의 기능을 호출하는 것은 강력히 권장하지 않습니다.
문맥에서 문장을 가져갈 필요가 없습니다. 문구는 다음과 같습니다.
테스트 시 최고의 정확도를 보장하기 위해 분 막대는 실제 눈금 모드에서도 사용됩니다. 틱 데이터를 확인하고 수정하는 데 사용됩니다. 또한 테스터의 차트와 클라이언트 터미널 간의 불일치를 방지하는 데 도움이 됩니다.
이것은 분 막대의 기록이 눈금과 일치하지 않는다는 것을 의미합니까?
데이터가 실제 거래 내역과 일치한다고 가정하면 어떻게 그게 가능합니까?
10개 패스(50개는 너무 많음)에 대해 여러 최적화(하나가 아닌!)를 실행합니다. 최적화 캐시가 있으므로 최적화 사이에 EA를 다시 컴파일하거나 가짜 매개변수 반복의 값을 변경합니다(이것이 바람직함). 위와 아래에서 2개의 극단값을 버립니다. 각 최적화에서 나머지 6개 값을 분석합니다.
대량 측정의 경우 마이크로초 타이머를 사용하지 마십시오. 일반 밀리초 GetTickCount를 사용합니다. 밀리초가 수백, 수천 단위로 측정되는 광범위한 테스트 날짜를 사용하십시오. 그러면 더 정확하고 안정적인 측정 결과를 얻을 수 있습니다.
테스터 실행 속도 측정을 위한 권장 사항