오류, 버그, 질문 - 페이지 2324 1...231723182319232023212322232323242325232623272328232923302331...3184 새 코멘트 [삭제] 2018.11.19 19:46 #23231 1. 왜 "응용 프로그램"섹션입니까? 2 단어로. 이해가 안 됩니다. 2. 서비스 데스크 섹션은 어디에 있습니까? 나는 그들이 누군가를 이 주제로 보내기를 원합니다: https://www.mql5.com/ru/forum/290284 고맙습니다 Aleksey Vyazmikin 2018.11.20 09:06 #23232 다시, "홈" 버튼을 누를 때와 같이 차트 이동이 시작되었습니다. 패턴이 공개되지 않았고 약 반년 동안 문제가 없었고 이제 1940 빌드가 반환되었습니다. fxsaber 2018.11.20 09:17 #23233 포인터 버그 class A {}; void OnStart () { A* a = NULL ; if ( true && a) // '&&' - illegal operation use ; if (a) // OK ; } Vladimir Pastushak 2018.11.20 09:41 #23234 Vladimir Pastushak : 이것이 정상적인 기능 동작입니까? 그렇다면 어떻게 시간을 줄일 수 있습니까? 기록이 미리 로드되었습니다. 결과 : 기호 ARSA 16 544 647 기호 AVAN 16 506 592 기호 AVAZ 16 553 408 기호 AVAZP 16 511 019 ASSB 기호 16 521 310 이 동작은 CFD에 나타납니다. 모두의 행동 다음은 가격 요청당 16초의 스크립트입니다. 이 순간에 프로그램이 단단히 멈춥니다... void OnStart () { int all_symbols = SymbolsTotal ( false ); string sym_name = ""; MqlRates mas[]; Print ("Symbols all ",all_symbols); ulong time_= GetMicrosecondCount (); for ( int i= 0 ;i<all_symbols;i++) if ((sym_name= SymbolName (i, false ))!="") { SymbolSelect (sym_name, true ); ArrayResize (mas,i+ 1 , 100000 ); time_= GetMicrosecondCount (); CopyRates (sym_name, PERIOD_D1 , 0 , 1 ,mas); Print ("Copy N ",(i+ 1 )," Name ",sym_name," time = ",( GetMicrosecondCount ()-time_)); } for ( int i= 0 ;i<all_symbols;i++) if ((sym_name= SymbolName (i, false ))!="") { SymbolSelect (sym_name, true ); ArrayResize (mas,i+ 1 , 100000 ); time_= GetMicrosecondCount (); double rez = iOpen (sym_name, PERIOD_D1 , 0 ); Print (" iOpen N ",(i+ 1 )," Name ",sym_name," time = ",( GetMicrosecondCount ()-time_)); } } 그리고 여기에 로그의 일부가 있습니다 디제이 0 12:18:33.507 테스트카피(EURUSD,H1) N 63 이름 SGDJPY 시간 = 46076 복사 OP 0 12:18:33.552 테스트카피(EURUSD,H1) 복사 N 64 이름 USDEUR_BASKET 시간 = 44995 IG 0 12:18:33.597 테스트카피(EURUSD,H1) 복사 N 65 이름 EURRUB_TOD 시간 = 44863 리 0 12:18:33.642 테스트카피(EURUSD,H1) 복사 N 66 이름 EURRUB_TOM 시간 = 45040 GS 0 12:18:33.698 테스트카피(EURUSD,H1) 복사 N 67 이름 USDRUB_TOD 시간 = 56006 CF 0 12:18:33.743 테스트카피(EURUSD,H1) 복사 N 68 이름 USDRUB_TOM 시간 = 44925 CI 0 12:18:33.787 테스트카피(EURUSD,H1) 복사 N 69 이름 CNYRUB_TOD 시간 = 44820 에스 0 12:18:33.833 테스트카피(EURUSD,H1) 복사 N 70 이름 CNYRUB_TOM 시간 = 45086 CF 0 12:18:50.336 TestCopy (EURUSD,H1) 복사 N 71 이름 ABRD 시간 = 16503669 KL 0 12:19:06.836 TestCopy (EURUSD,H1) 복사 N 72 이름 AESL 시간 = 16499892 FF 0 12:19:06.881 테스트카피(EURUSD,H1) N 73 이름 AFKS 시간 복사 = 44842 채널 0 12:19:06.926 테스트카피(EURUSD,H1) 복사 N 74 이름 AFLT 시간 = 44963 DP 0 12:19:23.429 TestCopy (EURUSD,H1) 복사 N 75 이름 AKRN 시간 = 16502943 CG 0 12:19:39.929 TestCopy (EURUSD,H1) 복사 N 76 이름 ALBK 시간 = 16499755 RL 0 12:19:56.433 TestCopy (EURUSD,H1) 복사 N 77 이름 ALNU 시간 = 16503651 EG 0 12:19:56.478 TestCopy (EURUSD,H1) 복사 N 78 이름 ALRS 시간 = 44989 확인 0 12:20:12.978 TestCopy (EURUSD,H1) 복사 N 79 이름 AMEZ 시간 = 16500788 QS 0 12:20:13.034 TestCopy (EURUSD,H1) 복사 N 80 이름 APTK 시간 = 55954 GF 0 12:20:29.541 TestCopy (EURUSD,H1) 복사 N 81 이름 ARMD 시간 = 16506946 HM 0 12:20:46.051 TestCopy (EURUSD,H1) 복사 N 82 이름 ARSA 시간 = 16509620 DD 0 12:21:02.553 TestCopy (EURUSD,H1) 복사 N 83 이름 ASSB 시간 = 16501809 GK 0 12:21:19.083 TestCopy (EURUSD,H1) 복사 N 84 이름 AVAN 시간 = 16529765 HP 0 12:21:35.586 TestCopy(EURUSD,H1) 복사 N 85 이름 AVAZ 시간 = 16502812 HK 0 12:21:52.085 TestCopy (EURUSD,H1) 복사 N 86 이름 AVAZP 시간 = 16499796 NO 0 12:21:52.130 TestCopy (EURUSD,H1) 복사 N 87 이름 BANE 시간 = 44973 전체 로그는 아래에 있습니다. 파일: 20181120.log 196 kb Errors, bugs, questions Off-topic MT4/mql4 questions. Backtesting with tick data A100 2018.11.21 20:34 #23235 fxsaber : 포인터 버그 그리고 그 차이점은 무엇입니까? 거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼 오류, 버그, 질문 fxsaber , 2018.09.17 14:17 버그인가요? class A {}; A* a = NULL ; bool b1 = a && true ; // OK bool b2 = true && a; // '&&' - illegal operation use fxsaber 2018.11.21 20:35 #23236 A100 : 그리고 그 차이점은 무엇입니까? 나는 아주 나쁜 기억을 가지고 있습니다. 내가 여러 번 발명한 일부 "자전거". A100 2018.11.21 21:04 #23237 나는 그러한 오류가 이유가 없다고 생각합니다. 왜냐하면 (bool에 대한 포인터의 무료 암시적 캐스팅이 있는 경우) 해석하는 방법이 명확하지 않기 때문입니다. class A { public : bool operator &&( bool a ) { return a; } }; void OnStart () { A *a, *b; if (a && b); } 또는 어떻게 if (( bool )a &&( bool )b); //(1) 또는 어떻게 if ((*a). operator &&(( bool )b));//(2) fxsaber 2018.11.22 05:07 #23238 A100 : 나는 그러한 오류가 이유가 없다고 생각합니다. 왜냐하면 (bool에 대한 포인터의 무료 암시적 캐스팅이 있는 경우) 해석하는 방법이 명확하지 않기 때문입니다. 예, 귀하의 경우에는 모호성이 있습니다. 좋은 방법으로, 이에 대한 컴파일러 경고 가 최소한 있어야 합니다. 훨씬 단순한 경우에는 모든 것이 명확합니다. C++도 이에 동의한다고 생각합니다. Ilyas 2018.11.22 08:37 #23239 fxsaber : Это баг? class A {}; A* a = NULL ; bool b1 = a && true ; // OK bool b2 = true && a; // '&&' - illegal operation use 임시 해결책으로 '!' 연산자를 사용하십시오. (논리적 아님) class A {}; A* a = NULL ; bool b1 = !!a && true ; bool b2 = true && !!a; 우리는 해결책을 생각할 것입니다(많은 코드가 있는 지금 동작을 변경할 수 있습니까?) 포인터의 경우 bool 캐스트 작업은 포인터가 가리키는 개체가 아니라 포인터에 대한 작업일 수 있습니다. 이 경우 객체에 대한 작업을 수행하려면 다음과 같은 코드를 작성해야 합니다. class A {}; A* a = NULL ; bool b1 = *a && true ; bool b2 = true && *a; 캐스트 연산자도 추가하고 싶지만 이 작업은 (매우) 우선 순위가 낮습니다. fxsaber 2018.11.22 08:44 #23240 Ilyas : 임시 해결책으로 '!' 연산자를 사용하십시오. (논리적 아님) 컴파일러가 이중 부정을 최적화합니까? 1...231723182319232023212322232323242325232623272328232923302331...3184 새 코멘트 사유: 취소 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
1. 왜 "응용 프로그램"섹션입니까? 2 단어로. 이해가 안 됩니다.
2. 서비스 데스크 섹션은 어디에 있습니까? 나는 그들이 누군가를 이 주제로 보내기를 원합니다:
https://www.mql5.com/ru/forum/290284
고맙습니다
이것이 정상적인 기능 동작입니까? 그렇다면 어떻게 시간을 줄일 수 있습니까? 기록이 미리 로드되었습니다.
결과 :
기호 ARSA 16 544 647
기호 AVAZ 16 553 408
기호 AVAZP 16 511 019
이 동작은 CFD에 나타납니다.
모두의 행동
다음은 가격 요청당 16초의 스크립트입니다. 이 순간에 프로그램이 단단히 멈춥니다...
그리고 여기에 로그의 일부가 있습니다
디제이 0 12:18:33.507 테스트카피(EURUSD,H1) N 63 이름 SGDJPY 시간 = 46076 복사
OP 0 12:18:33.552 테스트카피(EURUSD,H1) 복사 N 64 이름 USDEUR_BASKET 시간 = 44995
IG 0 12:18:33.597 테스트카피(EURUSD,H1) 복사 N 65 이름 EURRUB_TOD 시간 = 44863
리 0 12:18:33.642 테스트카피(EURUSD,H1) 복사 N 66 이름 EURRUB_TOM 시간 = 45040
GS 0 12:18:33.698 테스트카피(EURUSD,H1) 복사 N 67 이름 USDRUB_TOD 시간 = 56006
CF 0 12:18:33.743 테스트카피(EURUSD,H1) 복사 N 68 이름 USDRUB_TOM 시간 = 44925
CI 0 12:18:33.787 테스트카피(EURUSD,H1) 복사 N 69 이름 CNYRUB_TOD 시간 = 44820
에스 0 12:18:33.833 테스트카피(EURUSD,H1) 복사 N 70 이름 CNYRUB_TOM 시간 = 45086
CF 0 12:18:50.336 TestCopy (EURUSD,H1) 복사 N 71 이름 ABRD 시간 = 16503669
KL 0 12:19:06.836 TestCopy (EURUSD,H1) 복사 N 72 이름 AESL 시간 = 16499892
FF 0 12:19:06.881 테스트카피(EURUSD,H1) N 73 이름 AFKS 시간 복사 = 44842
채널 0 12:19:06.926 테스트카피(EURUSD,H1) 복사 N 74 이름 AFLT 시간 = 44963
DP 0 12:19:23.429 TestCopy (EURUSD,H1) 복사 N 75 이름 AKRN 시간 = 16502943
CG 0 12:19:39.929 TestCopy (EURUSD,H1) 복사 N 76 이름 ALBK 시간 = 16499755
RL 0 12:19:56.433 TestCopy (EURUSD,H1) 복사 N 77 이름 ALNU 시간 = 16503651
EG 0 12:19:56.478 TestCopy (EURUSD,H1) 복사 N 78 이름 ALRS 시간 = 44989
확인 0 12:20:12.978 TestCopy (EURUSD,H1) 복사 N 79 이름 AMEZ 시간 = 16500788
QS 0 12:20:13.034 TestCopy (EURUSD,H1) 복사 N 80 이름 APTK 시간 = 55954
GF 0 12:20:29.541 TestCopy (EURUSD,H1) 복사 N 81 이름 ARMD 시간 = 16506946
HM 0 12:20:46.051 TestCopy (EURUSD,H1) 복사 N 82 이름 ARSA 시간 = 16509620
DD 0 12:21:02.553 TestCopy (EURUSD,H1) 복사 N 83 이름 ASSB 시간 = 16501809
GK 0 12:21:19.083 TestCopy (EURUSD,H1) 복사 N 84 이름 AVAN 시간 = 16529765
HP 0 12:21:35.586 TestCopy(EURUSD,H1) 복사 N 85 이름 AVAZ 시간 = 16502812
HK 0 12:21:52.085 TestCopy (EURUSD,H1) 복사 N 86 이름 AVAZP 시간 = 16499796
NO 0 12:21:52.130 TestCopy (EURUSD,H1) 복사 N 87 이름 BANE 시간 = 44973
전체 로그는 아래에 있습니다.
포인터 버그
그리고 그 차이점은 무엇입니까?
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
오류, 버그, 질문
fxsaber , 2018.09.17 14:17
버그인가요?그리고 그 차이점은 무엇입니까?
나는 아주 나쁜 기억을 가지고 있습니다. 내가 여러 번 발명한 일부 "자전거".
또는 어떻게
또는 어떻게
나는 그러한 오류가 이유가 없다고 생각합니다. 왜냐하면 (bool에 대한 포인터의 무료 암시적 캐스팅이 있는 경우) 해석하는 방법이 명확하지 않기 때문입니다.
예, 귀하의 경우에는 모호성이 있습니다. 좋은 방법으로, 이에 대한 컴파일러 경고 가 최소한 있어야 합니다.
훨씬 단순한 경우에는 모든 것이 명확합니다. C++도 이에 동의한다고 생각합니다.
fxsaber :
Это баг?
임시 해결책으로 '!' 연산자를 사용하십시오. (논리적 아님)
우리는 해결책을 생각할 것입니다(많은 코드가 있는 지금 동작을 변경할 수 있습니까?)
포인터의 경우 bool 캐스트 작업은 포인터가 가리키는 개체가 아니라 포인터에 대한 작업일 수 있습니다.
이 경우 객체에 대한 작업을 수행하려면 다음과 같은 코드를 작성해야 합니다.
캐스트 연산자도 추가하고 싶지만 이 작업은 (매우) 우선 순위가 낮습니다.
임시 해결책으로 '!' 연산자를 사용하십시오. (논리적 아님)
컴파일러가 이중 부정을 최적화합니까?