이 완전한 MQL4 초보자 튜토리얼에서 구문, 변수, 주석, 함수가 무엇인지 알아보고 자신만의 자동화된 거래 전략을 개발하세요.
구문
설명
변수
함수(표준)
함수(맞춤형)
C에서 파생된 다양한 언어 중 하나라도 프로그래밍에 익숙하다면 MQL을 사용한 프로그래밍에 매우 능숙할 것입니다.
그러나 이 언어를 배우고 싶어하는 대부분의 비프로그래머의 경우 새로운 작성 방법을 배워야 합니다.
MQL에서 모든 문은 표현식이라고 하는 세미콜론으로 끝납니다. 표현식은 여러 줄에 걸쳐 있을 수 있으며 끝에 세미콜론이 있어야 합니다.
외부 이중 정지 손실 = 15.0; // 한 줄 표현
또는 이 여러 줄 표현:
If (FastMACurrent > SlowMACurrent)
OpenBuy=True; //여러 줄 표현
p>프로그래밍이 처음이라면 각 명령문 끝에 세미콜론을 넣어야 합니다. 이것을 하지 않는 것은 초보자가 흔히 저지르는 실수입니다.
복합 연산자는 중괄호 {} 안에 여러 표현식을 포함하는 코드 줄입니다. 복합 연산자에는 제어 연산자(if, switch), 루프 연산자(for, while) 및 함수 선언이 포함될 수 있습니다. 다음은 제어 연산자의 예입니다:
If (Bars <100)
{ Print("The number of bars is 100개 미만 ");
Return (0); }
초기 if 연산자 뒤에 세미콜론을 넣지 않았다는 점에 유의하세요. . 또한 닫는 중괄호 뒤에 세미콜론을 넣을 필요가 없습니다. Print() 함수 뒤에는 세미콜론이 있습니다. 중괄호 안에 하나 이상의 표현식이 있을 수 있고 각 표현식은 세미콜론으로 끝나야 하기 때문입니다.
다른 언어의 주석과 유사하게 MQL4 주석은 때때로 코드의 설명 부분에 사용됩니다. 테스트 및 디버깅 중에 코드에 플래그를 지정하거나 일시적으로 제거합니다. 코드를 이해하는 데 도움이 되도록 최대한 많이 문서화하는 것이 유용할 수 있습니다. 코딩 언어는 때로 매우 모호할 수 있으며, 코드가 수행하려는 작업을 일반 영어로 명확히 하는 것이 도움이 될 수 있습니다. 또한 주석을 사용하면 코드 줄을 삭제할 필요 없이 일시적으로 제거할 수 있습니다.
댓글을 입력하는 방법에는 1) 한 줄 댓글과 2) 여러 줄 댓글 두 가지가 있습니다.
// us 댓글을 게시했습니다
댓글은 두 개의 슬래시(//) 뒤에 표시됩니다. //로 시작하는 모든 줄은 자유 텍스트이며 프로그램에서 무시됩니다. 이는 테스트 목적으로 코드 줄을 마스킹하는 데 유용합니다.
/ * 우리는 여러 코드를 차단하고 싶습니다*/
댓글은 '/*'로 시작하고 '*/'로 끝납니다.
이 주석 형식은 다음과 같이 각 줄의 시작 부분에 두 개의 양수 문자를 배치하는 대신 여러 줄의 코드를 한 번에 빠르게 비활성화하는 데 사용됩니다. 첫 번째 방법.슬래시. 마스크할 코드가 많은 경우 모든 줄 앞에 이중 슬래시를 붙이는 것은 너무 시간이 많이 걸리며 여러 줄 주석 기술을 사용하는 것이 훨씬 쉽습니다.
변수는 모든 프로그래밍 언어의 기본 저장 단위이며 프로그램을 실행하는 데 필요한 데이터를 보유합니다. 변수는 선언되어야 하며 변수를 선언하려면 다음 예와 같이 세 부분을 함께 배치해야 합니다.
Double lot = 0.1;
p>여기서는 세 부분으로 나누어집니다:
데이터 유형(예: double ) , 그 뒤에 식별자(예: Lots), 등호 뒤에 기본값(예: 0.1)이 옵니다.
데이터 유형은 숫자, 텍스트 문자열, 날짜, 색상 등 변수가 보유하는 정보 유형을 지정합니다. 다음은 몇 가지 일반적인 데이터 유형입니다:
데이터 유형 | 설명 |
---|---|
int | 정수(정수)(예: 0, 3 또는 -5). 정수 변수에 할당된 모든 숫자는 반올림됩니다. |
double | 0.01과 같은 소수 |
string | "총을 발사했습니다"와 같은 텍스트 문자열입니다. 문자열은 큰따옴표로 묶어야 합니다. |
부울 | True/false 값입니다. 1(참) 또는 0(거짓)으로 표시할 수도 있습니다. |
datetime | 시간 및 날짜(예: 2011.01.01 01:11). |
여기서 내 식별자 "Lots"에는 "ilots", "ordersize", "volume" 등 다양한 이름을 지정할 수 있습니다.
식별자는 변수 및 사용자 정의 함수에 부여되는 이름으로 숫자, 문자, 밑줄(_)을 조합하여 최대 31자까지 가능합니다. 식별자는 궁극적으로 의도를 설명하기 위해 임의로 선택한 단어입니다.
일부 코더가 간단한 단어를 사용하는 대신 문자와 숫자(예: "gd_104")를 식별자로 사용하는 것을 본 적이 있지만 이로 인해 코드는 다음과 같습니다. 외부인(또는 문자와 숫자 조합이 무엇을 의미하는지 잊어버린 경우 본인)이 읽을 수 없습니다. 읽고 기억하기 쉽게 만드는 것이 가장 좋습니다. 또한 식별자는 대소문자를 구분하고(Lot와 Lot은 서로 다른 식별자임) 철자를 구분하므로(Lot와 Lot은 서로 다른 식별자임) 모든 식별자가 대소문자를 구분하고 철자가 올바른지 확인하십시오(초보들이 흔히 저지르는 실수).
변수가 선언된 후 다음 예와 같이 변수에 새 값을 할당하여 해당 값을 변경할 수 있습니다.
< br/>
더블 로트 = 0.1;
mylotsi = 많이;
// mylotsi는 0.1입니다.
할당된 변수는 동일한 데이터 유형이어야 합니다. 그렇지 않으면 바람직하지 않은 결과가 발생합니다.
미리 extern이 할당된 변수를 외부변수라고 합니다.
외부 두 손 = 0.1;
외부 이중 정지 = 50;
p> p>
프로그램 속성 창에서 해당 값에 액세스하고 조작하기 위해 EA의 첫 번째 부분에서 유용합니다.
변수가 나중에 변경되거나 수정될 수 있는 데이터 값을 보유하는 경우 상수는 그 반대, 즉 절대 변경되지 않는 데이터 값입니다.
예를 들어 0부터 9까지의 모든 숫자는 정수 상수, true와 false는 부울 상수, 빨간색은 색상 상수, 2011.01.01 00:00 2010년 1월 10일의 날짜-시간 상수입니다.
가격 데이터, 차트 기간, 색상, 거래 운영 등에 대한 다양한 표준 상수가 있습니다. PERIOD_M1은 M1 차트 기간에 대한 상수이고 OP_SELL은 매도 시장 주문을 나타냅니다.
MQL4 참조의 표준 상수에서 상수에 대해 자세히 알아볼 수 있습니다.
함수는 이 언어의 초석입니다. 함수는 주문이나 추적 손절매 계산과 같은 특정 작업을 수행하도록 설계된 코드 블록입니다.
MQL4에는 기술 지표의 기능을 제외한 220개 이상의 표준 함수가 있습니다. 코드에서 이러한 함수를 만날 때마다 일반적으로 해당 함수는 고유한 색상(예: 보라색)으로 나타나며 앞서 언급한 인쇄 함수와 같이 괄호 안의 표현식을 참조합니다.
Print("100보다 작은 막대");
Print() 함수 프로그램 외부에서 우리에게 무엇인가를 선언하는 함수로 흔히 사용되는 함수로 Comment() 함수, PlaySound() 함수, MessageBox() 함수 등의 함수와 유사한 범주에 속합니다. 여기에서 이러한 표준(또는 기본) 기능에 대한 모든 내용을 읽을 수 있습니다.
함수는 재사용이 가능하다는 장점이 있습니다. 즉, 필요에 따라 프로그램의 다양한 지점에서 실행할 수 있습니다. 일반적으로 함수는 여러 프로그램 명령문을 하나의 단위로 결합하고 이름을 지정합니다. 그러면 프로그램의 다른 부분에서 해당 장치를 호출할 수 있습니다.
다음 도움말에서는 표준 및 맞춤 기능 사용에 대해 자세히 알아봅니다.
표준 또는 기본 함수 외에도 필요에 따라 함수를 생성하여 함수의 재사용성을 활용할 수 있습니다. Close Order 기능과 같은 기능을 생성하면 코드의 다른 부분에서 반복해서 재사용하거나 사용할 수 있는 다른 Expert Advisors에서 쉽게 사용할 수 있도록 기능을 복사하여 붙여넣을 수 있습니다.