더북(TheBook)

5.7.3 매도 주문 접수

check_sell_signal은 보유 종목이 매도 조건에 해당하는지 판별하는 역할을 했는데, 이후에는 매도 조건 확인 결과에 따라 매도 주문을 접수해 보겠습니다.

매도 주문 접수 함수가 위치할 곳은 run 함수에서 매도 조건을 확인한 다음이며, 매도 주문을 하려고 만든 함수라는 것을 유추할 수 있도록 함수명을 order_sell로 지었습니다.

RSIStrategy.py

(...)
def run(self):
    while self.is_init_success:
        try:
            if not check_transaction_open():
                print("장시간이 아니므로 5분간 대기합니다.")
                time.sleep(5 * 60)
                continue

            for idx, code in enumerate(self.universe.keys()):
                print('[{}/{}_{}]'.format(idx+1,
                      len(self.universe), self.universe[code]['code_name']))
                time.sleep(0.5)

                if code in self.kiwoom.order.keys():
                    print('접수 주문', self.kiwoom.order[code])

                    if self.kiwoom.order[code]['미체결수량'] > 0:
                        pass

                elif code in self.kiwoom.balance.keys():
                    print('보유 종목', self.kiwoom.balance[code])
                    if self.check_sell_signal(code):
                        self.order_sell(code) ------ 매도 대상이면 매도 주문 접수
        except Exception as e:
            print(traceback.format_exc())
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.