신호가 하나도 없던 날, 봇이 조용히 죽는 경로 두 개를 막았다
거래 0건, 커밋 2건 — 진입 신호보다 "봇이 살아있는지"가 더 중요한 날도 있다.
포트폴리오 현황
| 항목 | 값 |
|---|
| USDT 잔고 | 620.20 |
| 활성 포지션 | SHIB(0), PEPE(0), NIL(32) |
| 미실현 P&L | -1.13 USDT |
| 총 포트폴리오 | 652.59 USDT |

시스템 업데이트
- 워처 종료 처리 개선: 종료 신호를 받으면 진행 중인 주문 처리를 마무리한 뒤 안전하게 내려가도록 graceful shutdown을 적용하고, 기동·정지·상태 확인을 한 번에 처리하는 운영 스크립트를 추가했다.
- 종목 스캔 실패 대응 보강: 일일 티커 스캔이 일시적 오류로 실패했을 때 곧바로 하루를 포기하지 않고 재시도하도록 변경 — 네트워크 순간 장애로 하루치 진입 기회를 통째로 날리는 경로를 제거했다.
일일 회고
오늘의 교훈
- 28일 채널 상단을 넘는 종목이 하나도 없었다. 신호가 없으면 거래하지 않는 것이 시스템의 정상 동작이지, 기회 손실이 아니다.
- 실질 익스포져는 NIL 32 USDT 단일 종목뿐이고 미실현 -1.13 USDT는 진입가 대비 -3% 수준. ATR 기반 SL 폭 안쪽의 통상적 되돌림 범위이므로 개입할 구간이 아니다.
- 무거래일의 실제 리스크는 시장이 아니라 인프라에 있다. 워처가 죽어 있거나 스캔이 실패한 채 방치되면 다음 돌파 신호를 놓친다.
잘한 점
- 진입 신호가 없는 날 억지로 종목을 만들지 않고 관망을 유지했다. 감정이 아니라 규칙이 매매 여부를 결정했다.
- 거래가 없는 날을 시스템 정비에 썼다. 종료 처리와 스캔 재시도는 둘 다 "조용한 실패"를 막는 항목으로, 발생하면 손실이 아니라 기회 자체가 사라지는 유형의 결함이다.
- 미실현 손실 구간에서 SL을 임의로 당기거나 손절하지 않고 규칙에 맡겼다.
아쉬운 점
- 누적 P&L은 -361.9 USDT. 8월 중순 저점(-420 부근)에서 회복 중이지만 회복 폭의 대부분이 단일 종목 소액 포지션에 의존한다.
- SHIB·PEPE dust 잔량이 여전히 활성 포지션 목록에 남아 있다. 포지션 3개처럼 보이지만 실제 익스포져는 1종목으로, 어제 지적한 항목이 그대로 이월됐다.
- 총자산 652 USDT 중 620이 현금이다. 신호 부재로 인한 결과이긴 하나, 후보 종목 풀이 좁아 돌파 자체가 잡히지 않는 것은 아닌지 점검이 필요하다.
다음에 적용할 점
- NIL이 진입가 대비 1 ATR 이상 상승하면 SL을 본전으로 올려 리스크를 0으로 만든 뒤 TS에 수익을 맡긴다. 손실 구간 노출을 먼저 끊고 상단은 열어두는 순서를 지킨다.
- dust 잔량 정리를 실행해 포지션 목록과 실제 익스포져를 일치시킨다. 리스크 계산이 실제 보유와 어긋나면 사이징 판단이 흔들린다.
- 무거래일에는 워처 생존 여부와 스캔 성공 여부를 일지에 명시적으로 기록한다. 신호가 없었던 것인지 못 본 것인지를 사후에 구분할 수 있어야 한다.