반응형


        [개요]

        키움OpenAPI를 이용하면 국내주식과 코스피200 지수선물/옵션, 주식선물을 거래할 수 있습니다.

        상품별로 전용 주문함수가 있으며 국내주식 주문의 경우 SendOrderCredit()함수를 이용해서 대주를 제외한 신용주문도 지원합니다.

        정정주문은 원주문에 대한 수량정정과 가격정정만 가능하며 거래구분을 변경하는 정정주문은 지원하지 않습니다.

        

        [주문]

        주문을 내면 OnReceiveTRData(), OnReceiveMsg(), OnReceiveChejan()이벤트 함수가 차례로 호출됩니다.

        OnReceiveTRData()이벤트 함수는 주로 조회요청후 호출되는 함수이지만 주문시에도 호출되는데 이 이벤트내부에서 주문번호를

        얻어올 수 있습니다.그런데 만일 주문이 실패하게 되면 주문번호는 공백("")으로 전달됩니다.

        상품별 주문함수는 리턴값이 0(성공)이여도 장 개시전 주문이나 호가범위를 벗어난 주문등 주문이 실패할 경우는 다양합니다.

        

        보유하고 있는 현금을 넘는 수량으로 주문한 경우 자동으로 미수로 계산되므로 [0398] 계좌증거금률 변경등록 화면을 통해 

        100%현금 주문만 가능하도록 설정할 수도 있습니다.

        이러한 경우에도 적은 비용에 대해선 비수발생가능 하며 자세한 내용은 해당화면 설명을 참고하시기 바랍니다.

        미수거래는 주문매체별로 설정 할 수 있는 것이 아니라 계좌별로 설정가능한 것이라서 키움OpenAPI에서도 가능한 점 알려드립니다.


        [주문제한]

        국내 주식주문과 국내 주식신용주문, 선물옵션주문은 모두 1초당 5회로 제한 됩니다.

        

        [주문체결, 잔고]

        주문과 관련한 이벤트 함수는 OnReceiveMsg(), OnReceiveTRData(), OnReceiveChejan()이렇게 3개입니다.

        OnReceiveMsg()이벤트 함수는 주문성공, 실패 메시지를 코드와 함께 전달하므로 상세한 내용을 파악할 수 있습니다.

        OnReceiveTRData()이벤트 함수는 주문후 호출되며 주문번호를 얻을수 있습니다.만약 이 이벤트 함수에서 주문번호를 얻을수 없으면

        해당 주문은 실패한 것입니다.

        마지막으로 소개할 OnReceiveChejan()이벤트 함수는 주문접수, 체결, 잔고발생시 호출되며 이 이벤트 함수를 통해 대부분의 주문관련

        정보를 얻을 수 있습니다.

        

        주문요청에 대한 응답은 주문접수, 주문체결, 잔고수신 순서로 진행됩니다.이때 주문번호는 처음 접수됬을때 한번 부여되지만 

        체결번호는 체결될때 마다 체번되서 전달됩니다. 이상의 과정을 간단히 정리하면 다음과 같습니다.

        

        주문 ---> 접수 ---> 체결1 ---> 잔고1  ---> 체결2  ---> 잔고2... ---> 체결n  ---> 잔고n

        

        주문에 대한 자세한 내용은 OnReceiveChejanData()이벤트 함수가 호출될때 전달되는 sGubun값, sFidList값을 이용하는데 

        sGubun값은 접수와 체결시 '0'값, 잔고전달은 '1'값을 가지게 됩니다. 이값에 따라 ';'로 연결된 sFidList값도 달라지는데 이 값을

        파싱해서 GetChejanData()함수호출시 인자로 사용하시면 보다 상세한 내용을 얻을 수 있습니다.

        

        [OnReceiveChejan()이벤트 함수로 전달되는 FID목록정리]

        

        "9201" : "계좌번호" 

        "9203" : "주문번호" 

        "9001" : "종목코드" 

        "913" : "주문상태" 

        "302" : "종목명" 

        "900" : "주문수량" 

        "901" : "주문가격" 

        "902" : "미체결수량" 

        "903" : "체결누계금액" 

        "904" : "원주문번호" 

        "905" : "주문구분" 

        "906" : "매매구분" 

        "907" : "매도수구분" 

        "908" : "주문/체결시간" 

        "909" : "체결번호" 

        "910" : "체결가" 

        "911" : "체결량" 

        "10" : "현재가" 

        "27" : "(최우선)매도호가" 

        "28" : "(최우선)매수호가" 

        "914" : "단위체결가" 

        "915" : "단위체결량" 

        "919" : "거부사유" 

        "920" : "화면번호" 

        "917" : "신용구분" 

        "916" : "대출일" 

        "930" : "보유수량" 

        "931" : "매입단가" 

        "932" : "총매입가" 

        "933" : "주문가능수량" 

        "945" : "당일순매수수량" 

        "946" : "매도/매수구분" 

        "950" : "당일총매도손일" 

        "951" : "예수금" 

        "307" : "기준가" 

        "8019" : "손익율" 

        "957" : "신용금액" 

        "958" : "신용이자" 

        "918" : "만기일" 

        "990" : "당일실현손익(유가)" 

        "991" : "당일실현손익률(유가)" 

        "992" : "당일실현손익(신용)" 

        "993" : "당일실현손익률(신용)" 

        "397" : "파생상품거래단위" 

        "305" : "상한가" 

        "306" : "하한가"

        



반응형

+ Recent posts