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

 
xeon :
컴파일러는 두 번째 등호가 없는 경우 오류로 플래그를 지정하지 않습니다.

그리고 그는 해서는 안 됩니다. 귀하의 코드에는 오류가 포함되어 있지 않습니다.

 int a = 0 ;
if (a= 1 ){ Print ( "TEST" );}

이 코드와 동일합니다.

 int a = 0 ;
a= 1 ;
if (a){ Print ( "TEST" );}
 
xeon :
컴파일러는 두 번째 등호가 없는 경우 오류로 플래그를 지정하지 않습니다.
 for ( int i= 0 ;i<total_deal;i++)
        {
         //--- try to get deals ticket
         if (ticket= HistoryDealGetTicket (i)) // Предупреждение к этой строке
           {
            Deal.Ticket(ticket);

그러나 그것은 경고를 제공합니다 . 적어도 저에게는 그러한 코드에 대해 씁니다.

'DealInfo.mqh' DealInfo.mqh 1 1
표현식이 부울이 아닙니다. Shou History.mq5 60 19
오류 0개, 경고 1개 1 1
 
Urain :

그리고 그는 해서는 안 됩니다. 귀하의 코드에는 오류가 포함되어 있지 않습니다.

이 코드와 동일합니다.


예를 들어 스튜디오는 이러한 코드를 오류로 정의합니다.

또한이 코드는

 int a = 0 ;
a= 1 ;
if (a){ Print ( "TEST" );}

다음과 동일합니다.

 int a = 19 ;
if (a= 14 ){ Print ( "TEST" );}

0 = false, 1 = true라고 하면 나머지 숫자는 무엇입니까? 2,3,4, ...... :-)

IMHO, 이 접근 방식은 좋은 결과로 이어지지 않으며 오류를 볼 수 있는 추가 기회만 추가합니다.

 
xeon :

IMHO, 이 접근 방식은 좋은 결과로 이어지지 않으며 오류를 볼 수 있는 추가 기회만 추가합니다.

사용자가 자신이 무엇을 하는지 볼 수 있도록 부울이 아닌 값에 대한 경고가 추가되었습니다.

 

터미널(차트)에 세트를 저장한 다음 테스터나 터미널에서 열면 모든 것이 정상입니다. 그리고 테스터에 저장했다가 터미널에서 열면 문자열이 아닌 타입의 변수 값은 모두 abracadabra로 표시됩니다. 확인을 클릭하면 옵션 창을 다시 열면 정상적으로 보이고 부울을 제외한 모든 옵션이 새 옵션으로 올바르게 대체됩니다. 참이었던 모든 것이 거짓이 됩니다... 테스터에서 테스터에서 저장한 집합이 올바르게 열립니다.

 

중요성에 대해 죄송합니다. 이전에 쓴 오류는 아직 수정되지 않았습니다. CopySpread 기능 설명에 나와 있는 인디케이터를 실행하면 구멍 이 뚫린 스프레드 히스토리가 그려집니다. 구멍은 항상 터미널이 실행되는 순간부터 표시기가 실행되는 순간까지의 기간을 포함합니다. 새 틱마다 서버에서 오는 스프레드는 스프레드 이력에 기록되지 않는 것 같습니다. 고맙습니다!

 

컴파일러에서 경고를 받고 있습니다.

암시적 열거형 변환
유형 변환으로 인한 데이터 손실 가능성

이 줄을 사용할 때:

 ENUM_POSITION_TYPE posType= PositionGetInteger ( POSITION_TYPE );

여기서 무슨 문제가 있습니까?

찾음: long을 사용해야 합니다.

 long posType= PositionGetInteger ( POSITION_TYPE );

그럼 또 다른 질문. 다음과 같은 것이 올바르게 작동할까요?

 if (posType== POSITION_TYPE_BUY )

posType이 long으로 정의될 때?

 
ENUM_POSITION_TYPE posType=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
 
gpwr :

컴파일러에서 경고를 받고 있습니다.

암시적 열거형 변환
유형 변환으로 인한 데이터 손실 가능성

이 줄을 사용할 때:

여기서 무슨 문제가 있습니까?

찾음: long을 사용해야 합니다.

그럼 또 다른 질문. 다음과 같은 것이 올바르게 작동할까요?

posType이 long으로 정의될 때?

작동합니다. 이것은 유형 캐스팅에 대한 경고입니다. 무시해도 됩니다.
 
AlexinSergey :

중요성에 대해 죄송합니다. 이전에 쓴 오류는 아직 수정되지 않았습니다. CopySpread 기능 설명에 나와 있는 인디케이터를 실행하면 구멍 이 뚫린 스프레드 히스토리가 그려집니다. 구멍은 항상 터미널이 실행되는 순간부터 표시기가 실행되는 순간까지의 기간을 포함합니다. 새 틱마다 서버에서 오는 스프레드는 스프레드 이력에 기록되지 않는 것 같습니다. 고맙습니다!

감사합니다. 예를 들어 보겠습니다.