MQL4 문서에 대한 토론 - 페이지 17

 
Yurixx :

Rosh , 당신의 침묵을 올바르게 이해한다면 어떤 경우에 어떤 식/변수 정규화가 필요한지에 대한 명확한 공식이 없습니다. 그렇다면 더 간단한 질문에 답할 수 있습니다. 형식의 계산된 값을 정규화해야 합니까?

정수 StLS=25;
이중 prc = 묻기 + StLs*Point;

아니면 실험을 통해 스스로 알아내야 합니까?

나는 당신이 질문에 대한 내 대답을 기다리고 있다고 생각하지 않았습니다. 내 대답은 이렇습니다. 그런 경우에는 정상화하지 않고 주문이 정상적으로 열립니다. 그런데 제가 직접 만든 히스토리를 올려서 테스터를 실행하려고 했더니 깜짝 놀랐습니다. 거의 모든 경우에 화재가 발생한 경우에만 정규화를 사용하는 것이 좋습니다. OrderSend () 가격 매개변수[예: 모든 종류의 피벗] 또는 Expert Advisor 내부의 복잡한 계산(복잡하지 않은 계산) - 모든 경우에 버터 죽은 망치지 않습니다.

그래서 실제로 OrderSend()에서 가격 정규화를 적용하는 것이 절대적으로 필요하지 않은 경우 명확한 설명을 할 수 없습니다. 원칙적으로 6 개월의 밤은 이것에 대한 감각을 채울 것이지만 그것을 채울 수는 없지만 항상 어리석게 정상화합니다.
 
또한 오늘 도움말을 확인할 때 데이터 변환 섹션에서 찾았습니다 .

한 형식의 데이터를 다른 형식의 데이터로 변환하는 함수 그룹입니다.

특히 주목할만한 것은 가격 표현의 필수 정확도를 제공하는 NormalizeDouble() 함수입니다. 거래 작업에서 정확도가 거래 서버에서 요구하는 정확도를 소수점 이하 한 자리 이상 초과하는 비정규화된 가격을 사용할 수 없습니다.
 
또한 NormalizeDouble

더블 NormalizeDouble( 이중 값, 정수 숫자)
부동 소수점 숫자를 지정된 정밀도로 반올림합니다.
StopLoss, TakeProfit 의 계산된 값 및 보류 중인 주문의 시작 가격은 정확도로 정규화되어야 하며 그 값은 사전 정의된 변수 Digits 에 저장됩니다.
옵션:
- 부동 소수점 값.
숫자 - 소수점 이하 자릿수(0-8)의 정밀도 형식입니다.
예시:
 이중 var1=0.123456789;
인쇄(DoubleToStr(NormalizeDouble(var1,5),5));
// 출력: 0.12346
 
"예시:
 이중 var1=0.123456789;
인쇄(DoubleToStr(NormalizeDouble(var1,5),5));
// 출력: 0.12346"

이것들은 내가 문서에서 보고 싶은 예입니다. 모든 것이 간단하고 명확합니다. Expert Advisor나 지표에 삽입하고 바로 결과를 보았습니다.
 
그거 맞아?
 

Rosh , 같은 포럼의 16번째 페이지를 살펴보십시오. 이 페이지에서 이미 이 기능에 대해 썼고 이에 대한 도움말을 개선하기 위한 제안을 했습니다.

 
현재 다음과 같이 수정되었습니다(새 빌드에 포함될 예정).

더블 NormalizeDouble( 이중 값, 정수 숫자)
부동 소수점 숫자를 지정된 정밀도로 반올림합니다.
StopLoss, TakeProfit의 계산된 값 및 보류 중인 주문의 시작 가격은 정확도로 정규화되어야 하며 그 값은 사전 정의된 변수 Digits 에 저장됩니다.

옵션:
- 부동 소수점 값.
숫자 - 소수점 이하 자릿수(0-8)의 정밀도 형식입니다.
예시:
 이중 var1=0.123456789;
인쇄(DoubleToStr(NormalizeDouble(var1,5),8));
// 출력: 0.12346000



이 예제는 NormalizeDouble()을 사용하여 5자로 트리밍하는 것을 보여주고 Print()는 단순히 렌더링합니다(이 비러시아어 스타일에 대해 죄송합니다).
 

예, 예는 문자 수가 달라지기 시작하자마자 훨씬 더 많은 정보를 제공했습니다.

 
bool SendFTP( 문자열 파일 이름, 문자열 ftp_path=NULL)
"게시" 탭의 설정 창에 지정된 주소로 파일을 보냅니다. 실패 시 FALSE를 반환합니다.
테스트 모드에서는 기능이 작동하지 않습니다. 이 함수는 사용자 지정 표시기에서도 호출할 수 없습니다.
보낼 파일은 terminal_directory\experts\files 폴더 또는 그 하위 폴더에 있어야 합니다.
FTP 주소 및/또는 액세스 비밀번호가 설정에 지정되지 않은 경우 전송이 수행되지 않습니다.
[...]
무효 SendMail( 문자열 제목, 문자열 some_text)
"메일" 탭의 설정 창에 지정된 주소로 이메일을 보냅니다.
설정에서 전송이 금지될 수 있으며, 이메일 주소도 지정되지 않을 수 있습니다. 오류에 대한 정보를 얻으려면 GetLastError() 함수를 호출해야 합니다.
[...]

관찰 과제: 2가지 차이점을 찾습니다.
 
뒤에서 정답을 던지려면 포기해야 할 것 같은데요? :)