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

 
Реter Konow :
잘 보세요: 미리 (조건 이전에) 값을 두 변수 모두에 true로 설정했습니다. 즉, 스크립트가 실행될 때마다 항상 true가 됩니다. 그렇다면 조건이 왜 필요한가? 이 프로그램에서 명시적으로 true로 초기화된 변수가 true가 아닐 수 있습니까? - 아니다! 당신이 그들에 대해 이 값을 규정했고 코드의 어느 곳에서도 변경할 수 없기 때문입니다.

이 경우 변수 자체가 필요하지 않은 것처럼 조건도 필요하지 않습니다. 스크립트의 결과는 항상 "나는 언어를 배울 것입니다."라는 문자열이 되기 때문입니다.

그러나 추가 기능에 변수 값 계산이 있으면 결과 조합이 서로 다를 수 있습니다. 하나는 true를 반환하고 다른 하나는 false를 반환하거나 둘 다 false를 반환하거나 둘 다 true를 반환합니다... 이 경우 작성된 조건은 다양한 라인을 인쇄하는 변수 값의 가능한 변화에 의해 정당화됩니다.

설명에 대해 Peter에게 감사드립니다!

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

 
Valeriy Yastremskiy :

스크립트에 설정된 변수이기 때문에 논리가 없습니다. 그리고 그것들은 사용자가 입력을 통해 설정한 변수이거나, 더 논리적인 함수에서 얻은 변수여야 합니다.

저것들. 스크립트의 유용성은 항상 있어야 합니다. 단순히 텍스트를 출력하는 스크립트는 쓸모가 없습니다. 그리고 데이터 입력과 함께 이 스크립트는 언어를 배울 수 있는지 알려줄 것입니다.) 그러나 함수를 사용하면 단순히 존재하지 않고 작성되지 않지만, 예를 들어 수학 지식 수준에서 계산을 작성하면, 다른 언어에 대한 지식, 얼마나 많은 자유 시간, 욕구 및 능력 수준을 기억하고 함수가 계산에 따라 True 또는 False를 반환하면 유틸리티가 더 커집니다))))

Valery, 상세한 답변에 진심으로 감사드립니다!

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

 

다음은 이 주제를 읽거나 읽을 동일한 초보자를 위한 팁을 고려한 수정된 스크립트 버전입니다.

 //+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
//---
#property script_show_inputs
//---
input bool достаточно_времени= true ;
input bool достаточно_терпения= true ;
//---
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   if (достаточно_времени && достаточно_терпения)
     {
       Print ( "Я выучу язык MQL5!" );
     }
   else
     {
       Print ( "Я не выучу язык MQL5!" );
     }
  }
//+------------------------------------------------------------------+

스크립트에 추가됨:

  1. "스크립트를 실행하기 전에 속성 창 표시";
  2. 외부 변수를 변경하는 능력.

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

 
Реter Konow :
예, 이 옵션은 구문의 관점에서 올바르지만 여전히 논리가 없습니다. 어제 Vasily는 함수에 대해 많은 글을 썼습니다. 이것이 그들이 필요한 곳입니다.

bool Enough_time = Enough_time();

bool Enough_Patience = Enough_Patience();

if(Enough_Time && Enough_Patience)Print("언어를 배우겠습니다!");

else Print("배우지 않겠습니다.");

조건을 설정하기 전에 시간과 인내심을 계산해야 하며 기본값을 지정하지 않아야 합니다. 조건 존재의 의미가 사라집니다. 그것은 항상 사실입니다.

+1. 괜찮은.

 
Реter Konow :
"... 조건을 갖기 전에 시간과 인내심을 계산해야 하고 기본값을 지정하지 않아야 합니다. 조건을 갖는 것은 의미가 없기 때문입니다. 항상 사실입니다."

나는 확실히 이것을 할 것입니다. 그러나 나중에, 왜냐하면. 내 "냄비"는 이미 끓고 있으므로 조금 식혀야 합니다.

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

 
MrBrooklin :

힌트를 고려한 수정된 스크립트 버전은 다음과 같습니다.

스크립트에 추가됨:

  1. "스크립트를 실행하기 전에 속성 창 표시";
  2. 외부 변수를 변경하는 능력.

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

권리! 그런 다음 다른 외부 변수의 값에 따라 이러한 변수의 값을 계산하는 함수를 작성해 보십시오.

즉, Time_Enough() 함수는 외부 변수의 값을 취합니다.

입력 날짜 시간 School_Days = 100;
입력 uchar Hours_per_day = 5;
... 등...

저것들. 함수는 입력 변수의 값을 취하고 계산을 수행하고 결과를 Enough_time 및 Enough_patience 변수에 반환한 다음 여러 개발 옵션이 있는 조건을 입력합니다. 각 옵션은 자체 라인에 인쇄됩니다.

 
Реter Konow :
권리! 그런 다음 다른 외부 변수의 값에 따라 이러한 변수의 값을 계산하는 함수를 작성해 보십시오.

즉, Time_Enough() 함수는 외부 변수의 값을 취합니다.

입력 날짜 시간 School_Days = 100;
입력 uchar Hours_per_day = 5;
... 등...

그런 다음 함수는 입력 변수의 값을 가져와 계산을 수행하고 결과를 Enough_time 및 Enough_patience 변수에 반환한 다음 여러 개발 옵션이 있는 조건에 넣습니다. 각 옵션은 자체적으로 인쇄됩니다. 라인.

Peter, 자습 계획에 당신의 제안을 추가했습니다. 나중에 스크립트 코드로 결과를 게시하겠습니다.

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

 
MrBrooklin :

나는 확실히 이것을 할 것입니다. 그러나 나중에, 왜냐하면. 내 "냄비"는 이미 끓고 있으므로 조금 식혀야 합니다.

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

물론, 휴식을 취하십시오.)
 
Реter Konow :
권리! 그런 다음 다른 외부 변수의 값에 따라 이러한 변수의 값을 계산하는 함수를 작성해 보십시오.

즉, Time_Enough() 함수는 외부 변수의 값을 취합니다.

입력 날짜 시간 School_Days = 100;
입력 uchar Hours_per_day = 5;
... 등...

시간이 지남에 따라 다소 명확하지만 "충분한 인내"에 대한 변수는 여전히 문제입니다. 무엇을 넣을까요? 인내가 있는가 없는가? 최소한 이 두 매개변수는? 나는 생각해야 한다.

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

 
MrBrooklin :

시간이 지나면 어느 정도 명확해 지지만 "충분한 인내심"에 대한 변수에 문제가 있습니다. 무엇을 넣을까요? 인내가 있는가 없는가? 최소한 이 두 매개변수는? 나는 생각해야 한다.

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

1. 기분(초기화된 기존 측정 단위에 따른 유형 열거).

2. 자기감정(동일).

3. 동기 계수.

4. 외환 믿음 계수

...

몇 가지 계산 공식을 생각해내면 끝입니다.)