MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안 - 페이지 34 1...272829303132333435363738394041...84 새 코멘트 fxsaber 2019.12.11 04:42 #331 Artyom Trishkin : 나도 그를 쳐다보지 않는다. 그러나 그것은 유용한 장소를 차지합니다 ... 그러나 그것은 편리 했다. Slava 2019.12.11 05:08 #332 Artyom Trishkin : 나도 그를 쳐다보지 않는다. 그러나 그것은 유용한 장소를 차지합니다 ... 처음에는 동기화에 대한 테스터의 메시지 , Expert Advisor 등의 현지 시간 로딩 , 그리고 나서 Expert Advisor 및 테스트 거래 서버의 테스트 시간 메시지, 때때로 테스터의 메시지와 현지 시간 산재에 대해 충격을 받을 것입니다. ? fxsaber 2019.12.11 05:14 #333 Tester를 가속화할 수 있는 곳 중 하나를 찾았습니다. 테스터가 두 가격(예: BuyLimit 및 Tick.ask)을 비교할 때마다 값비싼 정규화를 통해 이를 수행하는 것으로 나타났습니다. 이러지 마! fxsaber 2019.12.11 05:15 #334 거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼 MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안 fxsaber , 2019.12.11 04:50 두 번째 열에도 밀리초가 누락되었습니다. Artyom Trishkin 2019.12.11 05:16 #335 Slava : 처음에는 동기화에 대한 테스터의 메시지 , Expert Advisor 등의 현지 시간 로딩 , 그리고 나서 Expert Advisor 및 테스트 거래 서버의 테스트 시간 메시지, 때때로 테스터의 메시지와 현지 시간 산재에 대해 충격을 받을 것입니다. ? 감사합니다. 어떻게 하면 가장 잘 정리할 수 있을지 생각하면서 자리에 앉았습니다. 먼저 시작 시간, 동기화 등에 대한 메시지가 있어야 하고 나머지는 중요한 메시지가 포함된 전문가와 테스터가 있어야 한다고 제안하고 싶었습니다. 말씀하신 내용과 동일하다고 생각합니다 :) fxsaber 2019.12.11 06:47 #336 fxsaber : 테스터를 가속화할 수 있는 곳 중 하나를 찾았습니다. 테스터가 두 가격(예: BuyLimit 및 Tick.ask)을 비교할 때마다 값비싼 정규화를 통해 이를 수행하는 것으로 나타났습니다. 이러지 마! 터미널 역사상 가격이 정상화되지 않았습니다! bool IsNorm( const double Price ) { return ( NormalizeDouble (Price, _Digits ) == Price); } #define TOSTRING(A) #A + " = " + DoubleToString (A, 16 ) + " " #define PRINT(A) Print (TOSTRING(A) + TOSTRING( NormalizeDouble (A, _Digits ))) #define ISNORM(A) if (!IsNorm(A)) { PRINT(A); Count++; }; void OnStart () { MqlTick Ticks[]; const int Size = CopyTicksRange ( _Symbol , Ticks, COPY_TICKS_ALL , 1000 * ( long ) D'2019.12.01' ); Print (Size); for ( int i = 0 , Count = 0 ; (i < Size) && (Count < 10 ); i++) { ISNORM(Ticks[i].bid) ISNORM(Ticks[i].ask) ISNORM(Ticks[i].last) } } 결과(EURUSD, MQ-베타) Ticks[i].bid = 1.1024100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1024099999999999 Ticks[i].bid = 1.1024100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1024099999999999 Ticks[i].bid = 1.1024100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1024099999999999 Ticks[i].bid = 1.1024100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1024099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1023099999999999 Ticks[i].bid = 1.1023100000000001 NormalizeDouble (Ticks[i].bid, _Digits ) = 1.1023099999999999 어떻게 그게 가능합니까? 무역 서버 측에서 오류가 발생했습니까? 결과적으로 Tester는 실제 기호에서도 비뚤어진 가격으로 EA를 구동합니다. ZY 개발자가 다른 정규화 알고리즘을 적용하는 데 문제가 있는 것 같습니다. Roman 2019.12.11 07:25 #337 Andrey Khatimlianskii : 입력 매개변수에 빈 값이 있는 버그를 재현했습니다. 1. 고문을 모으기: 2. 무엇이든 두 매개변수를 모두 최적화합니다. 3. enam의 선택을 취소하고 x만 최적화: 4. 단일 실행을 시작한 결과에서 첫 번째 최적화 캐시를 로드한 다음 두 번째 최적화 캐시를 로드합니다. -1 대신 INT_MAX를 얻습니다. -1로 시작하는 모든 열거형과 관련이 있습니다. t를 체크 해제하면 입력이 완전히 비활성화된다는 의혹이 있습니다. 변수 t는 비어 있지 않은 초기화되지 않은 INT_MAX 값을 포함합니다. Slava 2019.12.11 08:18 #338 fxsaber : 터미널 역사상 가격이 정상화되지 않았습니다! 결과(EURUSD, MQ-베타) 어떻게 그게 가능합니까? 무역 서버 측 오류? 이에 테스터는 실제 심볼에도 비뚤어진 가격으로 Expert Advisors를 운영하고 있다. ZY 개발자가 다른 정규화 알고리즘을 사용하는 데 문제가 있는 것 같습니다. 이것은 가격 곡선이 아닙니다! 상당히 정상화되었습니다. 이것은 인쇄물에서 매우 분명합니다. 거래 서버에서 거래할 때 항상 입실 가격과 현재 가격을 비교하기 위해 엡실론을 사용합니다. <some_real_number>*0.5의 결과가 <the_same_real_number>/2.0의 결과와 다를 수 있다는 사실을 알고 계셨습니까? 일부 컴파일러는 코드를 최적화할 때 한 작업을 다른 작업으로 대체할 수 있다는 사실을 알고 계십니까? 어떤 경우에는 교체하고 다른 경우에는 - 아니요, 동일한 프로젝트 내에서. 전쟁 선포가 없습니다. Andrey Khatimlianskii 2019.12.11 08:53 #339 Roman : t를 체크 해제하면 입력이 완전히 비활성화된다는 의혹이 있습니다. 변수 t는 비어 있지 않은 초기화되지 않은 INT_MAX 값을 포함합니다. 이유가 무엇이든 상관없습니다. 재현하고 수정하는 것이 중요합니다. 버그가 오래되었습니다. fxsaber 2019.12.11 10:03 #340 Slava : 이것은 가격 곡선이 아닙니다! 상당히 정상화되었습니다. 이것은 인쇄물에서 매우 분명합니다. 이 조건을 통과해야만 가격이 정상화됩니다. 거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼 MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안 fxsaber , 2019.12.11 07:47 bool IsNorm( const double Price ) { return ( NormalizeDouble (Price, _Digits ) == Price); } 거래 서버에서 거래할 때 항상 입실 가격과 현재 가격을 비교하기 위해 엡실론을 사용합니다. 무역 서버가 그렇게 하는 것이 맞습니다. <some_real_number>*0.5의 결과가 <the_same_real_number>/2.0의 결과와 다를 수 있다는 사실을 알고 계셨습니까? 일부 컴파일러는 코드를 최적화할 때 한 작업을 다른 작업으로 대체할 수 있다는 사실을 알고 계십니까? 어떤 경우에는 교체하고 다른 경우에는 - 아니요, 동일한 프로젝트 내에서. 선전포고가 없습니다. 두 질문에 대한 대답은 긍정적입니다. 다시 한번 말씀드리지만, 터미널의 원래 가격은 정상화되지 않았습니다. 여기에서 이러한 상황이 쉽게 발생합니다. 거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼 MT4의 비정규화된 가격 fxsaber , 2019.02.20 23:03 그러나 상황은 훨씬 더 나쁘고 동시에 MQ-Demo에서 // 15326434 // wmefo5sa // MetaQuotes-Demo void OnStart () { const double Price1 = HistoryOrderSelect ( 356138100 ) ? HistoryOrderGetDouble ( HistoryOrderGetTicket ( 0 ), ORDER_PRICE_CURRENT ) : 0 ; const double Price2 = PositionSelectByTicket ( 356138100 ) ? PositionGetDouble ( POSITION_PRICE_OPEN ) : 0 ; Print (Price1 - Price2); // -2.220446049250313e-16 } 현재 위치 의 시작 가격이 주문/거래 가격과 동일하지 않습니다. 1...272829303132333435363738394041...84 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
나도 그를 쳐다보지 않는다. 그러나 그것은 유용한 장소를 차지합니다 ...
그러나 그것은 편리 했다.
나도 그를 쳐다보지 않는다. 그러나 그것은 유용한 장소를 차지합니다 ...
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안
fxsaber , 2019.12.11 04:50
두 번째 열에도 밀리초가 누락되었습니다.
처음에는 동기화에 대한 테스터의 메시지 , Expert Advisor 등의 현지 시간 로딩 , 그리고 나서 Expert Advisor 및 테스트 거래 서버의 테스트 시간 메시지, 때때로 테스터의 메시지와 현지 시간 산재에 대해 충격을 받을 것입니다. ?
감사합니다. 어떻게 하면 가장 잘 정리할 수 있을지 생각하면서 자리에 앉았습니다. 먼저 시작 시간, 동기화 등에 대한 메시지가 있어야 하고 나머지는 중요한 메시지가 포함된 전문가와 테스터가 있어야 한다고 제안하고 싶었습니다.
말씀하신 내용과 동일하다고 생각합니다 :)
테스터를 가속화할 수 있는 곳 중 하나를 찾았습니다. 테스터가 두 가격(예: BuyLimit 및 Tick.ask)을 비교할 때마다 값비싼 정규화를 통해 이를 수행하는 것으로 나타났습니다. 이러지 마!
터미널 역사상 가격이 정상화되지 않았습니다!
결과(EURUSD, MQ-베타)
어떻게 그게 가능합니까? 무역 서버 측에서 오류가 발생했습니까?
결과적으로 Tester는 실제 기호에서도 비뚤어진 가격으로 EA를 구동합니다.
ZY 개발자가 다른 정규화 알고리즘을 적용하는 데 문제가 있는 것 같습니다.
입력 매개변수에 빈 값이 있는 버그를 재현했습니다.
1. 고문을 모으기:
2. 무엇이든 두 매개변수를 모두 최적화합니다.
3. enam의 선택을 취소하고 x만 최적화:
4. 단일 실행을 시작한 결과에서 첫 번째 최적화 캐시를 로드한 다음 두 번째 최적화 캐시를 로드합니다. -1 대신 INT_MAX를 얻습니다.
-1로 시작하는 모든 열거형과 관련이 있습니다.
t를 체크 해제하면 입력이 완전히 비활성화된다는 의혹이 있습니다.
변수 t는 비어 있지 않은 초기화되지 않은 INT_MAX 값을 포함합니다.
터미널 역사상 가격이 정상화되지 않았습니다!
결과(EURUSD, MQ-베타)
어떻게 그게 가능합니까? 무역 서버 측 오류?
이에 테스터는 실제 심볼에도 비뚤어진 가격으로 Expert Advisors를 운영하고 있다.
ZY 개발자가 다른 정규화 알고리즘을 사용하는 데 문제가 있는 것 같습니다.
이것은 가격 곡선이 아닙니다! 상당히 정상화되었습니다. 이것은 인쇄물에서 매우 분명합니다.
거래 서버에서 거래할 때 항상 입실 가격과 현재 가격을 비교하기 위해 엡실론을 사용합니다.
<some_real_number>*0.5의 결과가 <the_same_real_number>/2.0의 결과와 다를 수 있다는 사실을 알고 계셨습니까?
일부 컴파일러는 코드를 최적화할 때 한 작업을 다른 작업으로 대체할 수 있다는 사실을 알고 계십니까? 어떤 경우에는 교체하고 다른 경우에는 - 아니요, 동일한 프로젝트 내에서. 전쟁 선포가 없습니다.
t를 체크 해제하면 입력이 완전히 비활성화된다는 의혹이 있습니다.
변수 t는 비어 있지 않은 초기화되지 않은 INT_MAX 값을 포함합니다.
이유가 무엇이든 상관없습니다.
재현하고 수정하는 것이 중요합니다. 버그가 오래되었습니다.
이것은 가격 곡선이 아닙니다! 상당히 정상화되었습니다. 이것은 인쇄물에서 매우 분명합니다.
이 조건을 통과해야만 가격이 정상화됩니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
MetaTrader 5 전략 테스터: 오류, 버그, 개선 제안
fxsaber , 2019.12.11 07:47
거래 서버에서 거래할 때 항상 입실 가격과 현재 가격을 비교하기 위해 엡실론을 사용합니다.
무역 서버가 그렇게 하는 것이 맞습니다.
<some_real_number>*0.5의 결과가 <the_same_real_number>/2.0의 결과와 다를 수 있다는 사실을 알고 계셨습니까?
일부 컴파일러는 코드를 최적화할 때 한 작업을 다른 작업으로 대체할 수 있다는 사실을 알고 계십니까? 어떤 경우에는 교체하고 다른 경우에는 - 아니요, 동일한 프로젝트 내에서. 선전포고가 없습니다.
두 질문에 대한 대답은 긍정적입니다.
다시 한번 말씀드리지만, 터미널의 원래 가격은 정상화되지 않았습니다. 여기에서 이러한 상황이 쉽게 발생합니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
MT4의 비정규화된 가격
fxsaber , 2019.02.20 23:03
그러나 상황은 훨씬 더 나쁘고 동시에 MQ-Demo에서현재 위치 의 시작 가격이 주문/거래 가격과 동일하지 않습니다.