← 모든 튜토리얼
MT5 API · 4:25

WebSocket으로 MT5 시세 받기

연결, 구독, 틱 확인, 연결 종료.

단계별 설명

  1. 0:00

    WebSocket으로 MT5 시세 받기

    이 튜토리얼에서는 WebSocket으로 메타트레이더 파이브의 실시간 시세를 받습니다. 데모 계좌에 연결하고 종목을 구독한 뒤 실제 메시지를 읽어 보겠습니다. 마지막에는 구독을 중지하고 터미널 연결도 종료합니다.

  2. 0:20

    API 콘솔 열기

    엠티 파이브 점 엠알피씨 점 프로를 엽니다. 콘솔이 자동으로 열립니다. 연결 메서드에서 Connect Ex를 선택하세요. 이번 튜토리얼은 시세만 조회하며 거래를 열거나 닫지 않습니다.

  3. 0:38

    데모 계좌 연결

    Trial 또는 자신의 API 키를 사용하세요. 전용 데모 계좌 로그인과 거래 비밀번호, 브로커의 정확한 서버 이름을 입력합니다. 새 연결이므로 선택 항목인 id는 비워 둔 채 요청을 실행하세요. 인증 정보는 공개하지 마세요.

  4. 1:01

    터미널 id 보관

    Connect Ex에서는 HTTP 상태 코드 이백을 확인한 다음 JSON 응답을 확인합니다. error에 오류가 있으면 먼저 상세 내용을 읽으세요. 성공하면 data에 terminal Instance Guid가 반환됩니다. 콘솔은 후속 요청에 사용할 id를 저장하고 연결됨 상태를 표시합니다.

  5. 1:27

    종목 선택

    구독 항목에서 On Symbol Tick을 선택합니다. 연결에서 받은 id를 유지하세요. symbol Names에는 브로커의 정확한 종목 이름을 입력합니다. 여기서는 EURUSD입니다. 브로커마다 접미사나 이름이 다를 수 있습니다. 스트림 연결 버튼을 누르세요.

  6. 1:52

    실시간 시세 확인

    연결됨 표시는 WebSocket이 열렸다는 뜻입니다. 틱이 들어올 때마다 시세 카드가 갱신됩니다. 수신 프레임은 실제 서버 메시지입니다. HTTP 요청을 반복하는 것이 아니라 연속 데이터 스트림입니다. 메시지마다 error를 먼저 확인한 뒤 data 점 symbol Tick을 읽으세요.

  7. 2:17

    bid와 ask 이해하기

    symbol Tick의 symbol은 종목을 나타냅니다. Bid는 매도 호가, ask는 매수 호가이며 두 값의 차이가 스프레드입니다. 이 값은 시세이지 거래 체결 확인이 아닙니다. 브로커가 해당 종목의 최근 거래 데이터를 제공하지 않으면 last와 volume은 영일 수 있습니다.

  8. 2:41

    UTC 시간 사용

    여러 시스템에서 시간을 일치시키려면 time U T C를 사용하고, 밀리초 값은 time M S C U T C를 사용하세요. 이 화면에서는 브로커 시간이 명시적인 UTC 시간보다 두 시간 빠릅니다. 문자열 끝에 Z가 있어도 브로커 시간을 그대로 UTC로 해석하지 마세요. 프레임 수신 시간은 별도입니다.

  9. 3:06

    JavaScript 예제

    JavaScript 예제는 보안 WebSocket 주소와 같은 종목을 사용합니다. 브라우저 WebSocket은 사용자 지정 인증 헤더를 설정할 수 없어 API 키와 터미널 id를 URL 쿼리로 전달합니다. 전체 URL을 공개하지 마세요. JSON을 분석하고 error를 먼저 처리한 다음 틱과 UTC 시간을 읽습니다.

  10. 3:35

    구독 중지

    끝나면 스트림 패널의 연결 해제를 누르세요. 코드에서는 WebSocket을 닫습니다. 구독은 종료되지만 터미널 연결 해제는 별도 작업입니다. 새 메시지가 없다고 반드시 오류는 아닙니다. 연결 상태, 종목 이름, 브로커의 시세 제공 여부를 확인하세요.

  11. 4:00

    터미널 연결 종료

    Disconnect를 선택하고 같은 터미널 id로 요청을 실행합니다. HTTP 상태 코드 이백과 error 필드를 확인하세요. 이 성공 응답에는 터미널 식별자와 실행 시간이 포함되며 상단 상태가 연결 해제로 바뀝니다. 구독과 터미널 세션이 모두 종료되었습니다.