초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 474

 
Alexey Viktorov :
그게 다가 아닙니다... https://www.mql5.com/en/forum/66827
이상하게 좋은 사람... 아 글쎄...
 
이중 변수의 실제 값을 찾는 방법은 무엇입니까? 사실은 때때로 1/1000이 인쇄를 통해 날아간다는 것입니다. 변수 자체는 텍스트 문자열로 구성되지만 반올림 절차를 거칩니다.
 
-Aleks- :
이중 변수의 실제 값을 찾는 방법은 무엇입니까? 사실은 때때로 1/1000이 인쇄를 통해 날아간다는 것입니다. 변수 자체는 텍스트 문자열로 구성되지만 반올림 절차를 거칩니다.
음. 당신은 무엇을 위해?
 
Alexey Kozitsyn :
음. 당신은 무엇을 위해?
계산 오류를 감지하려면 :)
 
-Aleks- :
계산 오류를 감지하려면 :)
여러 개의 double 값을 비교하시겠습니까?
 
Alexey Kozitsyn :
여러 개의 double 값을 비교하시겠습니까?
실제로는 ... 숫자가 항상 정수 값 4 = 3.99999999999999999를 갖지 않으며 수학 연산 후에 반올림 후에 부정확성이 형성된다는 가정이 있습니다.
 

알려주세요. Metatrader 4 터미널에서 이메일로 메시지를 보내야 하며, 현재 차트의 스크린샷을 찍어 메시지 중간에 삽입하는 방식으로 해야 합니다. 예시:

EURUsd 쌍 에 매수 신호가 있었습니다.

<screenshot09122015_eurusd.png>

오프닝에 대한 추가 정보입니다.

이것을 구현하는 방법을 알려주시겠습니까? 다시 할 수 있는 예제나 이와 유사한 것이 있을 수 있습니다. 고맙습니다!
 
-Aleks- :
실제로는 ... 숫자가 항상 정수 값 4 = 3.99999999999999999를 갖지 않으며 수학 연산 후에 반올림 후에 부정확성이 형성된다는 가정이 있습니다.

부정확성이 나타나더라도 NormalizeDouble() 을 사용하십시오 . 계산에 필요한 정확도를 설정합니다. 그것이 바로 이 기능을 위한 것입니다.

예에서 귀하의 사례가 다음과 같이 설명된 것 같습니다.

Print()를 사용하여 저널에 인쇄할 때 정규화된 숫자는 예상보다 더 많은 소수 자릿수를 포함할 수 있습니다. 예를 들어,

DoubleToString(a,8)=76.67100000

인쇄(76.671)=76.67100000000001

 
Alexey Kozitsyn :

부정확성이 나타나더라도 NormalizeDouble() 을 사용하십시오 . 계산에 필요한 정확도를 설정합니다. 그것이 바로 이 기능을 위한 것입니다.

예에서 귀하의 사례가 다음과 같이 설명된 것 같습니다.

예 - 설명되어 있습니다. 예 - 사용합니다. 문제는 분석을 위해 데이터를 가져오기 위해 인쇄 및 일반적으로 문자열을 통하지 않는 방법입니다. :)
 
-Aleks- :
예 - 설명되어 있습니다. 예 - 사용합니다. 문제는 분석을 위해 데이터를 가져오기 위해 인쇄 및 일반적으로 문자열을 통하지 않는 방법입니다. :)

동일한 NormalizeDouble()의 도움으로. double 유형의 숫자를 가져옵니다. 정규화됨. Print()는 다음과 같이 출력합니다.

여기에 올바르게 비교하는 방법이 나와 있습니다. https://www.mql5.com/en/docs/basis/types/double

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
사유: