본문 바로가기
파이썬으로 웹 App 작성하기/파이썬으로 주식 해보기

PYTHON과 대신증권 API를 이용한 주식 자동화 입문(2)

by Slate_Knowledge 2020. 3. 16.
728x90

원래는 Cybos Plus API를 사용하기 위한 이런저런 삽질기를 작성하려고 했지만, 크레온 API 예제들은 훌륭히 동작하는 것을 발견했다! 

https://money2.creontrade.com/e5/mboard/ptype_basic/plusPDS/DW_Basic_Read.aspx?boardseq=299&seq=56&page=2&searchString=%ec%a3%bc%eb%ac%b8&prd=&lang=&p=8833&v=8639&m=9505

 

크레온플러스자료실 - 크레온

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

money2.creontrade.com

위 링크의 코드를 그대로 복사한 다음 위젯부분을 제거하고

class OrderMain() :
    def __init__(self):
        self.isSB = False   # 실시간 처리        
        self.initOrder()    # 주문 상태 - 초기화
 
        self.sprice = stockPricedData()  # 주문 현재가/10차 호가 저장 (실시간 업데이트)
        self.cporder = CpRPOrder()    # 주문 통신 object
 
        # 실시간 통신 object
        self.cur = CpPBStockCur()
        self.bid = CpPBStockBid()
 
        # 주문체결은 미리 실시간 요청
        self.conclution = CpPBConclusion()
        self.conclution.Subscribe(self)
 
        self.history = []

원래 이렇게 생긴 OrderMain __init__을 

class OrderMain():
    def __init__(self, code):
        self.code = code
        self.scode = win32com.client.Dispatch("CpUtil.CpStockCode")
        print(self.scode.CodeToName(code))
        self.isSB = False  # 실시간 처리
        self.initOrder()  # 주문 상태 - 초기화

        self.sprice = stockPricedData()  # 주문 현재가/10차 호가 저장 (실시간 업데이트)
        self.cporder = CpRPOrder()  # 주문 통신 object

        # 실시간 통신 object
        self.cur = CpPBStockCur()
        self.bid = CpPBStockBid()

        # 주문체결은 미리 실시간 요청
        self.conclusion = CpPBConclusion()
        self.conclusion.Subscribe(self)

        self.history = []

이렇게 살짝 바꿔서 내가 원하는 주식 종목에 대해 주문을 할 수 있게 한 다음. 메인 함수에서

samsung = OrderMain(code="A005930")
samsung.BuyOrder(amount=10)

이런식으로 불러준다.

**모의투자 장 또한 정규 주식장과 똑같은 시간에 열린다. 따라서 시간 외에 위 코드를 돌리면

위와 같이 에러가 뜨게 된다. 주문 실패!

728x90
반응형

댓글