mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 115

 
A100 :

나는 가능한 것을 쓰지 않을 것입니다. 그렇지 않으면 갑자기 간단하고 pavlick_   다시 ... 짖는다

나는 당신의 행동을 이해하지 못합니다.

 
이 주제와 관련이 없는 댓글은 " MQL5 MT5 MetaTrader 5 초보자의 질문 "으로 이동되었습니다.
 
Alexey Navoykov :
포인터를 캐스팅해도 아무 일도 일어나지 않습니다. 어떻게 던져도 대상은 동일합니다.

정정합니다.

 

누가 실제 틱으로 테스트를 했는지, 1분 히스토리를 생성해야 하는 건가요, 아니면 다운로드한 틱( 커스텀 심볼 )을 기반으로 해서 만들어지는 건가요?

어떤 이유로 테스트가 작동하지 않습니다. 7일 간의 틱을 다운로드하고 테스트를 실행합니다. 다음은 로그에 있는 내용입니다.

 2018.12 . 24 22 : 04 : 16.925 Core 1   no data synchronized, 41 bytes read
2018.12 . 24 22 : 04 : 16.925 Core 1   symbol EURUSD_custom synchronization error
2018.12 . 24 22 : 04 : 16.925 Core 1   cannot get history EURUSD_custom,M1
 
forexman77 :

누가 실제 틱으로 테스트를 했는지, 1분 히스토리를 생성해야 하는지 아니면 다운로드한 틱(커스텀 심볼)을 기반으로 만들어질 것인지?

어떤 이유로 테스트가 작동하지 않습니다. 7일 간의 틱을 다운로드하고 테스트를 실행합니다. 다음은 로그에 있는 내용입니다.

필요한 만큼.

 

"동일한" 가격 계산에 대한 DoubleToString은 다른 결과를 제공할 수 있습니다. 그러나 DoubleToString은 NormalizeDouble 과 다를 수 있습니다.

 #property strict

#define PRINT(A) Print ( #A + " = " + ( string )(A))

void OnStart ()
{
   const double Koef =   0.25 ;
   const int iDelta = 32 ;
   const double point = 0.00001 ;
  
   const double high = 1.06736 ;
   const double low = 1.06676 ;
  
   const double Avg = (high + low) * 0.5 ;  
   const double Size = (high - low) * Koef * 0.5 ;
  
   // Вычисление одной и той же цены разной последовательностью сложения одного и того же количества пипсов
   const double Price1 = Avg - Size - point * iDelta;
   const double Price2 = Avg - (Size + point * iDelta);  
  
  PRINT( DoubleToString (Price1, 5 ));   // DoubleToString(Price1,5) = 1.06666
  PRINT( DoubleToString (Price2, 5 ));   // DoubleToString(Price2,5) = 1.06667

  PRINT( NormalizeDouble (Price1, 5 )); // NormalizeDouble(Price1,5) = 1.06667
  PRINT( NormalizeDouble (Price2, 5 )); // NormalizeDouble(Price1,5) = 1.06667
}
 
fxsaber :

"동일한" 가격 계산에 대한 DoubleToString은 다른 결과를 제공할 수 있습니다. 이 경우 DoubleToString은 NormalizeDouble과 다를 수 있습니다.

설명된 동작은 MQL5 언어의 독점 기능이 아닙니다. " 기계 메모리에서 실수가 표현되는 방식은 IEEE 754 표준에 의해 정의되며 플랫폼, 운영 체제 및 프로그래밍 언어와 무관합니다. "
 

갑자기 https://www.mql5.com/en/forum/1111/page2364#comment_10048274를 기반으로 템플릿 미해결 정적 변수 주제에 대해 누군가에게 유용하다면

선언 장소에서 바로 메서드를 구현하면 문제가 해결됩니다. 별로 예쁘지는 않지만 작동합니다.

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.12.28
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Ilya Malev :

갑자기 https://www.mql5.com/ru/forum/1111/page2364#comment_10048274를 기반으로 하는 미해결 정적 변수 템플릿 주제에 대해 누군가에게 유용하다면

선언 장소에서 바로 메서드를 구현하면 문제가 해결됩니다. 별로 예쁘지는 않지만 작동합니다.

정적이라는 추가 단어가 있습니다. 수업 외에서는 사용하지 않습니다.

 
Alexey Navoykov :

정적이라는 추가 단어가 있습니다. 수업 외에서는 사용하지 않습니다.

(지겹게도) 이것이 문제라면 "'k' - redefinition; different type modifiers"라는 에러가 나지만 화면에는 나오지 않는다. 따라서 컴파일러는 신경 쓰지 않으며 그게 요점이 아닙니다.


사유: