MT4-테스터 대 MT5-테스터 - 페이지 2

 
fxsaber :

흉상(시작 시 100,000 USD)

테스트 조건에 대한 설명에 이상한 개념이 있습니다.

세부 사항에 대한 이러한 접근 방식은 모든 후속 결론에 큰 그림자를 드리웁니다.

 
fxsaber :

이것은 MT4에서 지금 작동하지 않습니다.

이제 MT4에서 작동합니다.

이것이 어떻게 달성되는지 기술적으로 증명하고 설명하십시오.


MT5를 폄하하려는 의도는 아닙니다. 재현 가능한 비교만 하면 됩니다. 물론 MT5 테스터는 어떤 면에서는 도달할 수 없지만 튜닝 MT4는 이제 MT5에는 없지만 실제로 수요가 있는 것을 제공할 수 있습니다. 우리는 MT4에서 실제 커스텀 틱에 대한 정확한 테스트가 100% 사실임을 확인했습니다. 음, 테스터의 모든 종류의 설정(커미션, 들여쓰기, 지연 활성화 규칙 등)에 대한 규제가 가능 합니다. 일반적으로 아직 MT5에서 근본적으로 구현되지 않은 것들이 있습니다.

슬리피지 및 활성화 규칙이 명시된 대로 정확히 작동한다는 정확한 증거가 있습니까?

외부 프로그램이 테스터의 MT4 엔진에서 주문의 트리거 조건을 어떻게 변경할 수 있는지 기술적으로 증명하고 설명할 수 있습니까? 정말 이 엔진에 딥인젝션 방식인가?

 
Renat Fatkhullin :

테스트 조건에 대한 설명에 이상한 개념이 있습니다.

세부 사항에 대한 이러한 접근 방식은 모든 후속 결론에 큰 그림자를 드리웁니다.

무언가가 끝나지 않았다면, 일부러가 아닙니다. 모든 데이터가 더 일찍 보고된 것 같습니다. 하지만 나는 반복한다

  • 전체 열거.
  • 100,000 USD부터 시작합니다.
  • 스크린샷 범위.
  • 통로를 강제로 차단하기 위한 조건은 없습니다.
  • 실제 틱 EURUSD M1 2017.04.10 - 2017.04.16(주).
  • 하나의 로컬 에이전트(1코어)만 포함됩니다.

 
그러나 어떻게 든 이 MT5 테스트에서 몇 퍼센트가 떨어지는지 실제로 측정할 수 있습니다.
테스트 매개변수 암호화(결과) => 루프백으로 보내기 => 테스트 매개변수 해독(결과)

천장에서 50ms를 취하면 260 * 2 * 50 / 1000 = 26초가 됩니다.
많지 않습니다.
실제 숫자를 아는 것은 흥미로울 것입니다.
 

Renat Fatkhullin :
Докажите и объясните технически, как это достигается.

그것이 기술적으로 어떻게 달성되는지 - 나는 모릅니다. 당장 준비가 되지 않았다는 걸 증명하기 위해(자고 나서 할게).

슬리피지 및 활성화 규칙이 명시된 대로 정확히 작동한다는 정확한 증거가 있습니까?

외부 프로그램이 테스터의 MT4 엔진에서 주문의 트리거 조건을 어떻게 변경할 수 있는지 기술적으로 증명하고 설명할 수 있습니까? 정말 이 엔진에 딥인젝션 방식인가?

수년 동안 스프레드가 고정되지 않았다는 사실만으로도 주입이 깊다는 것을 나타냅니다. 이 MT4 기능은 많은 포럼에서 매우 인기가 있습니다. 무료가 아닌 격퇴. 그러나 평가판은 가득 차 있으므로 누구나 시도할 수 있습니다. 사실 체험판 자체는 이 브랜치를 만들기 위해 몇 시간 전에 설치되었습니다.

