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

 

성능 비교. 여러 독립 차량으로 구성된 전투 차량을 가져갔습니다 (마법이 다름).

우리는 시장에서의 차량 수와 판매 또는 헤지 설정의 지정가 주문(테이크)에 따라 테스터 및 가상의 속도를 측정합니다.


TS는 활성화된 하나의 에이전트, 4개 패스의 무차별 대입, RAM-Drive를 사용하여 핍 모드에서 실제 틱에 대한 사용자 지정 기호 를 쫓고 있습니다. 시간은 가장 작은 패스로 간주됩니다.

차량 수 MT5 테스터
시장 주문
MT5 테스터
제한 주문
MT5-테스터+가상
시장 주문
MT5-테스터+가상
제한 주문
가상 스크립트
시장 주문
가상 스크립트
제한 주문
0 00:00.857 00:00.857 00:00.931 00:00.931 00:00.147 00:00.147
하나 00:02.689 00:14.677 00:02.728 00:12.053 00:01.886 00:18.826
2 00:06.876 00:42.588 00:06.250 00:38.657 00:06.362 00:55.624
00:11.977 01:24.982 00:12.151 01:17.236 00:12.813 01:49.181
4 00:18.925 02:19.222 00:19.649 02:13.381 00:21.891 02:59.191

Virtual-Script는 차트에서 Tester 스크립트의 시작입니다. 저것들. 일반 스크립트처럼 MT5 테스터 외부에서 실행됩니다.


결과:

  1. 터미널의 코드는 거의 항상 에이전트보다 느리게 실행됩니다(최대 50%).
  2. 시장에서 MT5-Tester는 이제 Virtual 형태의 애드온보다 열등하지 않습니다.
  3. 제한 카드에서 MT5-Tester는 최대 15%까지 가상 형태의 추가 기능보다 열등합니다. 이것은 충분히 이해할 수 있으므로 정상입니다.
첫 번째 요점을 처리해야 합니다.
 
fxsaber :
4 00:18.925 02:19.222 00:19.649 02:13.381 00:21.891 02:59.191

시장과 한계 사이에 왜 그런 차이가 있습니까?

 
Andrey Khatimlianskii :

시장과 한계 사이에 왜 그런 차이가 있습니까?

Expert Advisor는 제 것이 아니므로 직접 비교하는 것은 옳지 않습니다. 논리가 다른 것 같아요.

음, 한계는 여전히 테스터의 검사에 큰 부담입니다(Virtual도 하락했음을 알 수 있음). 따라서 시장 논리에 순응할 수밖에 없습니다.


다른 것이 나를 어리둥절하게 했다. Virtual-Script가 MT5-Tester+Virtual보다 눈에 띄게 느린 이유. 첫 번째 경우, 이것은 틱에 대한 어리석은 for-loop이며 다른 것은 없습니다. 터미널이 에이전트보다 코드를 더 느리게 실행하는 것으로 나타났습니다.

프로파일러는 불행히도 넌센스를 보여줍니다. 최종 성능이 저하되는 이유를 확인하는 데 사용할 수 없습니다.


Virtual에서는 다양한 구조로 작업합니다. 아마도 클래스 객체 에 대한 포인터로 작업하면 더 빠를 것입니다. 우리는 시도해야 하지만 중요한 작업 목록은 점점 늘어나고 있습니다.

 

교환 사용자 지정 기호 에서 테이크는 최종 가격으로 수락되고 입찰/매도에서 실행됩니다.

예를 들어, BUY 포지션에 대한 테이크는 1.09801입니다. 틱 입찰/매도/마지막 = 1.09799/1.09802/1.09801이 도착합니다. 그것은 작동하기 때문에 마지막 가격이 터치되었지만 동시에 마지막보다 더 나쁜 입찰 가격에서 작동합니다.

테이크는 항상 음의 미끄러짐으로 트리거됩니다.

 
fxsaber :

교환 사용자 지정 기호에서 테이크는 마지막 가격으로 수락되고 입찰/매도에서 실행됩니다.

