mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-06-06 05:51:19 +08:00
Track and display how long each position has been held to help AI make better timing decisions. **Implementation**: - Added UpdateTime field to PositionInfo struct (decision/engine.go:26) - Added positionFirstSeenTime map to AutoTrader for tracking (trader/auto_trader.go:60) - Record opening time when position is created successfully: - executeOpenLongWithRecord: Records timestamp for long positions (trader/auto_trader.go:540-541) - executeOpenShortWithRecord: Records timestamp for short positions (trader/auto_trader.go:593-594) - Fallback tracking in buildTradingContext for program restart scenarios (trader/auto_trader.go:386-392) - Auto-cleanup closed positions from tracking map (trader/auto_trader.go:409-414) - Display duration in user prompt with smart formatting: - Under 60 min: "持仓时长25分钟" - Over 60 min: "持仓时长2小时15分钟" **Example Output**: ``` 1. TAOUSDT LONG | 入场价435.5300 当前价433.1900 | 盈亏-0.54% | 杠杆20x | 保证金25 | 强平价418.1528 | 持仓时长2小时15分钟 ``` **Benefits**: - AI can see how long positions have been held - Helps enforce minimum holding period (30-60 min) from system prompt - Simple implementation with minimal overhead - Auto-cleanup prevents memory leaks Co-Authored-By: tinkle-community <tinklefund@gmail.com>