Skip to content

Commit c9ee7c8

Browse files
aaron-jangclaude
andcommitted
refactor: 모든 스케줄러 시간을 EST 기준으로 통일
KST 이중 스케줄(17:00/18:00)을 EST 단일 스케줄(04:00)로 통합. pytz 'US/Eastern'이 서머타임을 자동 처리하므로 이중 등록 불필요. 변경 내역: - 토큰 갱신: KST 7/11/16:30/22 → EST 18/22/3:30/9 (6시간 간격 유지) - 장부 동기화: KST 8:30(여름)/9:30(겨울) → EST 19:30 통합 - 매매 초기화: KST 17/18 이중 → EST 04:00 단일 - 정규장 주문: KST 17:05/18:05 이중 → EST 04:05 단일 - 자정 청소: KST 06:00 → EST 17:00 (장 마감 후) - 나머지 EST 스케줄은 변경 없음 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent bdf9cf8 commit c9ee7c8

1 file changed

Lines changed: 14 additions & 14 deletions

File tree

trading_bot/app.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -163,40 +163,40 @@ def run():
163163
'bot': bot,
164164
'tx_lock': tx_lock
165165
}
166-
kst = pytz.timezone('Asia/Seoul')
167166
est = pytz.timezone('US/Eastern')
168167

169-
# 1. 시스템 관리 스케줄러 (core)
170-
for tt in [datetime.time(7,0,tzinfo=kst), datetime.time(11,0,tzinfo=kst), datetime.time(16,30,tzinfo=kst), datetime.time(22,0,tzinfo=kst)]:
168+
# 1. 시스템 관리 스케줄러 (core) — 모든 시간 EST 기준
169+
for tt in [datetime.time(18,0,tzinfo=est), datetime.time(22,0,tzinfo=est), datetime.time(3,30,tzinfo=est), datetime.time(9,0,tzinfo=est)]:
171170
jq.run_daily(scheduled_token_check, time=tt, days=tuple(range(7)), chat_id=cfg.get_chat_id(), data=app_data)
172171

173-
jq.run_daily(scheduled_auto_sync_summer, time=datetime.time(8, 30, tzinfo=kst), days=tuple(range(7)), chat_id=cfg.get_chat_id(), data=app_data)
174-
jq.run_daily(scheduled_auto_sync_winter, time=datetime.time(9, 30, tzinfo=kst), days=tuple(range(7)), chat_id=cfg.get_chat_id(), data=app_data)
172+
# 장부 동기화 (19:30 EST = KST 08:30 여름 / 09:30 겨울, DST 자동 처리)
173+
jq.run_daily(scheduled_auto_sync_summer, time=datetime.time(19, 30, tzinfo=est), days=tuple(range(7)), chat_id=cfg.get_chat_id(), data=app_data)
174+
jq.run_daily(scheduled_auto_sync_winter, time=datetime.time(19, 30, tzinfo=est), days=tuple(range(7)), chat_id=cfg.get_chat_id(), data=app_data)
175175

176-
for hour in [17, 18]:
177-
jq.run_daily(scheduled_force_reset, time=datetime.time(hour, 0, tzinfo=kst), days=(0,1,2,3,4), chat_id=cfg.get_chat_id(), data=app_data)
176+
# 매매 초기화 (04:00 EST = KST 17:00 여름 / 18:00 겨울, DST 자동 처리)
177+
jq.run_daily(scheduled_force_reset, time=datetime.time(4, 0, tzinfo=est), days=(0,1,2,3,4), chat_id=cfg.get_chat_id(), data=app_data)
178178

179+
# 변동성 마스터 스위치 (10:20 EST)
179180
jq.run_daily(scheduled_volatility_scan, time=datetime.time(10, 20, tzinfo=est), days=(0,1,2,3,4), chat_id=cfg.get_chat_id(), data=app_data)
180181

181182
# 2. 실전 전투 매매 스케줄러 (trade)
182-
# 💡 [Phase 1] 프리장(17:05 KST)에 '선제적 양방향 LOC 덫' 사전 전송
183-
for hour in [17, 18]:
184-
jq.run_daily(scheduled_regular_trade, time=datetime.time(hour, 5, tzinfo=kst), days=(0,1,2,3,4), chat_id=cfg.get_chat_id(), data=app_data)
183+
# 💡 [Phase 1] 프리장 선제적 양방향 LOC 덫 전송 (04:05 EST)
184+
jq.run_daily(scheduled_regular_trade, time=datetime.time(4, 5, tzinfo=est), days=(0,1,2,3,4), chat_id=cfg.get_chat_id(), data=app_data)
185185

186-
# 💡 [Phase 2] 장 후반 15:30 EST 기상: 사전 LOC 전량 취소 후 VWAP 1분봉 타격 준비
186+
# 💡 [Phase 2] 장 후반 15:30 EST: 사전 LOC 전량 취소 후 VWAP 1분봉 타격 준비
187187
jq.run_daily(scheduled_vwap_init_and_cancel, time=datetime.time(15, 30, tzinfo=est), days=(0,1,2,3,4), chat_id=cfg.get_chat_id(), data=app_data)
188188

189189
# 💡 스나이퍼 감시 및 VWAP 슬라이싱 (60초 간격 무한 반복)
190190
jq.run_repeating(scheduled_sniper_monitor, interval=60, chat_id=cfg.get_chat_id(), data=app_data)
191191
jq.run_repeating(scheduled_vwap_trade, interval=60, chat_id=cfg.get_chat_id(), data=app_data)
192192

193-
# 💡 [Phase 3] 15:59 EST 긴급 수혈 스케줄러 (MOC)
193+
# 💡 [Phase 3] 15:59 EST 긴급 수혈 (MOC)
194194
jq.run_daily(scheduled_emergency_liquidation, time=datetime.time(15, 59, tzinfo=est), days=(0,1,2,3,4), chat_id=cfg.get_chat_id(), data=app_data)
195195

196196
# 💡 [Phase 4] 애프터마켓 로터리 덫 (16:05 EST)
197197
jq.run_daily(scheduled_after_market_lottery, time=datetime.time(16, 5, tzinfo=est), days=(0,1,2,3,4), chat_id=cfg.get_chat_id(), data=app_data)
198198

199-
# 3. 자정 청소 (core)
200-
jq.run_daily(scheduled_self_cleaning, time=datetime.time(6, 0, tzinfo=kst), days=tuple(range(7)), chat_id=cfg.get_chat_id(), data=app_data)
199+
# 3. 자정 청소 (17:00 EST = 장 마감 후)
200+
jq.run_daily(scheduled_self_cleaning, time=datetime.time(17, 0, tzinfo=est), days=tuple(range(7)), chat_id=cfg.get_chat_id(), data=app_data)
201201

202202
app.run_polling()

0 commit comments

Comments
 (0)