mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-09 22:10:57 +08:00
## 問題
用戶反饋:「怎麼 engine.go 還寫入了這些?... 有必要嗎?」
**根本原因**:
- prompts/ 目錄下已有 default.txt (114行) 和 adaptive.txt (259行)
- engine.go 卻硬編碼了 183 行 adaptive 策略作為 fallback
- 這導致:
1. 重複維護兩份相同的策略內容
2. templateLoaded 標記多餘(模板系統本身已有 fallback)
3. 如果 default.txt 都加載失敗,說明文件系統有嚴重問題,不應繼續交易
## 解決方案
### 1. 移除冗餘硬編碼
- 刪除 183 行硬編碼 adaptive 策略(271-453 行)
- 移除 templateLoaded 標記及其邏輯
### 2. 簡化模板加載邏輯
```go
// 之前(複雜)
templateLoaded := false
if 模板加載成功 {
templateLoaded = true
}
if !templateLoaded {
追加 183 行硬編碼策略 // ❌ 冗餘
}
// 現在(簡潔)
if 用戶模板加載失敗 {
嘗試 default.txt // ✅ 已經是 fallback
}
if default.txt 也失敗 {
返回空字符串,上層應停止交易 // ✅ 安全
}
```
### 3. 新增動態止盈止損設計文檔
創建 `DYNAMIC_TP_SL_PROPOSAL.md`,記錄:
- 用戶反饋:「建议加个 adjust tp sl 或者给 close 加个 quantity」
- 問題分析:策略提到追蹤止損,但 AI 無法執行
- 解決方案:添加 `adjust_stop_loss`, `adjust_take_profit`, `partial_close` actions
- 實施步驟:修改 Decision 結構、執行邏輯、模板說明
## 測試驗證
- ✅ Go 編譯成功
- ✅ Docker build 成功
- ✅ 模板系統邏輯清晰(用戶模板 → default → 報錯)
- ✅ 代碼減少 183 行(更易維護)
## 檔案變更
- `decision/engine.go`: -183 行硬編碼策略
- `DYNAMIC_TP_SL_PROPOSAL.md`: +300 行設計文檔
## 後續工作
- [ ] 實現 adjust_stop_loss action
- [ ] 實現 partial_close action
- [ ] 更新模板文件說明新 actions
---
感謝 @user 指出這個設計缺陷!🙏
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>