English
中文
日本語
ID
Vietnam
한국어
Filipino
 
   대학 내비게이션

외환 MQL4 논리 연산자

MQL4 Logical Operators

이 문서에서는 논리 연산자라고 하는 연산자 클래스를 소개합니다. 자신만의 거래 EA를 작성하는 데 도움이 되는 완전한 MQL4 논리 연산자 튜토리얼에서 AND, GREATER THAN 및 기타 기능이 무엇인지 알아보세요. 우리 인간은 많은 생각을 하지 않고 매일 이러한 연산자를 사용합니다.


예를 들어 우리는 AND와 OR의 논리 연산을 끊임없이 다루고 있습니다. 따뜻한 겨울 재킷과 모자를 먼저 입고 따뜻한 곳으로 갈 수 없다면 바깥 기온이 10도일 때 집 밖으로 나가지 않을 것입니다. 셀 수 없이 많은 양을 세거나, 내가 17세기 네덜란드 풍경의 일부라고 상상하거나, 두꺼운 러시아 소설을 읽는다면 오늘 밤에는 침대에서 잠들 것입니다. 우리는 이러한 논리 연산을 항상 사용하지만 일반적으로 기계 명령으로 기록하거나 생각하지 않습니다.


MT4 프로그램은 옳든 그르든 결정을 내려야 하며 이러한 결정에는 논리 연산자를 사용해야 합니다.


간단한 논리 연산자는 참 또는 거짓으로 평가되며 두 개 이상의 매개변수나 조건 사이의 관계를 제안하는 경우가 많습니다. 이것이 일반적으로 관계 연산자라고 불리는 이유입니다. 이것은 논리(관계) 연산자의 표입니다:

< td style="word- break: break-all;"> 같지 않음, 불평등
SignMeaningFunctionExample
==等于true,왼쪽 매개변수와 오른쪽 매개변수의 값이 같은 경우x == y이면 조건이 true입니다.
!= 동등의 반대, 왼쪽 매개변수가 오른쪽 매개변수와 동일한 경우 매개변수는 동일한 값을 가지지 않습니다.< span jsaction="mouseup:Sxi9L,BR6jm; mousedown:qjlr0e" jsname="jqKxS"> x != y인 경우 조건은 false입니다.
>보다 낫습니다... true, 왼쪽 매개변수인 경우 올바른 매개변수보다 큽니다 x > y이면 조건이 true입니다.
<이하 왼쪽 매개변수가 오른쪽 매개변수보다 작은 경우 truex < y인 경우 조건은 true입니다.
>=크거나 같음참, 왼쪽 매개변수가 오른쪽 매개변수보다 크거나 같은 경우x >= y이면 조건이 true입니다.
<=작거나 같음true(왼쪽 매개변수인 경우) 오른쪽 매개변수보다 작거나 같습니다.x <= y이면 조건이 true입니다
&&ANDtrue, 왼쪽 및 오른쪽 매개변수가 모두 true인 경우x && y이면 조건이 true입니다.
||OR 왼쪽 또는 오른쪽 매개변수가 true이면 true입니다. if x || y, 조건이 true
!NOT인수가 false이면 True; 그렇지 않으면 false 만약 !x라면, 조건이 true입니다.


참고

논리값 FALSE는 정수 값 0으로 표시되는 반면, 논리값 TRUE는 0이 아닌 모든 값으로 표시됩니다. 관계형 또는 논리 연산을 포함하는 표현식은 0(FALSE) 또는 1(TRUE)로 평가됩니다.

마지막 항목을 제외한 모든 항목은 관계형 또는 비교 연산자입니다. 나는 이러한 관계 연산자에 대한 보다 구체적인 예를 제공하려고 노력할 것입니다.


다음은 사용자 정의 OrdersTotalMagicOpen() 함수에서 추출된 코드의 일부 라인입니다:


< p >If (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) 계속;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)


