이번에 들어간 내용

한투 호가 = 2번째 앱키 전용
키 없거나 start 실패 시 메인에 H0STASP0 안 붙임. 운영설정 WS_ORDERBOOK_SAVE_KIS 빨간 danger.

LS RAM 합집합
후보∪보유∪영구∪grace. sync_targets와 split reconcile 둘 다. 틱 DB 영구 게이트는 그대로.

분봉 쓰레기 → 다음 소스 봉 통째
그 분 틱 0건이거나 전부 봉끝 대비 LIVE_FEED_FALLBACK_MAX_AGE_SEC 초과면 구멍. 메인 WS → 2차 → LS → REST → rollup. CANDLE_GARBAGE_FALLBACK 기본 true.

파일: feed_fallback.py(신규), ws_manager.py, kis_ws.py, candle_series.py, bt_candle_source.py, live_config_schema.py, database.py, 스모크, MD 2개.

같은 ws_manager/database/kis_ws/live_config에는 직전 커밋 이후 쌓여 있던 시세 폴백·ENV 키 정리도 같이 들어갔습니다. 파일 단위로 나눌 수 없어서입니다.
This commit is contained in:
Your Name
2026-08-19 22:11:31 +09:00
parent d1dc274f0e
commit 0ecac7cb95
229 changed files with 8487 additions and 1647 deletions

View File

@@ -1,25 +1,25 @@
# remove — 레거시·미사용 파일 보관
# remove — 안 쓰는 파일 보관 (나중에 **이 폴더 통째 삭제** 예정)
**실매 진입점은 `python -m kis_trader.main` (`kis_trader_main.service`) 만 사용합니다.**
**실매 진입점은 `python -m kis_trader.main` (`kis_trader_main.service`) 만.**
이 폴더의 파일은 IDE/AI가 루트에서 잘못 열어 수정하는 것을 막기 위해 옮겨 두었습니다.
다시 쓰려면 복사만 하지 말고, 로직은 `kis_trader/strategies/` + `tail_engine.py` / `scalping_engine.py` 에 맞춰 이식하세요.
여기 파일은 실매·웹·알람이 **지금 import 하지 않습니다.** 며칠 돌려 본 뒤 지워도 됩니다.
**쓰는 구모듈은 여기 없습니다.**`../legacy/` (`holding_bot`, `news_analyzer`, `kis_long_ver*`)
## legacy_standalone_bots/
| 파일 | 이유 |
|------|------|
| `updowbuyy.py` | `updow_buy.py` 래퍼, import 0 |
| `kis_short_ver1~3.py` | 단독 꼬리잡기 봇 → `TailCatchStrategy` + `tail_engine` |
| `kis_scalping_ver1~2.py` | 단독 스캘핑 봇 → `ScalpingStrategy` + `scalping_engine` |
| `back_test.py` | 옛 short 백테 스크립트 |
| `update_env_short.py` | short 전용 env 일괄 수정 (구버전) |
| `ai_recommend_notice.py` | `kis_short_ver1` 기준 AI 알림 (구버전) |
옛 단독 단타/스캘프 봇 (`kis_short_ver*` / `kis_scalping_ver*` 등).
## 루트에 남긴 것 (아직 사용 중)
## legacy_root/
- `kis_trader/engine/``tail_engine`, `scalping_engine` (루트 `tail_engine.py` 등은 호환 래퍼만)
- `kis_trader/ws/``kis_ws`, `kiwoom_ws` (루트 파일은 호환 래퍼만)
- `holding_bot.py`, `kis_holding_ver1.py` — 홀딩·UPDOW 분봉·웹 백테
- `kis_long_ver1.py`, `kis_long_ver2.py` — mm_butler / 장기 알림
- `backtest_web.py` — 백테 대시보드
루트에서 치운 **미사용** 파일.
| 구분 | 예 |
|------|-----|
| 호환 래퍼 | `kis_ws.py`, `kiwoom_ws.py`, `tail_engine.py`, `scalping_engine.py`, `momentum_engine.py` |
| 옛 단독 봇 | `etf_ver1.py`, `kiwoom_trader_ver2.py`, `kiwoom_universe_scanner.py`, `kis_long_alert.py` |
| 의존 | `ml_predictor.py`, `risk_manager.py`, `smart_executor.py`, `export_sniper.py`, `trend_divergence.py` |
| 폴더 | `kiwwom_trader/`, `kiwoom_rest_api/`, `backtest_scalping/`, `sample_python/`, `ls_sample/` |
| 테스트·진단 | `test_*.py`, `_verify_*.py`, `diag_*.py`, `update_env*.py` |
꺼진 systemd 유닛은 예전 루트 경로입니다. 다시 켜려면 ExecStart를 고치세요.

View File

@@ -26,8 +26,9 @@ from itertools import product as iproduct
import logging
logging.getLogger("TradeDB").setLevel(logging.WARNING)
ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
sys.path.insert(0, ROOT)
sys.path.insert(0, os.path.join(ROOT, "legacy"))
from database import TradeDB
import holding_bot as hb