아미(아름다운미소)

미체결 날짜형식을 현재시간과 비교해서 1분 경과시 주문취소 본문

랭귀지/python

미체결 날짜형식을 현재시간과 비교해서 1분 경과시 주문취소

유키공 2024. 8. 25. 12:28
import time
from datetime import datetime, timedelta
from PyQt5.QtCore import QThread

class KiwoomAPI(QThread):
    def __init__(self):
        super().__init__()
        self.orders = []  # 미체결 주문을 저장할 리스트
        
        # 현재 날짜를 가져오고 시간만 추가
        current_date = datetime.now().strftime("%Y%m%d")
        self.orders.append({'id': '0082240', 'date': f'{current_date} 090844', 'type': '+매수'})  # 예제 주문 추가

    def run(self):
        self.get_unexecuted_orders()  # 미체결 주문 조회
        self.check_and_cancel_buy_orders()  # 매수 주문 취소 체크

    def get_unexecuted_orders(self):
        # 여기에 미체결 주문을 조회하는 코드 추가
        # self.orders에 미체결 주문을 추가 (현재는 예제 주문이 추가되어 있음)
        pass

    def check_and_cancel_buy_orders(self):
        current_time = datetime.now()

        for order in self.orders:
            order_time = datetime.strptime(order['date'], "%Y%m%d %H%M%S")
            # 매수 주문인지 확인
            if order['type'] == '+매수' and current_time - order_time > timedelta(minutes=1):
                self.cancel_order(order['id'])

    def cancel_order(self, order_id):
        # 주문 취소를 위한 API 호출
        print(f"매수 주문 {order_id}를 취소합니다.")
        # 여기에 주문 취소 API 호출 코드 추가

# 예제 실행
kiwoom_api = KiwoomAPI()
kiwoom_api.start()
Comments