나는 짧은 휴식 후에 구조를 지원할 수 있습니다. 사실 누구나 원하면 지금 명세서를 확인할 수 있습니다.

 
처음 20/260 패스
QR       0        03 : 29 : 37.031     Tester   0 : passed in 0 : 37 : 27.366
HK       0        03 : 30 : 36.307     Tester   1 : passed in 0 : 00 : 58.406
MM       0        03 : 30 : 40.510     Tester   2 : passed in 0 : 00 : 04.196
OF       0        03 : 30 : 41.731     Tester   3 : passed in 0 : 00 : 01.217
IH       0        03 : 30 : 42.538     Tester   4 : passed in 0 : 00 : 00.811
MQ       0        03 : 30 : 44.880     Tester   5 : passed in 0 : 00 : 00.764
LK       0        03 : 30 : 45.577     Tester   6 : passed in 0 : 00 : 00.687
PL       0        03 : 30 : 46.255     Tester   7 : passed in 0 : 00 : 00.671
MF       0        03 : 30 : 46.929     Tester   8 : passed in 0 : 00 : 00.671
GO       0        03 : 30 : 47.602     Tester   9 : passed in 0 : 00 : 00.671
CO       0        04 : 15 : 27.776     Tester   10 : passed in 0 : 44 : 40.160
ND       0        04 : 17 : 28.477     Tester   11 : passed in 0 : 01 : 59.450
HM       0        04 : 17 : 34.594     Tester   12 : passed in 0 : 00 : 06.099
CK       0        04 : 17 : 36.172     Tester   13 : passed in 0 : 00 : 01.575
QP       0        04 : 17 : 37.080     Tester   14 : passed in 0 : 00 : 00.905
LN       0        04 : 17 : 37.840     Tester   15 : passed in 0 : 00 : 00.765
NG       0        04 : 17 : 38.555     Tester   16 : passed in 0 : 00 : 00.702
ML       0        04 : 17 : 39.244     Tester   17 : passed in 0 : 00 : 00.687
RJ       0        04 : 17 : 39.925     Tester   18 : passed in 0 : 00 : 00.670
CS       0        04 : 17 : 40.603     Tester   19 : passed in 0 : 00 : 00.671

입력 매개변수

Shift = 1에서 와일드 브레이크를 볼 수 있습니다. 예를 들어 MT4가 제로 패스를 처리하는 방법은 다음과 같습니다.

 2017.05 . 08 04 : 47 : 13.779 EURUSD,M1: 1865415 tick events ( 7292 bars, 1865515 bar states) processed in 0 : 00 : 33.541 (total time 0 : 00 : 34.289 )

저것들. 60배 이상 빨라졌습니다.


추신

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

오류, 버그, 질문

fxsaber , 2017.04.26 15:08

옵티마이저 로그에 최적화된 매개변수의 범위와 단계를 표시하도록 요청합니다.

또한 에이전트의 로그에는 이러한 라인이 있습니다.

NS       0        14 : 11 : 00.853     Tester   756 : passed in 0 : 00 : 04.789
MJ       0        14 : 11 : 03.447     Tester   757 : passed in 0 : 00 : 02.574
RM       0        14 : 11 : 05.860     Tester   758 : passed in 0 : 00 : 02.340

해당 실행에 대한 정보와 함께 제공됩니다 - 고문의 이름 및 입력 매개 변수.

 
fxsaber :

Shift = 1에서 와일드 브레이크를 볼 수 있습니다. 예를 들어 MT4가 제로 패스를 처리하는 방법은 다음과 같습니다.

최적화가 끝날 때까지 기다리는 것이 무의미해져서 그만뒀습니다.

제로 싱글 패스의 출시는 패스가 실행됨에 따라 테스터의 성능이 매우 떨어지는 것을 보여주었습니다(완료를 기다리지 않았습니다).

히스토리 기능은 포함되지 않습니다.

 
fxsaber :

무언가가 끝나지 않았다면, 일부러가 아닙니다. 모든 데이터가 더 일찍 보고된 것 같습니다. 하지만 나는 반복한다

  • 전체 흉상.
  • 100,000 USD부터 시작합니다.
  • 스크린샷 범위.
  • 통로를 강제로 차단하기 위한 조건은 없습니다.
  • 실제 틱 EURUSD M1 2017.04.10 - 2017.04.16(주).
  • 로컬 에이전트(코어 1개)만 포함됩니다.

자, 다음은 동일한 결과입니다(alpari-MT5-Demo 서버만 해당).

  • Windows 10 Pro, Intel Xeon E5-2690 @ 2.60GHz

  • 1코어: 27분 55초
     2017.05 . 08 05 : 13 : 09.636 Tester          optimization finished, total passes 260
    2017.05 . 08 05 : 13 : 09.647 Statistics      optimization done in 27 minutes 55 seconds
    2017.05 . 08 05 : 13 : 09.647 Statistics      local 260 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)
    

  • 8코어: 6분 11초
     2017.05 . 08 04 : 38 : 18.663 Tester          optimization finished, total passes 260
    2017.05 . 08 04 : 38 : 18.674 Statistics      optimization done in 6 minutes 11 seconds
    2017.05 . 08 04 : 38 : 18.674 Statistics      local 260 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)
    
  • 24코어: 3분 33초
     2017.05 . 08 05 : 17 : 40.990 Tester          optimization finished, total passes 260
    2017.05 . 08 05 : 17 : 41.000 Statistics      optimization done in 3 minutes 33 seconds
    2017.05 . 08 05 : 17 : 41.000 Statistics      local 260 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)
    

