MQL4 마스터에 대한 질문입니다. 다시 Double Compare에 대해. - 페이지 4 1234567891011 새 코멘트 Владимир 2007.09.10 01:41 #31 Integer : VBAG 이 스크립트를 참조하십시오 그리고 당신은 또한 밤에도 일합니다 .. 지원에 감사드립니다. 정보가 너무 많습니다. 이제 모든 것을 소화해야합니다. Glaswegian 2007.09.10 01:46 #32 Integer : 가격 = 1.1111 ma = 1.11110001 8개 기호로 정규화되면 ma>price - 오른쪽. 더 적은 수의 문자로 정규화하면 동일하며 잘못된 것으로 판명됩니다. 이러한 방식으로 최대 정확도가 달성됩니다. 농담이야, 그렇지? :) 일반적으로 정규화 없이 ma > 가격도 결국 맞습니다. 이미 존재하고 이미 분명히 더 달성 가능한 경우 최대 정확도를 달성하는 이유는 무엇입니까? 9자로 정규화가 작동하지 않습니다. 가격은 9글자, 인디케이터는 8글자, 그 반대(기억안남), 한마디로 불확실성의 미스터리로 뒤덮인 것 같다. 예, 아마도 이것은 NormalizeDouble 자체에 있으며 카운터는 최대 8자입니다. 아무리 꼬아도 말도 안되는 기능을 하고 있습니다. Glaswegian 2007.09.10 01:54 #33 komposter : 그리고 단순화된 형태에서는 ComparePrice만큼 빠르게 작동합니다. 2007.09.10 03:19:24 CheckCompareDoubleSpeed GBPUSD,일일: ComparePrice: 20922 , equal: 20453 하지만 원래의 형태로, 그냥 노래:) int start () { double a , b ; int start1 , start2 , end , c ; a = 1.23450001 ; b = 1.23449999 ; start1 = GetTickCount () ; for ( c = 100000000 ; c > 0 ; c -- ) ComparePrice ( a , b ) ; start2 = GetTickCount () ; for ( c = 100000000 ; c > 0 ; c -- ) equal ( a , b ) ; end = GetTickCount () ; Print ( " ComparePrice: " , start2 - start1 , " , equal: " , end - start2 ) ; return ( 0 ) ; } int ComparePrice ( double a , double b ) { a -= b ; b = Point / 2 .; if ( a > b ) return ( 1 ) ; if ( a < - b ) return ( - 1 ) ; return ( 0 ) ; } bool equal ( double value1 , double value2 , int precision = 8 ) { return ( NormalizeDouble ( MathAbs ( NormalizeDouble ( value1 , precision ) - NormalizeDouble ( value2 , precision )) , precision ) < NormalizeDouble ( MathPow ( 0.1 , precision ) , precision )) ; } 2007.09.10 02:39:57 testScript USDJPYm,H4: ComparePrice: 23843 , equal: 178704 어, 하지만 komposter는 더 나은 차가 있습니다! Andrey Khatimlianskii 2007.09.10 02:41 #34 Irtron : 하지만 원래의 형태는 노래일 뿐입니다. :) 예, 다재다능함을 위해서는 비용을 지불해야 합니다. 또는 ComparePrice는 주어진 정밀도로 숫자를 비교하는 데도 적합합니까? Glaswegian 2007.09.10 02:56 #35 komposter : 또는 ComparePrice는 주어진 정밀도로 숫자를 비교하는 데에도 적합합니까? 물론이죠! 정확성이 알려지면 거래 가치로 작업할 때 정확히 발생합니다. 고정 점 . Andrey Khatimlianskii 2007.09.10 03:28 #36 Irtron : 물론이죠! 정확성이 알려지면 거래 값으로 작업할 때 정확히 발생합니다. 고정점. 동의한다. "복식 비교에 관한"주제의 수많은 저자에게 설명하면됩니다. 따라서 저는 _보편적인_(최적과는 거리가 먼) 비교 옵션을 제안했습니다. 그리고 그는 일한다. 느리지만 확실하게. 그리고 모든 경우에. 그리고 "복식 비교 최적화에 대해"라는 주제가 나타나면 주제를 개발할 수 있습니다.) [삭제] 2007.09.10 10:56 #37 가격 정상화가 어딘가에 필요합니까? 문서에 따르면 거래 주문의 가격은 정상화되어야 합니다. '정규화되지 않은 기록 및 개시 위치' 분기에는 다음이 기록됩니다. 레나트 16.02.2007 10:01 의도적으로 잘못된 가격을 서버에 전송하지 않기 위해 의도적으로 거래 요청에 강제 가격 정상화를 추가했습니다. Владимир 2007.09.10 11:34 #38 교육 프로그램의 모든 전문가에게 깊은 감사를 전하고 싶습니다! Irtron, 나는 나 자신을 위해 당신의 버전을 선택했습니다. 글쎄, 나는 그것을 정말로 좋아했습니다. 일반적인 경우에 대해 약간 조정, 확인 - 시계처럼 작동합니다. int ComparePrice(더블 a, 더블 b, 두 자릿수) { a -= b; b = 숫자; 만약 (a > b) 반환(1); 만약 (a < -b) 리턴(-1); 리턴(0); } 고맙습니다. Dmitry Fedoseev 2007.09.11 00:50 #39 digit=0이면 문제가 발생합니다. 함수가 NormalizeDouble ()에 대한 단일 호출보다 느린 이유 Glaswegian 2007.09.11 09:25 #40 Integer : digit=0이면 문제가 발생합니다. 모든 숫자에는 문제가 있습니다. 숫자가 무엇인지, 수정의 의미가 무엇인지 전혀 이해하지 못했습니다. 정수 : 함수가 NormalizeDouble ()에 대한 단일 호출보다 느린 이유 또한 MathAbs, 2+3 등보다 확실히 느릴 것입니다. :) 기능이 다른 기능을 비교하는 주제는 무엇입니까? 그것은 똑같이 단순화되었습니다(실제로 작동 불가능). 이제 NormalizeDouble이 있습니다. 그런 솔직함을 무엇과 누구에게 증명하고 싶습니까 ... (단어를 넣으십시오)? 1234567891011 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
VBAG 이 스크립트를 참조하십시오
가격 = 1.1111
ma = 1.11110001
8개 기호로 정규화되면 ma>price - 오른쪽. 더 적은 수의 문자로 정규화하면 동일하며 잘못된 것으로 판명됩니다. 이러한 방식으로 최대 정확도가 달성됩니다.
일반적으로 정규화 없이 ma > 가격도 결국 맞습니다. 이미 존재하고 이미 분명히 더 달성 가능한 경우 최대 정확도를 달성하는 이유는 무엇입니까?
9자로 정규화가 작동하지 않습니다. 가격은 9글자, 인디케이터는 8글자, 그 반대(기억안남), 한마디로 불확실성의 미스터리로 뒤덮인 것 같다.
예, 아마도 이것은 NormalizeDouble 자체에 있으며 카운터는 최대 8자입니다. 아무리 꼬아도 말도 안되는 기능을 하고 있습니다.
그리고 단순화된 형태에서는 ComparePrice만큼 빠르게 작동합니다.
하지만 원래의 형태는 노래일 뿐입니다. :)
또는 ComparePrice는 주어진 정밀도로 숫자를 비교하는 데도 적합합니까?
또는 ComparePrice는 주어진 정밀도로 숫자를 비교하는 데에도 적합합니까?
물론이죠! 정확성이 알려지면 거래 값으로 작업할 때 정확히 발생합니다. 고정점.
"복식 비교에 관한"주제의 수많은 저자에게 설명하면됩니다.
따라서 저는 _보편적인_(최적과는 거리가 먼) 비교 옵션을 제안했습니다.
그리고 그는 일한다. 느리지만 확실하게. 그리고 모든 경우에.
그리고 "복식 비교 최적화에 대해"라는 주제가 나타나면 주제를 개발할 수 있습니다.)
가격 정상화가 어딘가에 필요합니까?
문서에 따르면 거래 주문의 가격은 정상화되어야 합니다.
'정규화되지 않은 기록 및 개시 위치' 분기에는 다음이 기록됩니다.
Irtron, 나는 나 자신을 위해 당신의 버전을 선택했습니다. 글쎄, 나는 그것을 정말로 좋아했습니다. 일반적인 경우에 대해 약간 조정, 확인 - 시계처럼 작동합니다.
int ComparePrice(더블 a, 더블 b, 두 자릿수)
{
a -= b;
b = 숫자;
만약 (a > b)
반환(1);
만약 (a < -b)
리턴(-1);
리턴(0);
}
고맙습니다.
digit=0이면 문제가 발생합니다.
모든 숫자에는 문제가 있습니다. 숫자가 무엇인지, 수정의 의미가 무엇인지 전혀 이해하지 못했습니다.
함수가 NormalizeDouble ()에 대한 단일 호출보다 느린 이유
기능이 다른 기능을 비교하는 주제는 무엇입니까? 그것은 똑같이 단순화되었습니다(실제로 작동 불가능). 이제 NormalizeDouble이 있습니다.
그런 솔직함을 무엇과 누구에게 증명하고 싶습니까 ... (단어를 넣으십시오)?