15m/30m/1h 진입 알림을 closed candle 전용으로 변경 (forming 차단)
## 사례
2026-05-04 23:02 KST 1시간봉 일반 숏 진입 알림 발사. 그러나 23:00
캔들은 forming 중이고 그 시점 close 가 일시적으로 open 아래로
내려가 short_signal=True 깜빡 발화. 이후 close=79,203 으로 회복
(open 78,747 위) -> 마감 시점 short_signal=False. 사용자 입장에서는
"숏 마커도 없는데 1시간봉에 숏 알림 오는 지랄".
## 수정
forming candle 깜빡임은 두 가지 방법으로 대응:
1. 5분봉 - forming 발사 허용 + 깜빡 시 a9ad52f 의 즉시 취소(30s)
(반응성 우선, 사용자 5분 단타용)
2. 15m / 30m / 1h - forming 자체 제외, closed candle 만 신호 검사
(가짜 알림 차단. 발사는 캔들 마감 후 다음 polling = ~30초 이내)
recent = df.iloc[:-1].tail(3) if interval in (15m, 30m, 1h)
장기 시간봉은 1캔들 늦은 알림 (15~60분 지연) 보다 가짜 알림 차단이
더 가치 있음 — 사용자 손익에 큰 영향. 5분봉은 깜빡 후 30초 취소로
충분.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+7
-1
@@ -124,7 +124,13 @@ def check_and_alert(df, symbol, interval):
|
|||||||
alert_state.short_entry[interval] = None
|
alert_state.short_entry[interval] = None
|
||||||
alert_state.pending_groups = new_pending
|
alert_state.pending_groups = new_pending
|
||||||
|
|
||||||
# Phase 2 — 신호 검사 + 알림 발사 (forming candle 포함)
|
# Phase 2 — 신호 검사 + 알림 발사.
|
||||||
|
# 5분봉: forming candle 포함 (반응성 우선, 깜빡임은 a9ad52f 의 즉시 취소로 대응)
|
||||||
|
# 15m / 30m / 1h: forming candle 제외 (forming 동안 신호 깜빡으로 인한 가짜
|
||||||
|
# 알림 자체를 차단. 알림은 캔들 마감 후 ~30초 이내 발사 — 신뢰성 우선)
|
||||||
|
if interval in ("15m", "30m", "1h"):
|
||||||
|
recent = df.iloc[:-1].tail(3)
|
||||||
|
else:
|
||||||
recent = df.tail(3)
|
recent = df.tail(3)
|
||||||
|
|
||||||
eligible = []
|
eligible = []
|
||||||
|
|||||||
Reference in New Issue
Block a user