MT5에서 하나의 코어로 최적화하는 것은 의미가 없으며 8코어에서도 모든 것이 매우 빠르게 진행됩니다. MT4에서의 14분은 코어당 전력이 비슷한 프로세서에서 만들어졌으므로 시간을 비교할 수 있다고 확신합니다. 1코어 주파수가 2.6Ghz에 불과합니다.

시간에 선형 감소가 없는 이유는 무엇입니까? 트랜잭션 수로 인해 작업이 고르지 않기 때문입니다. 일부 패스에는 100번의 거래(계산에 1초 소요)와 약 230,000번의 거래(최대 50초)가 있습니다. 계산 속도는 가장 긴 패스를 누구와 어떻게 분배하느냐에 따라 완전히 결정되기 때문에 패킷의 임계 경로는 크게 줄어들지 않는다.


귀하의 브레이크는 릴리스 버전에서 트랜잭션 내역의 비효율적인 스캔으로 인한 것입니다. 브레이크 케이스는 200,000번 이상의 거래가 있는 통로입니다.

EA의 전체 예는 단 한 가지만 수행하는 방식으로 작성되었습니다. 즉, 각 틱의 전체 트랜잭션 기록을 매우 비효율적인 방식으로 스캔합니다. 즉, 패스당 전체 거래 내역에 대한 180만 건의 전체 재검색입니다. 게다가 샘플의 MT5 코드는 네이티브가 아니라 MT4 스타일 래퍼 형태의 목발로, 더 많은 비용이 듭니다.


앞서 보여드렸던 것처럼, 우리는 거래의 큰 거래 이력의 작업과 선택을 근본적으로 다시 썼고 이제 역사의 깊이에 차이가 없습니다.

모든 것이 빠르게 작동하는 위치를 확인하기 위해 최신 빌드 1598을 첨부했습니다. MetaTrader 5 디렉토리에 있는 파일을 교체하는 것으로 충분합니다.

다음은 패스 로그입니다.

OK       0        04 : 45 : 17.505     History EURUSD,M1: history cache allocated for 484457 bars and contains 473528 bars from 2016.01 . 04 00 : 00 to 2017.04 . 07 23 : 59
IR       0        04 : 45 : 17.540     History EURUSD,M1: history begins from 2016.01 . 04 00 : 00
RF       0        04 : 45 : 24.469     Tester   0 : passed in 0 : 00 : 07.188
KO       0        04 : 45 : 26.727     Tester   1 : passed in 0 : 00 : 02.188
CQ       0        04 : 45 : 27.857     Tester   2 : passed in 0 : 00 : 01.109
QJ       0        04 : 45 : 28.758     Tester   3 : passed in 0 : 00 : 00.890
NL       0        04 : 45 : 29.525     Tester   4 : passed in 0 : 00 : 00.750
ME       0        04 : 45 : 30.237     Tester   5 : passed in 0 : 00 : 00.688
LO       0        04 : 45 : 30.923     Tester   6 : passed in 0 : 00 : 00.671
RP       0        04 : 45 : 31.612     Tester   7 : passed in 0 : 00 : 00.672
NJ       0        04 : 45 : 32.363     Tester   8 : passed in 0 : 00 : 00.734
RS       0        04 : 45 : 33.065     Tester   9 : passed in 0 : 00 : 00.687
MK       0        04 : 45 : 42.777     Tester   10 : passed in 0 : 00 : 09.703
HP       0        04 : 45 : 45.928     Tester   11 : passed in 0 : 00 : 03.094
EN       0        04 : 45 : 47.354     Tester   12 : passed in 0 : 00 : 01.406
HG       0        04 : 45 : 48.313     Tester   13 : passed in 0 : 00 : 00.953
LL       0        04 : 45 : 49.110     Tester   14 : passed in 0 : 00 : 00.781
QJ       0        04 : 45 : 49.828     Tester   15 : passed in 0 : 00 : 00.703
NS       0        04 : 45 : 50.523     Tester   16 : passed in 0 : 00 : 00.688
MH       0        04 : 45 : 51.215     Tester   17 : passed in 0 : 00 : 00.672
DF       0        04 : 45 : 51.901     Tester   18 : passed in 0 : 00 : 00.672
FO       0        04 : 45 : 52.646     Tester   19 : passed in 0 : 00 : 00.735
NE       0        04 : 46 : 04.884     Tester   20 : passed in 0 : 00 : 12.219

