[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 303

 
한 가지 더 질문이 있습니다. 사실 xrust 지표(https://www.mql5.com/en/code/8318)를 분석했는데, 고가와 저가를 Expert Advisor(차트에 출력됨)로 전송해야 합니다. 필요합니다 ((. 하나는 전송 된 것 같고 두 번째는 0으로 나타납니다. 실제 값을 표시하는 방법? 변경 결과를 첨부했는데 오류가 무엇인지 이해하지 못함)
 
hoz :

나는 도서관에서 일하는 법을 배우고 있다. 나는 전문가를 쓰고 있는데 다음과 같은 기능이 있습니다.

나는 포함에서 그것을 꺼냈고 모든 것이 제대로 작동합니다. 그리고 라이브러리와 연결하면 Expert Advisor를 컴파일할 때 오류가 발생합니다.

이 기능이 라이브러리에서 보이지 않는 이유는 무엇입니까?

라이브러리의 내용은 다음과 같으며 잘 컴파일됩니다.

많은 실수. 예를 보고 유추할 수 있습니까?
 

견적이 있습니다. Ask = 1.20667

이 인용문에서 소수점 이하 세 번째 자리를 뽑아야 합니다. 저것들. 값 1.206을 취하고 나머지는 버리십시오.

어떻게 하는게 맞는지 알려주세요? 왜냐하면 " Normalization "은 반올림하여 1.20700을 얻습니다.

나는 해결하려고 노력했다 :

DoubleToStr(Ask, 3 )

예, 모든 것이 올바르게 제공됩니다 -> 1.206 . 그러나 Double 형식으로 되돌리면 다시 반올림되지만 소수점 이하 둘째 자리까지입니다.

StrToDouble(DoubleToStr(Ask, 3 )) = 1 , 2100      // 1,2100 - это получившийся результат (т.е. округляет)

반올림이 필요하지 않습니다. 소수점 뒤의 두 번째, 세 번째 또는 네 번째 숫자(작업 선택을 위해)를 취하고 나머지는 버려야 합니다.

제대로 하는 방법?

 
Chiripaha :

견적이 있습니다. Ask = 1.20667

이 인용문에서 소수점 이하 세 번째 자리를 뽑아야 합니다. 저것들. 값 1.206을 취하고 나머지는 버리십시오.

어떻게 하는게 맞는지 알려주세요? 왜냐하면 " Normalization "은 반올림하여 1.20700을 얻습니다.

나는 해결하려고 노력했다 :

예, 모든 것이 올바르게 제공됩니다 -> 1.206 . 그러나 Double 형식으로 되돌리면 다시 반올림되지만 소수점 이하 둘째 자리까지입니다.

반올림이 필요하지 않습니다. 소수점 뒤의 두 번째, 세 번째 또는 네 번째 숫자(작업 선택을 위해)를 취하고 나머지는 버려야 합니다.

제대로 하는 방법?

올바른 길을 가고 있습니다. Digits 를 사용하여 double 을 string형으로 변환한 다음 결과에서 필요한 자릿수를 잘라냅니다( StringSubstr() ).
 
Chiripaha :

견적이 있습니다. Ask = 1.20667

이 인용문에서 소수점 이하 세 번째 자리를 뽑아야 합니다. 저것들. 값 1.206을 취하고 나머지는 버리십시오.

어떻게 하는게 맞는지 알려주세요? 왜냐하면 " Normalization "은 반올림하여 1.20700을 얻습니다.

나는 해결하려고 노력했다 :

예, 모든 것이 올바르게 제공됩니다 -> 1.206 . 그러나 Double 형식으로 되돌리면 다시 반올림되지만 소수점 이하 둘째 자리까지입니다.

반올림이 필요하지 않습니다. 소수점 뒤의 두 번째, 세 번째 또는 네 번째 숫자(작업 선택을 위해)를 취하고 나머지는 버려야 합니다.

제대로 하는 방법?

https://docs.mql4.com/ru/strings/StringSubstr
 

당신의 용서를 구합니다 - 내가 오해했을 수도 있습니다. 명확히 하려고 했지만 여전히 효과가 남아 있습니다. - 내 잘못이야, 미안해.

숫자(소수점 뒤의 세 번째, 네 번째 등)뿐만 아니라 소수점 둘째, 셋째 또는 넷째 자리까지의 전체 숫자가 필요합니다. 하지만! 반올림 없음.

문제는 숫자를 Double 로 되돌리면 다시 반올림된다는 것입니다.

그리고 전체 농담은 이 숫자가 한 번에 한 글자씩 어리석은 방식으로 번역되더라도 먼저 String 유형으로 번역된 다음 Double로 번역된다는 것입니다.

그러면 다시 반올림됩니다. - 아이러니한 상황입니다. StrToDouble()이 숫자를 반올림하는 이유는 무엇입니까? - 이해가 안가네요. 함수의 임무는 다음에서 다시 만드는 것입니다.

한 형식을 다른 형식으로 바꾸고 자신의 어떤 것도 "조각"하지 않고 거기에 아무것도 추가하지 마십시오. 그러나 그녀는 다른 것이고 "개선"합니다.

 
Chiripaha :

당신의 용서를 구합니다 - 내가 오해했을 수도 있습니다. 명확히 하려고 했지만 여전히 효과가 남아 있습니다. - 내 잘못이야, 미안.

숫자(소수점 뒤의 세 번째, 네 번째 등)뿐만 아니라 소수점 둘째, 셋째 또는 넷째 자리까지의 전체 숫자가 필요합니다. 하지만! 반올림 없음.

문제는 숫자를 Double 로 되돌리면 다시 반올림된다는 것입니다.

그리고 전체 농담은 이 숫자가 한 번에 한 글자씩 어리석은 방식으로 번역되더라도 먼저 String 유형으로 번역된 다음 Double로 번역된다는 것입니다.

그러면 다시 반올림됩니다. - 아이러니한 상황입니다. StrToDouble()이 숫자를 반올림하는 이유는 무엇입니까? - 이해가 안가네요. 함수의 임무는 다음에서 다시 만드는 것입니다.

한 형식을 다른 형식으로 바꾸고 자신의 어떤 것도 "조각"하지 않고 거기에 아무것도 추가하지 마십시오. 그러나 그녀는 다른 것이고 "개선"합니다.

숫자와 숫자의 차이를 아시나요?
 
Chiripaha :

당신의 용서를 구합니다 - 내가 오해했을 수도 있습니다. 명확히 하려고 했지만 여전히 효과가 남아 있습니다. - 내 잘못이야, 미안해.

숫자(소수점 뒤의 세 번째, 네 번째 등)뿐만 아니라 소수점 둘째, 셋째 또는 넷째 자리까지의 전체 숫자가 필요합니다. 하지만! 반올림 없음.

문제는 숫자를 Double 로 되돌리면 다시 반올림된다는 것입니다.

그리고 전체 농담은 이 숫자가 한 번에 한 글자씩 어리석은 방식으로 번역되더라도 먼저 String 유형으로 번역된 다음 Double로 번역된다는 것입니다.

그러면 다시 반올림됩니다. - 아이러니한 상황입니다. StrToDouble()이 숫자를 반올림하는 이유는 무엇입니까? - 이해가 안가네요. 함수의 임무는 다음에서 다시 만드는 것입니다.

한 형식을 다른 형식으로 바꾸고 자신의 어떤 것도 "조각"하지 않고 거기에 아무것도 추가하지 마십시오. 그러나 그녀는 다른 것이고 "개선"합니다.

"듣는" 능력을 개발해야 합니다! :))
 

