오류, 버그, 질문 - 페이지 41

 
alexvd :

귀하의 신청서가 답변되었습니다. 그들은 추천을 했습니다.

프로필에서 업데이트되지 않은 이유 - 알아보겠습니다.

애플리케이션

오류 , MetaTrader 5 MQL , 열림 , 시작됨: 2010.07.03 14:51 , #17988

아마도 업데이트되지 않았을 수도 있습니다. 확인하시기 바랍니다.

 
drknn :

형식적인 논리를 알고 용어의 차이가 바로 눈에 들어왔습니다. 요점은 MQL5 언어 도움말을 읽는 것이 많은 문제에 대한 명확성을 제공하지 않는다는 것입니다. 메타 인용문은 베타 테스터 그룹을 자신의 편으로 끌어들이기 위해 터미널을 공개 도메인으로 던진 것이 분명합니다. 이러한 움직임은 시간과 비용을 절약해 줍니다. 그러나 명확하지 않은 인증서를 사용자에게 제공하는 것은 큰 실수입니다. 예를 들어 가장 중요한 섹션인 " Migration from MQL4 "를 열어 보겠습니다.

이 테이블은 Ask, Bid 및 Bars에 대한 정보를 제공하지 않습니다. Ask 같은 단어에 대한 검색을 사용하려는 시도 는 사람이 최신 가격을 요청하는 완전히 이해할 수없는 구조에 직면하게된다는 사실로 이어집니다. 개발자는 이 부분 도움말을 인쇄하는 단계에서 그때도 예상하지 못했을까요? 무의미한 말. 왜 이런 일이 일어날 수 있습니까? 일관성 부족, 즉 미래 구성에 대한 명확한 계획이 없다는 단 하나의 이유가 있습니다. 대부분의 경우 인증서가 무작위로 작성된 다음 별도의 조각이 단순히 함께 붙어 있으며 여기에 "도움말"이 있습니다. 어디에도 어울리지 않습니다. 아무도 다른 사람의 초안을 읽는 것을 좋아하지 않습니다!

당신이 어느 정도 옳습니다. MQL5 문서는 MQL5 언어 자체와 마찬가지로 지속적으로 변경되고 보완됩니다. 그리고 아직 구현해야 할 것이 많기 때문에 몇 년 동안 더 바뀔 것입니다. 최종 사용자인 고객의 피드백 없이 실험실에서 몇 년 동안 진공 상태에서 새 터미널을 만들자고 제안하는 것으로 나타났습니다.

메인 섹션에 대해

예를 들어 가장 중요한 섹션인 " Migration from MQL4 "를 열어 보겠습니다.

그는 또한 첫 번째 출판 이후 약간의 변화를 겪었지만 최종 버전이 언제인지는 말할 수 없습니다. 그리고 계속해서 MQL4를 되돌아보고 MQL5를 공부하고 기사 를 읽을 수는 없습니다. 새로운 주제를 배우는 데 정말 도움이 됩니다.

 
새 빌드를 설치한 후 내 Expert Advisors는 C:\Program Files\MetaTrader 5\MQL5\Experts 폴더에서 사라집니다. 하위 폴더 없이 배치합니다. 아마도 이것이 잘못된 것일까요?
 
icas :
새 빌드를 설치한 후 내 Expert Advisors는 C:\Program Files\MetaTrader 5\MQL5\Experts 폴더에서 사라집니다. 하위 폴더 없이 배치합니다. 아마도 이것이 잘못된 것일까요?
디스크에서 완전히 제거되었습니까?
 
Renat :
디스크에서 완전히 제거되었습니까?
레나트, 미안해! 컴퓨터를 엉망으로 만들었습니다. 댓글을 지우고 싶은데 이미 답변을 주셨군요.
 
다음 구성을 컴파일할 때 컴파일러가 "자동"인 이유는 다음과 같습니다.
 ushort SomeFunction( int A, int B)
   {
     ushort res= 0 ;
     ushort id= 1000 ;
    res=(A>B)?id: NULL ;  ????? 
    
     return (res);
   }
모든 것이 오류 없이 컴파일됩니다 :)
 
Kos :
다음 구문을 컴파일할 때 컴파일러가 "자동"인 이유는 다음과 같습니다.
모든 것이 오류 없이 컴파일됩니다 :)
어떤 오류가 표시될 것으로 예상했습니까?
 
stringo :
어떤 오류가 표시될 것으로 예상했습니까?

도움말은 "expression2" 및 "expression3"이 동일한 유형의 값을 반환해야 하며 void 유형 이 아니어야 한다고 명시적으로 명시하고 있습니다.

따라서 다음과 같은 구성은 올바르지 않습니다. NULL은 void 유형이며 컴파일러에서 이에 대해 알려야 합니까?

res=(A>B)?id: NULL ;  ?????
 
MQL5 프로그램을 로드하는 것이 불가능하다면 그러한 구성을 컴파일하는 것이 무슨 의미가 있습니까?
 

NULL 은 특수 상수입니다. "변환 없이 다른 기본 유형의 변수에 할당할 수 있습니다."

즉, 표현식에서 NULL은 void 타입이 아닌 표현식 타입을 갖는다.

잘못된 명령을 의미하는 경우 이는 버그이며 수정될 것입니다.