[이전 글]
2021/01/22 - [OpenAPIs For Trading] - 키움증권 OpenAPI - (016) 이후 몇 가지를 생략해볼까요?
[그리고 계속]
앞서 예고 드린대로,
이제는 실제 주문과 관련된 작업들을 진행해봅니다.
추가가 필요한 TR 이 있으면 그때그때 추가하면서 가도록 하지요.
일단, 신규주문 버튼을 만들어서 실행해보니, 역시 장중이 아닐 땐 위와 같은 에러 메시지가 나옵니다.
그래서, 오늘 장중에 프로그램을 실행해 보았습니다.
일단 특정종목을 거래하려면, 해당종목의 실시간 체결가격(현재가)을 알아야겠지요?
이를 위해서는 SetRealReg 이라는 함수를 사용합니다.
예제로 알아보기 쉽게 쓰면,
=======================================
axKHOpenAPI1.SetRealReg("9000", "267980", "10;13", "0");
"9000" : 화면번호
"267980" : 종목코드 - 매일유업
"10;13" : 실시간 요청정보 10 - 체결가격(현재가), 13 - 누적거래량
"0" : 신규등록 구분
=======================================
위에서 "9000"은 왜 필요하냐면,
실시간 정보가 들어오는 창구는 하나이기 때문에,
여러 가지의 종목 혹은 정보를 나누어 받고자 할 때 구분하기 위해 필요한 값이라고 생각하시면 됩니다.
"267980" 은 매일유업의 종목코드입니다.
이건 일부러 거래가 적은 종목을 선택한 것입니다.
만약 삼성전자처럼 거래가 엄청 많은 종목을 선택하면, 화면의 넘김(스크롤)이 너무 빨라서 캡쳐가 어렵고
버퍼가 초과될 수도 있는 이상한 걱정(?)에 그냥 관습적(?)으로 매매가 적은 종목을 선택한 겁니다.
키움증권에서 제공한 API 개발 가이드에 나온 내용중 일부입니다.
"10;13" 으로 적은 것은 실시간으로 어떤 정보를 받고 싶은지 적는 것이기 때문에
FID = 10, 13 을 선택하고 저렇게 적습니다. 더 추가해도 돼요. 나중엔 그렇게 만들 거구요.
그림 2를 다시 붙여볼까요?
실시간 FID 2 종류만 요청했을뿐인데도 정보가 넘쳐납니다.
정리가 필요해요.
아무튼, 신규주문 테스트도 했으니 결과를 보죠.
"[00Z112] 모의투자 정상처리 되었습니다"
모의투자에서 신규주문이 잘 접수가 되면, 위와 같은 메시지가 나옵니다.
어 그리고 [내역]에 모르는 숫자들이 막 찍히네요? 9201 9203 9205 9001 912 이런 것들이 뭐죠?
아하!
"주문체결정보"였네요. 그러면 그걸 까서 보는 함수가 필요하겠죠?
뭐 이런 식으로 내용을 까볼 수 있겠습니다.
그러면,
[9201] 은 모의계좌라 할지라도 개인정보니까 지우고요.
"[302]매일유업" 찾으셨나요? 매일유업 종목이 맞네요.
저렇게 주문이 접수된 것을 확인할 수 있게 됩니다.
그림 7 을 보시면, 신규주문에 대한 체결결과도 볼 수 있죠.
이제 이런 정보를 바탕으로 실제로 간단한 자동매매를 만들어볼 수도 있을 것 같습니다?
수익이 잘 날까? 하는 것은 두 번째 문제입니다.
우리는 발상의 전환이 필요합니다.
왜냐구요?
아무리 머리를 써도 거의 대부분 수익이 안 나니까 너무 고민하지 마세요?
'OpenAPIs For Trading' 카테고리의 다른 글
키움증권 OpenAPI - (018) 주식시장 개장시각은 어떻게 판단할까? (0) | 2021.01.28 |
---|---|
텔레그램봇 UI #001. 자동매매 프로그램에 묻는다. 넌 누구냐? (0) | 2021.01.25 |
키움증권 OpenAPI - (016) 이후 몇 가지를 생략해볼까요? (0) | 2021.01.22 |
키움증권 OpenAPI - (015) TR = opt10010, 프로그램매매가 뭐냐고 매번 질문을 받게 됩니다. (0) | 2021.01.21 |
키움증권 OpenAPI - (014) TR = opt10009, 주식기관 (0) | 2021.01.21 |