: )))))))) 네, 그러죠. 나는 모든 비난을 받아들입니다! - 다시 한 번 사과드립니다. - 이것은 모두 고도로 발달 된 (특수 운동)의 비용입니다.

창의적, 비유적, 시적 등 측면 - 결국 사람은 창의적이고 합리적이라는 두 개의 반구가 있습니다. 내 잘못은 이것을 보고 수정하지 않은 것입니다.

따라서 귀하의 모든 주장은 주소에 있으며 저는 유죄입니다.

그러나 문제는 여전히 해결되지 않은 상태로 남아 있습니다...

결국 어떻게 해결할 것인가?

내가 놓친 것이 있다고 생각되면 명확히 해주십시오. 피드백 기술("듣기" 기능)을 이해하지만 아직 해결책을 보지 못했습니다.

예를 들어 Ask = 1.20667 값에서 Double 형식으로 반올림하지 않고 소수점 이하 세 번째 자리까지 원하는 숫자를 얻는 방법은 무엇입니까? - "StrToDouble(DoubleToStr(Ask,3)) = 1.2100 // 1.2100은 결과 결과입니다(즉, 반올림)"와 같은 솔루션이 작동하지 않았습니다.

관용과 이해에 미리 감사드립니다.

 
Zhunko :
숫자와 숫자의 차이를 아시나요?


:)) 네, 물론 저는 그 차이를 이해합니다. 그러나 사과하고 명확히하는 게시물에서 나는 여전히이 오점을 만들었습니다 (반올림하지 않고 원하는 그림을 얻는 방법 ...), 수정해야했습니다 (그리고 즉시 눈치 채지 못했습니다). 이것은 오해가 아니라 이미지 개발의 두 번째 측면입니다. 아아, 이것들은 비용입니다. 그들이 "죽은 채로 살아있다"거나 그런 것을 말할 때, 그것은 또한 넌센스로 판명됩니다. 그러나 이것이 없으면 사물의 본질에 대한 비 유적 인식이 불가능합니다. 내 말은 그게 정상이야. 엄격하게 판단하지 마십시오. :) 결국, 문자 그대로의 인식도 직감이 아닙니다. - 나는 시도 할 것이다. 그리고 당신의 도움으로 의사 소통을 수정하십시오. 함께 우리는 더 나은 삶을 더 완벽하게 만들 것입니다. 귀하의 의견에 감사드립니다!