오류, 버그, 질문 - 페이지 2767

 
Artyom Trishkin :

당신이 설명한 행동으로 판단하면 이것은 완전히 다른 작업 알고리즘을 가진 다른 조언자입니다.

우리 모두는 이것이 터미널의 버그일 수도 있고 개발자가 생각한 것일 수도 있지만 사실은 기록에 대한 세트를 실행하면 테스트가 끝날 때 그래프가 표시되지만 주어진 실행 기간의 전체 기록도 실제 기록에서 자동으로 겹쳐집니다.

결과를 비교한 다음 잡지에 가서 테스터와 실제 거래 의 포지션 시가를 비교했는데 거의 모두 일치하고 약간의 차이가 있습니다.

그러나 테스트가 끝난 후 이 차트에 실제 거래가 겹쳐지는 것은 사실입니다.

그들이 겹치는 것이 무엇이든 나는 다음을 수행했습니다.

방금 로그를 마우스 오른쪽 버튼으로 클릭하고 자동 업데이트를 껐습니다. 이제 이 차트에는 테스터에서 테스트하는 동안 있었던 거래만 표시되고 실제 거래된 거래는 중첩되지 않습니다.

나는 그룹의 사람들에게이 악기에서 무언가가 거래 된 기간 동안 로봇을 몰아달라고 요청했습니다. 로봇은 중요하지 않습니다. 그들은 모두 테스터의 거래 외에도 거래 된 실제 거래가이 사실을 확인했습니다. 과거가 차트에 겹쳐집니다.


직접 시도하십시오. 어떤 악기에 대한 거래가 있는 경우 이 기간 동안 로봇을 실행하면 이러한 거래가 차트에 겹쳐지는 것을 볼 수 있으며 자동 업데이트가 비활성화되어 있으면 실제 거래가 겹치지 않습니다.

원칙적으로 개발자에게 알리는 것이 가치가 있다고 생각합니다. 이 버그가 마음에 듭니다. 이제 일주일 동안 로봇을 거래하고 테스터에서 같은 기간 동안 실행하고 차트에서 거래의 차이를 비교할 수 있습니다. 이상적으로는 다음과 같이 달라야 합니다. 두 개의 진드기

 
Konstantin Seredkin :

테스터의 거래 외에도 과거에 거래되었던 실제 거래가 차트에 중첩됩니다.

이 동작은 사용자 정의 기호 를 사용하는 사용자에게는 표시되지 않습니다. 그러나 실제 캐릭터의 경우 상당히 불편해 보입니다.

 

디버거에서 GetLastError() 의 값 ; 얻을 수 없습니까?

변수 또는 미리 정의된 _LastError를 통해서만?

파일:
 
awsomdino :

디버거에서 GetLastError()의 값; 얻을 수 없습니까?

변수 또는 미리 정의된 _LastError를 통해서만?

네. 이것은 _Value에 편리합니다.

 
fxsaber :

네. 이것은 _Value에 편리합니다.

개발자는 GetLastError () 함수에서 디버거에서 감시하는 기능을 추가할 것입니다.

그렇지 않으면 이 편리하고 간단한 2줄은 쓸모가 없습니다.

   if ( GetLastError ()> 0 )
       DebugBreak ();
 
awsomdino :

개발자는 GetLastError () 함수에서 디버거에서 감시하는 기능을 추가할 것입니다.

그렇지 않으면 이 편리하고 간단한 2줄은 쓸모가 없습니다.

이 기능만 사용하지 마십시오.

 

수정 사항의 과거 "검토" 항목 수를 최소화하기 위해 이전에 수정된 결함은 마이그레이션되지 않았습니다.

템플릿 기능/클래스 작업의 결함:
(MT5(빌드 2474)에 의해 수정되지 않음 ) *** 컴파일 오류, 템플릿 함수의 템플릿 매개변수에 대한 내부 클래스에 액세스하려고 할 때 발생하는 버그.
( MT5(build 2474)에 의해 수정되지 않음 ) ** 컴파일 오류, 반환 값이 템플릿 함수 인수의 유형에 따라 매개 변수 유형이 지정된 템플릿 클래스 내부에 있는 내부 클래스인 경우 버그가 템플릿 함수의 반환 값에 영향을 미칩니다. .
(MT5(build 2474)에 의해 수정되지 않음 ) ** 상속 및 내부 클래스에서 동일한 클래스 이름을 사용할 때 기본 클래스를 호출할 때 템플릿 생성자의 네임스페이스 및 범위와 관련된 컴파일 오류, 버그.
(MT5(빌드 2474)에 의해 수정되지 않음 ) * 컴파일 오류, 오버로드된 비 템플릿 함수에서 호출이 수행될 때 명시적 인수 유형으로 템플릿 함수를 호출할 때 발생하는 버그.
(MT5(빌드 2474)로 수정되지 않음 ) 컴파일 오류, 내부 클래스 정의 시 버그 - 기본 클래스를 지정할 때 전역 네임스페이스를 명시적으로 참조할 수 없습니다.

