โ† 모든 튜토리얼
MT5 API ยท 4:45

거래 메서드 오류 처리

체결, 대기 주문, 브로커 거부를 구분하세요. 다음 거래 전에 결과를 확인하세요.

단계별 설명

  1. 0:00

    거래 메서드 오류 처리

    이 영상에서는 MT5 거래 결과와 오류를 해석하는 방법을 설명합니다. 전체 체결, 부분 체결, 대기 주문, 브로커 거부, 결과가 불확실한 상황을 구분합니다.

  2. 0:17

    거래 메서드의 가이드 열기

    엠티 파이브 점 엠알피씨 점 프로를 열고 거래 도우미에서 Order Send를 선택합니다. 코드 예제 아래의 결과 가이드를 펼치세요. 다른 거래 메서드는 그 메서드의 가이드를 확인합니다.

  3. 0:35

    1. HTTP 상태 코드 확인

    먼저 HTTP 상태 코드를 확인하세요. HTTP 상태 코드 이백은 API가 요청을 받고 응답을 반환했다는 뜻입니다. 이어서 JSON 본문을 읽습니다. 다른 상태 코드라면 HTTP 오류와 응답 본문부터 확인하세요.

  4. 0:58

    2. error와 브로커 오류 확인

    error가 null이 아니면 errorCode와 errorMessage를 읽습니다. mqlErrorTradeIntCode와 설명이 있다면 함께 확인하세요. 브로커 거부가 이 오류 구조로 반환될 수도 있으므로, 실제 코드에 따라 조치합니다.

  5. 1:18

    3. 브로커의 결과 읽기

    거래 요청이 HTTP 상태 코드 이백이고 API 오류가 없다면 브로커에 요청이 제출된 것입니다. 하지만 체결을 의미하지는 않습니다. data의 returnedCode와 returnedStringCode, 해당 메서드의 결과를 읽으세요.

  6. 1:40

    시장가 주문: 전체 또는 부분 체결

    시장가 Buy 또는 Sell에서 만 구 Done은 완료, 만 십 Done Partial은 부분 체결을 뜻합니다. 체결 수량과 가격, 거래 내역을 확인하고, 열린 포지션과 기록에서 나머지 수량의 상태를 확인하세요.

  7. 2:00

    대기 주문 등록과 체결은 다릅니다

    시장가 주문의 만 팔 Placed는 실행을 접수한 상태로, 아직 체결 확인은 아닙니다. 대기 주문에서 Placed 또는 Done은 등록 완료를 뜻합니다. data의 order를 저장하고 Opened Orders를 확인하세요. 주문은 여전히 발동 가격을 기다립니다.

  8. 2:23

    시장 폐장은 브로커의 거부 결과

    error가 없어도 data에 브로커의 거부 결과가 담길 수 있습니다. 만 십팔은 시장이 닫혀 있다는 뜻이므로 해당 종목의 거래 시간까지 기다리세요. data의 존재가 아니라 반환 코드를 보고 결과를 판단합니다.

  9. 2:43

    구체적인 원인 수정

    자금이 부족하면 수량을 줄이거나 필요한 가용 증거금을 확보합니다. 스톱 값이 잘못되었다면 가격과 거리를 수정합니다. 수량 오류라면 종목이 허용하는 범위와 단위를 사용합니다. 호가가 없다면 새 호가를 기다립니다. 가이드는 코드와 조치를 함께 보여 줍니다.

  10. 3:09

    시간 초과 후에는 상태 확인

    거래 시간 초과나 브로커 연결 끊김은 결과가 불확실할 수 있습니다. 다시 제출하기 전에 주문, 포지션, 기록을 확인해 중복 거래를 방지하세요. 같은 브로커 코드가 data의 returnedCode 또는 error의 mqlErrorTradeIntCode에 나타날 수 있습니다.

  11. 3:34

    청산과 수정은 각각의 규칙 적용

    Order Close는 청산 결과와 남은 포지션을 확인합니다. 부분 청산이면 수량이 남습니다. Order Modify의 Done은 수정 완료, No Changes는 요청한 값이 이미 설정되어 있다는 뜻입니다. Order Send의 규칙을 모든 거래 메서드에 적용하지 마세요.

  12. 3:58

    사전 검사는 주문을 보내지 않습니다

    Order Check는 Order Send와 다릅니다. data의 mqlTradeCheckResult 안에 있는 반환 코드와 설명을 읽으세요. 영과 Done은 사전 검사 통과이지만 주문이 생성되지는 않습니다. 거래를 별도로 제출하고 실행 결과를 확인해야 합니다.

  13. 4:22

    거래 확인의 세 단계

    모든 거래에서 HTTP 상태 코드, error, 해당 메서드의 브로커 결과를 확인하세요. 주문, 거래, 포지션 식별자를 필요에 맞게 보관합니다. 시간 초과나 연결 중단 후에는 계좌 상태부터 확인하고 재전송 여부를 결정하세요.