MQL4 프로그래밍에 대한 온라인 책의 베타 버전 - Sergey Kovalev(SK.) - 페이지 11

 

SK로

1. 교과서는 비판을 위한 제안과 함께 베타 버전으로 게시되었습니다.
2. 글쎄, 나는 제안에 긴장했고 "모든 배열은 정의에 따라 정적입니다"라는 줄을 발견했습니다.))) 즉. 이것들은 내 문제가 아닙니다.
3. 교과서의 비판된 이 한 줄을 임의로 따르면 모든 배열이 정의에 따라 정적이라고 가정하면 추적 프로그램에서 " ArrayMinimum 함수에 대해 잘못된 시작 위치 0"이라는 주소 오류가 발생할 수 있습니다.
(이 한 줄은 교과서, 일반 Respect SK to you 의 장점을 훼손하지 않습니다)
4. 그래서. 정적 배열은 주로 메모리 할당과 관련이 있습니다. 메모리가 다시 할당되면 다시 할당될 수 있습니다.
또는 각 요소의 새로운 초기화가 없을 수 있습니다.
MQL4에서 무엇을 볼 수 있습니까? 각 호출은 정의에서 명시적으로 기본적으로 각 요소를 0으로 깔끔하게 초기화합니다.
저것들. 서브루틴의 데이터는 정적 사전 선언 없이 저장되지 않습니다.
이는 MQL4 서브루틴이 가변 메모리의 동적 할당으로 실행됨을 의미합니다.
기본적으로 MQL4 서브루틴에서 명시적 크기가 없는 모든 변수와 모든 배열은 동적입니다. 그렇지 않으면 정적 설명으로 수정해야 합니다.
5. 예를 들어, 동적 메모리 할당은 선언 더블 a[][]..[]; 빈 치수
그러나 프로그래머가 주소 지정을 책임져야 한다는 점을 언급해야 합니다.
(위의 예에서 표준 함수는 이전 참조에 액세스하고 있으며 배열의 범위에 속하지 않습니다.)

 
Korey :

SK로


확인.
 
질문은 다음입니다.

이 책은 러시아어로 작성되었습니다. 개발자들은 영어로 번역이 본격화되고 나면 중국어로 나올 것이라고 합니다. 설명만 번역되었다고 확신합니다. 아무도 소스 코드를 만지지 않을 것입니다.

많은 프로그래머는 본질적으로 자신의 언어로 된 변수에 친숙한 이름을 지정합니다. 예를 들어 여기 사이트에서 내가 massiv ( masiv ), Koef 및 심지어 MuH_IIIuPuHa_KaHaJIa 를 만났습니다. 그래서 튜토리얼을 넘기다가 다음 코드를 발견했습니다.




Tip 변수를 볼 때 차이나타운 거주자는 뭐라고 할까요? 우리는 그것이 무엇인지 이해하지만 다른 사람들은 무엇입니까?

(여기에서 찾을 수 있습니다: https://book.mql4.com/en/trading/orderclose )
 
Parabellum :
질문은 다음입니다.

이 책은 러시아어로 작성되었습니다. 개발자들은 영어로 번역이 본격화되고 나면 중국어로 나올 것이라고 합니다. 설명만 번역되었다고 확신합니다. 아무도 소스 코드를 만지지 않을 것입니다.

많은 프로그래머들은 본질적으로 그들의 언어로 된 변수에 사람이 읽을 수 있는 이름을 부여합니다. 예를 들어 여기 사이트에서 제가 massiv ( masiv ), KoefMuH_IIIuPuHa_KaHaJIa 를 만났습니다. 그래서 튜토리얼을 넘기다가 다음 코드를 발견했습니다.




Tip 변수를 볼 때 차이나타운 거주자는 뭐라고 할까요? 우리는 그것이 무엇인지 이해하지만 다른 사람들은 무엇입니까?

(여기에서 찾을 수 있습니다: https://book.mql4.com/en/trading/orderclose )

당신의 의견에 감사드립니다!
물론 예제에서 변수의 이름은 건드리지 않을 것입니다. 예를 들어 중국어에서 상형 문자는 소스 코드에서 사용되지 않으며 어쨌든 라틴 알파벳을 처리해야 합니다. 이 변수의 의미를 이해하기 위해 차이나타운 거주자는 단순히 주석을 볼 것입니다. 또한 영어권 거주자들도 Tip이라는 단어를 "유형"으로 인식하지 못할 것입니다. 영어의 "type"은 type이기 때문입니다. 그리고 Tip은 "팁" 또는 다른 "힌트"입니다. 그러나 이것이 러시아어를 구사하는 개발자의 코드를 이해하는 것을 방해하지는 않습니다. ))
 

