refactor(trader): change balance sync interval to 10 minutes

- 从3分钟调整为10分钟,避免与交易周期重叠
- 每30分钟仅重叠1次(占比3.3%),大幅降低API压力
- GetBalance() API 轻量级调用,每小时仅6次额外调用
- 用户体验提升:充值后最多10分钟自动同步
- API占用率:0.2%(远低于币安2400次/分钟限制)
- 与feat/auto-balance-sync分支保持一致
This commit is contained in:
ZhouYongyou
2025-11-04 20:35:12 +08:00
parent e8f05d1761
commit d0b4a465fb

View File

@@ -304,10 +304,10 @@ func (at *AutoTrader) Stop() {
log.Println("⏹ 自动交易系统停止")
}
// autoSyncBalanceIfNeeded 自动同步余额(每30分钟检查一次变化>5%才更新)
// autoSyncBalanceIfNeeded 自动同步余额(每10分钟检查一次变化>5%才更新)
func (at *AutoTrader) autoSyncBalanceIfNeeded() {
// 距离上次同步不足30分钟跳过
if time.Since(at.lastBalanceSyncTime) < 30*time.Minute {
// 距离上次同步不足10分钟跳过
if time.Since(at.lastBalanceSyncTime) < 10*time.Minute {
return
}
@@ -393,7 +393,7 @@ func (at *AutoTrader) runCycle() error {
log.Println("📅 日盈亏已重置")
}
// 3. 自动同步余额(每30分钟检查一次充值/提现后自动更新)
// 3. 自动同步余额(每10分钟检查一次充值/提现后自动更新)
at.autoSyncBalanceIfNeeded()
// 4. 收集交易上下文