CYBOS Plus

전체

Re : CpTdNew5331A 반환값

작성일
2022-09-29 오후 1:20:53
조회수
160
파이썬
운영
관**
오류 메시지
GetHeaderValue 반환값이 이상하게 들어옵니다.

안녕하세요. Plus 담당자입니다.

1.

값을 채운 후 반드시 blockreqest() 함수를 호출해야 합니다 

objCpTdNew5331A.BlockRequest()  가 빠져 있습니다.


2. 

서비스 정상 여부 체크가 빠져 있습니다 

        objCpTdNew5331A.BlockRequest()
        rqStatus = objCpTdNew5331A.GetDibStatus()
        rqRet = objCpTdNew5331A.GetDibMsg1()
        print("통신상태", rqStatus, rqRet)


3. 

6 번 항목은 char 형으로 ord('2') 와 같이 입력해야 합니다 

objCpTdNew5331A.SetInputValue(6, ord('2') )






감사합니다. 오늘도 좋은 하루되세요.

==================================================
<코드>
================================================-
objTrade = win32com.client.Dispatch("CpTrade.CpTdUtil")
acc = objTrade.AccountNumber[0] # 계좌번호
accFlag = objTrade.GoodsList(acc,1) # 주식상품구분
objCpTdNew5331A.SetInputValue(0, acc)
objCpTdNew5331A.SetInputValue(1, accFlag[0])
objCpTdNew5331A.SetInputValue(2, code)
objCpTdNew5331A.SetInputValue(3, "03")
objCpTdNew5331A.SetInputValue(4, int(sprice.cur))
objCpTdNew5331A.SetInputValue(5, 'Y')
objCpTdNew5331A.SetInputValue(6, '2')

print("acc:",acc)
print("accFlag:",accFlag)
print('code:',code)
print("cur:",sprice.cur) #sprice.cur : 현재가를 저장하고있음. 아래출력에서 결과확인가능
print("type(cur):",type(sprice.cur))
buyamount = objCpTdNew5331A.GetHeaderValue(18)
print("amount:",buyamount)

for i in range(0,55):
print("{}: {}".format(i,objCpTdNew5331A.GetHeaderValue(i)))
================================================-


<출력>
================================================-
acc: ####제계좌번호 9자리 제대로 출력됩니다.####
accFlag: ('01',)
code: A006220
cur: 10050
type(cur): <class 'int'>
amount: 842289739
0: 35729|셀트리
1: 온 C 202212 235,300( 10)*|C 202212 235,300(
2: 32
3: 0
4: -9223372036854775808
5: -9223372036854775808
6: 0
7: 0
8: -9223372036854775808
9: -9223372036854775808
10: 0
11: -574349118
12: 909254706
13: 840975228
14: 538976306
15: 674246713
16: 1400646185
17: 808596016
18: 842289739
19: -9223372036854775808
20: 0
21: 0
22: 0
23: 0
24: 0
25: 0
26: 825373232
27: 741618994
28: 808525856
29: 2083600252
30: 942684217
31: 538999856
32: 538976288
33: 538976288
34: 2082480160
35: 0
36: 875575097
37: 0
38: 808591427
39: 0
40: 539504688
41: 0
42: 538980913
43: 0
44: 2083137840
45: -9223372036854775808
46: -9223372036854775808
47: 0
48: -9223372036854775808
49: -9223372036854775808
50: 0
51: 2
52: 0
53: 0
54: 0
================================================-

<질문>
다른 코드에서 매도/매수 가능 수량을 가져오는 기능을 구현하다가 뭔가 이상하다싶어서
CpTdNew5331A 테스트하는 코드를 써보았습니다.

============
0: A006220
1: 셀트리온
...
============

위와같이 출력될것이라고 예상했으나 이상한 값이 반환되어 출력되었습니다.
대신증권 서버에서 오류가 난 것일까요?

첨부파일
의견(0)

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

PDF뷰어 다운로드

인쇄