이 두 줄에는 같음(==), 같지 않음(!=), AND(&&) 및 OR(||)의 네 가지 관계 연산자가 포함되어 있습니다. 코드의 첫 번째 줄은 부등호(!=) 연산자와 or(||) 연산자를 잘 나타냅니다. 이는 오픈 트레이드의 심볼이 EA 기본 차트의 심볼이 아니거나, 오픈 트레이드의 매직 넘버가 전략의 매직 넘버가 아닌 경우 프로그램을 계속 진행할 수 있다는 의미입니다. 계속하다은 무슨 뜻인가요? 글쎄, 이것은 가장 가까운 나가는 루프의 시작을 제어하는 ​​또 다른 연산자입니다. 즉, 더 이상 적용되지 않기 때문에 즉각적인 일련의 계산을 건너뜁니다. 두 번째와 세 번째 줄은 같음(==) 및 AND(&&) 연산자의 좋은 예입니다. 이는 공개 거래의 기호가 EA 기본 차트의 기호이고 공개 거래에 EA의 매직 넘버가 있으면 다음 계산으로 진행할 수 있음을 의미합니다.


가격이나 지표를 비교할 때 관계 연산자보다 크거나 작은 것을 종종 볼 수 있습니다. 예를 들어 볼린저 밴드 구매 조건을 나타내는 한 가지 방법을 살펴보겠습니다.


bool BuyCondition1 == false;if (iBands(NULL,bandp, bandpx , banddev,0,PRICE_CLOSE,MODE_LOWER,1) < iClose (NULL,0,1)

&& iBands(NULL,bandp, bandpx, banddev,0,PRICE_CLOSE,MODE_LOWER,0) > ;= iClose (NULL,0,0)

구매 조건 1 == true;


여기서 A 구매 조건을 볼 수 있습니다. 이는 AND(&&)로 연결된 두 인수도 true인 경우에만 true가 됩니다. 첫 번째 인수에는 유효한 작음(<) 연산자가 있고 두 번째 인수에는 크거나 같음(> ;=) 연산자가 있습니다. 첫 번째 인수는 이전 BB의 하한가가 이전 종가보다 낮아야 한다는 것이고, 두 번째 인수는 현재 BB의 하한이 이제 현재 종가보다 크거나 같아야 한다는 것입니다. 두 인수를 결합하면 종가가 하단 밴드를 교차할 때 매수하는 것으로 해석됩니다. 상주 교차 기능이 없기 때문에 교차는 두 부분으로 구성되어야 합니다: 최근에 발생한 일(아래 하단 밴드는 마감됨)과 지금 발생하는 일( 이제 하단 밴드가 종가에 닿거나 그 위에 있습니다.) .

참고

등호(==) 연산자는 할당(=) 연산자와 다릅니다. 할당 연산자는 변수에 값을 할당하는 데 사용됩니다. 항등 연산자는 참/거짓 조건을 평가하는 데 사용됩니다.

어떤 두 값이라도 비교할 수 있습니다. 그들은 동일한 데이터 유형입니다. 부울 값을 상수 true 또는 false와 비교할 수 있습니다.

부울 연산

부울 연산자 AND(&&) 및 OR(||)를 사용하여 관계 연산을 결합합니다. AND 연산자는 모든 조건이 참인지 평가합니다. 그렇다면 전체 내용이 맞습니다. 조건 중 하나라도 거짓이면 전체 내용이 거짓입니다.

if (BooleanVar1 == true && Indicator1 > Indicator2)
{
// 공개 주문
}

BooleanVar1이 true이고 Indicator1이 Indicator2보다 큰 경우 명령문은 true로 평가되고 중괄호 사이의 코드가 실행됩니다. 이러한 조건 중 하나라도 거짓이면 전체 문은 거짓으로 평가되고 중괄호 안의 코드는 실행되지 않습니다. && 연산자와 결합된 조건은 개수에 관계없이 모두 true로 평가되어야 합니다.


OR 연산자는 두 조건 중 하나가 참인지 평가합니다. 하나 이상의 조건이 true이면 전체 문이 true입니다. 모든 조건이 거짓이면 명령문은 거짓으로 평가됩니다.


If (BooleanVar1 = true || Indicator1 > Indicator2)


If Booleanvar1 가 true와 같거나 Indicator1이 Indicator2보다 크면 명령문은 true로 평가됩니다. 두 조건이 모두 거짓이면 명령문은 거짓으로 평가됩니다.


AND와 OR 연산을 결합하여 더 복잡한 거래 조건을 만들 수 있습니다. 이 작업을 수행할 때 괄호를 사용하여 작업 순서를 설정하세요.


If (BooleanVar1 == true && Indicator1 > Indicator2 || BooleanVar1 == false)


괄호 안의 명령문이 먼저 평가됩니다. 두 조건이 모두 true이면 명령문은 true로 평가되고 OR 연산을 수행합니다.