예를 들어, BUY 포지션에 대한 테이크는 1.09801입니다. 틱 입찰/매도/마지막 = 1.09799/1.09802/1.09801이 도착합니다. 그것은 작동하기 때문에 마지막 가격이 터치되었지만 동시에 마지막보다 더 나쁜 입찰 가격에서 작동합니다.

테이크는 항상 음의 미끄러짐으로 트리거됩니다.

세 가지 가격이 한 번에 만들어지는 것이 특별히 커스텀 심볼에 있습니까? 아니면 차트가 마지막 가격을 기준으로 해도 모든 가격이 브로드캐스트되는 일이 발생합니까? 이 경우 입찰가를 사용자 지정이 아닌 기호로 브로드캐스트할 수도 있습니까? 그냥 궁금합니다. 그렇다면 일부 코드를 수정해야 합니다.

 
Artyom Trishkin :

세 가지 가격이 한 번에 만들어지는 것이 특별히 커스텀 심볼에 있습니까?

거래소 기호에서 시장 주문은 라스트에 의해 트리거됩니다. 통로 끝에 있는 모든 열린 위치 는 테스터가 시장 주문과 함께 오리발에 의해 강제로 닫힙니다. 그리고 0이 있으면 "포커"가 있습니다. 포커가 없도록 비드와 매도 사이의 평균값으로 오리발을 처방합니다.

 
마지막 업데이트. 테스터는 솔직히 비뚤어졌습니다. 최적화 후 시각화로 테스트를 실행하려고 하면 시각화가 HANGS. 다시 로드해야 합니다. 그러나 이것이 어떻게든 용인될 수 있다면(외설적인 표현이 동반됨) 어느 시점에서 테스트 실행이 완전히 중단되었습니다. 마켓리뷰에서 선택한 모든 심볼이 '심볼' 창에서 사라진 것으로 확인됐다. 모두 완료!!! 탬버린으로 춤을 추는 것은 도움이 되지 않습니다(MT5를 재부팅하고 다시 설치하는 경우도 있음).
 

다양한 Expert Advisors의 최적화 작업을 많이 수행합니다(주어진 목록을 자동으로 정렬). 그런 다음 나는 그들의 캐시를 봅니다.

현재의 불편함을 인지함

이전 캐시를 보려면 먼저 적절한 조언자를 선택해야 할 때마다. 그리고 테스터 자체에서 수행된 최근 최적화 목록은 사용할 수 없습니다.


스크린샷과 같이 표시된 영역에 최신 테스터 최적화 목록과 어드바이저 이름이 빠지면 훨씬 더 친숙할 것입니다. 합리적인?

 
KENT3004 :
마지막 업데이트. 테스터는 솔직히 비뚤어졌습니다. 최적화 후 시각화로 테스트를 실행하려고 하면 시각화가 HANGS. 다시 로드해야 합니다. 그러나 이것이 어떻게든 용인될 수 있다면(외설적인 표현이 동반됨) 어느 시점에서 테스트 실행이 완전히 중단되었습니다. "기호" 창에서 시장 리뷰에서 선택한 모든 기호가 사라진 것으로 나타났습니다. 모두 완료!!! 탬버린으로 춤을 추는 것은 도움이 되지 않습니다(MT5를 재부팅하고 다시 설치하는 경우도 있습니다).

운영 체제를 다시 설치해도 도움이 되지 않으면 컴퓨터를 변경하는 것이 좋습니다. 글쎄, 또는 적어도 개스킷.

 
Alexey Viktorov :

운영 체제를 다시 설치해도 도움이 되지 않으면 컴퓨터를 변경하는 것이 좋습니다. 글쎄, 또는 적어도 개스킷.

유머 감사합니다! 그리고 이 경우 - 문자를 테스터에게 반환하는 방법은 무엇입니까? 유사한 실종 및 정지가 다른 포럼의 여러 사용자에 의해 확인되었습니다.