MetaTrader 5와 MQL5를 왜 같이 배워야 할까
이번 포스트의 핵심 내용 3줄요약
- MetaTrader 5는 차트, 주문, 백테스트, 자동매매 실행 환경을 한 플랫폼에서 다루는 트레이딩 터미널입니다.
- MQL5는 MT5 안에서 Expert Advisor, 지표, 스크립트를 만들기 위한 C++ 계열 문법의 전용 언어입니다.
- 시스템 트레이딩은 전략을 규칙, 코드, 검증 절차로 바꾸는 데 유용하지만 손실 위험을 없애 주지는 않습니다.
시스템 트레이딩, 자동매매, 알고리즘 매매, 알고리즘 트레이딩은 서로 관련 있지만 실행 범위가 같은 개념은 아닙니다. 시스템 트레이딩은 규칙의 설계와 검증까지 포함할 수 있고, 자동매매는 그 규칙을 프로그램이 주문으로 실행하는 방식에 더 가깝습니다. 공통점은 사람이 그때그때 감으로 매수와 매도를 누르는 대신, 정해 둔 조건과 위험관리 규칙을 재현 가능한 형태로 만든다는 것입니다. 최근에는 AI 주식, AI 자동매매 같은 검색어도 많이 쓰이지만, 초보자가 먼저 배워야 할 것은 인공지능 이름이 아니라 매매 규칙을 검증 가능한 절차로 바꾸는 기본기입니다.
MetaTrader 5 공식 다운로드 페이지 새 탭는 데스크톱, 웹, 모바일 환경을 제공합니다. 특히 데스크톱 MT5는 차트, 주문, 기술적 분석, 자동매매, MQL5 개발 환경을 한 번에 다룰 수 있어 시스템 트레이딩 입문 도구로 많이 언급됩니다.

MT5는 무엇인가
MetaTrader 5, 줄여서 MT5는 MetaQuotes가 만든 트레이딩 플랫폼입니다. 단순 차트 프로그램이라기보다 매매 터미널, 분석 도구, 자동매매 실행기, 전략 테스트 환경이 합쳐진 형태에 가깝습니다. 브로커가 MT5 서버를 제공하면 사용자는 해당 브로커 계정으로 접속해 Forex, CFD, 선물, 주식 등 브로커가 제공하는 상품을 조회하거나 거래할 수 있습니다.
초보자가 MT5를 이해할 때는 기능을 네 묶음으로 나누면 쉽습니다.
| 영역 | 초보자가 이해할 역할 | 시스템 트레이딩에서 쓰임 |
|---|---|---|
| 차트와 시세 | 가격 흐름, 캔들, 보조지표를 보는 화면 | 전략 조건을 관찰하고 매매 신호를 해석 |
| 주문 터미널 | 시장가, 지정가, 손절, 익절 주문 관리 | 자동매매가 실제 주문을 보낼 대상 |
| MetaEditor | MQL5 코드를 작성하고 컴파일하는 개발 도구 | Expert Advisor, 지표, 스크립트 제작 |
| Strategy Tester | 과거 데이터로 전략을 시험하는 도구 | 백테스트, 최적화, 리포트 확인 |
MetaTrader 5의 알고리즘 트레이딩 소개 새 탭는 MT5의 자동매매 구성을 MQL5 IDE, MetaEditor, Strategy Tester, 실행 플랫폼으로 설명합니다. 즉 MT5를 쓴다는 것은 단순히 차트를 보는 것이 아니라 전략을 만들고, 시험하고, 실행하는 전체 흐름을 한 프로그램 안에서 다루는 것에 가깝습니다.
MQL5는 무엇인가
MQL5는 MetaQuotes Language 5의 약자입니다. MQL5 공식 Reference 새 탭는 MQL5를 기술 지표, 트레이딩 로봇, 유틸리티 애플리케이션을 만들기 위한 고급 언어라고 설명합니다. 문법은 C++에 가깝고, 객체지향 방식으로 코드를 구성할 수 있습니다.
MQL5로 만드는 대표 프로그램은 다음과 같습니다.
| 프로그램 유형 | 설명 | 초보자에게 필요한 관점 |
|---|---|---|
| Expert Advisor | 차트에 붙여 자동으로 조건을 계산하고 주문까지 실행할 수 있는 자동매매 프로그램 | 자동매매의 중심 |
| Custom Indicator | 사용자가 직접 만든 보조지표 | 신호 계산과 시각화 |
| Script | 한 번 실행하고 끝나는 작업 자동화 코드 | 일괄 주문, 기록, 테스트 도구 |
| Service | 특정 차트에 붙지 않고 백그라운드에서 동작하는 프로그램 | 고급 연동과 데이터 처리 |
| Library / Include | 반복 로직을 재사용하는 코드 묶음 | 전략이 커질 때 구조화 |
자동매매를 만든다고 해서 처음부터 복잡한 AI 모델을 붙일 필요는 없습니다. 오히려 첫 단계는 "이동평균선이 특정 조건을 만족하면 진입한다", "손절은 진입가 기준 몇 퍼센트로 둔다", "하루에 최대 몇 번만 거래한다"처럼 사람이 말로 설명할 수 있는 규칙을 코드로 옮기는 일입니다.
MT5 다운로드와 설치 흐름
MT5를 시작하는 흐름은 간단하지만, 실거래 계좌를 바로 연결하기 전에 데모 환경으로 먼저 익숙해지는 편이 안전합니다.
| 단계 | 할 일 | 확인할 점 |
|---|---|---|
| 1 | 공식 다운로드 페이지 새 탭 또는 사용할 브로커의 MT5 다운로드 페이지 접속 | 브로커 서버 접속이 필요한 경우가 많음 |
| 2 | Windows 데스크톱 버전 설치 | 자동매매와 MetaEditor는 데스크톱 환경이 가장 편함 |
| 3 | 데모 계좌 또는 브로커 계좌로 로그인 | 서버 이름, 계좌번호, 비밀번호 확인 |
| 4 | 차트 열기와 심볼 검색 | 거래 가능 상품은 브로커마다 다름 |
| 5 | MetaEditor 실행 | F4 또는 Navigator의 생성 메뉴 사용 |
| 6 | Strategy Tester 확인 | 백테스트 기간, 심볼, 시간봉, 모델링 조건 확인 |
같은 실습을 나중에 재현하려면 운영체제, Help → About에 표시된 MT5 터미널 빌드, 브로커·서버, 데모 계좌 유형, 심볼을 함께 기록해 두는 편이 좋습니다. 메뉴 이름과 거래 가능 상품, 주문 조건은 터미널 빌드와 브로커 환경에 따라 달라질 수 있습니다.
웹터미널과 모바일 앱도 시세 확인과 수동 주문에는 유용합니다. 다만 MQL5 코드를 작성하고 EA를 컴파일하고 전략 테스터를 돌리는 입문 과정은 데스크톱 MT5 기준으로 배우는 것이 좋습니다.
MetaEditor에서 MQL5를 여는 방법
MT5 도움말의 자동매매 문서 새 탭는 MetaEditor를 MQL5 코드를 만들고, 편집하고, 컴파일하고, 디버깅하는 통합 개발 환경으로 설명합니다. 실제 흐름은 다음 순서입니다.
- MT5 데스크톱을 실행합니다.
- 키보드에서 F4를 누르거나, Navigator 창에서 Expert Advisors, Indicators, Scripts 중 하나를 우클릭합니다.
Create in MetaEditor를 선택합니다.- MQL5 Wizard에서 Expert Advisor, Custom Indicator, Script 중 만들 유형을 고릅니다.
- 이름과 입력값을 정하고 템플릿을 생성합니다.
- 코드를 작성한 뒤 F7로 컴파일합니다.
- 에러가 없으면
.ex5실행 파일이 생성되고 MT5 Navigator에서 실행할 수 있습니다.
초보자는 처음부터 주문을 보내는 EA보다 Print로 로그를 찍는 스크립트부터 시작하는 편이 좋습니다.
void OnStart()
{
Print("Hello, system trading");
}이 코드는 실거래 주문을 보내지 않습니다. MetaEditor에서 컴파일한 뒤 MT5에서 실행하면 Journal에 문장이 찍히는지 확인하는 용도입니다. 이 과정을 통해 "소스 코드 작성 → 컴파일 → MT5에서 실행 → 로그 확인" 흐름을 먼저 익힐 수 있습니다.
시스템 트레이딩을 하면 좋은 점
시스템 트레이딩의 가장 큰 장점은 매매를 기분이 아니라 규칙으로 다루게 만든다는 점입니다. 손실을 없애 주는 기술이 아니라, 손실과 진입 조건을 미리 정의하게 만드는 방식입니다.
| 장점 | 설명 | 초보자가 오해하면 안 되는 점 |
|---|---|---|
| 규칙화 | 진입, 청산, 손절, 익절을 명확한 조건으로 정리 | 규칙이 있다고 좋은 전략은 아님 |
| 반복 실행 | 같은 조건을 매번 같은 방식으로 적용 | 시장 환경이 바뀌면 성과도 바뀜 |
| 감정 개입 감소 | 충동매매, 물타기, 복수매매를 줄이는 데 도움 | 완전히 방치해도 된다는 뜻은 아님 |
| 백테스트 가능 | 과거 데이터로 전략의 약점을 먼저 확인 | 과거 성과가 미래 수익을 보장하지 않음 |
| 개선 기록 | 파라미터와 결과를 비교하면서 전략을 개선 | 과최적화에 빠지기 쉬움 |
| 확장성 | 지표, 시간대, 상품, 위험관리 로직을 조합 가능 | 복잡할수록 오류와 관리 비용도 증가 |
자동매매를 쓰면 좋은 이유는 "돈을 자동으로 벌어준다"가 아닙니다. 좋은 이유는 전략을 검증 가능한 가설로 바꿀 수 있다는 것입니다. 예를 들어 "상승 추세에서만 진입한다"는 말은 애매합니다. 하지만 "50기간 이동평균이 200기간 이동평균보다 위이고, 종가가 50기간 이동평균 위에 있을 때만 진입한다"는 조건은 코드로 바꿀 수 있고, 백테스트할 수 있습니다.
알고리즘 트레이딩과 AI 주식을 구분해서 봐야 한다
검색에서는 AI 주식, AI 자동매매, 알고리즘 매매가 섞여 보입니다. 하지만 초보자 입장에서는 다음처럼 구분하는 편이 안전합니다.
| 표현 | 현실적인 의미 | 먼저 배울 것 |
|---|---|---|
| 시스템 트레이딩 | 사람이 정한 규칙을 체계적으로 실행 | 진입, 청산, 위험관리 규칙 |
| 자동매매 | 프로그램이 주문 실행까지 자동화 | EA 실행 조건과 주문 권한 |
| 알고리즘 트레이딩 | 수식과 코드로 매매 의사결정을 자동화 | 데이터, 지표, 백테스트 |
| AI 주식 | AI로 분석, 분류, 예측을 보조하는 접근 | 데이터 품질과 검증 방법 |
AI는 전략 아이디어를 정리하거나 데이터를 분류하는 데 도움을 줄 수 있습니다. 하지만 AI가 말한 매매 아이디어를 검증 없이 실거래에 넣는 것은 위험합니다. MT5와 MQL5를 배우는 이유도 결국 AI가 만든 아이디어든 사람이 만든 아이디어든 코드와 백테스트로 확인하는 절차를 만들기 위해서입니다.
초보자가 처음 만들 전략 예시
첫 전략은 단순해야 합니다. 예를 들어 이동평균 교차 전략은 성과가 뛰어나서가 아니라 자동매매 구조를 배우기 좋아서 자주 사용됩니다.
| 구성요소 | 예시 규칙 | 확인할 질문 |
|---|---|---|
| 시장 | EURUSD 데모 차트 또는 브로커가 제공하는 CFD 데모 상품 | 스프레드와 거래시간이 충분히 안정적인가 |
| 시간봉 | 1시간봉 | 너무 짧은 시간봉으로 잡음을 따라가지 않는가 |
| 진입 | 빠른 이동평균이 느린 이동평균 위로 올라설 때 | 신호가 너무 자주 나오지 않는가 |
| 청산 | 반대 교차 또는 고정 손절/익절 | 손절 없는 전략이 되지 않았는가 |
| 포지션 크기 | 계좌 대비 작은 비율 | 한 번의 손실이 계좌를 크게 훼손하지 않는가 |
| 검증 | Strategy Tester로 기간을 나눠 테스트 | 특정 구간에만 맞춘 과최적화는 아닌가 |
이 단계에서는 수익률보다 로그, 주문, 손절, 재진입 제한이 의도대로 작동하는지 보는 것이 더 중요합니다.
실거래 전에 반드시 확인할 위험
MT5와 MQL5는 도구입니다. 도구가 좋아도 전략이 나쁘면 손실은 자동으로 반복됩니다. 특히 CFD, Forex, 레버리지 상품은 가격 변동, 스프레드, 슬리피지, 강제청산, 서버 지연, 거래시간 제한의 영향을 받을 수 있습니다.
실거래 전에 최소한 다음을 확인해야 합니다.
- 데모 계좌에서 충분히 오래 실행했는가
- Strategy Tester 결과와 데모 실시간 결과가 크게 다르지 않은가
- 손절 주문이 항상 들어가는가
- 같은 방향 포지션이 중복으로 쌓이지 않는가
- 인터넷 끊김, PC 종료, VPS 장애 상황을 가정했는가
- 브로커의 최소 주문 수량, 스프레드, 수수료, 스왑 비용을 확인했는가
- 자동매매 버튼과 EA별 거래 허용 설정을 이해했는가
시스템 트레이딩은 "한 번 만들어 두면 끝"이 아니라 운영입니다. 전략 코드, 실행 환경, 브로커 조건, 리스크 한도를 계속 점검해야 합니다.
다음 포스팅 예고
다음 글에서는 Infinox로 CFD 계좌를 만드는 방법을 다룹니다. 단순 가입 절차만 정리하지 않고, CFD 계좌를 만들기 전에 확인해야 할 레버리지 위험, 실계좌와 데모계좌의 차이, MT5 서버 연결, 자동매매를 시작하기 전 체크리스트까지 함께 정리하겠습니다.