MQL5 언어를 처음부터 자가 학습 - 페이지 42

 
MrBrooklin :

나는 MQL5 프로그래밍 언어를 계속 연구하고 이 주제의 참가자가 한 작업의 연속인 스크립트 코드를 게시합니다. 스크립트는 모든 모드에서 테스트되었습니다. 문제가 확인되지 않았습니다. 먼저 입력 매개변수의 최소 수를 설정합니다. 스크립트 코드는 영어로 작성되었으며 코드 에 대한 주석은 자료의 동화를 용이하게 하기 위해 러시아어로 작성되었습니다. 이 대본에서는 앞서 약속한 대로 프로그래밍 학교 1학년 학생이 볼 수 있는 프레젠테이션에서 모든 것을 설명하려고 했습니다.

안부 인사를 전합니다. 블라디미르.

확인

이제 알고리즘 논리 코드를 더 읽기 쉽게 만듭니다.

단 두 줄로 얻을 수 있습니다.

if (have_time()>=Period_learning && have_time()!= 0 && have_patience()== true ) Print ( "Я выучу язык MQL5!" );
else Print ( "Я не выучу язык MQL5!" );

여기에 더 이상 의견이 필요하지 않습니다.

 
Renat Akhtyamov :

확인

이제 알고리즘 논리 코드를 더 읽기 쉽게 만듭니다.

단 두 줄로 얻을 수 있습니다.

if (have_time()>=Period_learning && have_time()!= 0 && have_patience()== true ) Print ( "Я выучу язык MQL5!" );
else Print ( "Я не выучу язык MQL5!" );

여기에 더 이상 의견이 필요하지 않습니다.

안녕하세요 레나트입니다! 동의합니다. 너무 많은 설명을 작성할 가치가 없을 수도 있지만 프로그래밍 지식이 전혀 없는 모든 초보자가 이해하는 데 도움이 될 것입니다. 누군가가 나보다 먼저 이 일을 했다면 훈련이 훨씬 빨리 진행되었습니다. 주석을 사용하면 자신의 코드를 더 빨리 기억할 수 있습니다. 추가 설명은 더 짧을 수 있습니다.

안부 인사를 전합니다. 블라디미르.

 
Roman Shiredchenko :


귀하의 코드와 논리가 정확합니다. 어제 제 IMHO를 보다가 처음에는 0에 놀랐는데 나중에 차이칩을 따라잡았어요... :-)

안녕하세요 로만님! 네, 이것은 기술 교육의 결과이고 제 사고 논리는 약간 다르지만 Peter는 0에 대해 옳았으므로 스크립트 코드를 변경했습니다.

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin :

나는 MQL5 프로그래밍 언어를 계속 연구하고 이 주제의 참가자가 한 작업의 연속인 스크립트 코드를 게시합니다. 스크립트는 모든 모드에서 테스트되었습니다. 문제가 확인되지 않았습니다. 먼저 입력 매개변수의 최소 수를 설정합니다. 스크립트 코드는 영어로 작성되었으며 코드에 대한 주석은 자료의 동화를 용이하게 하기 위해 러시아어로 작성되었습니다. 이 대본에서는 앞서 약속한 대로 프로그래밍 학교 1학년 학생이 볼 수 있는 프레젠테이션에서 모든 것을 설명하려고 했습니다.

안부 인사를 전합니다. 블라디미르.

논리 문제가 남아 있습니다.

1. 함수는 무언가를 계산해야 합니다. 이 경우 두 함수 모두 입력 변수의 값으로 전역 변수를 초기화하고 다른 작업은 수행하지 않습니다. 즉, 조건에 입력 변수를 넣으면 아무 것도 변경되지 않습니다.

2. Have_time은 사용자가 설정한 Days_passed와 같습니다. 조건은 다음과 같습니다: if(have_time() >= period_learning... 이는 500이고 && have_time() >0...은 논리적 오류입니다. have_time()이 500보다 크거나 같으면 have_time은 다음과 같습니다. 이미 0보다 크므로 이 항목은 중복됩니다.

3. 배울 것이다/배우지 않겠다는 질문의 결과는 입력에만 의존해서는 안 된다. 원하는 것과 상관없이 계산에 영향을 줄 정의되지 않은 값이 있는 일종의 변수를 생각해 내야 합니다. 그렇지 않으면 질문이 없습니다. 입력한 내용을 확인했습니다.


추신 레코드 have_time > 0이 따라서 peroid_lerning의 값을 제어하는 경우 음수 값 또는 0을 입력하는 경우 && period_learning > 0 조건을 넣는 것이 더 정확합니다.
 
Fast235 :

먼저 문자열 변수 로 작업하는 방법을 배우십시오. Dmitry Fedoseev에서 infostring은 다른 사람의 코드를 연구하는 단계에서 마음을 크게 흐리게 합니다.

그가 해체한 기사에서 모든 것이 명확하고 같은 장소에서 여러 지점의 작업 중 일부를 배우게 될 것입니다. 여기 대부분의 기사를 읽는 독자로서 여기에서 아무도 읽지 않았다고 생각합니다. 나보다 더)

안녕하세요! 조언 해주셔서 감사합니다. 나는 Dmitry Fedoseev의 기사를 읽고 읽었지만 지금까지 그의 기사에서 배우기가 어렵습니다. 저는 기초교육이 없습니다. 더 쉬워지기를 바랍니다. 그건 그렇고, Learning_MQL5.mq5 스크립트를 작성하는 것은 함수가 무엇인지, 무엇을 위한 것인지, 어떻게 생성되는지 이해하는 데 많은 도움이 되었습니다!

