- _execute_eod_flat에 _trade_lock 적용 (race condition 수정)
- total_assets=0일 때 신규 진입 차단 (손실한도 체크 우회 방지)
- MCP import를 모듈 최상단으로 이동
- API_CALL_DELAY 상수화 (settings.API_MIN_REQUEST_INTERVAL 사용)
- _execute_entry의 불필요한 global _trade_lock 제거
- candles_1m 빈 리스트일 때 execute 엔드포인트 early return 추가
① regime 파라미터 누락 → MarketRegime.BULL 기본값으로 수정
(기존 코드 런타임 TypeError 버그 — check_exit_signal 첫 인자 누락)
② trailing_high 미전달 → 최근 10봉 최고가로 계산하여 전달
(트레일링 스탑 기능 실제 동작 가능)
③ remaining_pct 업데이트 수식 오류
- 기존: remaining_pct - sell_pct (2차 이후 잘못된 비율)
- 수정: remaining_pct * (1 - sell_pct) (정확한 잔여 비율)
예) remaining=0.70, sell_pct=0.50 시
기존: 0.70 - 0.50 = 0.20 (잘못됨)
수정: 0.70 × 0.50 = 0.35 (올바름)