216,000 거래(매개변수 Shift=1, Limit=5)의 제로 패스가 7초 만에 완료되었습니다.

파일:
MetaTester64.zip  7571 kb
terminal64.zip  14201 kb
 
Renat Fatkhullin :

EA의 전체 예는 단 한 가지만 수행하는 방식으로 작성되었습니다. 즉, 각 틱의 전체 트랜잭션 기록을 매우 비효율적인 방식으로 스캔합니다. 즉, 패스당 전체 거래 내역에 대한 180만 건의 전체 재검색입니다. 게다가 샘플의 MT5 코드는 네이티브가 아니라 MT4 스타일 래퍼 형태의 목발로, 더 많은 비용이 듭니다.

증거
 bool Func1( datetime , datetime ){ return false ; };
bool Func2( long ){ return false ; };

#define HistorySelect Func1
#define HistorySelectByPosition Func2

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006 

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

MT4-테스터 대 MT5-테스터

fxsaber , 2017.05.08 01:11

MT5 속도 저하가 타사 라이브러리 사용으로 인한 것인지 의심이 가는 경우 이 Expert Advisor의 간단한 MT4 논리를 MQL5에 자신의 방식으로 다시 작성하고 가설을 테스트할 수 있습니다.
 
Renat Fatkhullin :

앞서 보여드렸던 것처럼, 우리는 거래의 큰 거래 이력의 작업과 선택을 근본적으로 다시 썼고 이제 역사의 깊이에 차이가 없습니다.

모든 것이 빠르게 작동하는 위치를 확인하기 위해 최신 빌드 1598을 첨부했습니다. MetaTrader 5 디렉토리에 있는 파일을 교체하는 것으로 충분합니다.

1598은 1596보다 훨씬 빠르게 작동합니다. 또한 History 기능을 전혀 사용하지 않는 경우에도 마찬가지입니다. 분명히, 실행 중 곱창에 있는 터미널 자체는 이러한 이전 제동 기능을 호출했습니다.


MT4 최적화

 2017.05 . 08 02 : 35 : 33.074 Lucky: optimization started
2017.05 . 08 02 : 49 : 51.431 Lucky: optimization finished in 0 : 14 : 18
2017.05 . 08 02 : 49 : 51.436 There were 260 passes done during optimization


MT5 최적화

 2017.05 . 08 07 : 40 : 38.429 Tester  Experts\MT4Orders\Lucky.ex5 on EURUSD,M1 from 2017.04 . 10 00 : 00 to 2017.04 . 16 00 : 00
2017.05 . 08 07 : 40 : 38.597 Tester  EURUSD: preliminary downloading of history ticks started, it may take quite a long time
2017.05 . 08 07 : 40 : 39.600 Tester  EURUSD: preliminary downloading of history ticks completed, 100.38 Kb in 0 : 01.170 ( 85.80 Kb/sec)
2017.05 . 08 07 : 40 : 39.600 Tester  EURUSD: ticks data begins from 2016.11 . 01 00 : 00
2017.05 . 08 07 : 40 : 39.600 Tester  complete optimization started
2017.05 . 08 07 : 40 : 39.600 Tester  size of initial task batch is 260
2017.05 . 08 07 : 40 : 39.612 Core 1   agent process started
2017.05 . 08 07 : 40 : 39.612 Core 1   connecting to 127.0 . 0.1 : 3000
2017.05 . 08 07 : 40 : 41.620 Core 1   connected
2017.05 . 08 07 : 40 : 41.622 Core 1   authorized (agent build 1598 )
2017.05 . 08 07 : 40 : 42.771 Core 1   common synchronization completed
2017.05 . 08 07 : 40 : 42.797 Core 1   EURUSD: ticks synchronized already [ 43 bytes]
2017.05 . 08 08 : 04 : 54.332 Tester  optimization finished, total passes 260
2017.05 . 08 08 : 04 : 54.342 Statistics      optimization done in 24 minutes 16 seconds
2017.05 . 08 08 : 04 : 54.342 Statistics      local 260 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)
2017.05 . 08 08 : 04 : 54.342 Core 1   connection closed


이제 MT5는 MT4보다 1.7배 느립니다.


위협 모든 실행이 완벽하게 일치하는 것은 아닙니다. 따라서 세 가지 중 하나는 확실히 거짓말입니다(MT4+TDS, MT5, MT4Orders). 추구합니다.

사유: