MetaTrader API라는 말은 한 가지를 가리키지 않습니다. MQL 언어의 내장 함수를 뜻할 때도 있고, 터미널 밖에서 계좌를 다루는 외부 인터페이스를 뜻할 때도 있습니다. 자동매매를 만들려는 사람에게 중요한 것은 후자입니다.

한 문장 정의

MetaTrader API는 MT4·MT5 거래 계좌를 프로그램으로 조회하고 주문할 수 있게 해주는 인터페이스입니다. 계좌 잔고와 포지션을 읽고, 주문을 넣고 수정하고 닫고, 시세와 체결을 실시간으로 받는 것 — 이 네 가지가 핵심 기능입니다.

왜 별도의 API가 필요한가

MetaQuotes는 MT4·MT5를 만든 회사이지만, 외부 개발자가 계좌에 접근할 수 있는 공개 API를 제공하지 않습니다. 공식적으로 열려 있는 경로는 두 개뿐입니다.

  • MQL4/MQL5: 터미널 안에서 실행되는 EA나 인디케이터를 작성하는 언어입니다. 터미널이 켜져 있어야 동작합니다.
  • MT5용 파이썬 패키지: MT5 터미널이 같은 컴퓨터에 설치되어 실행 중일 때 그 터미널과 통신합니다. 여전히 터미널이 필요하고, MT4는 지원하지 않습니다.

두 경로 모두 ‘터미널이 켜져 있어야 한다’는 조건이 붙습니다. 서버에서 돌아가는 웹 서비스를 만들려는 사람에게 이 조건은 곧 VPS 임대와 프로세스 관리로 이어집니다. 그래서 터미널 관리를 대신 맡고 HTTP로 계좌를 열어주는 서드파티 계층이 생겼습니다.

어떻게 동작하는가

구조는 단순합니다. 서비스 제공자 쪽 인프라에서 MT 터미널 연결을 유지하고, 그 앞에 REST와 WebSocket 인터페이스를 둡니다. 개발자는 HTTP 요청만 보냅니다.

내 코드 ──HTTPS──▶ API 계층 ──MT 프로토콜──▶ 브로커 서버
        ◀─JSON──         ◀─WebSocket 푸시─

계좌 연결은 한 번만 등록하면 되고, 이후에는 발급된 계좌 ID로 호출합니다. 내 서버에 MetaTrader를 설치하지 않고, 운영체제도 자유롭게 고를 수 있습니다.

무엇을 조회하고 무엇을 실행할 수 있는가

  • 계좌: 잔고, 순자산, 마진, 여유 증거금, 레버리지
  • 포지션·주문: 보유 포지션 목록, 대기 주문, 체결 내역
  • 주문 실행: 시장가·지정가 진입, 손절·익절 설정, 수정, 부분 청산, 전량 청산
  • 시세: 심볼 시세, 사용 가능한 심볼 목록과 계약 규격
  • 실시간 구독: 시세 변동, 주문 상태 변경, 순자산 변동 푸시

무엇을 할 수 없는가

솔직하게 정리하는 편이 낫습니다.

  • 차트 위에 그리기는 안 됩니다. 터미널 화면에 선이나 화살표를 표시하는 것은 MQL 인디케이터의 영역입니다.
  • MT 내장 전략 테스터를 그대로 쓸 수 없습니다. 백테스트는 직접 만들거나 다른 도구를 씁니다.
  • 틱 단위 초저지연 경쟁에서는 네트워크 구간이 하나 더 있는 만큼 불리합니다.
  • 계좌 개설은 브로커의 일입니다. API 제공자는 자금을 예치받지 않습니다.

누가 이걸 쓰는가

실제 사용 형태는 대체로 다음과 같습니다.

  1. 트레이딩뷰 신호를 받아 주문을 실행하는 서버 — 구조 보기
  2. 여러 계좌의 잔고와 성과를 모으는 대시보드 — 구조 보기
  3. 리더 계좌를 팔로어 계좌에 반영하는 카피 트레이딩 — 구조 보기
  4. 프랍 챌린지 계좌의 손실 한도 감시 — 구조 보기
  5. 브로커의 고객 계좌를 CRM과 연결하는 백오피스 — 구조 보기

시작하려면

데모 계좌를 하나 만들고, 계좌 요약 조회 → 시장가 주문 한 건 → 포지션 확인의 세 번 호출을 손으로 해보는 것이 가장 빠릅니다. 이 세 번이 성공하면 나머지는 익숙한 프로그래밍 문제입니다. 한국에서의 연결 순서와 결제 조건은 한국 사용자 안내에, 요금 기준은 요금제에 정리해 두었습니다.

자주 묻는 질문

MetaTrader에 공식 REST API가 있나요?

없습니다. MetaQuotes는 외부 개발자용 공개 API를 제공하지 않으며, MQL로 EA를 작성하거나 MT5 터미널과 통신하는 파이썬 패키지를 쓰는 경로만 공식적으로 열려 있습니다. 두 경로 모두 터미널 실행이 전제입니다.

MetaTrader API로 계좌를 개설할 수 있나요?

아닙니다. 계좌는 MT4·MT5를 제공하는 브로커에서 개설하고, API는 그 계좌에 접근하는 기술 인터페이스만 제공합니다.

MT4·MT5 계좌를 코드로 연결하기

계정을 만들고 API 키를 받으면 30분 안에 첫 계좌 조회와 주문을 실행할 수 있습니다.

계정 만들기 → API 문서 보기