( MT5(빌드 2474)에 의해 수정되지 않음 ) * 명시적 기본 클래스를 통해 할당 연산자를 호출할 때 컴파일 오류가 발생합니다. 템플릿 매개변수가 기본 클래스인 템플릿 클래스에서 문제가 나타납니다.
(MT5(빌드 2474)에 의해 수정 됨) 템플릿 매개변수가 기본 클래스일 때 템플릿 클래스에서 상속할 때 기본 액세스 한정자를 사용할 때 컴파일 오류가 발생합니다.

( MT5(build 2474)에 의해 수정 됨) * (new) 컴파일 오류, 네임스페이스에서 템플릿 클래스를 상속할 때 발생하는 컴파일 오류.
( MT5(빌드 2474)에 의해 수정 됨) ** (신규) 컴파일 오류, 포인터 개체에서 기본 연산자에 대한 액세스 권한 없음=.
(MT5(빌드 2474)에 의해 수정되지 않음 ) *** (신규)
컴파일 오류, 클래스 템플릿 메서드의 정방향 선언에 대한 컴파일 오류 .
(MT5(빌드 2474)에 의해 수정되지 않음 ) ** (신규) 클래스에 이 클래스를 필드로 사용하는 래퍼 클래스에 대한 포인터가 포함된 경우 컴파일 오류 가 발생합니다.


C++와 비교하여 MQL에서 오버로드된 함수 호출 우선순위의 불일치와 관련된 결함:
(MT5(빌드 2474)에 의해 수정되지 않음 ) ** 첫 번째 오버로드된 템플릿 함수가 완전히 특수화된 템플릿 기본 클래스를 사용하고 두 번째 템플릿이 특수화되지 않은 템플릿 기본 클래스를 사용할 때 컴파일 오류가 발생합니다.
( MT5(build 2474)에 의해 수정되지 않음 ) ** 컴파일 오류, 템플릿 함수 코드 생성 시 전달된 매개변수에 적합한 서명을 가진 오버로드된 템플릿 함수가 있음에도 불구하고 컴파일 오류가 발생합니다.
(MT5(빌드 2474)에 의해 수정되지 않음 ) * 템플릿 매개변수 수가 다른 오버로드된 템플릿 함수를 호출할 때 컴파일 오류, "오버로드된 함수에 대한 모호한 호출"이 발생합니다.

(MT5(빌드 2474)로 수정되지 않음 ) *** 컴파일 오류, 오버로드된 템플릿 함수의 호출 우선 순위 오류..
( MT5(build 2474)에 의해 수정되지 않음 ) ** Compile Error, 색상 데이터 유형을 가진 인수에 대한 함수를 호출 할 때 색상 데이터 유형의 오버로드된 템플릿 함수가 있음에도 불구하고 암시적 유형 대화가 적용됩니다. 서명과 일치합니다.
(MT5(build 2474)에 의해 수정되지 않음 ) * 명시적 특수화에도 불구하고 오버로드된 템플릿 함수를 호출할 때 기본 템플릿 함수가 계속 호출되어 스택 오버플로가 발생하는 컴파일 오류..
(MT5(빌드 2474)에 의해 수정되지 않음 ) * 컴파일 오류, 함수 포인터 배열이 사용될 때 포인터를 통해 함수를 호출할 때 컴파일 오류 .
( MT5(build 2474)에 의해 수정 됨) * (new) 컴파일 오류, 네임스페이스에 오버로드된 함수의 호출 우선순위 문제.