안부 인사를 전합니다. 블라디미르.

 
Реter Konow :
논리 문제가 남아 있습니다.

1. 함수는 무언가를 계산해야 합니다. 이 경우 두 함수 모두 입력 변수의 값으로 전역 변수를 초기화하고 다른 작업은 수행하지 않습니다. 즉, 조건에 입력 변수를 넣으면 아무 것도 변경되지 않습니다.

2. Have_time은 사용자가 설정한 Days_passed와 같습니다. 조건은 다음과 같습니다. if(have_time() >= period_learning... 이는 500이고 && have_time() >0 ... 이것은 논리적 오류입니다. have_time()이 500보다 크거나 같으면 그러면 have_time이 이미 0보다 크므로 이 항목은 중복됩니다.

3. 배울 것이다/배우지 않겠다는 질문의 결과는 입력에만 의존해서는 안 된다. 원하는 것과 상관없이 계산에 영향을 줄 정의되지 않은 값이 있는 일종의 변수를 생각해 내야 합니다. 그렇지 않으면 질문이 없습니다. 입력한 내용을 확인했습니다.

안녕 피터! 나는 당신이 특히 2번 항목에 대해 질문이 있을 것이라는 것을 알고 있었습니다.

여기서 코드는 불필요하지 않지만 매우 사려깊습니다. 스크립트 코드에서 && have_time()!= 0 을 갑자기 제거하려고 하면( && have_time()> 0 으로 작성), 입력 매개변수 Period_learning=0Days_passed=0 을 사용하면 결과는 "I will MQL5 언어를 배우십시오!"라고 말하는 것은 독단적인 관점에서 허용되지 않습니다!

다른 점에서는 동의합니다. 생각할 것이 있습니다.

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin :

안녕 피터! 나는 당신이 특히 2번 항목에 대해 질문이 있을 것이라는 것을 알고 있었습니다.

여기서 코드는 불필요하지 않지만 매우 사려깊습니다. 스크립트 코드에서 && have_time()!= 0 을 갑자기 제거하려고 하면( && have_time()> 0 으로 작성), 입력 매개변수 Period_learning=0Days_passed=0 을 사용하면 결과는 "I will MQL5 언어를 배우세요!"라고 말했고 이것은 독단적인 관점에서 받아들일 수 없습니다!

다른 점에서는 동의합니다. 생각할 것이 있습니다.

안부 인사를 전합니다. 블라디미르.

자, 보세요. 사실 have_time() 함수는 Days_passed 입력 변수의 값을 반환합니다. Days_passed가 0으로 설정되면 if(...have_time()!=0... 항목은 조건으로 전달되지 않지만 Period_learning이 0으로 설정되면 조건으로 전달됩니다. 따라서 , 항목 Period_learning > 0은 Days_passed 변수의 0과 Period_learning 변수의 0, 그리고 항목 if(... have_time()!=0 ... Days_passed의 0에서만)을 동시에 보호합니다.
 
Реter Konow :
자, 보세요. 사실 have_time() 함수는 Days_passed 입력 변수의 값을 반환합니다. Days_passed가 0으로 설정되면 if(...have_time()!=0... 항목은 조건으로 전달되지 않지만 Period_learning이 0으로 설정되면 조건으로 전달됩니다. 따라서 , 항목 Period_learning > 0은 Days_passed 변수의 0과 Period_learning 변수의 0, 그리고 항목 if(... have_time()!=0 ... Days_passed의 0에서만)을 동시에 보호합니다.

분명한.

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin :

분명한.

안부 인사를 전합니다. 블라디미르.

물론 기본적으로 당신은 진지한 발걸음을 내디뎠습니다. 당신은 기능을 마스터하고 사용하기 시작했습니다. 물론 축하해야 합니다!)

이 속도로는 곧 후행에 도달하게 됩니다.

추신 인사드리지 못해 죄송합니다. 여기 포럼에서 그들은 일반적으로 인사를 하지 않습니다. 물론 이것은 무례한 표현으로 받아들여서는 안 됩니다. 약 5년 전에 포럼 회원들에게 인사를 했을 때 사회자가 한 말이 기억납니다. )) 그 이후로는 여기서 인사를 안 하고 PM으로만 해요. 다시 한 번 죄송합니다.)))
 
Реter Konow :
물론 기본적으로 당신은 진지한 발걸음을 내디뎠습니다. 당신은 기능을 마스터하고 사용하기 시작했습니다. 물론 축하해야 합니다!)

이 속도로는 곧 후행에 도달하게 됩니다.

추신 인사드리지 못해 죄송합니다. 여기 포럼에서 그들은 일반적으로 인사를 하지 않습니다. 물론 이것은 무례한 표현으로 받아들여서는 안 됩니다. 약 5년 전에 포럼 회원들에게 인사를 했을 때 사회자가 한 말이 기억납니다. )) 그 이후로는 여기서 인사를 안 하고 PM으로만 해요. 다시 한 번 죄송합니다.)))

격려의 말씀 감사합니다 Peter!

정중한 의사 소통, 특히 인사와 모든 사람에게 좋은 하루와 기분을 기원합니다. 제 생각에는 이 포럼이 많이 부족합니다. 대화 상대에 대한 존중은 소비에트 시대부터 우리 세대가 가르쳐온 것입니다. 사이트(포럼) 운영진에서 참가자들과의 인사에 대해 저에게 말씀해 주시면 해당 사항을 숙지하고 준수하겠습니다.

안부 인사를 전합니다. 블라디미르.