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

 
MrBrooklin :

예, 개폐 브래킷은 "스타일화" 후에 수직으로 수렴하지만 루핑 펠트의 강조 표시를 이해하지 못합니다. 그것이 무엇인지, 루핑 펠트가 보이지 않습니다. 현재 프로그래밍 기술 수준은 0에 가깝습니다.

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

강조 표시는 기능 헤더 다음의 첫 번째 괄호로, 하단과 함께 켜져야 합니다. 각 대괄호에는 쌍이 있어야 하며 강조 표시되어 있지 않으면 닫는 대괄호가 충분하지 않습니다.

 
Fast235 :

강조 표시는 기능 헤더 다음의 첫 번째 괄호로, 하단과 함께 켜져야 합니다. 각 대괄호에는 쌍이 있어야 하며 강조 표시되어 있지 않으면 닫는 대괄호가 충분하지 않습니다.

팁 고마워. 그들은 내 화면에서 강조 표시되지 않지만 두께가 두드러집니다. 예, 모든 브래킷을 사용할 수 있습니다. 이제 하단 OnStart 브래킷을 넘어 기능이 있는 블록을 이동했고 오류가 사라졌습니다. 도와주셔서 감사합니다!

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

 
MrBrooklin :

힌트를 주셔서 감사합니다. 그들은 내 화면에서 강조 표시되지 않지만 두께가 두드러집니다. 예, 모든 브래킷을 사용할 수 있습니다. 이제 하단 OnStart 브래킷을 넘어 기능이 있는 블록을 이동했고 오류가 사라졌습니다. 도와주셔서 감사합니다!

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

모든 함수는 전역 범위에서 선언됩니다. 대괄호로 제한되는 다른 기능의 공간 외부.
 
Реter Konow :
모든 함수는 전역 범위에서 선언됩니다. 괄호로 제한되는 다른 함수의 공간 외부에 있습니다.

Peter에게, 소위 마크업 언어()를 어떻게 만들 수 있었는지 알려주십시오. 초보자에게 유용할 것이며 여기에서 매우 중요한 논리적 사고 개발에 필요합니다.

아마도 그는 많이 먹고, 나무에 올랐을 것입니다
 
MrBrooklin :

모두 좋은 저녁!

프로그래밍 분야의 전문가 여러분, 컴파일러가 " 함수 선언은 전역 범위, 네임스페이스 또는 클래스 범위에서만 허용됩니다"라는 오류가 무엇을 의미하는지 알려주십시오. 더 정확하게는 관심이 있습니다. 네임스페이스 는 무엇이며 스크립트의 어디에 있어야 합니까?

질문은 "Enough_Time" 및 "Enough_Patience"에 대한 함수 코드 작성과 관련이 있습니다.

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

전역 범위, 기능 외부 범위. 함수 사이의 위치에 관계없이 함수가 시작하고 끝나는 위치를 이해하기를 바랍니다. 마지막에 전역 범위에서 할 수 있는 모든 것을 할 수 있고 전역 변수 , 속성 또는 다른 것을 선언할 수 있습니다. 전역 범위에서 선언된 변수는 단어의 직접적인 의미에서 어디에서나 볼 수 있습니다. 지역 범위는 함수의 닫는 중괄호의 처음부터 끝까지의 영역입니다. 지역 범위에서 선언된 변수는 지역 범위에서만 볼 수 있습니다.

코드는 위에서 아래로, 왼쪽에서 오른쪽으로 읽는다는 점을 염두에 두어야 합니다. 문자열 컴파일러는 재정렬하지 않습니다. 따라서 규칙 변수는 항상 참조 위 또는 왼쪽에 선언됩니다. 그리고 귀하의 지역에서만. 변수는 다른 로컬 범위에서 동일한 이름을 가질 수 있습니다. 그리고 그건 그렇고, 사이클과 이들도 자신의 영역을 가진 기능이라면)

 
Valeriy Yastremskiy :

전역 범위, 기능 외부 범위. 함수 사이의 위치에 관계없이 시작과 끝이 어디인지 이해하고 마지막에 전역 범위에서 할 수 있는 모든 작업을 수행하고 전역 변수 , 속성 또는 다른 것을 선언할 수 있습니다. 전역 범위에서 선언된 변수는 단어의 직접적인 의미에서 어디에서나 볼 수 있습니다. 지역 범위는 함수의 닫는 중괄호의 처음부터 끝까지의 영역입니다. 지역 범위에서 선언된 변수는 지역 범위에서만 볼 수 있습니다.

