MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안 - 페이지 64

 

테스트를 시작할 때(즉, 전략 테스터에서 "시작"을 클릭하여) 테스터 에이전트가 필요한 파일(DLL 포함)을 내부 MQL \ Libraries 폴더에 복사하지 않는 것 같습니다. 두 가지 이벤트를 확인했습니다.

내 EA에 "Test.dll" 파일이 있는 경우

1) 전략 테스터가 Test.dll.ex5 파일을 찾을 수 없다고 불평합니다.

2) Test 에이전트는 Test.dll을 내부 폴더에 복사하지 않으므로 Strategy Tester는 Test.dll을 찾을 수 없다고 불평합니다.

%appdata%\Roaming\MetaQuotes\Tester\<MT5 ID>\Agent-127.0.0.1-3000\MQL5\Libraries\

 
Rashid Umarov :

금지하지 않았다

하드 IP 차단이 있었습니다. 서버를 사용할 수 없습니다. 익명 장치를 통해 로그인하는 것은 불가능했습니다. 아마도 비밀번호가 올바르지 않은 것 같습니다.

일반적으로 파렴치한 사용자에 대한 표준 자동 보호.

 
Luis :

테스트를 시작할 때(즉, 전략 테스터에서 "시작"을 클릭하여) 테스터 에이전트가 필요한 파일(DLL 포함)을 내부 MQL \ Libraries 폴더에 복사하지 않는 것 같습니다. 두 가지 이벤트를 확인했습니다.

내 EA에 "Test.dll" 파일이 있는 경우

1) 전략 테스터가 Test.dll.ex5 파일을 찾을 수 없다고 불평합니다.

2) Test 에이전트는 Test.dll을 내부 폴더에 복사하지 않으므로 Strategy Tester는 Test.dll을 찾을 수 없다고 불평합니다.

%appdata%\Roaming\MetaQuotes\Tester\<MT5 ID>\Agent-127.0.0.1-3000\MQL5\Libraries\

전략 테스터 에도 같은 오류가 있습니다!

2020.02.25 02:03:35.725 시험 장치 파일 ***.dll.ex5 열기 오류 [2]

라이브러리 이름을 바꾸면(.ex5 확장명 추가) 다른 오류가 발생합니다.

2020.02.25 02:09:32.567 2020.02.18 00:00:00 'Receive_Information'을 호출할 수 없습니다. '***.dll'이 로드되지 않습니다.

2020.02.25 02:09:32.568 2020.02.18 00:00:00 미해결 가져오기 함수 호출



 
Slava :

스톱의 클릭으로 재현.

책임 있는 최적화를 수행해야 하는 경우 중지 버튼을 누르지 않고 터미널을 다시 시작한 후 수행하는 것이 좋습니다.

 
fxsaber :

책임 있는 최적화를 수행해야 하는 경우 중지 버튼을 누르지 않고 터미널을 다시 시작한 후 수행하는 것이 좋습니다.

아마도. 그러나 우리는 그것에 의존해서는 안됩니다.

이 동작(중지 버튼을 누른 상태)은 수정되었으며 수정 사항은 최신 릴리스에 포함되어 있습니다.

 
Slava :

아마도. 그러나 우리는 그것에 의존해서는 안됩니다.

이 동작(중지 버튼을 누른 상태)은 수정되었으며 수정 사항은 최신 릴리스에 포함되어 있습니다.

그런 다음 최적화 패스가 단일 패스와 일치하지 않는 이유를 다시 찾아야 합니다.

 
fxsaber :

그런 다음 최적화 패스가 단일 패스와 일치하지 않는 이유를 다시 찾아야 합니다.

틱의 밀리초를 계산하는 테스트 EA가 불일치를 제공합니까?

그들은 문제를 파악한 다음 동일한 전문가가 확인했습니다.

 
Slava :

틱의 밀리초를 계산하는 테스트 EA가 불일치를 제공합니까?

그들은 문제를 파악한 다음 동일한 전문가가 확인했습니다.

이 Expert Advisor는 2340에서 더 이상 불일치를 표시하지 않았습니다.


전투 고문에서 패스 불일치가 발생했습니다. 지난번에 잘 되었던 방법을 사용하겠습니다.

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

MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안

fxsaber , 2020.02.20 08:57

GA 최적화 중 프레임을 통해 얻은 상태와 일치합니다. 그리고 싱글 패스 상태.


