반응형
✅ STEP 3-1: 실시간 체결 데이터 수신하기
📌 실시간 종목 등록
vb.net
axKH.SetRealReg("1001", "005930", "10;20;21", "0")
- "10" = 현재가, "20" = 체결량, "21" = 체결강도
📌 실시간 이벤트 수신 처리
vb.net
Private Sub axKH_OnReceiveRealData(sender As Object, e As _DKHOpenAPIEvents_OnReceiveRealDataEvent) Handles axKH.OnReceiveRealData
If e.sRealType = "주식체결" Then
Dim price = axKH.GetCommRealData(e.sRealKey, 10) ' 현재가
Dim volume = axKH.GetCommRealData(e.sRealKey, 15) ' 거래량
lstLog.Items.Add($"체결 ▶ {e.sRealKey} / 가격: {price} / 수량: {volume}")
End If
End Sub
✅ STEP 3-2: 매수 / 매도 주문 실행하기
📌 기본 주문 함수
vb.net
axKH.SendOrder("주문1", "1002", "계좌번호", 1, "005930", 10, 0, "03", "")
- "1" = 신규 매수, "2" = 신규 매도
- "03" = 시장가, "00" = 지정가
- 마지막 ""은 조건주문용이지만 빈칸으로 둠
✅ STEP 3-3: 잔고 및 주문체결 내역 조회
📌 잔고 요청
vb.net
axKH.SetInputValue("계좌번호", "12345678")
axKH.SetInputValue("비밀번호", "0000")
axKH.CommRqData("잔고요청", "opw00018", 0, "2000")
📌 주문체결 결과 받기
vb.net
Private Sub axKH_OnReceiveChejanData(...) Handles axKH.OnReceiveChejanData
Dim stock = axKH.GetChejanData(9001) ' 종목코드
Dim price = axKH.GetChejanData(910) ' 체결단가
Dim qty = axKH.GetChejanData(911) ' 체결수량
lstLog.Items.Add($"체결 완료 ▶ {stock} / 단가: {price} / 수량: {qty}")
End Sub
✅ STEP 3-4: 조건식 트리거로 자동매수 연결하기
📌 조건식 연동 이벤트
vb.net
Private Sub axKH_OnReceiveRealCondition(...) Handles axKH.OnReceiveRealCondition
If e.strType = "I" Then ' 종목 진입
axKH.SendOrder("자동매수", "3000", "12345678", 1, e.sTrCode, 1, 0, "03", "")
lstLog.Items.Add($"조건 충족 ▶ {e.sTrCode} 매수 주문")
End If
End Sub
🧠 단계 요약: 실전 자동화 로직 구성
기능핵심 메서드설명
실시간 체결 수신 | SetRealReg, OnReceiveRealData | 종목 실시간 모니터링 |
주문 실행 | SendOrder | 시장가, 지정가 주문 가능 |
주문 체결 수신 | OnReceiveChejanData | 체결된 주문 콜백 수신 |
잔고 조회 | CommRqData("opw00018") | 현재 보유 종목 및 수익 확인 |
조건식 자동매매 | OnReceiveRealCondition, SendOrder | 조건식 충족 시 자동 주문 실행 |
반응형