feat: simplify Claw402 autopilot trading flow

This commit is contained in:
tinkle-community
2026-06-27 00:37:59 +08:00
parent 961e016d33
commit 24f6421a73
151 changed files with 7453 additions and 41117 deletions

View File

@@ -85,6 +85,7 @@ func GetFullDecisionWithStrategy(ctx *Context, mcpClient mcp.AIClient, engine *S
}
}
pruneCandidateCoinsWithoutMarketData(ctx)
enrichVergexDataWithStrategy(ctx, engine)
// Ensure OITopDataMap is initialized
if ctx.OITopDataMap == nil {
@@ -142,6 +143,30 @@ func GetFullDecisionWithStrategy(ctx *Context, mcpClient mcp.AIClient, engine *S
return decision, nil
}
func enrichVergexDataWithStrategy(ctx *Context, engine *StrategyEngine) {
if ctx == nil || engine == nil || ctx.VergexDataMap != nil {
return
}
if engine.GetConfig().CoinSource.SourceType != "vergex_signal" {
return
}
symbolSet := make(map[string]bool)
symbols := make([]string, 0, len(ctx.CandidateCoins)+len(ctx.Positions))
for _, coin := range ctx.CandidateCoins {
if !symbolSet[coin.Symbol] {
symbolSet[coin.Symbol] = true
symbols = append(symbols, coin.Symbol)
}
}
for _, pos := range ctx.Positions {
if !symbolSet[pos.Symbol] {
symbolSet[pos.Symbol] = true
symbols = append(symbols, pos.Symbol)
}
}
ctx.VergexDataMap = engine.FetchVergexDataBatch(nil, symbols)
}
// ============================================================================
// Market Data Fetching
// ============================================================================