메타에디터 관련 버그:
( ME5(빌드 2474)에 의해 수정되지 않음 ) *** 디버거, 구조 정적 메서드 에서 중단점에 도달하면 MT 터미널이 정지됩니다.
( ME5(build 2474)에 의해 수정되지 않음 ) ** Compilation, 컴파일 오류에 대한 설명이 256자 제한에 맞지 않고 잘려서 오류가 발생한 데이터 유형을 이해할 수 없습니다. 필요한 부분이 잘렸습니다.
( ME5(빌드 2474)에 의해 수정 됨) ** 디버거, StepInto(F11)가 작동하지 않고 중단점이 설정되었습니다.
( ME5(build 2474)에 의해 수정 됨) * Debuger는 중단점을 실행한 후 (F5) 키를 눌러도 코드 실행을 계속하는 대신 실제로 코드를 실행하지 않고 동일한 중단점을 다시 실행합니다.
(ME5(빌드 2474)에 의해 수정되지 않음 ) * 컴파일, 오류 설명 및 매개변수 정보의 잘못된 함수 템플릿 매개변수 서명.
(ME5(build 2474)에 의해 수정되지 않음 ) * MetaEditor, Replace(Ctrl + H) 기능은 활성화된 "In selection"에 대해 "Backward direction"과 함께 활성화된 "In selection"에 대해 작동하지 않으며, 응용 프로그램의 필요한 영역이 선택되지 않은 경우 전체 코드.
( ME5(build 2474)에 의해 수정되지 않음 ) * (new) MetaEditor, 중단점에 도달하면 실제로는 그렇지 않을 수도 있는 항목 조건이 충족되었다고 사용자가 오도합니다.


기능의 느린 실행과 관련된 결함, 코드 최적화 프로그램의 작업:
( MT5(build 2474)에 의해 수정 됨) ** ( up ) 런타임, ArrayResize를 사용하여 배열에 하나의 요소를 추가할 때 큰 오버헤드가 발생함 더 느리게.


제안:
- 현재 프로젝트에 대한 ME 검색/바꾸기에 추가합니다. 그렇지 않으면 리팩토링할 때 각 파일을 살펴보고 어떻게든 잘 되지 않는 항목을 찾습니다.
link - ME에서 컴파일할 때 빈 열인 File, Line, Column을 포함이 만들어진 소스 파일에 대한 해당 정보로 채웁니다.
링크 - 클래스의 정적 메서드에 대한 Intellisense 작업을 기반으로 하는 네임스페이스 기능에 대한 Intellisense 지원 구현에 대해 설명합니다.
링크 - 리터럴 및 임시 변수를 const ref 함수 인수로 전달하는 기능 제공에 대해.
링크 - "프로젝트" 탭에서 프로젝트 파일 을 이동할 때 ME 탭에 열려 있고 위치한 파일을 이동하려면 위치 경로를 자동으로 업데이트합니다.
링크 - MQL typedef 선언에 기능을 도입해야 할 필요성에 대해.
링크 - 기본 복사 생성자 및 할당 연산자 생성을 강제하는 기능 제공에 대해.

 
Sergey Dzyublik :

수정 사항의 과거 "검토" 항목 수를 최소화하기 위해 이전에 수정된 결함은 마이그레이션되지 않았습니다.
...

당신의 목록에 있습니까? 그렇지 않다면 추가해 주시겠습니까?

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

잘못된 MQL 구문입니까?

댄 마린 스쿠 , 2020.05.27 22:47

일반 인터페이스를 정의했으며 다른 클래스에서 사용하고 싶습니다. 이 코드의 문제점을 파악할 수 없습니다.

 #property  strict

template < typename T> interface IGenericHandler {
     bool Handle(T &item);
};

#define  DOES_NOT_WORK

class GenericHandler {
     public :
#ifdef  DOES_NOT_WORK   
         template < typename T> bool Handle(T &val, IGenericHandler<T> *handler);
#else   
         template < typename T> bool Handle(T &val, IGenericHandler<T> *handler) { return false ; }
#endif        
 };

#ifdef  DOES_NOT_WORK
template < typename T> bool GenericHandler::Handle(T &val, IGenericHandler<T> *handler) { return false ; }
#endif 

DOES_NOT_WORK가 정의되어 있지 않으면 모든 것이 작동합니다. 그러나 DOES_NOT_WORK가 정의되면 컴파일러는 다음과 같이 말합니다.

'Handle' - member function already defined with different parameters

왜요?


 
Alain Verleyen :

당신의 목록에 있습니까? 그렇지 않다면 추가해 주시겠습니까?

추가해 주셔서 감사합니다. 예 목록에 이 문제에 대한 설명이 있습니다.
(MT5(빌드 2474)에 의해 수정되지 않음 ) *** (신규) 컴파일 오류, 클래스 템플릿 메서드 의 정방향 선언에 대한 컴파일 오류 .

 
Sergey Dzyublik :

추가해 주셔서 감사합니다. 예 목록에 이 문제에 대한 설명이 있습니다.
(MT5(빌드 2474)에 의해 수정되지 않음 ) *** (신규) 컴파일 오류, 클래스 템플릿 메서드 의 정방향 선언에 대한 컴파일 오류 .

훌륭 해요, 고맙습니다.