코드는 위에서 아래로, 왼쪽에서 오른쪽으로 읽는다는 점을 염두에 두어야 합니다. 문자열 컴파일러는 재정렬하지 않습니다. 따라서 규칙 변수는 항상 참조 위 또는 왼쪽에 선언됩니다. 그리고 귀하의 지역에서만. 변수는 다른 로컬 범위에서 동일한 이름을 가질 수 있습니다. 그리고 그건 그렇고, 사이클과 이들도 자신의 영역을 가진 기능이라면)

책을 써야 해요. 우리 모두를 위해 함께

 
Реter Konow :
모든 함수는 전역 범위에서 선언됩니다. 괄호로 제한되는 다른 함수의 공간 외부에 있습니다.

고마워 피터! 나는 이미 이 문제를 해결하는 데 도움을 받았습니다.

저는 계속해서 MQL5 프로그래밍 언어 를 공부하고 있으며 오늘은 이 주제의 참가자들이 한 작업의 연속인 스크립트 코드를 게시합니다. 스크립트는 모든 모드에서 테스트되었습니다. 모든 것이 제대로 작동합니다. 시작하려면 입력 매개변수를 최소로 설정했습니다.

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

 //+------------------------------------------------------------------+
//|                                                Learning_MQL5.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 ushort Период_обучения= 500 ; //Полный период обучения в днях
input ushort Прошло_дней= 10 ;       //Сколько дней прошло с начала обучения
input bool    Терпение= true ;       //Терпение (true - достаточно; false - не достаточно)
//--- Зададим глобальные переменные
ushort Достаточность_времени;
bool Достаточность_терпения;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
   if (Достаточно_времени()== 0 && Достаточно_терпения()== true )
     {
       Print ( "Я выучу язык MQL5!" );
     }
   else
     {
       Print ( "Я не выучу язык MQL5!" );
     }
  }
//--- Создадим функцию Достаточно_времени
ushort Достаточно_времени()
  {
   Достаточность_времени=(Период_обучения-Прошло_дней);
   return (Достаточность_времени);
  }
//--- Создадим функцию Достаточно_терпения
bool Достаточно_терпения()
  {
   Достаточность_терпения=Терпение;
   return (Достаточность_терпения);
  }
//+------------------------------------------------------------------+
 
MrBrooklin :

고마워 피터! 나는 이미 이 문제를 해결하는 데 도움을 받았습니다.

저는 계속해서 MQL5 프로그래밍 언어 를 공부하고 있으며 오늘은 이 주제의 참가자들이 한 작업의 연속인 스크립트 코드를 게시합니다. 스크립트는 모든 모드에서 테스트되었습니다. 모든 것이 제대로 작동합니다. 시작하려면 입력 매개변수를 최소로 설정했습니다.

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

구조적으로 함수는 올바르게 작성되지만 논리는 절름발이입니다. 모든 코드를 주의 깊게 검토하십시오.

Enough_time() 함수의 결과는 논리적인 조건인 0보다 커야 합니다.
 
MrBrooklin :

고마워 피터! 나는 이미 이 문제를 해결하는 데 도움을 받았습니다.

저는 계속해서 MQL5 프로그래밍 언어 를 공부하고 있으며 오늘은 이 주제의 참가자들이 한 작업의 연속인 스크립트 코드를 게시합니다. 스크립트는 모든 모드에서 테스트되었습니다. 모든 것이 제대로 작동합니다. 시작하려면 입력 매개변수를 최소로 설정합니다.

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

스크립트가 하는 일을 설명(작성)하십시오. 그리고 항상 먼저 하는 것이 좋습니다. 이유를 대상으로 합니다. 목표를 달성하기 위한 과제는 무엇입니까? 문제 해결 방법, 솔루션 알고리즘 및 추가 코드. 그건 그렇고, 작업의 분할은 분해입니다)

 
Fast235 :

책을 써야 해요. 우리 모두를 위해 함께

이것은 오랜 시간이 지난 질문입니다. MQL4 프로그래밍 언어의 경우 자습서는 Sergey Kovalev가 작성했으며 이제 MQL5 언어의 경우 이러한 고귀한 작업을 수행하려면 한 명의 전문가가 더 권장되어야 합니다.

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