feat(tests): 신규 키움 웹소켓 조건검색 및 실시간 조건검색 테스트 추가
변경 사항 ---- - _test_kiwoom_condition_list.py: 키움 웹소켓 조건검색 '목록조회' 기능을 단독으로 테스트하는 스크립트 추가 - _test_kiwoom_condition_realtime.py: 'momentum' 조건식을 실시간으로 등록하고 초기 매칭 종목 리스트 및 실시간 편입/이탈을 수신하는 테스트 스크립트 추가 - _verify_columnar_bitid.py, _verify_shared_e2e_breakout.py, _verify_shared_e2e.py: 공유 메모리 및 dict 간의 데이터 일관성을 검증하는 테스트 추가 영향 ---- - 신규 테스트 스크립트 추가로 키움 웹소켓 API의 기능 검증 및 안정성을 높임 - 기존 기능에 대한 영향 없음 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -32,7 +32,22 @@
|
||||
|
||||
---
|
||||
|
||||
## 3. 매수 시 캔들 조회 — 세 가지 분기 (DB / 메모리 / 키움·KIS REST)
|
||||
## 3. 체결 틱 (ws_ticks, C안 — TickRecorder)
|
||||
|
||||
| 구분 | 내용 |
|
||||
|------|------|
|
||||
| **모듈** | `kis_trader/ws/tick_recorder.py` |
|
||||
| **트랙 1** | 종목별 deque 링버퍼 (`WS_TICK_BUFFER_MAX_PER_CODE`) — `WSManager.get_recent_ticks()` |
|
||||
| **트랙 2** | 제한 큐 → `TickDBWriter` 스레드 → `ws_ticks` 배치 INSERT |
|
||||
| **대상 종목** | `WS_TICK_RECORD_SCOPE=candidates`(기본): 후보+영구 / `subscribed`: 후보+보유+영구 |
|
||||
| **해외 확장** | `market`, `exchange`, `currency`, `session` 컬럼 (국내 기본 KR/KRX/KRW) |
|
||||
| **env** | `WS_TICK_SAVE_ENABLED`, `WS_TICK_DB_BATCH_SIZE`, `WS_TICK_DB_FLUSH_SEC`, `WS_TICK_KEEP_DAYS` 등 |
|
||||
|
||||
journalctl 파싱이 아니라 **WS H0STCNT0 / 키움 0B** 와 동일 틱 스트림을 사용한다.
|
||||
|
||||
---
|
||||
|
||||
## 4. 매수 시 캔들 조회 — 세 가지 분기 (DB / 메모리 / 키움·KIS REST)
|
||||
|
||||
꼬리잡기 매수 신호(`check_buy_signal_tail_catch`)에서 3분봉을 가져오는 순서:
|
||||
|
||||
@@ -50,7 +65,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 4. “캔들 넣고 바로 매매” — 현재 동작
|
||||
## 5. “캔들 넣고 바로 매매” — 현재 동작
|
||||
|
||||
- 봉이 **확정되는 순간** 이미 **RAM(_confirmed)** 에 들어가므로,
|
||||
매수 루프는 **DB 쓰기 완료를 기다리지 않고** 바로 그 데이터로 신호 판단.
|
||||
|
||||
Reference in New Issue
Block a user