프레임 상태에서 실행은 기록에 없는 틱으로 진행됩니다. 나는 즉시 초당 정확히 실행되는 많은 거래/주문이 있음을 알아차렸습니다.

예를 들어 기록의 단일 패스에는 2019.06.04 02:00:00에 항목이 있습니다. 206 이고 프레임 패스는 2019.06.04 02:00:00입니다. 000 (현재 틱 기록에는 틱이 없음).


시간이 많이 걸린다...

 
실험 환경:

MT5 빌드 2342 베타
시장 주문이 없는 EA(보류 주문만 해당)
16487771 사용자 정의 기호 데이터를 틱
4 로컬 테스트 에이전트
4개의 물리적 CPU 코어, 32g 램, Windows 7 x64


실험 방법:

각 실제 거래 작업에 해당하는 가상 거래 작업을 설정합니다.

FrameAdd() 및 FrameNext() 함수를 사용하여 최적화 프로세스의 일부 정보를 출력하고 로컬 텍스트 파일(Excel A ~ T)에 기록합니다.


실험 결과:

최적화 작업이 완벽하게 완료될 확률은 20% 미만이며 단일 테스트와 동일한 올바른 결과를 제공합니다.

그러나 대부분의 경우 최적화 작업에서 반환된 모든 결과가 잘못되었습니다.



단일 테스트 및 성공적인 최적화 테스트 동안 실제 및 가상 거래 작업의 모든 결과는 동일합니다.

최적화 테스트 실패 시 가상 거래만이 정확한 거래 결과를 반환할 수 있으며, 거래 건수, 수익 금액 등 실제 거래 운영에서 반환되는 데이터는 모두 틀리다.

(일반적인 상황에서 실제 거래 작업은 OrderSend() 함수를 올바르게 호출하고 OnTradeTransaction() 및 OnTrade()에서 거래 상태 정보를 피드백합니다.




B: 최적화 패스 번호
D: 처리된 틱의 양
F: 모든 매도호가의 합계
H: 모든 입찰 가격의 합계
J: 가상 대기 주문 수량
L: 가상 거래량
N: 가상 거래의 순이익

P: 실제 보류 주문 수량
R: 실제 거래량
T: 실제 거래의 순이익


열 D에서 N까지의 모든 값이 정확함(녹색 상자)은 최적화 작업의 틱 데이터 처리가 항상 올바르게 작동함을 의미합니다.


빨간색 상자의 잘못된 값:

1. 약 P:
가상 및 실제 모두 동일한 전제 조건에서 보류 중인 주문의 수를 계산해야 하기 때문에 P는 J와 정확히 동일해야 합니다.
전제 조건이 충족되면 보류 중인 코드 블록, P++를 즉시 입력하십시오. 그런 다음 OrderSend()를 입력합니다.
비정상적인 극단적인 P 결과는 후속 명령이 때때로 올바르게 점프(J)하고 프로그램이 동일한 조건에서 실행될 때 때때로 올바르게 점프하지 않음을 의미합니다.

2. 약 R:
R은 OnTradeTransaction()에서 계산됩니다.
트리거된 경우 P의 주문은 R에서 계산되어야 합니다.
모든 R 0은 실행 중인 EA의 실제 거래 활동이 OnTradeTransaction()에 입력되지 않았음을 의미합니다.
아마도 이것은 현재 P 결과가 의미 있는 보류가 아닌 무작위 오류이기 때문일 수 있습니까?

3. 약 T:
T의 손익은 R의 위치에서 발생해야 합니다.
R의 위치 카운터가 모두 0이면 T의 손익 계산은 어디에서 왔습니까?


4. 마지막 참고 사항:
P 값은 전략 테스터가 반환한 "Total Trades" 값과 매우 비슷하지만 정확히 같지는 않습니다.
여러 테스트에 따르면 "Total Trades"의 값은 항상 EA의 입력 최적화 매개변수와 동일한 산술 시퀀스에 있으며 동일한 단계 값을 갖는 것 같습니다.
입력 매개변수가 산술 수열인 것은 정상이지만 의미가 완전히 관련이 없는 변수의 값도 유사한 산술 수열입니까?

 

중재자가 여기 와서 메시지를 삭제 하지 않고 대신 남겨두는 이유는 무엇입니까?

<DELETED>

이것은 영어 포럼입니다

러시아어로 게시

? 이중 잣대?