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

 
Valeriy Yastremskiy :

문자열이 아니라 논리적이기 때문에 그들 사이 나는.))))

그래서, 나는 당신의 질문을 완전히 이해하지 못했습니다. "... 이 변수 는 어떤 유형입니까 ..."에 대해 질문한 순간을 놓쳤습니다. 나는 공부한다. 팁 고마워!

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

 
Igor Makanu :

이것은 위에서 작성한 것과 완전히 다른 조건이며, 여기서 요점은 시각적 차이가 아닙니다.

그리고 "AND"의 왼쪽 부분과 오른쪽 부분의 동시 실행에서

안녕하세요 이고르입니다! 나는 이미 무엇이 잘못되었는지 알아 냈습니다. 팁 고마워!

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

 
MrBrooklin :

안녕하세요 이고르입니다! 나는 이미 무엇이 잘못되었는지 알아 냈습니다. 팁 고마워!

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

어제 Vasily Sokolov는 언어 학습에 대한 권장 사항을 제시했으며 주요 강조점은 기능의 작업을 이해하는 것이었습니다.

옳고 실용적입니다. 개발 속도를 높이고, 작업을 블록으로 분할하고, 코드를 재사용할 수 있습니다....

그러나 IMHO, 먼저 논리적 조건을 처리하는 방법을 배워야 하고, 미리 만들어진 사용자 정의 함수를 찾거나 MQL에서 표준 함수를 사용하는 것은 시간 문제입니다.

그러나 논리적 조건을 올바르게 구성하고 실제로 동일한 일이 발생하는 작업을 공식화하는 것 - 이것이 더 중요합니다.


논리적 오류는 최악이며 모든 것이 작동하지만 언제, 어디서 어떻게 속도가 느려질지 모르지만 나중에는 찾을 수 없습니다.))


글쎄, 주제에 따르면 조건에 대해 모든 주제 포럼이이 질문과 답변으로 가득 차 있지만 2x MA의 교차점에 대한 조건을 작성하십시오. 그러나 종종 사람에 대한 그러한 간단한 질문은 그렇지 않을 수 있습니다. 논리적 조건의 형태로 형식화하기 쉽습니다.)


UPD: 안녕하세요! 잊어버렸다!

 

다시 한 번, bool 데이터 유형 이 간단한 예제와 함께 작동하는 방식을 완전히 이해하고 이해할 수 있도록 도와준 Valery와 Igor에게 감사드립니다.

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

 
Igor Makanu :
... 글쎄, 주제에 따르면, 조건에 관한 경우 모든 주제 포럼이이 질문과 답변으로 가득 차 있지만 2x MA의 교차점에 대한 조건을 작성하십시오. 그러나 종종 사람에 대한 그러한 간단한 질문이 발생합니다. 논리적 조건의 형태로 공식화하는 것이 그렇게 쉽지 않을 수 있습니다 ;)...

나는 확실히 노력할 것이지만 조금 후에. 독감으로 자가격리 중인데 머리가 새로운 정보를 잘 소화하지 못하는 느낌이 든다.

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

 
Aliaksandr Hryshyn :
보안 질문:
"충분한 시간" - 컴파일러 경고 가 없도록 이 변수의 유형은 무엇입니까?

얘들아, 헛소리하지마. 브루클린을 옆으로 두지 마십시오. 유형에 의존하지 마십시오.

 //+------------------------------------------------------------------+
//|                                                            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"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
string a= "достаточно времени" ;
string b= "достаточно терпения" ;
//---
   if (a!=b)
     {
       Print ( "я выучу язык MQL 5" );
     }
  }

코드는 훌륭하게 작동합니다. 커널 수준에서 문자열이 같으면 true를 반환하고 그렇지 않으면 false를 반환하는 문자열 비교 함수가 정의 되어 있기 때문입니다. a != b를 작성할 때 != 리터럴을 통해 두 문자열을 비교하는 함수가 호출됩니다. 그건 그렇고, 사용자 자신은 자신의 사용자 정의 유형에 대한 비교 기능을 정의할 수 있으며 비슷한 방식으로 작동합니다. 저것들. 그것은 유형에 관한 것이 아니라 다시 기능에 관한 것 입니다.

그러나 코드가 올바르게 실행되었음에도 불구하고 내부적으로 일관성이 없습니다. 실제로 저자는 '시간만 충분하다면', '인내심만 있다면' 결과는 'MQL 5를 배우겠다'고 표현하고 싶었다. 그러나 실제로 언어를 배우기 위해 한 값이 반드시 다른 값과 같아야 하는 것은 아니라는 것이 밝혀졌습니다.

 
Vasiliy Sokolov :

얘들아, 헛소리하지마. 브루클린을 옆으로 두지 마십시오. 유형에 의존하지 마십시오.

코드는 훌륭하게 작동합니다. 커널 수준에서 문자열이 같으면 true를 반환하고 그렇지 않으면 false를 반환하는 문자열 비교 함수가 정의 되어 있기 때문입니다. a != b를 작성할 때 != 리터럴을 통해 두 문자열을 비교하는 함수가 호출됩니다. 그건 그렇고, 사용자 자신은 자신의 사용자 정의 유형에 대한 비교 기능을 정의할 수 있으며 비슷한 방식으로 작동합니다. 저것들. 그것은 유형에 관한 것이 아니라 다시 기능에 관한 것 입니다.

그러나 코드가 올바르게 실행되었음에도 불구하고 내부적으로 일관성이 없습니다. 실제로 저자는 '시간만 충분하다면', '인내심만 있다면' 결과는 'MQL 5를 배우겠다'고 표현하고 싶었다. 그러나 실제로 언어를 배우기 위해 한 값이 반드시 다른 값과 같아야 하는 것은 아니라는 것이 밝혀졌습니다.

안녕하세요 바실리님! 지원과 명확한 설명에 감사드립니다! 어쨌든 저와 지식을 공유해 주신 모든 분들께 감사드립니다 . 그들은 특히이 단계에서 나에게 매우 중요합니다!

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

 
MrBrooklin :

안녕하세요 바실리님! 지원과 명확한 설명에 감사드립니다! 어쨌든 저와 지식을 공유해 주신 모든 분들께 감사드립니다 . 그들은 특히이 단계에서 나에게 매우 중요합니다!

좋아지다. 다음에 계속합시다.

 
Vasiliy Sokolov :

좋아지다. 다음에 계속합시다.

고맙습니다!

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

 
Vasiliy Sokolov :
"... 하지만, 코드가 제대로 실행되었음에도 불구하고 내부적으로 일관성이 없다. 실제로 저자는 "시간이 충분하고 인내심이 충분하다면" 결과는 " MQL 5 언어를 배우겠습니다." 하지만 실제로 언어를 배우기 위해서는 하나의 값이 다른 값과 같아야 하는 것으로 밝혀졌습니다."

먼저 이 버전의 스크립트가 있었습니다.

 //+------------------------------------------------------------------+
//|                                                            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"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
string a= "достаточно времени" ;
string b= "достаточно терпения" ;
//---
   if (a!=b && b!=a)
     {
       Print ( "я выучу язык MQL 5" );
     }
  }
//+------------------------------------------------------------------+

그는 논리적 "AND"를 사용했습니다. 그러고 보니 조건에서 하나의 표현식 a!=b 는 "I will learn MQL5 language "를 인쇄하기에 충분합니다. 요컨대, Valery와 Igor가 나에게 제안한 문제의 본질을 이해하지 못했습니다.

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