{"role":"user","message":{"content":[{"type":"text","text":"Friday, Aug 14, 2026, 9:56 AM (UTC+9)\n\n\nkis_alert_bot\nBOT\n์ค์ 9:26\n\n๐ข [๋งค๋์ฒด๊ฒฐ:MOMENTUM] ๋ค์ค์คํ (212560)\n12,010์ ร 25์ฃผ\n์์ ํธ๊ฐ ยท ์์ต๋ฅ -1.78%\n์คํ +295์ ยท ODNO=0000009597\n์์ธ: kiwoom\n๐ MOMENTUM ๋น์ผ +295์ ยท ์ฒญ์ฐ 2๊ฑด\n\nโโโโโโโโโโโโโโโโโโโโ\n๐ผ ๊ณ์ข\n์์๊ธ 471,997,465์\n์ด์์ฐ 477,987,576์ ยท ๋ณด์ 15์ข
๋ชฉ\n\n๐ ์์ต (๋น์ผ)\n๐ค ๋ด ์คํ -1,932์ ยท ์ฒญ์ฐ 3๊ฑด\n๐ ๊ณ์ขํ๊ฐ +1,172์ (+0.00%)\n\n๐ฐ ๋์ (์
๊ธ ๋๋น)\n-22,012,424์ (-4.40%)\n\n์ด๊ฑด ์ ๋ง์ด๋์ค์ธ๋ฐ ๋
น์์ผ๋ก ๋์ค์ง? \n\nkis_alert_bot\nBOT\n์คํ 2:49\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-13 14:49:03\n์ ๋: kis_trader_main.service\n2026-08-13T14:49:02+09:00 ubuntu2404 python[1446832]: [14:49:02] [kis_trader.main] โน๏ธ condition ์์ค ์ฐ๋ ์ ๋ต ์์ โ ์กฐ๊ฑด๊ฒ์ ๋งค๋์ ๋นํ์ฑ\nkis_alert_bot\nBOT\n์คํ 2:49\n\n๐จ [์ค๋ฅ๊ฐ์] ์ ๋ ๋ณต๊ตฌ (active)\n\n์๊ฐ: 2026-08-13 14:49:34\n์ ๋: kis_trader_main.service\nsystemctl is-active kis_trader_main.service โ active\nkis_alert_bot\nBOT\n์คํ 2:49\n\n๐ kis_trader ํตํฉ ๋ด ์์\nํ์ฑ ์ ๋ต: SCALP, SHORT, MOMENTUM, US_MOMENTUM, BREAKOUT\n\nใ์ ๋๋ฒ์คใ\nSCALP: kiwoom_condition\n โ kiwoom_cond ยท scalp_re(seq=3)\nSHORT: kiwoom_condition\n โ kiwoom_cond ยท tail(seq=1)\nMOMENTUM: kiwoom_condition\n โ kiwoom_cond ยท momentum(seq=2)\nBREAKOUT: kiwoom_condition\n โ kiwoom_cond ยท breakout(seq=4)\n\n๐ก [์์ธ์น์์ผ] ํค์(์ค์ ), KIS(์ค์ )\n\nโ
[๊ธฐ๋ ๊ณ์ข] ๊ณ์ข[๋ชจ์] 501***45-01 | ๋ณด์ 20์ข
๋ชฉ / ์ด์์ฐ 477,932,316์ | cash_basis=dnca | ์์๊ธ 468,155,952 / D+2 460,604,246 / ์ฃผ๋ฌธ๊ฐ๋ฅ 458,301,224 / ์ฌ์ฉ๊ธฐ์ค 468,155,952\n\nkis_alert_bot\nBOT\n์คํ 2:51\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-13 14:51:24\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 1\n\nkis_alert_bot\nBOT\n์คํ 3:01\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 10โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-13 15:01:16\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 10\nkis_alert_bot\nBOT\n์คํ 3:01\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-13 15:01:16\n์ ๋: kis_trader_main.service\n2026-08-13T15:01:16+09:00 ubuntu2404 python[1446832]: [15:01:16] [kis_trader.ops_alert] [ops_alert] sent code=universe_wipe ok_mm=True title=SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 10โ0\nkis_alert_bot\nBOT\n์คํ 3:04\n\n๐จ [์ค๋ฅ๊ฐ์] ์ ๋ ๋นํ์ฑ (deactivating)\n\n์๊ฐ: 2026-08-13 15:04:39\n์ ๋: kis_trader_main.service\nsystemctl is-active kis_trader_main.service โ deactivating\nkis_alert_bot\nBOT\n์คํ 3:04\n\n๐ kis_trader ์ข
๋ฃ\nโโโโโโโโโโโโโโโโโโโโ\n\n๐ ์ข
๋ฃ ์๊ฐ: 2026-08-13 15:04:31\n๐ค ๋น์ผ ๋ด ์คํ: +11,313์ (์ฒญ์ฐ 9๊ฑด)\n๊ณ์ข: ๋ชจ์ 501***45-01\nํ์ฌ ์์ฐ: 477,862,027์\n๋ณด์ ์ข
๋ชฉ: 22๊ฐ\n์์๊ธ(์ ํ๊ธฐ์ค:dnca): 468,155,952์ | ์ฃผ๋ฌธ๊ฐ๋ฅ๊ธ์ก: 457,501,434์ | ์์๊ธ์ด์ก: 468,155,952์ | D+2์์๊ธ: 459,800,437์\nโโโโโโโโโโโโโโโโโโโโ\n\nkis_alert_bot\nBOT\n์คํ 3:05\n\n๐จ [์ค๋ฅ๊ฐ์] ์ ๋ ๋ณต๊ตฌ (active)\n\n์๊ฐ: 2026-08-13 15:05:40\n์ ๋: kis_trader_main.service\nsystemctl is-active kis_trader_main.service โ active\nkis_alert_bot\nBOT\n์คํ 3:05\n\n๐ kis_trader ํตํฉ ๋ด ์์\nํ์ฑ ์ ๋ต: SCALP, SHORT, MOMENTUM, US_MOMENTUM, BREAKOUT\n\nใ์ ๋๋ฒ์คใ\nSCALP: kiwoom_condition\n โ kiwoom_cond ยท scalp_re(seq=3)\nSHORT: kiwoom_condition\n โ kiwoom_cond ยท tail(seq=1)\nMOMENTUM: kiwoom_condition\n โ kiwoom_cond ยท momentum(seq=2)\nBREAKOUT: kiwoom_condition\n โ kiwoom_cond ยท breakout(seq=4)\n\n๐ก [์์ธ์น์์ผ] ํค์(์ค์ ), KIS(์ค์ )\n\nโ
[๊ธฐ๋ ๊ณ์ข] ๊ณ์ข[๋ชจ์] 501***45-01 | ๋ณด์ 22์ข
๋ชฉ / ์ด์์ฐ 477,836,987์ | cash_basis=dnca | ์์๊ธ 468,155,952 / D+2 459,800,437 / ์ฃผ๋ฌธ๊ฐ๋ฅ 457,501,434 / ์ฌ์ฉ๊ธฐ์ค 468,155,952\n\nkis_alert_bot\nBOT\n์คํ 3:07\n\n๐จ [์ด์์๋ฆผ/CRITICAL] MOMENTUM ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-13 15:07:54\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 1\nkis_alert_bot\nBOT\n์คํ 3:07\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-13 15:07:54\n์ ๋: kis_trader_main.service\n2026-08-13T15:07:54+09:00 ubuntu2404 python[1460347]: [15:07:54] [kis_trader.ops_alert] [ops_alert] sent code=universe_wipe ok_mm=True title=MOMENTUM ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\nkis_alert_bot\nBOT\n์คํ 3:08\n\n๐งฉ [Pre-EOD ๊ณ ์๋ณต๊ตฌ]\n\n๋ณต๊ตฌ: 8์ข
๋ชฉ\n๊ณ์ข๋๊ธฐํ: 2์ข
๋ชฉ\n์ฒญ์ฐํ์คํต: 3์ข
๋ชฉ\n์ฒญ์ฐํ์ ๋ น์ ๋ฆฌ: 0์ข
๋ชฉ\n์ ๋ น์ญ์ : 0์ข
๋ชฉ\n์คํจ: 0๊ฑด ยท ๋ธ๋ฃจ์ฝค(033560) [SHORT] 450์ฃผ ยท ํ
ํฌ์จ์ด(084730) [MOMENTUM] 88์ฃผ ยท ๋น
์๋ก (093190) [MOMENTUM] 130์ฃผ ยท ํ์์์ด์์ค(114810) [SCALP] 24์ฃผ ยท ํ๋ผ์บ์คํธ(125490) [MOMENTUM] 27์ฃผ ยท ์งํฌํ์(388050) [MOMENTUM] 33์ฃผ ยท 394420(394420) [MOMENTUM] 50์ฃผ ยท ์์๋น(475230) [MOMENTUM] 64์ฃผ โญ์คํต ์ฐ๋ฆฌ๋ท(115440) ์ฅ๋ง๊ฐ์ฒญ์ฐ@2026-08-07 15:25:45 โญ์คํต ์๋ฉ์ด๋ํ๋ ์ด(123420) ์ฅ๋ง๊ฐ์ฒญ์ฐ@2026-08-11 15:26:26 โญ์คํต ์์ํ์จ(265740) ์ฅ๋ง๊ฐ์ฒญ์ฐ@2026-08-06 15:23:17 ๐๋๊ธฐํ ์์ผํฐ์์์ด(136150) [MOMENTUM] 36โ504์ฃผ (8,195โ8,269์) ๐๋๊ธฐํ ๋ฒํํจ์ผ์
(382900) [MOMENTUM] 15โ45์ฃผ (19,150โ19,150์)\nkis_alert_bot\nBOT\n์คํ 3:10\n\n๐จ [์ค๋ฅ๊ฐ์] ์ ๋ ๋นํ์ฑ (deactivating)\n\n์๊ฐ: 2026-08-13 15:10:41\n์ ๋: kis_trader_main.service\nsystemctl is-active kis_trader_main.service โ deactivating\nkis_alert_bot\nBOT\n์คํ 3:11\n\n๐จ [์ค๋ฅ๊ฐ์] ํ๋ก์ธ์ค ์ข
๋ฃ\n\n์๊ฐ: 2026-08-13 15:11:45\n์ ๋: kis_trader_main.service\n2026-08-13T15:11:43+09:00 ubuntu2404 systemd[1]: kis_trader_main.service: Main process exited, code=killed, status=9/KILL\nkis_alert_bot\nBOT\n์คํ 3:12\n\n๐จ [์ค๋ฅ๊ฐ์] ์ ๋ ๋ณต๊ตฌ (active)\n\n์๊ฐ: 2026-08-13 15:12:42\n์ ๋: kis_trader_main.service\nsystemctl is-active kis_trader_main.service โ active\nkis_alert_bot\nBOT\n์คํ 3:13\n\n๐ kis_trader ํตํฉ ๋ด ์์\nํ์ฑ ์ ๋ต: SCALP, SHORT, MOMENTUM, US_MOMENTUM, BREAKOUT\n\nใ์ ๋๋ฒ์คใ\nSCALP: kiwoom_condition\n โ kiwoom_cond ยท scalp_re(seq=3)\nSHORT: kiwoom_condition\n โ kiwoom_cond ยท tail(seq=1)\nMOMENTUM: kiwoom_condition\n โ kiwoom_cond ยท momentum(seq=2)\nBREAKOUT: kiwoom_condition\n โ kiwoom_cond ยท breakout(seq=4)\n\n๐ก [์์ธ์น์์ผ] ํค์(์ค์ ), KIS(์ค์ )\n\nโ
[๊ธฐ๋ ๊ณ์ข] ๊ณ์ข[๋ชจ์] 501***45-01 | ๋ณด์ 21์ข
๋ชฉ / ์ด์์ฐ 477,882,378์ | cash_basis=dnca | ์์๊ธ 468,155,952 / D+2 460,084,408 / ์ฃผ๋ฌธ๊ฐ๋ฅ 457,783,985 / ์ฌ์ฉ๊ธฐ์ค 468,155,952\n\nkis_alert_bot\nBOT\n์คํ 3:16\n\n๐ [์ฅ๋ง๊ฐ ์ ํํฉ - 15:15]\n\n๐ค ๋ด ์คํ: +24,333์ (์ฒญ์ฐ 15๊ฑด)\n๐ ๊ณ์ขํ๊ฐ: -267,852์ (-0.06%)\nํ์ฌ ์์ฐ: 477,894,583์\n๋ณด์ ์ข
๋ชฉ: 19๊ฐ\n๊ณ์ข: ๋ชจ์ 501***45-01\n์์๊ธ(์ ํ๊ธฐ์ค:dnca): 468,155,952์ | ์ฃผ๋ฌธ๊ฐ๋ฅ๊ธ์ก: 460,298,435์ | ์์๊ธ์ด์ก: 468,155,952์ | D+2์์๊ธ: 462,611,493์\nkis_alert_bot\nBOT\n์คํ 3:19\n\n๐จ [์ด์์๋ฆผ/CRITICAL] MOMENTUM ์ ๋๋ฒ์ค 0 ์ง์ 204์ด\n\n์ฝ๋: universe_zero\n์๊ฐ: 2026-08-13 15:19:25\n์์ธ: source=kiwoom_condition kw=0 ls=-1\nkis_alert_bot\nBOT\n์คํ 3:21\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 5โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-13 15:21:24\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 5\n\nkis_alert_bot\nBOT\n์คํ 3:34\n\n๐ [์ฅ๋ง๊ฐ ์ต์ข
๋ณด๊ณ - 15:35]\nโโโโโโโโโโโโโโโโโโโโ\n๐
๋น์ผ ์์ต\n\n๐ค ๋ด ์คํ: -43,935์ (์ฒญ์ฐ 31๊ฑด)\n๐ ๊ณ์ขํ๊ฐ: -178,231์ (-0.04%)\n์์ ์ด์์ฐ: 478,162,435์\n์ข
๋ฃ ์ด์์ฐ: 477,984,204์\n๐ฐ ๋์ (์
๊ธ ๋๋น)\n\n์ด ์
๊ธ: 500,000,000์\nํ์ฌ ์์ฐ: 477,984,204์\n๋์ ์์ต: -22,015,796์ (-4.40%)\n๐ ๊ฑฐ๋ ํํฉ\n\n์ค๋ ๋งค๋งค: 31๊ฑด\n๋ณด์ ์ข
๋ชฉ: 8๊ฐ\n๊ณ์ข: ๋ชจ์ 501***45-01\n์์๊ธ(์ ํ๊ธฐ์ค:dnca): 468,155,952์ | ์ฃผ๋ฌธ๊ฐ๋ฅ๊ธ์ก: 466,785,398์ | ์์๊ธ์ด์ก: 468,155,952์ | D+2์์๊ธ: 469,168,834์\nโโโโโโโโโโโโโโโโโโโโ\n\nkis_alert_bot\nBOT\n์คํ 3:35\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SCALP ์ ๋๋ฒ์ค 0 ์ง์ 180์ด\n\n์ฝ๋: universe_zero\n์๊ฐ: 2026-08-13 15:35:16\n์์ธ: source=kiwoom_condition kw=0 ls=-1\nkis_alert_bot\nBOT\n์คํ 3:36\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-13 15:36:16\n์ ๋: kis_trader_main.service\n2026-08-13T15:35:16+09:00 ubuntu2404 python[1466728]: [15:35:16] [kis_trader.ops_alert] [ops_alert] sent code=universe_zero ok_mm=True title=SCALP ์ ๋๋ฒ์ค 0 ์ง์ 180์ด\nkis_alert_bot\nBOT\n์คํ 3:36\n\n๐งฉ [์ฅ๋ง๊ฐ ๊ณ ์๋ณต๊ตฌ]\n\n๋ณต๊ตฌ: 0์ข
๋ชฉ\n๊ณ์ข๋๊ธฐํ: 0์ข
๋ชฉ\n์ฒญ์ฐํ์คํต: 4์ข
๋ชฉ\n์ฒญ์ฐํ์ ๋ น์ ๋ฆฌ: 0์ข
๋ชฉ\n์ ๋ น์ญ์ : 0์ข
๋ชฉ\n์คํจ: 0๊ฑด โญ์คํต ์ฐ๋ฆฌ๋ท(115440) ์ฅ๋ง๊ฐ์ฒญ์ฐ@2026-08-07 15:25:45 โญ์คํต ์๋ฉ์ด๋ํ๋ ์ด(123420) ์ฅ๋ง๊ฐ์ฒญ์ฐ@2026-08-11 15:26:26 โญ์คํต ์์ผํฐ์์์ด(136150) ์ฅ๋ง๊ฐ์ฒญ์ฐ@2026-08-13 15:22:57 โญ์คํต ์์ํ์จ(265740) ์ฅ๋ง๊ฐ์ฒญ์ฐ@2026-08-06 15:23:17\n\nkis_alert_bot\nBOT\n์คํ 11:35\n\n๐จ [์ค๋ฅ๊ฐ์] ์ ๋ ๋นํ์ฑ (deactivating)\n\n์๊ฐ: 2026-08-13 23:35:59\n์ ๋: kis_trader_main.service\nsystemctl is-active kis_trader_main.service โ deactivating\nkis_alert_bot\nBOT\n์คํ 11:36\n\n๐ kis_trader ์ข
๋ฃ\nโโโโโโโโโโโโโโโโโโโโ\n\n๐ ์ข
๋ฃ ์๊ฐ: 2026-08-13 23:36:19\n๐ค ๋น์ผ ๋ด ์คํ: -43,935์ (์ฒญ์ฐ 31๊ฑด)\n๊ณ์ข: ๋ชจ์ 501***45-01\nํ์ฌ ์์ฐ: 477,984,204์\n๋ณด์ ์ข
๋ชฉ: 8๊ฐ\n์์๊ธ(์ ํ๊ธฐ์ค:dnca): 471,997,465์ | ์ฃผ๋ฌธ๊ฐ๋ฅ๊ธ์ก: 466,822,989์ | ์์๊ธ์ด์ก: 471,997,465์ | D+2์์๊ธ: 469,168,834์\nโโโโโโโโโโโโโโโโโโโโ\n\nkis_alert_bot\nBOT\n์คํ 11:36\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-13 23:36:22\n์ ๋: kis_trader_main.service\n2026-08-13T23:36:22+09:00 ubuntu2404 python[1887217]: [23:36:22] [kis_trader.main] โน๏ธ condition ์์ค ์ฐ๋ ์ ๋ต ์์ โ ์กฐ๊ฑด๊ฒ์ ๋งค๋์ ๋นํ์ฑ\nkis_alert_bot\nBOT\n์คํ 11:36\n\n๐ kis_trader ํตํฉ ๋ด ์์\nํ์ฑ ์ ๋ต: SCALP, SHORT, MOMENTUM, US_MOMENTUM, BREAKOUT\n\nใ์ ๋๋ฒ์คใ\nSCALP: kiwoom_condition\n โ kiwoom_cond ยท scalp_re(seq=3)\nSHORT: kiwoom_condition\n โ kiwoom_cond ยท tail(seq=1)\nMOMENTUM: kiwoom_condition\n โ kiwoom_cond ยท momentum(seq=2)\nBREAKOUT: kiwoom_condition\n โ kiwoom_cond ยท breakout(seq=4)\n\n๐ก [์์ธ์น์์ผ] ํค์(์ค์ ), KIS(์ค์ )\n\nโ
[๊ธฐ๋ ๊ณ์ข] ๊ณ์ข[๋ชจ์] 501***45-01 | ๋ณด์ 8์ข
๋ชฉ / ์ด์์ฐ 477,984,204์ | cash_basis=dnca | ์์๊ธ 471,997,465 / D+2 469,168,834 / ์ฃผ๋ฌธ๊ฐ๋ฅ 466,822,989 / ์ฌ์ฉ๊ธฐ์ค 471,997,465\n\nkis_alert_bot\nBOT\n์คํ 11:37\n\n๐จ [์ค๋ฅ๊ฐ์] ์ ๋ ๋ณต๊ตฌ (active)\n\n์๊ฐ: 2026-08-13 23:36:59\n์ ๋: kis_trader_main.service\nsystemctl is-active kis_trader_main.service โ active\n์ค๋\n\nkis_alert_bot\nBOT\n์ค์ 1:17\n\n๐จ [์ค๋ฅ๊ฐ์] ์ ๋ ๋นํ์ฑ (deactivating)\n\n์๊ฐ: 2026-08-14 01:17:28\n์ ๋: kis_trader_main.service\nsystemctl is-active kis_trader_main.service โ deactivating\nkis_alert_bot\nBOT\n์ค์ 1:17\n\n๐ kis_trader ์ข
๋ฃ\nโโโโโโโโโโโโโโโโโโโโ\n\n๐ ์ข
๋ฃ ์๊ฐ: 2026-08-14 01:17:46\n๐ค ๋น์ผ ๋ด ์คํ: +0์ (์ฒญ์ฐ 0๊ฑด)\n๊ณ์ข: ๋ชจ์ 501***45-01\nํ์ฌ ์์ฐ: 477,984,204์\n๋ณด์ ์ข
๋ชฉ: 8๊ฐ\n์์๊ธ(์ ํ๊ธฐ์ค:dnca): 471,997,465์ | ์ฃผ๋ฌธ๊ฐ๋ฅ๊ธ์ก: 466,822,989์ | ์์๊ธ์ด์ก: 471,997,465์ | D+2์์๊ธ: 469,168,834์\nโโโโโโโโโโโโโโโโโโโโ\n\nkis_alert_bot\nBOT\n์ค์ 1:17\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 01:17:48\n์ ๋: kis_trader_main.service\n2026-08-14T01:17:48+09:00 ubuntu2404 python[1986742]: [01:17:48] [kis_trader.main] โน๏ธ condition ์์ค ์ฐ๋ ์ ๋ต ์์ โ ์กฐ๊ฑด๊ฒ์ ๋งค๋์ ๋นํ์ฑ\nkis_alert_bot\nBOT\n์ค์ 1:17\n\n๐ kis_trader ํตํฉ ๋ด ์์\nํ์ฑ ์ ๋ต: SCALP, SHORT, MOMENTUM, US_MOMENTUM, BREAKOUT\n\nใ์ ๋๋ฒ์คใ\nSCALP: kiwoom_condition\n โ kiwoom_cond ยท scalp_re(seq=3)\nSHORT: kiwoom_condition\n โ kiwoom_cond ยท tail(seq=1)\nMOMENTUM: kiwoom_condition\n โ kiwoom_cond ยท momentum(seq=2)\nBREAKOUT: kiwoom_condition\n โ kiwoom_cond ยท breakout(seq=4)\n\n๐ก [์์ธ์น์์ผ] ํค์(์ค์ ), KIS(์ค์ )\n\nโ
[๊ธฐ๋ ๊ณ์ข] ๊ณ์ข[๋ชจ์] 501***45-01 | ๋ณด์ 8์ข
๋ชฉ / ์ด์์ฐ 477,984,204์ | cash_basis=dnca | ์์๊ธ 471,997,465 / D+2 469,168,834 / ์ฃผ๋ฌธ๊ฐ๋ฅ 466,822,989 / ์ฌ์ฉ๊ธฐ์ค 471,997,465\n\nkis_alert_bot\nBOT\n์ค์ 1:18\n\n๐จ [์ค๋ฅ๊ฐ์] ์ ๋ ๋ณต๊ตฌ (active)\n\n์๊ฐ: 2026-08-14 01:18:28\n์ ๋: kis_trader_main.service\nsystemctl is-active kis_trader_main.service โ active\n\nkis_alert_bot\nBOT\n์ค์ 9:00\n\n๐
[์ฅ ์์ ์๋ฆผ - 09:00]\nโโโโโโโโโโโโโโโโโโโโ\n\n๐ค ํ์ฑ ์ ๋ต: SCALP, SHORT, MOMENTUM, US_MOMENTUM, BREAKOUT\n๊ณ์ข: ๋ชจ์ 501***45-01\nํ์ฌ ์์ฐ: 478,019,804์\n๋ณด์ ์ข
๋ชฉ: 8๊ฐ\n์์๊ธ(์ ํ๊ธฐ์ค:dnca): 471,997,465์ | ์ฃผ๋ฌธ๊ฐ๋ฅ๊ธ์ก: 466,822,989์ | ์์๊ธ์ด์ก: 471,997,465์ | D+2์์๊ธ: 469,168,834์\nโโโโโโโโโโโโโโโโโโโโ\n๐ ์ค๋๋ ์์ ๋งค๋งค! ์์ ๋ผ์ธ ์ค์.\n\nkis_alert_bot\nBOT\n์ค์ 9:01\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:01:41\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 60์ด+\nkis_alert_bot\nBOT\n์ค์ 9:01\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:01:42\n์ ๋: kis_trader_main.service\n2026-08-14T09:01:41+09:00 ubuntu2404 python[1986742]: [09:01:41] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\nkis_alert_bot\nBOT\n์ค์ 9:03\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SCALP ์ ๋๋ฒ์ค 0 ์ง์ 181์ด\n\n์ฝ๋: universe_zero\n์๊ฐ: 2026-08-14 09:03:42\n์์ธ: source=kiwoom_condition kw=0 ls=-1\nkis_alert_bot\nBOT\n์ค์ 9:03\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:03:43\n์ ๋: kis_trader_main.service\n2026-08-14T09:03:42+09:00 ubuntu2404 python[1986742]: [09:03:42] [kis_trader.ops_alert] [ops_alert] sent code=universe_zero ok_mm=True title=SCALP ์ ๋๋ฒ์ค 0 ์ง์ 181์ด\nkis_alert_bot\nBOT\n์ค์ 9:06\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:06:45\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 60์ด+\nkis_alert_bot\nBOT\n์ค์ 9:06\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:06:46\n์ ๋: kis_trader_main.service\n2026-08-14T09:06:46+09:00 ubuntu2404 python[1986742]: [09:06:46] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\nkis_alert_bot\nBOT\n์ค์ 9:07\n\n๐จ [์ด์์๋ฆผ/CRITICAL] MOMENTUM ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-14 09:07:17\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 1\nkis_alert_bot\nBOT\n์ค์ 9:07\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:07:18\n์ ๋: kis_trader_main.service\n2026-08-14T09:07:17+09:00 ubuntu2404 python[1986742]: [09:07:17] [kis_trader.ops_alert] [ops_alert] sent code=universe_wipe ok_mm=True title=MOMENTUM ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n\nhjhvkej1\n์ํ ์
๋ฐ์ดํธ\n์ค์ 9:08\n\n!๋ด๋ก๊ทธ\n\n๋ต์ฅ 3๊ฐ\n์ง์ผ๋ณด๋ ์ค\n๋ง์ง๋ง ๋๊ธ 47๋ถ ์ \n\nkis_alert_bot\nBOT\n์ค์ 9:11\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:11:47\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 60์ด+\nkis_alert_bot\nBOT\n์ค์ 9:11\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:11:48\n์ ๋: kis_trader_main.service\n2026-08-14T09:11:47+09:00 ubuntu2404 python[1986742]: [09:11:47] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\nkis_alert_bot\nBOT\n์ค์ 9:12\n\n๐จ [์ด์์๋ฆผ/CRITICAL] BREAKOUT ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 10โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-14 09:12:25\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 10\nkis_alert_bot\nBOT\n์ค์ 9:12\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:12:26\n์ ๋: kis_trader_main.service\n2026-08-14T09:12:25+09:00 ubuntu2404 python[1986742]: [09:12:25] [kis_trader.ops_alert] [ops_alert] sent code=universe_wipe ok_mm=True title=BREAKOUT ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 10โ0\nkis_alert_bot\nBOT\n์ค์ 9:14\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SCALP ์ ๋๋ฒ์ค 0 ์ง์ 181์ด\n\n์ฝ๋: universe_zero\n์๊ฐ: 2026-08-14 09:14:49\n์์ธ: source=kiwoom_condition kw=0 ls=-1\nkis_alert_bot\nBOT\n์ค์ 9:14\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:14:49\n์ ๋: kis_trader_main.service\n2026-08-14T09:14:49+09:00 ubuntu2404 python[1986742]: [09:14:49] [kis_trader.ops_alert] [ops_alert] sent code=universe_zero ok_mm=True title=SCALP ์ ๋๋ฒ์ค 0 ์ง์ 181์ด\nkis_alert_bot\nBOT\n์ค์ 9:16\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:16:32\n์ ๋: kis_trader_main.service\n2026-08-14T09:16:32+09:00 ubuntu2404 python[1986742]: [09:16:32] [kis_trader.strategy.SHORT] ๐ [T:kiwoom|O:kiwoom|์ ๋๋ฒ์ค์ฌ๋กฏ] SHORT ํ๋ณด 1โ0 (history=kiwoom ๊ต์งํฉ, ์ ์ธ 1)\nkis_alert_bot\nBOT\n์ค์ 9:16\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:16:54\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 64์ด+\nkis_alert_bot\nBOT\n์ค์ 9:16\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:16:54\n์ ๋: kis_trader_main.service\n2026-08-14T09:16:54+09:00 ubuntu2404 python[1986742]: [09:16:54] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\nkis_alert_bot\nBOT\n์ค์ 9:17\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-14 09:17:42\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 1\nkis_alert_bot\nBOT\n์ค์ 9:17\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:17:42\n์ ๋: kis_trader_main.service\n2026-08-14T09:17:42+09:00 ubuntu2404 python[1986742]: [09:17:42] [kis_trader.ops_alert] [ops_alert] sent code=universe_wipe ok_mm=True title=SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n์๋ก์ด ๋ฉ์์ง\nkis_alert_bot\nBOT\n์ค์ 9:19\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:19:22\n์ ๋: kis_trader_main.service\n2026-08-14T09:19:22+09:00 ubuntu2404 python[1986742]: [09:19:22] [kis_trader.strategy.SHORT] ๐ [T:kiwoom|O:kiwoom|์ ๋๋ฒ์ค์ฌ๋กฏ] SHORT ํ๋ณด 1โ0 (history=kiwoom ๊ต์งํฉ, ์ ์ธ 1)\nkis_alert_bot\nBOT\n์ค์ 9:20\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SHORT ์ ๋๋ฒ์ค 0 ์ง์ 216์ด\n\n์ฝ๋: universe_zero\n์๊ฐ: 2026-08-14 09:20:31\n์์ธ: source=kiwoom_condition kw=0 ls=-1\nkis_alert_bot\nBOT\n์ค์ 9:20\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:20:31\n์ ๋: kis_trader_main.service\n2026-08-14T09:20:31+09:00 ubuntu2404 python[1986742]: [09:20:31] [kis_trader.ops_alert] [ops_alert] sent code=universe_zero ok_mm=True title=SHORT ์ ๋๋ฒ์ค 0 ์ง์ 216์ด\nkis_alert_bot\nBOT\n์ค์ 9:21\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:21:42\n์ ๋: kis_trader_main.service\n2026-08-14T09:21:42+09:00 ubuntu2404 python[1986742]: [09:21:42] [kis_trader.strategy.SCALP] ๐ [T:kiwoom|O:kiwoom|์ ๋๋ฒ์ค์ฌ๋กฏ] SCALP ํ๋ณด 1โ0 (history=kiwoom ๊ต์งํฉ, ์ ์ธ 1)\nkis_alert_bot\nBOT\n์ค์ 9:22\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:22:33\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 60์ด+\nkis_alert_bot\nBOT\n์ค์ 9:22\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:22:33\n์ ๋: kis_trader_main.service\n2026-08-14T09:22:33+09:00 ubuntu2404 python[1986742]: [09:22:33] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\nkis_alert_bot\nBOT\n์ค์ 9:24\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-14 09:24:39\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 1\nkis_alert_bot\nBOT\n์ค์ 9:24\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:24:40\n์ ๋: kis_trader_main.service\n2026-08-14T09:24:39+09:00 ubuntu2404 python[1986742]: [09:24:39] [kis_trader.ops_alert] [ops_alert] sent code=universe_wipe ok_mm=True title=SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\nkis_alert_bot\nBOT\n์ค์ 9:27\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:27:21\n์ ๋: kis_trader_main.service\n2026-08-14T09:27:21+09:00 ubuntu2404 python[1986742]: [09:27:21] [kis_trader.strategy.SCALP] ๐ [T:kiwoom|O:kiwoom|์ ๋๋ฒ์ค์ฌ๋กฏ] SCALP ํ๋ณด 1โ0 (history=kiwoom ๊ต์งํฉ, ์ ์ธ 1)\nkis_alert_bot\nBOT\n์ค์ 9:27\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:27:35\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 60์ด+\nkis_alert_bot\nBOT\n์ค์ 9:29\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:29:18\n์ ๋: kis_trader_main.service\n2026-08-14T09:29:18+09:00 ubuntu2404 python[1986742]: [09:29:18] [kis_trader.strategy.SHORT] ๐ [T:kiwoom|O:kiwoom|์ ๋๋ฒ์ค์ฌ๋กฏ] SHORT ํ๋ณด 1โ0 (history=kiwoom ๊ต์งํฉ, ์ ์ธ 1)\nkis_alert_bot\nBOT\n์ค์ 9:32\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:32:51\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 117์ด+\nkis_alert_bot\nBOT\n์ค์ 9:32\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:32:51\n์ ๋: kis_trader_main.service\n2026-08-14T09:32:51+09:00 ubuntu2404 python[1986742]: [09:32:51] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\nkis_alert_bot\nBOT\n์ค์ 9:34\n\n๐จ [์ด์์๋ฆผ/CRITICAL] SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-14 09:34:28\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 1\nkis_alert_bot\nBOT\n์ค์ 9:34\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:34:29\n์ ๋: kis_trader_main.service\n2026-08-14T09:34:28+09:00 ubuntu2404 python[1986742]: [09:34:28] [kis_trader.ops_alert] [ops_alert] sent code=universe_wipe ok_mm=True title=SCALP ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\nkis_alert_bot\nBOT\n์ค์ 9:37\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:37:55\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 60์ด+\nkis_alert_bot\nBOT\n์ค์ 9:37\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:37:56\n์ ๋: kis_trader_main.service\n2026-08-14T09:37:55+09:00 ubuntu2404 python[1986742]: [09:37:55] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\nkis_alert_bot\nBOT\n์ค์ 9:42\n\n๐จ [์ด์์๋ฆผ/CRITICAL] MOMENTUM ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-14 09:42:26\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 1\nkis_alert_bot\nBOT\n์ค์ 9:42\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:42:27\n์ ๋: kis_trader_main.service\n2026-08-14T09:42:27+09:00 ubuntu2404 python[1986742]: [09:42:27] [kis_trader.ops_alert] [ops_alert] sent code=universe_wipe ok_mm=True title=MOMENTUM ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\nkis_alert_bot\nBOT\n์ค์ 9:43\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:43:35\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 60์ด+\nkis_alert_bot\nBOT\n์ค์ 9:43\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:43:36\n์ ๋: kis_trader_main.service\n2026-08-14T09:43:35+09:00 ubuntu2404 python[1986742]: [09:43:35] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\nkis_alert_bot\nBOT\n์ค์ 9:48\n\n๐จ [์ด์์๋ฆผ/CRITICAL] MOMENTUM ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\n\n์ฝ๋: universe_wipe\n์๊ฐ: 2026-08-14 09:48:07\n์์ธ: history=kiwoom ๊ต์งํฉ ์ ์ธ 1\nkis_alert_bot\nBOT\n์ค์ 9:48\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:48:08\n์ ๋: kis_trader_main.service\n2026-08-14T09:48:07+09:00 ubuntu2404 python[1986742]: [09:48:07] [kis_trader.ops_alert] [ops_alert] sent code=universe_wipe ok_mm=True title=MOMENTUM ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ 1โ0\nkis_alert_bot\nBOT\n์ค์ 9:49\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:49:25\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 60์ด+\nkis_alert_bot\nBOT\n์ค์ 9:49\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:49:26\n์ ๋: kis_trader_main.service\n2026-08-14T09:49:25+09:00 ubuntu2404 python[1986742]: [09:49:25] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\n\nkis_alert_bot\nBOT\n์ค์ 9:54\n\n๐จ [์ด์์๋ฆผ/CRITICAL] LS ์์ธ WS ๋ฏธOPEN\n\n์ฝ๋: ws_ls_down\n์๊ฐ: 2026-08-14 09:54:27\n์์ธ: ์ฅ์ค LS ์์ผ ๋ฏธ์ฐ๊ฒฐ 60์ด+\nkis_alert_bot\nBOT\n์ค์ 9:54\n\n๐จ [์ค๋ฅ๊ฐ์] ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ\n\n์๊ฐ: 2026-08-14 09:54:28\n์ ๋: kis_trader_main.service\n2026-08-14T09:54:27+09:00 ubuntu2404 python[1986742]: [09:54:27] [kis_trader.ops_alert] [ops_alert] sent code=ws_ls_down ok_mm=True title=LS ์์ธ WS ๋ฏธOPEN\n\n ๊ทธ๋ฆฌ๊ณ ์ค๋์ผ์ ์ค๋ฅ์ผ ใ
๋ฌด์จ ์ค๋ฅ์ธ์ง ํ์
ํด์ ๋ช
๋ช
ใ
๋งฅ๋ฐฑํ ๊ทผ๋ณธ์์ธ์ ์์ด์ค\n"}]}}
{"role":"assistant","message":{"content":[{"type":"text","text":"๋งค๋ ์๋ฆผ์ด ์์ค์ธ๋ฐ ๋
น์์ธ ์ด์ ์ ์ค๋ ์ค๋ฅ ์๋ฆผ์ ๊ทผ๋ณธ์์ธ์ ์ฝ๋ยท๋ก๊ทธ์์ ๋จผ์ ํ์ธํ๊ฒ ์ต๋๋ค."},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/docs/like_mcp.md/MODIFICATION_GUIDE.md","limit":120}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot","pattern":"๋งค๋์ฒด๊ฒฐ","glob":"*.{py,js}","head_limit":40}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot","pattern":"๐ข","glob":"*.py","head_limit":40}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot","pattern":"universe_wipe|ws_ls_down|universe_zero","glob":"*.py","head_limit":50}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot","pattern":"๋ก๊ทธ ์ค๋ฅ ๋งค์นญ|condition ์์ค ์ฐ๋ ์ ๋ต","glob":"*.py","head_limit":40}}]}}
{"role":"assistant","message":{"content":[{"type":"text","text":"๋
น์ ์ด๋ชจ์ง๋ `realized_pnl` ๊ธฐ์ค์ผ๋ก ๋ณด์
๋๋ค. ์์ต ๊ณ์ฐ๊ณผ ์ค๋ฅ ๊ฐ์ ๋งค์นญ์ ์ด์ด์ ํ์ธํฉ๋๋ค."},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/kis_trader/execution/order_manager.py","offset":780,"limit":120}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/scripts/kis_error_watch_mm.py","limit":150}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/kis_trader/main.py","offset":1480,"limit":180}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/kis_trader/strategies/base.py","offset":1640,"limit":100}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/kis_trader/utils/ops_alert.py","limit":80}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/kis_trader/execution/order_manager.py","pattern":"realized_pnl","glob":"*.py"}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/scripts/kis_error_watch_mm.py","offset":150,"limit":250}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/kis_trader/utils/live_portfolio_common.py","limit":150}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot","pattern":"ls_ws|_opened","glob":"*.py","head_limit":40}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Read","input":{"limit":80,"offset":680,"path":"/home/hoon/kis_bot/kis_trader/execution/order_manager.py"}},{"type":"tool_use","name":"Grep","input":{"glob":"*.py","head_limit":30,"path":"/home/hoon/kis_bot/kis_trader","pattern":"profit_pct"}},{"type":"tool_use","name":"Grep","input":{"glob":"*.py","head_limit":40,"path":"/home/hoon/kis_bot/kis_trader","pattern":"self\\.ls_ws\\s*="}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot","pattern":"ERROR_WATCH_","glob":"*.{py,md,sql}","head_limit":40}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Grep","input":{"glob":"*.py","head_limit":35,"path":"/home/hoon/kis_bot/kis_trader/strategies","pattern":"\"profit_pct\"|buy_price="}},{"type":"tool_use","name":"Read","input":{"limit":80,"offset":1100,"path":"/home/hoon/kis_bot/kis_trader/main.py"}},{"type":"tool_use","name":"Read","input":{"limit":80,"offset":1170,"path":"/home/hoon/kis_bot/kis_trader/strategies/base.py"}},{"type":"tool_use","name":"Grep","input":{"glob":"*.py","head_limit":25,"path":"/home/hoon/kis_bot","pattern":"LIVE_UNIVERSE_SLOT_ALIGN"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/kis_trader/strategies/momentum.py","offset":330,"limit":60}},{"type":"tool_use","name":"Grep","input":{"glob":"**/momentum*.py","head_limit":40,"path":"/home/hoon/kis_bot/kis_trader","pattern":"profit_pct|buy_price","glob_pattern":"*.py"}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/kis_trader/main.py","offset":1040,"limit":70}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Read","input":{"limit":50,"offset":270,"path":"/home/hoon/kis_bot/kis_trader/strategies/momentum.py"}},{"type":"tool_use","name":"Grep","input":{"glob":"*.py","head_limit":30,"path":"/home/hoon/kis_bot/kis_trader","pattern":"์์ ํธ๊ฐ"}},{"type":"tool_use","name":"Glob","input":{"glob_pattern":"**/ls_ws.py","target_directory":"/home/hoon/kis_bot"}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/kis_trader/ws","pattern":"_opened","glob":"*.py","head_limit":40}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/kis_trader/utils/live_portfolio_common.py","pattern":"def filter_candidates_by_history_universe","-A":80}},{"type":"tool_use","name":"Read","input":{"limit":80,"offset":1280,"path":"/home/hoon/kis_bot/kis_trader/ws/ls_ws.py"}},{"type":"tool_use","name":"Read","input":{"limit":50,"offset":880,"path":"/home/hoon/kis_bot/kis_trader/main.py"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/database.py","pattern":"def classify_config_key|ENV_CONFIG","head_limit":30}},{"type":"tool_use","name":"Glob","input":{"glob_pattern":"**/*.{service,timer}","target_directory":"/home/hoon/kis_bot/deploy"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/database.py","pattern":"def get_env_from_db|def classify_config_key","head_limit":20}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/kis_trader/utils/env.py","limit":80}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Write","input":{"path":"/home/hoon/kis_bot/logs/_adhoc_alert_diag.py","contents":"#!/usr/bin/env python3\n\"\"\"adhoc: env ํค ์กฐํ (์คํค๋ง ํ์ธ ํ).\"\"\"\nfrom database import TradeDB\n\ndb = TradeDB()\ncols = [r[\"Field\"] for r in db.conn.execute(\"SHOW COLUMNS FROM env_config\").fetchall()]\nkeys = [\n \"LIVE_UNIVERSE_SLOT_ALIGN\",\n \"ERROR_WATCH_MATCH_REGEX\",\n \"ERROR_WATCH_IGNORE_REGEX\",\n \"ERROR_WATCH_ENABLED\",\n \"LS_WS_ENABLED\",\n \"LS_WS_VALIDATION_ENABLED\",\n \"LS_CONDITION_HISTORY_ENABLED\",\n \"LS_WS_FOLLOW_CONDITION_UNIVERSE\",\n \"OPS_ALERT_COOLDOWN_SEC\",\n \"OPS_ALERT_WS_DOWN_HOLD_SEC\",\n \"OPS_ALERT_UNIVERSE_ZERO_SEC\",\n \"SCALP_LIVE_UNIVERSE_SLOT_ALIGN\",\n \"MOMENTUM_LIVE_UNIVERSE_SLOT_ALIGN\",\n \"BREAKOUT_LIVE_UNIVERSE_SLOT_ALIGN\",\n \"SHORT_LIVE_UNIVERSE_SLOT_ALIGN\",\n \"LIVE_UNIVERSE_HISTORY_SOURCE\",\n]\npresent = [k for k in keys if k in cols]\nmissing = [k for k in keys if k not in cols]\nprint(\"missing_cols\", missing)\nif present:\n sel = \", \".join(f\"`{k}`\" for k in present)\n row = db.conn.execute(\n f\"SELECT {sel} FROM env_config ORDER BY id DESC LIMIT 1\"\n ).fetchone()\n d = dict(row) if row else {}\n for k in present:\n v = d.get(k)\n s = \"\" if v is None else str(v)\n if len(s) > 180:\n s = s[:180] + \"...(len=%d)\" % len(str(v))\n print(f\"{k}={s!r}\")\n"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Shell","input":{"command":"python3 -m py_compile /home/hoon/kis_bot/logs/_adhoc_alert_diag.py && python3 /home/hoon/kis_bot/logs/_adhoc_alert_diag.py","description":"Compile and query env_config keys"}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/kis_trader/utils/live_portfolio_common.py","pattern":"def history_universe_codes_at"}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot","pattern":"kis_trader_main","glob":"*.{service,timer,conf}"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Shell","input":{"command":"cd /home/hoon/kis_bot && python3 -m py_compile logs/_adhoc_alert_diag.py && python3 logs/_adhoc_alert_diag.py","description":"Run env query from repo root"}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/kis_trader/utils/live_portfolio_common.py","offset":262,"limit":120}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Shell","input":{"command":"cd /home/hoon/kis_bot && ls -d .venv 2>/dev/null; PYTHONPATH=/home/hoon/kis_bot python3 logs/_adhoc_alert_diag.py","description":"Query env_config with PYTHONPATH"}},{"type":"tool_use","name":"Read","input":{"limit":80,"offset":380,"path":"/home/hoon/kis_bot/kis_trader/utils/live_portfolio_common.py"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Grep","input":{"head_limit":25,"path":"/home/hoon/kis_bot/database.py","pattern":"env_config_ext|LIVE_UNIVERSE_SLOT_ALIGN"}},{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/deploy/kis_error_watch_mm.service"}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/database.py","pattern":"LIVE_UNIVERSE_SLOT_ALIGN|LS_WS_ENABLED|OPS_ALERT_"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Read","input":{"path":"/home/hoon/kis_bot/database.py","offset":1265,"limit":50}},{"type":"tool_use","name":"Write","input":{"contents":"#!/usr/bin/env python3\nfrom database import TradeDB\n\ndb = TradeDB()\next_cols = [r[\"Field\"] for r in db.conn.execute(\"SHOW COLUMNS FROM env_config_ext\").fetchall()]\nprint(\"ext_cols\", ext_cols)\nkeys = (\n \"LIVE_UNIVERSE_SLOT_ALIGN\",\n \"LS_WS_ENABLED\",\n \"LS_WS_VALIDATION_ENABLED\",\n \"LS_CONDITION_HISTORY_ENABLED\",\n \"LS_WS_FOLLOW_CONDITION_UNIVERSE\",\n \"OPS_ALERT_COOLDOWN_SEC\",\n \"OPS_ALERT_WS_DOWN_HOLD_SEC\",\n \"OPS_ALERT_UNIVERSE_ZERO_SEC\",\n \"SCALP_LIVE_UNIVERSE_SLOT_ALIGN\",\n \"MOMENTUM_LIVE_UNIVERSE_SLOT_ALIGN\",\n \"BREAKOUT_LIVE_UNIVERSE_SLOT_ALIGN\",\n \"SHORT_LIVE_UNIVERSE_SLOT_ALIGN\",\n \"LIVE_UNIVERSE_HISTORY_SOURCE\",\n \"ERROR_WATCH_MATCH_REGEX\",\n \"ERROR_WATCH_IGNORE_REGEX\",\n)\nph = \",\".join([\"%s\"] * len(keys))\nrows = db.conn.execute(\n f\"SELECT env_key, env_value FROM env_config_ext WHERE env_key IN ({ph})\",\n keys,\n).fetchall()\nprint(\"ext_hits\", len(rows))\nfor r in rows:\n d = dict(r)\n v = str(d.get(\"env_value\") or \"\")\n if len(v) > 160:\n v = v[:160] + \"...\"\n print(d.get(\"env_key\"), \"=\", repr(v))\n\nfrom kis_trader.utils.env import get_env_from_db, get_env_bool, get_env_int\nprint(\"--- get_env ---\")\nfor k in keys:\n print(k, \"=\", repr(get_env_from_db(k, \"\")))\nprint(\"LIVE_UNIVERSE_SLOT_ALIGN bool\", get_env_bool(\"LIVE_UNIVERSE_SLOT_ALIGN\", False))\nprint(\"LS_WS_ENABLED bool\", get_env_bool(\"LS_WS_ENABLED\", False))\nprint(\"LS_WS_VALIDATION_ENABLED\", get_env_bool(\"LS_WS_VALIDATION_ENABLED\", False))\nprint(\"LS_CONDITION_HISTORY_ENABLED\", get_env_bool(\"LS_CONDITION_HISTORY_ENABLED\", False))\nprint(\"LS_WS_FOLLOW_CONDITION_UNIVERSE\", get_env_bool(\"LS_WS_FOLLOW_CONDITION_UNIVERSE\", True))\n","path":"/home/hoon/kis_bot/logs/_adhoc_alert_diag2.py"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Shell","input":{"command":"cd /home/hoon/kis_bot && python3 -m py_compile logs/_adhoc_alert_diag2.py && PYTHONPATH=/home/hoon/kis_bot python3 logs/_adhoc_alert_diag2.py","description":"Query ext env and get_env values"}},{"type":"tool_use","name":"Shell","input":{"command":"systemctl is-active kis_error_watch_mm.service kis_trader_main.service; echo '---'; systemctl show kis_error_watch_mm.service -p ActiveEnterTimestamp -p MainPID -p FragmentPath --no-pager; echo '---'; ps -o lstart,pid,cmd -p $(systemctl show -p MainPID --value kis_error_watch_mm.service) 2>/dev/null; echo '---LS logs---'; journalctl -u kis_trader_main.service --since '2026-08-14 08:55:00' --until '2026-08-14 09:55:00' --no-pager 2>/dev/null | grep -E 'LS WS|ls_ws|๋ฏธOPEN|_opened|watchdog|universe_wipe|์ ๋๋ฒ์ค์ฌ๋กฏ|condition ์์ค' | head -80","description":"Check watch service and today's LS logs"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/kis_trader/ws/ls_ws.py","pattern":"LS_WS_PING_INTERVAL"}},{"type":"tool_use","name":"Read","input":{"limit":90,"offset":1385,"path":"/home/hoon/kis_bot/kis_trader/ws/ls_ws.py"}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/kis_trader/main.py","pattern":"_ops_health_tick"}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot","pattern":"resolve_live_scan_interval_min","glob":"*.py","head_limit":20}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Read","input":{"limit":80,"offset":1880,"path":"/home/hoon/kis_bot/kis_trader/main.py"}},{"type":"tool_use","name":"Read","input":{"limit":40,"offset":156,"path":"/home/hoon/kis_bot/kis_trader/utils/live_portfolio_common.py"}},{"type":"tool_use","name":"Read","input":{"limit":40,"offset":290,"path":"/home/hoon/kis_bot/kis_trader/ws/ls_ws.py"}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/database.py","pattern":"LS_WS_PING_INTERVAL"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Write","input":{"contents":"#!/usr/bin/env python3\nfrom database import TradeDB\nfrom kis_trader.utils.env import get_env_from_db, get_env_int\n\ndb = TradeDB()\ncols = [r[\"Field\"] for r in db.conn.execute(\"SHOW COLUMNS FROM env_config_ext\").fetchall()]\nprint(\"ok\", cols)\nkeys = (\n \"LS_WS_PING_INTERVAL_SEC\",\n \"LS_WS_PING_TIMEOUT_SEC\",\n \"LS_WS_WATCHDOG_ENABLED\",\n \"LS_WS_WATCHDOG_SILENCE_SEC\",\n \"SCAN_INTERVAL_MIN\",\n \"SCALP_SCAN_INTERVAL_MIN\",\n \"MOMENTUM_SCAN_INTERVAL_MIN\",\n \"BREAKOUT_SCAN_INTERVAL_MIN\",\n \"SHORT_SCAN_INTERVAL_MIN\",\n \"TAIL_SCAN_INTERVAL_MIN\",\n \"OPS_ALERT_COOLDOWN_SEC\",\n \"OPS_ALERT_COOLDOWN_WS_LS_DOWN_SEC\",\n)\nph = \",\".join([\"%s\"] * len(keys))\nrows = db.conn.execute(\n \"SELECT env_key, env_value FROM env_config_ext WHERE env_key IN (\" + ph + \")\",\n keys,\n).fetchall()\nprint(\"ext\", [(dict(r)[\"env_key\"], dict(r)[\"env_value\"]) for r in rows])\nprint(\"---\")\nfor k in keys:\n print(k, repr(get_env_from_db(k, \"\")), \"int\", get_env_int(k, -1))\n","path":"/home/hoon/kis_bot/logs/_adhoc_alert_diag3.py"}},{"type":"tool_use","name":"Shell","input":{"command":"ps aux | grep -E 'kis_error_watch|error_watch' | grep -v grep; echo '---units---'; systemctl list-units --all '*error*' --no-pager; echo '---kill---'; journalctl -u kis_trader_main.service --since '2026-08-13 15:00:00' --until '2026-08-13 15:15:00' --no-pager | grep -iE 'kill|oom|restart|signal|Stopped|deactivat' | head -40; echo '---watch log---'; ls -la /home/hoon/kis_bot/logs/kis_error_watch_mm.log 2>/dev/null; tail -20 /home/hoon/kis_bot/logs/kis_error_watch_mm.log 2>/dev/null","description":"Find error-watch process and SIGKILL cause"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Shell","input":{"command":"cd /home/hoon/kis_bot && python3 -m py_compile logs/_adhoc_alert_diag3.py && PYTHONPATH=/home/hoon/kis_bot python3 logs/_adhoc_alert_diag3.py","description":"Query ping and scan interval env"}},{"type":"tool_use","name":"Shell","input":{"command":"journalctl -u kis_trader_main.service --since '2026-08-13 15:04:00' --until '2026-08-13 15:13:00' --no-pager | grep -E 'systemd|Killed|SIGKILL|oom|Stopping|Started' | head -50; echo '==== 23:35 ===='; journalctl -u kis_trader_main.service --since '2026-08-13 23:34:00' --until '2026-08-14 01:20:00' --no-pager | grep -E 'systemd|Stopping|Started|Killed' | head -40","description":"Find systemd restart/kill reasons"}},{"type":"tool_use","name":"Grep","input":{"path":"/home/hoon/kis_bot/kis_trader/execution/order_manager.py","pattern":"์์ ํธ๊ฐ","glob":"*.py"}},{"type":"tool_use","name":"Read","input":{"limit":40,"offset":348,"path":"/home/hoon/kis_bot/kis_trader/engine/momentum_hts_logic.py"}}]}}
{"role":"assistant","message":{"content":[{"type":"tool_use","name":"Shell","input":{"command":"journalctl -u kis_trader_main.service -t systemd --since '2026-08-13 14:45:00' --until '2026-08-13 15:15:00' --no-pager; echo '===='; journalctl --since '2026-08-13 15:10:00' --until '2026-08-13 15:12:00' --no-pager | grep -iE 'oom|killed|kis_trader' | head -20","description":"Systemd-only lines for 8/13 afternoon kill"}},{"type":"tool_use","name":"Delete","input":{"path":"/home/hoon/kis_bot/logs/_adhoc_alert_diag.py"}},{"type":"tool_use","name":"Delete","input":{"path":"/home/hoon/kis_bot/logs/_adhoc_alert_diag2.py"}},{"type":"tool_use","name":"Delete","input":{"path":"/home/hoon/kis_bot/logs/_adhoc_alert_diag3.py"}}]}}
{"role":"assistant","message":{"content":[{"type":"text","text":"๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด, **์์ค์ธ๋ฐ ๋
น์**์ ๋งค๋งค ์คํจ๊ฐ ์๋๋ผ **์๋ฆผ ์๊ณผ ์์ต๋ฅ ์ค์ด ์๋ก ๋ค๋ฅธ ์ซ์**๋ฅผ ๋ณด๊ณ ์์ด์์
๋๋ค. ์ค๋ ์ฅ์ค ๋นจ๊ฐ ์๋ฆผ์ **์ง์ง ์ฅ์ 1๊ฐ + ์คํ์ด ์ฌ๋ฌ ๊ฒน**์
๋๋ค.\n\n---\n\n## 1. ๋ค์ค์คํ ๋งค๋๊ฐ ๋ง์ด๋์ค์ธ๋ฐ ๐ข์ธ ์ด์ \n\n์๋ฆผ์ ์ด๋ ๊ฒ ๋๋ฉ๋๋ค.\n\n| ์ค | ๊ธฐ์ค | ๊ทธ๋ ๊ฐ |\n|---|---|---|\n| ์์ต๋ฅ **-1.78%** | ๋งค๋ **์ ํธ ๋น์ ํ์ฌ๊ฐ** vs ๋งค์๊ฐ | ์์ ํธ๊ฐ ํธ๋ฆฌ๊ฑฐ ์์ ์์ธ |\n| ์คํ **+295์** ยท ๐ข | **์ค์ ์ฒด๊ฒฐ๊ฐ** 12,010์ โ ๋งค์๊ฐ โ ์์๋ฃ/์ธ๊ธ | ์ฒด๊ฒฐ ์์ต |\n\n์์ ์์ต๋ฅ ์ด ์๋๋ผ **์คํ์์ต**๋ง ๋ด
๋๋ค.\n\n```842:848:kis_trader/execution/order_manager.py\n emoji = \"๐ข\" if (realized_pnl is None or realized_pnl >= 0) else \"๐ด\"\n pnl_str = f\"{realized_pnl:+,.0f}์\" if realized_pnl is not None else \"-\"\n disp = _strategy_display(req.strategy_id)\n header = (\n f\"{emoji} **[๋งค๋์ฒด๊ฒฐ:{disp}]** {req.name}({req.code})\\n\"\n f\"{sell_price:,.0f}์ ร {delta_qty}์ฃผ\\n\"\n f\"{req.reason} ยท ์์ต๋ฅ {req.profit_pct*100:+.2f}%\\n\"\n```\n\n์์ ํธ๊ฐ๋ **ํธ๊ฐ OR์ด ๋ฌด๋์ง๊ณ , ๊ทธ๋ ํ์ฌ๊ฐ๊ฐ ์ด๋ฏธ ๋งค์๊ฐ๋ณด๋ค ์๋**์ผ ๋ ๋ฐ๋ํฉ๋๋ค. ๊ทธ ์์ ์์ธ๋ก **-1.78%**๊ฐ ์ฐํ๋๋ค. \n์ฃผ๋ฌธ์ ์ง์ ๊ฐ(ํธ๊ฐ)๋ผ **์ฒด๊ฒฐ๊ฐ 12,010์**์ด ํธ๋ฆฌ๊ฑฐ ์์ธ๋ณด๋ค ๋์ ์ ์๊ณ , ๊ทธ ์ฒด๊ฒฐ ๊ธฐ์ค์ผ๋ก๋ **์ํญ ํ๋ฌ์ค(+295์)** ๊ฐ ๋ฉ๋๋ค.\n\n๊ทธ๋์ ์ฌ๋์ โ์์ ยท๋ง์ด๋์คโ๋ฅผ ๋ณด๊ณ , ๋ด์ โ์ฒด๊ฒฐ ์์ต ํ๋ฌ์คโ๋ก ์ด๋ก์ ๋ถ์
๋๋ค. \n์ถ๊ฐ๋ก `realized_pnl is None`(๋งค์๊ฐ ์์)์ด์ด๋ ์ด๋ก์
๋๋ค. ๊ทธ๊ฑด ๋ณ๋ ๊ตฌ๋ฉ์
๋๋ค.\n\n**์ํฅ:** ์ค๋งค ์๋ฆผ UX๋ง. ๋ฐฑํ
/ํ๋ ์ซ์์ ๋ฌด๊ดํฉ๋๋ค. \n๊ณ ์น๋ ค๋ฉด ์์ **์์ต๋ฅ ๋๋ `min(์คํ, ์์ต๋ฅ )`** ๊ธฐ์ค์ผ๋ก ๋ฐ๊พธ๋ฉด ๋ฉ๋๋ค. ์ํ์๋ฉด ๊ทธ๋ ์์ ํ๊ฒ ์ต๋๋ค.\n\n---\n\n## 2. ์ค๋(8/14) ์ค๋ฅ โ ์์ธ๋ณ๋ก ์ ๋ฆฌ\n\n์ด์ ์ ๋๋ฒ์ค๋ **์ ๋ถ ํค์ ์กฐ๊ฑด๊ฒ์**์
๋๋ค. ์์ธ ์ฃผ๋ ฅ๋ ํค์์
๋๋ค. LS๋ `LS_WS_ENABLED=true` ๋๋ฌธ์ **๊ทธ๋ฆผ์ ์์ผ**์ผ๋ก ๋ ์์ต๋๋ค.\n\n### A. ์ง์ง ์์ธ โ `LS ์์ธ WS ๋ฏธOPEN` (`ws_ls_down`)\n\n**์ด๋ฆ:** LS ํ ๊บผ์ง โ ์๋ฒ๊ฐ 60์ด๋ง๋ค ์ฐ๊ฒฐ ๋์ \n\nDB: `LS_WS_PING_INTERVAL_SEC=0` โ ๋ก๊ทธ์๋ `ping=off`. \n์ ๋: ์ฝ 1๋ถ๋ง๋ค `opcode=8 data=b'\\x03\\xe8Bye'` (์ ์ ์ข
๋ฃ ์ฝ๋ 1000) ํ ๋ฐ๋ก ์ฌOPEN.\n\nLS ์๋ฒ๋ ํ์ด ์์ผ๋ฉด ์ ํด ์ฐ๊ฒฐ์ ๋์ต๋๋ค. ๋ด์ด ๋ค์ ๋ถ๊ณ , ๋ ๋๊น๋๋ค.\n\n์๋ฆผ์ด ๋ ๊ณผ์ฅ๋๋ ์ด์ : `_ops_health_tick`์ด **ํํธ๋นํธ 60์ด๋ง๋ค** `_opened`๋ง ๋ด
๋๋ค. ๋๊ธฐ๋ ์๊ฐ์ ๊ฑธ๋ฆฌ๋ฉด โ60์ด+ ๋ฏธOPENโ์ผ๋ก ๋๊ฐ๋๋ค. ์ค์ ๋ก๋ ๋๋ถ๋ถ ๋ฐ๋ก ๋ค์ ๋ถ์ต๋๋ค.\n\n๊ตญ์ฅ ๋งค๋งค ๋ณธ์ฒด(ํค์ ์กฐ๊ฑดยทํค์/KIS ์์ธ)์๋ **๋ณ ๊ฒฝ๋ก**์
๋๋ค. ๋ค๋ง LS๋ฅผ ํธ๊ฐ/๊ฒ์ฆ/3์ฐจ spill์ ์ฐ๋ฉด ๊ทธ ๊ตฌ๊ฐ์ ํ๋ค๋ฆฝ๋๋ค.\n\n### B. ์ด์ ์ค์ โ `universe_wipe` / `universe_zero` / `ํ๋ณด 1โ0`\n\n**์ด๋ฆ:** ์ ๋๋ฒ์ค ์ฌ๋กฏ ๊ต์งํฉ ์ ๋ํ๋ฝ \n\nDB: `LIVE_UNIVERSE_SLOT_ALIGN=true` (์ฝ๋ ๊ธฐ๋ณธ์ **False**, ์ผ์ ธ ์์).\n\n๋์: ํค์ HTS **์ง๊ธ ํ๋ณด** โฉ **history ์ค๋
์ท**. ์ค๋
์ท์ ์๋ ์ข
๋ชฉ์ ๋ฒ๋ฆฝ๋๋ค. ์ค๋ ๋ก๊ทธ์ฒ๋ผ `10โ0`, `1โ0`์ โHTS๊ฐ ์ฃฝ์๋คโ๊ฐ ์๋๋ผ **์ค์๊ฐ ๋ชฉ๋ก๊ณผ history๊ฐ ์ ๊ฒน์นจ**์
๋๋ค.\n\n`universe_zero` (`kw=0 ls=-1`): ํค์ ๋งค๋์ ์ ๋๋ฒ์ค๊ฐ 0์ด 180์ด ์ด์. ์ฅ์ดยท์กฐ๊ฑด์ ๊ณต๋ฐฑ์ด๊ฑฐ๋, ์ ๊ต์งํฉ์ผ๋ก ์ ๋ต ์ชฝ ํ๋ณด๊ฐ ๋น๋ ๊ฒ๊ณผ ๊ฒน์นฉ๋๋ค. LS ๋งค๋์ ๋ ์์ด์ `ls=-1`์ธ ๊ฒ์ด ์ ์์
๋๋ค.\n\n### C. ์คํ โ `๐จ ๋ก๊ทธ ์ค๋ฅ ๋งค์นญ` (์ด์์๋ฆผ๊ณผ ์ด์ค ์ธ๋ฆผ)\n\n์ค๋ฅ๊ฐ์ ํ๋ก์ธ์ค(`kis_error_watch_mm.py`)๊ฐ **8/3๋ถํฐ ์ฌ์์ ์์ด** ๋ ์์ต๋๋ค. systemd ์ ๋์ ์๊ณ , nohup์
๋๋ค. **๊ธฐ๋ ๋ ์ฝ์ ์ ๊ท์**์ ๊ทธ๋๋ก ์๋๋ค.\n\n๋งค์นญ์ด ๋์ต๋๋ค.\n\n- `[ops_alert]` โ ์ด๋ฏธ ๋ณด๋ธ ์ด์์๋ฆผ ๋ก๊ทธ๋ฅผ ๋ค์ โ์ค๋ฅโ๋ก ์ฌ๋ฆผ \n- `์ ๋๋ฒ์ค์ฌ๋กฏ.*โ0` โ INFO `ํ๋ณด 1โ0`๊น์ง ์ค๋ฅ๋ก ์ฌ๋ฆผ \n- `์กฐ๊ฑด๊ฒ์ ๋งค๋์ ๋นํ์ฑ` โ ์ฌ์์ INFO (`condition` ์์ค ์ ์ โ KIS ์กฐ๊ฑด๊ฒ์ OFF)๋ฅผ ์ค๋ฅ๋ก ์ฌ๋ฆผ \n\n์ ์ฅ์ ์ชฝ ignore์๋ ์ผ๋ถ ๋นผ๋ ๊ท์น์ด ์์ง๋ง, **8/3 ํ๋ก์ธ์ค๋ ๊ทธ ์ฝ๋๋ฅผ ์ ์ฝ๊ณ ์์ต๋๋ค.**\n\n### D. ์ด์ ์ฌ์์ / SIGKILL โ ํฌ๋์๊ฐ ์๋\n\n| ์๊ฐ | ์ค์ |\n|---|---|\n| 8/13 14:48, 15:04, 23:35, 8/14 01:17 | `systemctl stop/start` (๋ฐฐํฌยท์๋ ์ฌ์์) |\n| 8/13 15:11 SIGKILL | ์ข
๋ฃ ์ SIGTERM์ด ์ ๋๋ **TimeoutSec ์ด๊ณผ โ systemd๊ฐ KILL** (`Failed with result 'timeout'`). OOM ์๋ |\n\n์ฌ์์ ์งํ `condition ์์ค ์ฐ๋ ์ ๋ต ์์`์ **ํํฌ(KIS) ์กฐ๊ฑด๊ฒ์์ ์ ์จ์ ๋งค๋์ ๋ฅผ ๋๋ค**๋ INFO์
๋๋ค. ํค์ ์กฐ๊ฑด๊ฒ์์ ๊ธฐ๋ ์๋ฆผ์ ์ ์ ๋ฑ๋ก๋ผ ์์ต๋๋ค.\n\n---\n\n## ํ ์ค๋ก\n\n- **์ด๋ก:** ์์ **์์ธ**๋ ๋ง์ด๋์ค, **์ฒด๊ฒฐ ์์ต**์ +295์ โ ์์ด ์ฒด๊ฒฐ๋ง ๋ด. \n- **์ค๋ ๋นจ๊ฐ ์๋ฆผ:** ๋ณธ์ฒด๋ **LS ํ 0์ผ๋ก 1๋ถ๋ง๋ค Bye**. ์ ๋๋ฒ์ค ์ ๋ํ๋ฝ์ **์ฌ๋กฏ ์ ํฉ ON**. ๋๋จธ์ง๋ **์ค๋ฅ๊ฐ์๊ฐ ์ด์๋ก๊ทธ๋ฅผ ๋ค์ ์ธ๋ฆฌ๋ ์คํ**.\n\n์ํ์๋ฉด ์น์ธ ๋ฐ๊ณ ์ด ์์๋ก ์๋๋ฉด ๋ฉ๋๋ค. (์ค๋งค ์ํฅ์ 1ยท2๋ฒ)\n\n1. ๋งค๋ ์๋ฆผ ์ = ์์ต๋ฅ /์คํ ์ค ์์ค์ด๋ฉด ๋นจ๊ฐ \n2. `LS_WS_PING_INTERVAL_SEC`๋ฅผ ๊ธฐ๋ณธ 20์ผ๋ก (๋๋ LS๊ฐ ํ์ ์์ผ๋ฉด WS ๊ธฐ๋ OFF) \n3. ์ค๋ฅ๊ฐ์ ์ฌ์์ + `[ops_alert]`/INFO ์ ๋๋ฒ์ค์ฌ๋กฏ ๋งค์นญ ์ ๊ฑฐ \n4. `LIVE_UNIVERSE_SLOT_ALIGN`์ ๋ฐฑํ
์ ํฉ์ฉ์ด๋ผ **๋๊ธฐ ์ ์ ํ ๋ฒ ๋ ํ์ธ**"}]}}