Comments (1)
전체 코드를 알 수 없어 정확하게 답변드리기는 어렵지만, 아마 메인 스레드가 종료되어 생긴 문제라고 생각합니다.
위 코드를 이용한 간단한 예제를 참고하시기를 바랍니다.
from pykis import *
with open("B:\\vack.txt", "r") as f:
APPKEY = f.readline().strip()
APPSECRET = f.readline().strip()
class TradeLive(object):
def __init__(self):
self.kis = PyKis(
appkey=APPKEY,
appsecret=APPSECRET,
virtual_account=True,
)
def __enter__(self):
return self
def __exit__(self, type_unused, value_unused, traceback_unused):
pass
def run(self):
self.kis.rtclient.event.cntg.add(self.on_cntg)
self.kis.rtclient.event.oder.add(self.on_oder)
stock = self.kis.stock("000660")
stock.rt_add("체결가")
def on_cntg(self, cli: KisRTClient, res: KisRTPrice):
print(f'시간: {res.stck_cntg_hour.strftime("%H:%M:%S")}', end=" ")
def on_oder(self, cli: KisRTClient, res: KisRTConclude):
print(
f"{res.acnt_no} {res.acpt_yn_name} {res.cntg_isnm} {res.cntg_yn_name} {res.order_kind_name}",
end=" ",
)
app = TradeLive()
app.run()
# PyKis 실시간 조회는 비동기 구조로 작동하므로
# Main thread가 종료되지 않도록 적절한 조치가 필요합니다.
# 1. input 함수를 이용하여 종료를 방지합니다.
input()
# 2. django나 fastapi같은 메인 애플리케이션을 실행합니다.
# uvicorn.run(
# api,
# host='0.0.0.0'
# # ...
# )
# 3. 직접적으로 pykis rtclient의 스레드를 대기합니다.
# app.kis.rtclient.thread.join()
# 4. rtclient가 종료될 때 까지 loop합니다.
# while app.kis.rtclient._close:
# sleep(1)
위 코드처럼 PyKis 실시간 조회는 비동기 구조로 작동하므로 메인 스레드가 종료되지 않도록 적절한 조치가 필요합니다.
사용하시는 메인 애플리케이션(django, PyQt 등)의 시작 함수를 호출하거나 input
함수로 메인 스레드를 핸들링 해야합니다.
만약 run
함수에 대기를 추가하고 싶다면 위 예제의 1~4번 코드를 참고하여 작성하세요.
from python-kis.
Related Issues (20)
- [버그]
- [질문] 자동 종목 파싱 기능 제거 방법 HOT 4
- [질문] kis.market.kospi.all() 기능 중 거래 불가 종목 제거 가능 여부 질의드립니다. HOT 2
- [질문] 국내주식업종기간별시세를 주석처리하신 이유 질의드립니다 HOT 1
- [질문] 해외주식 지원에 대해서 HOT 1
- 혹시 코스피 / 코스닥을 조회할 수 있는 함수가 존재할까요?
- [질문] 종목 정보 자동 동기화 여부(market_auto_sync)에 대해 궁금한게 있습니다. HOT 2
- [버그] 해외주식 모의 투자 매도시 에러가 발생합니다. HOT 2
- [버그] 해외주식 취소 함수에 버그가 있습니다. HOT 1
- [질문] 예약주문 기능이 있을까요?
- [질문] 예약주문 기능
- [질문] thread _at_sync 의 무한 생성 현상 HOT 1
- [버그] balance_all() 함수에 무한루프 현상이 존재합니다. HOT 1
- [질문] token expire 설정 HOT 2
- [질문] 한투에서 접근토큰 발급 변경으로 에러가 발생합니다. HOT 3
- [버그] 실시간 관련 함수들 동작 불가 HOT 1
- [질문] 인버스에 period_price를 적용 시 발생하는 " ValueError: 주식이 아닙니다. " 문제
- [버그]def daily_order 의 BUY_CELL_DVSN_TYPE 문제
- [기능] 토큰 요청 1분 제한으로 인한 로컬 임시저장
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from python-kis.