MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 990

 
Alexandr Sokolov :

***

여기에서 방금 경고했으며 EMPTY_VALUE를 곱한 경우에만 정보를 얻습니다.

***

영형! 아주 좋은 예입니다! 구해야지...

   double a= EMPTY_VALUE ;
   Print ("- - -");
   Print (" EMPTY_VALUE / 2 = ",a/ 2.0 );
   Print (" EMPTY_VALUE * 2 = ",a* 2.0 );
   Print (" EMPTY_VALUE - 2 = ",a- 2.0 );
   Print (" EMPTY_VALUE + 2 = ",a+ 2.0 );
   Print (" EMPTY_VALUE = ",a);

결과:

 2019.11 . 02 07 : 50 : 48.131 INF (ATD.B.XTSE,H1)     - - -
2019.11 . 02 07 : 50 : 48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE / 2 = 8.988465674311579 e+ 307
2019.11 . 02 07 : 50 : 48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE * 2 = inf
2019.11 . 02 07 : 50 : 48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE - 2 = 1.797693134862316 e+ 308
2019.11 . 02 07 : 50 : 48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE + 2 = 1.797693134862316 e+ 308
2019.11 . 02 07 : 50 : 48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE = 1.797693134862316 e+ 308
 

https://www.mql5.com/ru/docs/constants/namedconstants/otherconstants

EMPTY_VALUE  Пустое значение в индикаторном буфере DBL_MAX


inf는 오버플로입니다
 
werter :

재미있다.

BuySellVolume입니다. 총 거래량은 매수 및 매도 합계와 같지 않고 약간만 더 있습니다.

문제를 자세히 설명하고 코드에서 불필요한 것을 제거하십시오 ...

작은 램 코드라도 그러한 램 코드를 탐구하려는 욕망은 없습니다 ...

 
Vladimir Pastushak :

문제를 자세히 설명하고 코드에서 불필요한 것을 제거하십시오 ...

작더라도 그런 램 코드를 파고들고 싶은 마음은 없습니다...

더 이상 필요하지 않습니다. 감사합니다. 오류를 찾았습니다.
 
LuckyTrader :

범위를 벗어난 배열

strict 추가 후 오류가 발생했습니다.

컴파일러는 오류가 발생할 줄과 커서 위치를 알려줍니다. ME 사용법을 배우지 않으면 더 이상 의미가 없습니다.

 
LuckyTrader :
라인을 보여주었다:

루프의 변수 i를 의미합니다.

 for ( int i= 0 ; i< 62 ; i++)

numberFibo[] 배열 크기 보다 커졌습니다.

배열을 설명하는 위치를 찾거나 이 배열의 크기를 변경하십시오.

루프 전에 쓸 수 있습니다

 Print ( "Размер массива numberFibo = " , ArraySize (numberFibo));
 

이 메시지를 읽을 수 있게 하는 방법은 무엇입니까?

 Alert ( "Тестовое \r\nсообщение №1" );
Alert ( "Тестовое \r\nсообщение №2" );


결론은 큰 종 근처에 있는 경고 창의 마지막 메시지는 전체를 읽을 수 있고 이전 메시지는 전문가 로그에만 있다는 것입니다(그런 다음 서로 정렬하는 데 집중해야 함)


사용자가 편안함을 느끼도록 하기 위해 무엇을 할 수 있습니까? 결국, 예를 들어 내가 기호, 기간, 거래 방향, 시가, 중지 및 이익을 표시하면 어떻게 될지 상상해보십시오.

 
LuckyTrader :

범위를 벗어난 배열

strict를 추가한 후 오류가 발생했습니다.

이것

   for ( int i= 0 ; i< 62 ; i++)
     {
      numberFibo            [i]= 0 ;
      numberPesavento       [i]= 0 ;
      numberGartley         [i]= 0 ;
      numberGilmorQuality   [i]= 0 ;
      numberGilmorGeometric [i]= 0 ;
      numberGilmorHarmonic  [i]= 0 ;
      numberGilmorArithmetic[i]= 0 ;
      numberGilmorGoldenMean[i]= 0 ;
      numberSquare          [i]= 0 ;
      numberCube            [i]= 0 ;
      numberRectangle       [i]= 0 ;
      numberExt             [i]= 0 ;
     }

로 대체할 수 있습니다

 ZeroMemory (numberFibo);
ZeroMemory (numberPesavento);
ZeroMemory (numberGartley);
ZeroMemory (numberGilmorQuality);
ZeroMemory (numberGilmorGeometric);
ZeroMemory (numberGilmorHarmonic);
ZeroMemory (numberGilmorArithmetic);
ZeroMemory (numberGilmorGoldenMean);
ZeroMemory (numberSquare);
ZeroMemory (numberCube);
ZeroMemory (numberRectangle);
ZeroMemory (numberExt);

그런데 무슨 이유에서인지 배열 크기의 변화 가 보이지 않습니다. 채우기 전에 할당된 배열의 크기는 얼마입니까?

 
Alexandr Sokolov :

이 메시지를 읽을 수 있게 하는 방법은 무엇입니까?


결론은 큰 종 근처에 있는 경고 창의 마지막 메시지는 전체를 읽을 수 있고 이전 메시지는 전문가 로그에만 있다는 것입니다(그런 다음 서로 정렬하는 데 집중해야 함)


사용자가 편안함을 느끼도록 하기 위해 무엇을 할 수 있습니까? 결국, 예를 들어 내가 기호, 기간, 거래 방향, 시가, 중지 및 이익을 표시하면 어떻게 될지 상상해보십시오.

다음 업데이트에서는 개발자가 알림창에서 아래 사용자가 클릭한 메시지가 큰 종 옆에 표시되도록 했으면 합니다.

 
LuckyTrader :

루프에서 작업할 때 오류가 발생했습니다.

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

MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론

럭키트레이더 , 2019.11.04 09:08

다음 행을 표시했습니다(컴파일러는 아무 것도 표시하지 않으며 테스트 중 표시기에 오류가 표시됨, 로그에서 발견됨):

      numberFibo            [i]= 0 ;

그러나 당신은 완전히 다른 예를 보여줍니다. 그 족보에는 앞 페이지에 오류가 없어야 합니다.