개요
- VSCode 에서 extension MQL Tools 설치하여, 메타트레이더( MT4 , MT5 )에서 기본 제공되는 코드 작업툴인 메타에디터 보다 훨씬 쾌적, 효율적 코딩 환경 구축 가능.
사전준비
1. 메타트레이더 설치되어있어야 함.
- 본 예에서는 메타트레이더 포터블 설치 된 상황. 개발용 메타트레이더는 포터블 설치 강력 추천.
- 메타트레이더 포터블 설치 방법 보기 : https://igotit.tistory.com/3861
2. VSCode 포터블 설치되어 있어야 함.
- VSCode 포터블 설치 방법 보기 : https://igotit.tistory.com/4313
VSCode 에 MQL Tools 설치
VSCode 실행하여 Extensions (아래 그림의 왼쪽 메뉴의 번호1 Extensions 아이콘 클릭)
- 혹은 메뉴의 File -> Preferences -> Extensions 클릭
- 번호 2 검색에서 MQL , 번호 3 MQL Tools 클릭, 번호 4 Install 클릭하여 VSCode 에 MQL Tools 확장 추가.
MQL Tools 설정
- MQL Tools 설치 후 아래 화면의 기어 클릭 -> Extension Setting 클릭
아래 화면처럼 여러 셋팅이 보이는데 필수 셋팅할 곳은 MQL4, MQL5 의 metaeditor.exe 경로 기록한다. (본인이 설치한 메타트레이더 경로 기록해야 함) . 바이비트 MT4 의 메타에디터를 연결 시키고 싶다면 경로 문자중 MT4_fxtm 대신 MT4_bybit 을 기록한다. 이 경로 부분은 언제든지 변경해도 되므로 필요에 따라 다른 경로를 설정해주면 된다.
메타트레이더를 포터블 설치 한 경우 설정에서 아래 처럼 체크함.
VSCode 에서 MQL4/5 폴더 오픈하기
VSCode 메뉴 : File -> Open Folder... 클릭하여 본인 설치한 MT4 의 MQL4 폴더, MT5 의 MQL5 폴더를 지정한다.
아래 화면은 MQL5 폴더 선택하여 예제 ea 중 ExpertMACD 오픈한 모습.
참고 : 본 설명에서는 메타트레이더 설치한 하위 폴더에 기본 만들어져 있는 폴더인 MQL4, MQL5 폴더만 지정하는 것을 설명하였지만 메타트레이더 설치한 곳이 아닌 사용자가 임의로 만든 위치에 폴더이름이 MQL4 , MQL5 이기만 하면 MQL Tools 에서 오픈가능하며 코드 작성 가능하다. 아래 별도 정리.
위 화면의 우 상단 아이콘 2개를 가장 많이 사용하게 된다. 체크표시는 문법 점검이고, 플레이 아이콘 처럼 생긴 것이 컴파일 버튼.
위 처리 과정 전체 영상
VSCode 에서 메타에디터, 메트트레이더 실행하기
- VSCode 메뉴의 아래 붉은 박스에서 Open 'MetaEditor' 클릭하면 메타 에디터 실행되며, Open trading terminal 클릭하면 메타트레이더 실행된다.
MQL4, MQL5 동시 오픈하여 작업 하려는 경우
VSCode 에서의 웍스페이스 이용한 멀티루트(여러 개의 폴더를 VSCode 에서 동시 오픈하는 것) 설정으로는 완전한 동작 하지 않기 때문에 VSCode Portable 폴더를 2개로 하여 MQL4 , MQL5 전용으로 각각 실행시킨다.
사용자가 지정한 임의 경로에 MQL 소스 파일들 몰기
- 앞의 설명에서는 메타트레이더 설치시 기본 생성된 MQL4 나 MQL5 폴더를 VSCode 에서 오픈하고 코드 작성하는 것을 설명하였으나, 메타트레이더 설치 하지 않은 경로여도 폴더 이름이 MQL4, MQL5 이면 VSCode 에서 오픈가능하다. 예시 : 아래 폴더 구조는 임의로 WORK_MQL 하위에 MQL4 , MQL5 이름으로 만들어 둔 것.
VSCode 에서 폴더 오픈 시 아래 경로의 MQL4, MQL5 오픈하여 소스 코드 작업 가능하다.
메타트레이더 설치된 하위에 있는 폴더에 내 소스들이 있는 것보다 아래 같은 구조로 해두면 내가 작업한 소스들이 한곳에 집중되어 있어 심플한 관리 달성됨.
VSCode 로 메타트레이더 코딩 위한 최적화된 폴더 구성
- 메타트레이더 MQL 소스 코드는 WORK_MQL 폴더 내에 집중하여 몰아둠.
- 특히 중요한 것은 CySDK_MQL 폴더 들이다. 코딩하면서 범용적 기능들에 해당하는 것들을 클래스 화 하여 정리하는 핵심 가치가 누적 저장되는 곳.
- 이런 관리 방식이 코딩 과정에서 벌어지는 오만 잡다한 처참한 수준의 개노가다 투입한 작업 결과물들이 쓰레기화 되지 않도록 해주고, 지속 발전 가능한 "가치 누적 저장" 형식.
코드 작업 플로우 상세
VSCode 에서 바이비트 MT4 에서 구동시킬 메타트레이더 신규 EA 를 만들기로 했다 치자. 아래 상세 작업 플로우로 진행예를 보인다.
작업할 컴터( 노트북, PC 등 ) 에 USB 스토리지 연결 하고,
스토리지 루트에 있는 VSCode_MQL4_M 더블클릭하여 VSCode 실행.
VSCode_MQL4_M 실행모습.
폴더 Experts_Test 우클릭 메뉴에서 "New Folder..." 클릭하여 ea 이름 기록. 즉 ea 마다 폴더 1개 할당 규칙 적용한다.
처음 작업 개시할때는 폴더 Experts_Test 에 생성시켜두고, 이후 완성도 높게 구현된 경우에만 폴더 Experts 로 이동시킨다.
본 예에서는 이름을 CyEA240530_SM 으로 ea 전용 폴더 1개 만들었다. 이 폴더 마우스 우클릭 메뉴에서 "New File..." 클릭하여 확장 mq4 인 파일 생성. 이름은 폴더명과 동일하게 함.
위 화면 오른쪽 코드 편집창에서 ea 작동위한 필수 이벤트 핸들러인 void OnTick() 코드 작성. 시험용으로 Ask, Bid 가격 출력되게 했음.
컴파일 하기 : 위 화면의 우상단 붉은 동그라미 버튼 클릭하면 컴파일되고 ea 실행파일인 CyEA240530_SM.exe4 가 동일폴더에 만들어진다.
해당 폴더 빨리 가기 . 위 화면의 파란색 줄 우마우스 클릭하여 "Reveal in File Explorer" 클릭하면 탐색기 열리면서 해당 폴더 보여준다. ex4 파일 만들어져 있다.
위 파일을 메타트레이더 설치된 경로중 MQL4/Experts 하위에 복사하면 ea 를 챠트에 배치하고 실행가능하다.
아래 화면은 ex4 파일을 바이비트 MT4 하위 폴더에 복사한것.
VSCode 메뉴에서 "Open Trading terminal " 클릭하면 메타트레이더 실행되고 , 왼쪽 Expert Advisors 에 내가 추가한 ea 실행파일 보이고 이를 챠트에 배치하면 ea 실행되어 시험용으로 추가한 코드가 실행되어 하단 탭 Experts 에 출력된다.
백테스팅 하기 위해서는 메타트레이더 메뉴 View -> Strategy Tester 클릭하여 ,내가 만든 ea 선택하고 대상 종목 선택하고 백테스팅 진행한다.
필수 : 백테스팅 할 때 통화단위 UST로 기록해줘야함.
상세보기 : https://igotit.tistory.com/3760
연관
상위 정리
첫 등록 : 2024.02.24
최종 수정 : 2024.05.27
단축 주소 : https://igotit.tistory.com/5126
'트레이딩 > 메타트레이더 코딩' 카테고리의 다른 글
MQL5 . 메타 시간을 UTC 로 변환하기 . 일광절약 시간제 (DST) 고려 (0) | 2024.08.28 |
---|---|
MQL5 . 기본 자료형 바이트 크기 및 표준 자료형 대응표 (0) | 2024.08.28 |
메타트레이더 . 코딩 . OnTimer . 시간격 이벤트 (1) | 2023.05.04 |
메타트레이더 . 코딩 . 시간 . MqlDateTime . 년 월 일 시 분 초 요일 (0) | 2023.05.04 |
메타트레이더 . 코딩 . 터미널 전역변수 . 멀티스레드 EA 동기화 처리 (0) | 2023.04.30 |
댓글