하지만 원어민은 여전히 변수의 이름을 봐야 한다고 생각합니다. 갈퀴를 밟지 않으려면. 갑자기 변수 Tip - 그 소리는 중간에 U가 있는 세 글자의 러시아어 단어와 일치합니다( .u. ) 그리고 소나기라면 하나님께 감사 :-) . 그리고 그렇지 않다면? 이 책은 아름다워지지 않을 것입니다.

아마도 이렇게 하면 더 쉽고 정확할 것입니다.

int _OrdetType = 주문 유형();

if ( _OrdetType > 1 ) ....

 

독자는 여전히 조금 생각할 것이라고 가정합니다..

 

https://book.mql4.com/ru/build/lots 분할 표시가 없습니다.

있다

lot_New=MathFloor(무료*Percent100One_Lot/Step)*Step;// 계산

필요

lot_New=MathFloor(무료*퍼센트/100/One_Lot/Step)*Step;// 계산


코드를 보는 것처럼 약간 불편합니다. 나는 한 조각을 취하고 싶지만 전부는 아니다. 저것들. 나는 내가 보는 것을 클립보드에 복사하고 그것을 내 프로그램의 텍스트에 붙여넣습니다. 하지만 삽입이 잘못되었습니다. 모든 코드는 한 줄로 표시됩니다. 책과 MQL 편집기의 줄 끝 코드가 일치하지 않을 가능성이 큽니다.

 

여기 또 다른 약간의 수정 사항이 있습니다.

https://book.mql4.com/ru/build/trading

있다

switch() 제어는 레이블 케이스 10(블록 2-3)으로 전송됩니다.


필요

… (블록 2).

 
Prival :

https://book.mql4.com/ru/build/lots 분할 표시가 없습니다.

있다

lot_New=MathFloor(무료*Percent100One_Lot/Step)*Step;// 계산

필요

lot_New=MathFloor(무료*퍼센트/100/One_Lot/Step)*Step;// 계산


코드를 보는 것처럼 약간 불편합니다. 나는 한 조각을 취하고 싶지만 전부는 아니다. 저것들. 나는 내가 보는 것을 클립보드에 복사하고 그것을 내 프로그램의 텍스트에 붙여넣습니다. 그러나 삽입이 잘못되었습니다. 모든 코드는 한 줄로 표시됩니다. 책과 MQL 편집기의 줄 끝 코드가 일치하지 않을 가능성이 큽니다.


예, 동일한 형식 문제입니다. 내일 수정하겠습니다.

오류를 찾아주셔서 감사합니다.

완료된 모든 코드에 대한 링크된 파일이 있습니다. 파일의 코드가 정확하다고 믿어집니다. 그건 그렇고, 오타와 부정확성을 찾기위한 템플릿으로도 사용할 수 있습니다.

 
Prival :

여기 또 다른 약간의 수정 사항이 있습니다.

https://book.mql4.com/ru/build/trading

있다

switch() 제어는 레이블 케이스 10(블록 2-3)으로 전송됩니다.


필요

…. (블록 2).



그리고 고칠 필요도 없습니다. 모든 블록에 대해 시작 위치와 종료 위치가 표시됩니다. 이 경우 2는 시작, 3은 끝입니다.

그래도 감사합니다 :)