CYBOS Plus

전체

self.concdic "거부" 관련 문의 사항

작성일
2024-05-09 오후 3:03:42
조회수
36
파이썬
운영
권**
오류 메시지
[파이썬] 주식 주문 체결 실시간 처리 예제

# 거부: 정정/취소 주문 > 거부 ;==> 정정/취소 주문 거부, 정정/취소 불가
elif conflags == "거부":
if self.orderStatus == orderStatus.modifyOrder or self.orderStatus == orderStatus.cancelOrder:
print("주문거부 발생, 반드시 확인 필요")
self.orderStatus = orderStatus.newOrder # 주문 상태를 이전으로 돌림

# for debug
history = orderHistoryData()
history.sethistory(conflags, code, price, amount, 0, ordernum, "")
self.history.append(history)
history.printhistory()
"[파이썬] 주식 주문 체결 실시간 처리 예제"에서 거부 관련 일부러 발생 시겨 확인 하려고 하는데 어떤 경우에 거부가 발생 되는지 문의 드립니다.
conclusion부분에 일부러 상한가 범위를 넘어 매도 진행 하였으나 통신에서 -1을 리턴하고 conflag에 '거부'를 하지 않고 그냥 통신상태 -1만 리턴 하는데 궁금한 점이 어떤 상황에서 conflag에 '거부' 를 리턴하는지가 궁금합니다. 만드는 목적은 history data를 wirte할 목적입니다.
상황 별 예시로 설명 해 주시면 감사하겠습니다.

<일부러 err 발생 후 datalog>
미체결 ordernum: 16685
정정주문 16685 A406820 24000
통신상태 -1 주문단가가 상,하한가 범위를 넘었습니다.[A406820][24000]

<conclusion 코딩 부분>
elif self.name == "conclution": # 주문 체결 실시간 업데이트
self.rpMst.conflag = self.client.GetHeaderValue(14) # 체결 플래그
self.rpMst.ordernum = self.client.GetHeaderValue(5) # 주문번호
self.rpMst.amount = self.client.GetHeaderValue(3) # 체결 수량
self.rpMst.price = self.client.GetHeaderValue(4) # 가격
self.rpMst.code = self.client.GetHeaderValue(9) # 종목코드
self.rpMst.bs = self.client.GetHeaderValue(12) # 매수/매도 구분
self.rpMst.balance = self.client.GetHeaderValue(23) # 체결 후 잔고 수량
self.rpMst.orderstatus = self.client.GetHeaderValue(16) # 정정/취소 구분코드 string 형식 (1 정상, 2 정정 3 취소)
print('orderstatus:', type(self.rpMst.orderstatus), self.rpMst.orderstatus, self.rpMst.balance, 'conflag:', self.rpMst.conflag)
첨부파일
의견(0)

첨부파일을 PDF뷰어로 확인 하실수 있으며, PDF뷰어 미설치 고객께서는 우측 다운로드를 통해 설치 후 이용 가능 합니다.

PDF뷰어 다운로드

인쇄