본글의 목적.
FX마진 거래용으로 많이 사용되는 메타트레이더 버전4 ( 이하 MT4 라 한다.) 에서 시스템매매 가능한 Exper Advisor(이하 EA) 생성하는 법 설명.
MT4, MQL4, EA 개요.
MT4는 시스템매매를 위한 제조사 자체언어인 MQL4 로 시스템 매매 가능한 EA를 만들 수 있다.
MQL4언어로 코딩한 EA로
1. FX마진 과거데이터로 전략품질 시험가능.
2. 모의서버에서도 장중 시험가능.
3. 실전매매 운용 가능.
언어 MQL4는 C언어와 유사하여, 기존 C, C++ 코딩 익숙한 사람은 언어자체에 대한 이해를 위한 학습시간은 전혀 필요치 않을 정도다. 보자마자 MQL4언어가 뭔지 바로 알 수 있다. 추가로 공부해야할 사항은 MQL4만의 주문내는 함수들 및 규약등이다.
이에 대한 정리가 잘되어있는 카페 : http://cafe.naver.com/mt4ea.cafe
본 글에서는 MT4 가 뭐며 내장 기능인 EA 에 대한 장황한 설명 생략. 인터넷에 정보 많다. 검색하라.
MT4 다운로드 받기.-1
본 글에서 사용된 MT4 : 교보증권에서 배포한 것 이용. 입수처 : http://www.iprovest.com/ 에서 다운로드.
교보증권 전용으로 커스터마이징된 것일뿐 MT4 동일.
MT4 다운로드 받기 -2
미국의 MB Trading 사의 것을 다운로드 받아 설치해도 된다.
MB Trading 사이트 : http://www.mbtrading.com/
MT4 다운로드 사이트 : http://www.mbtrading.com/metatrader4.aspx
아래 다운로드 사이트에서 다운로드 클릭하여 실행하기를 선택하면 설치창이 뜬다. 다음 눌러 설치 진행한다.
설치 중 모습.
EA 생성툴 MetaEditor 실행.
MT4설치하고 실행하면 아래 화면과 같다. 시스템 매매 실행코드인 EA를 생성하려면, 메뉴의 도구 -> MetaQuotes 언어편집기 클릭한다.
그럼 MetaQuotes 언어편집기( 프로그램 명칭 : MetaEditor)가 실행된다. 아래 그림.
EA생성법..
MetaEditor 의메뉴 File-> New 클릭 하면 아래 처럼 Expert Advisor Wizard 창이 뜬다.
위 선택창에서 보이는 것들은 MQL4 언어로 만들 수 있는 것들을 보여준다.
Expert Advisor (EA) 가 시스템매매 가능한 것이다.
나머지 것들은 사용자 정의 지표를 만든다든지 라이브러리를 만든다든지 하는 용도다.
우리는 EA를 생성할 것이므로 Expert Advisor 선택된 상태에서 다음 클릭하여, 다음 화면(아래 그림)에서 EA 이름과 저자 기록하고 마침 클릭한다.
마침 누르면 기본 소스편집파일이 자동 생성된다.
Navigator에 우리가 만든 EA1.mq4 가 보이고, 이 파일이 열려져 있는 상태다. 우리의 매매코드는 이 파일에서 코딩 진행하게된다.
EA의 필수 기본 함수 init(). deinit(), start() 함수들이 생성된 것이 보인다.
핵심함수는 start() 함수이다.
우리가 EA를 생성하여 실제 매매하게될때, 시세수신될때마다 start() 함수가 실행되게 되며 이 속에서 우리는 매수, 매도 명령어들이 실행되게 하게 된다.
init(), deinit() 함수는 이름에서 느껴지듯이 EA실행시작점에서 초기화 하는류를 init 에서 구현하고, EA종료할때 처리해야할 사항들을 deinit에 코드 구현하면된다.
init, deinit, start 에 대한 설명 :
http://book.mql4.com/programm/special
http://cafe.naver.com/mt4ea/155
http://cafe.naver.com/mt4ea/164
http://blog.naver.com/sunnyhappy12/50144512532
위 글들을 읽어보면 코드의 뼈대가 이해가 될 것이다. ... 되어야 한다.
start() 함수내부에서 처리 주의 사항 : start()함수는 시세데이터가 수신될 때마다 호출된다고 했다. 그런데 만일 start()함수 내부에서의 처리가 길어져서 다음 시세 데이터 수신전까지 처리가 완료되지 못한 경우에는 해당 시세데이터 start함수가 실행되지 못한다. start함수내의 처리가 종료된 시점이후에 수신된 시세틱에서 start() 함수가 실행된다.
위 과정까지의 유사한 동영상 강좌.
우리는 위 EA1.mq4 에 코드 작성을 하면된다. 코드 작성하면 컴파일 한다.
컴파일 하기.
위에서 자동생성된 상태 그대로 컴파일 해보자. 툴바의 Comple버튼을 클릭하면된다(아래 그림 붉은색 박스).
Compile버튼을 클릭하면 컴파일이 진행되고 프로그램 하단 Toolbox에 결과가 표시된다.
오류가 없으면, 정상컴파일 되어 사용가능한 상태가 된것이다.
또한, MT4 프로그램의 시스템트레이딩 하단에 우리가 만든 EA1 이 등록된것을 볼 수 있다. (아래 그림 붉은 박스)
시스템 트레이딩 적용하기.
우리가 만든 EA1 을 실제 매매에 적용하려면, 위 그림의 EA1 을 마우스로 클릭하고, 화살표처럼 오른쪽 편의 챠트위에 배치해야한다.
시스템매매 전략이 배치된 모습이 아래 그림과 같다.
챠트의 오른쪽 위에 EA1 이라는 글자가 보인다. 이것의 의미가 본 종목(예에서는 EURUSD) EA1 시스템 매매를 적용하겠다는 의미이다.
또한, 프로그램 하단 터미널 창의 시스템트레이딩 탭에 상태정보를 보인다. 성공적으로 로딩되었음을 보이고 있다.
위 상태만으로는 매매시 전략이 적용되지 않는다. 차트 우상단의 EA1 글자옆에 조그만 아이콘이 보이는데 x 가 있을때는 매매시 EA!이 실행되지 않음을 의미한다. 이를 실행되게 하려면 프로그래의 툴바중 Expert Advisor (아래 그림에서 붉은 박스)를 클릭해서 시스템전략이 적용되게 해야한다. 시스템 전략이 매매에 적용되는 경우 EA1 옆의 아이콘이 스마일 아이콘으로 보이게된다. (아래 그림 챠트 우상단 붉은 박스)
이상, 여기까지가 MT4 의 시스템매매 EA를 생성, 컴파일, 매매에 적용하는 과정에 대한 설명 전부.
이후 할일.
1. 본 예의 시스템매매 EA1 에는 코드를 전혀기록하지 않았다. 코딩하는 법.
2. 전략을 만들고 나서 백데이터를 이용하여 시험하는 방법.
3. 실매매과정에서 시험하는 방법.
'시장 분석' 카테고리의 다른 글
9월 미국주식 추천 (0) | 2022.08.29 |
---|---|
MT4/ MT5 터미널 기초 용어 설명 (0) | 2022.07.11 |
피보나치 수열로 투자 하는 방법 (385) | 2022.03.14 |
NFT 사기 피하는 방법 (0) | 2022.02.03 |
NFT란 무엇인가? 투자 방법은? (0) | 2021.12.28 |
댓글