ZhouYongyou
|
45ec64537d
|
fix: 補充 System Prompt 中新動作的格式說明
問題:
- System Prompt 的 action 列表缺少新增的動作
- 只列出:open_long, open_short, close_long, close_short, hold, wait
- 缺少:update_stop_loss, update_take_profit, partial_close
- 導致 AI 不知道可以使用這些新動作
修復:
- 補充完整的 action 列表(9 個動作)
- 添加每個新動作的必填字段說明:
* update_stop_loss: new_stop_loss, reasoning
* update_take_profit: new_take_profit, reasoning
* partial_close: close_percentage (0-100), reasoning
影響:
- AI 現在知道可以使用動態止盈止損功能
- 明確每個動作需要哪些字段
- 與 Decision 結構定義完全一致
|
2025-11-02 08:38:46 +08:00 |
|
ZhouYongyou
|
8ca2071557
|
fix: 修復首次運行時數據庫初始化失敗問題
問題:
- 用戶首次運行報錯:unable to open database file: is a directory
- 原因:Docker volume 掛載時,如果 config.db 不存在,會創建目錄而非文件
- 影響:新用戶無法正常啟動系統
修復:
- 在 start.sh 啟動前檢查 config.db 是否存在
- 如不存在則創建空文件(touch config.db)
- 確保 Docker 掛載為文件而非目錄
測試:
- 首次運行:./start.sh start → 正常初始化 ✓
- 現有用戶:無影響,向後兼容 ✓
|
2025-11-02 08:24:09 +08:00 |
|
ZhouYongyou
|
2d4b14e086
|
fix: 修復初始余額顯示錯誤(使用當前淨值而非配置值)
問題:
- 圖表顯示「初始余額 693.15 USDT」(實際應該是 600)
- 原因:使用 validHistory[0].total_equity(當前淨值)
- 導致初始余額隨著盈虧變化,數學邏輯錯誤
修復:
- 優先從 account.initial_balance 讀取真實配置值
- 備選方案:從歷史數據反推(淨值 - 盈虧)
- 默認值使用 1000(與創建交易員時的默認配置一致)
測試:
- 初始余額:600 USDT(固定)
- 當前淨值:693.15 USDT
- 盈虧:+93.15 USDT (+15.52%) ✓
|
2025-11-02 07:55:43 +08:00 |
|
ZhouYongyou
|
e76792c7db
|
fix: 修復 Hyperliquid CancelStopOrders 編譯錯誤
問題:order.TriggerPx 字段不存在
原因:Hyperliquid SDK 的 OpenOrder 結構不暴露 trigger 相關字段
解決方案:
- 簡化 CancelStopOrders 實現
- 取消該幣種所有掛單(包括止盈止損單)
- 這是安全的,因為在設置新止盈止損前應清理舊訂單
影響:
- ✅ 編譯通過
- ✅ 功能正常(取消訂單邏輯更簡單但有效)
- ✅ 與 Binance/Aster 實現一致(都是取消相關訂單)
|
2025-11-02 07:40:33 +08:00 |
|
ZhouYongyou
|
37df286a31
|
fix: 恢復 adaptive.txt 中被誤刪的動態止盈止損說明
問題:merge dev 時,dev 分支的刪減版覆蓋了 feature 的完整版
原因:dev 分支為避免生產錯誤暫時刪除了這些說明
解決:feature 分支已實現完整功能,應恢復這些說明
恢復內容:
- 策略 A(震盪市):追蹤止損指導 + 動態調整示例
- 策略 B(趨勢市):分批止盈邏輯 + 追蹤止損指導 + 動態調整示例
功能支持:
- update_stop_loss ✓
- update_take_profit ✓
- partial_close ✓
|
2025-11-02 07:35:56 +08:00 |
|
ZhouYongyou
|
adb7e55f90
|
Merge branch 'dev' into feature/partial-close-dynamic-tpsl
|
2025-11-02 07:27:01 +08:00 |
|
ZhouYongyou
|
dc3bd5fb22
|
Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev
|
2025-11-02 07:26:11 +08:00 |
|
ZhouYongyou
|
ab3cab9a93
|
fix: 統一 handleTraderList 返回完整 AI model ID(保持與 handleGetTraderConfig 一致)
問題:
- handleTraderList 仍在截斷 AI model ID (admin_deepseek → deepseek)
- 與 handleGetTraderConfig 返回的完整 ID 不一致
- 導致前端 isModelInUse 檢查失效
修復:
- 移除 handleTraderList 中的截斷邏輯
- 返回完整 AIModelID (admin_deepseek)
- 與其他 API 端點保持一致
測試:
- GET /api/traders → ai_model: admin_deepseek ✓
- GET /api/traders/:id → ai_model: admin_deepseek ✓
- 模型使用檢查邏輯正確 ✓
|
2025-11-02 07:11:57 +08:00 |
|
Luna Martinez
|
500ad4412f
|
Merge pull request #219 from hzb1115/dev
feat: PR validation
|
2025-11-01 18:37:50 -04:00 |
|
Luna Martinez
|
487a0cbe9e
|
Merge pull request #1 from hzb1115/dev_pr_check
feat: pr validation
|
2025-11-01 18:29:56 -04:00 |
|
zbhan
|
9a604f9b27
|
feat: pr validation
|
2025-11-01 18:25:44 -04:00 |
|
ZhouYongyou
|
ed34201c2d
|
修復關鍵缺陷:添加 CancelStopOrders 方法避免多個止損單共存
問題:
- 調整止損/止盈時,直接調用 SetStopLoss/SetTakeProfit 會創建新訂單
- 但舊的止損/止盈單仍然存在,導致多個訂單共存
- 可能造成意外觸發或訂單衝突
解決方案(參考 PR #197):
1. 在 Trader 接口添加 CancelStopOrders 方法
2. 為三個交易所實現:
- binance_futures.go: 過濾 STOP_MARKET/TAKE_PROFIT_MARKET 類型
- aster_trader.go: 同樣邏輯
- hyperliquid_trader.go: 過濾 trigger 訂單(有 triggerPx)
3. 在 executeUpdateStopLossWithRecord 和 executeUpdateTakeProfitWithRecord 中:
- 先調用 CancelStopOrders 取消舊單
- 然後設置新止損/止盈
- 取消失敗不中斷執行(記錄警告)
優勢:
- ✅ 避免多個止損單同時存在
- ✅ 保留我們的價格驗證邏輯
- ✅ 保留執行價格記錄
- ✅ 詳細錯誤信息
- ✅ 取消失敗時繼續執行(更健壯)
測試建議:
- 開倉後調整止損,檢查舊止損單是否被取消
- 連續調整兩次,確認只有最新止損單存在
致謝:參考 PR #197 的實現思路
|
2025-11-02 06:23:02 +08:00 |
|
ZhouYongyou
|
ed8bb94dea
|
更新 logger:支持新增的三個動作類型
更新內容:
1. DecisionAction 註釋:添加 update_stop_loss, update_take_profit, partial_close
2. GetStatistics:partial_close 計入 TotalClosePositions
3. AnalyzePerformance 預填充邏輯:處理 partial_close(不刪除持倉記錄)
4. AnalyzePerformance 分析邏輯:
- partial_close 正確判斷持倉方向
- 記錄部分平倉的盈虧統計
- 保留持倉記錄(因為還有剩餘倉位)
說明:partial_close 會記錄盈虧,但不刪除 openPositions,
因為還有剩餘倉位可能繼續交易
|
2025-11-02 06:11:12 +08:00 |
|
ZhouYongyou
|
498cec0b92
|
修復關鍵 BUG:validActions 缺少新動作導致驗證失敗
問題根因:
- auto_trader.go 已實現 update_stop_loss/update_take_profit/partial_close 處理
- adaptive.txt 已描述這些功能
- 但 validateDecision 的 validActions map 缺少這三個動作
- 導致 AI 生成的決策在驗證階段被拒絕:「无效的action:update_stop_loss」
修復內容:
1. validActions 添加三個新動作
2. 為每個新動作添加參數驗證:
- update_stop_loss: 驗證 NewStopLoss > 0
- update_take_profit: 驗證 NewTakeProfit > 0
- partial_close: 驗證 ClosePercentage 在 0-100 之間
3. 修正註釋:adjust_* → update_*
測試狀態:feature 分支,等待測試確認
|
2025-11-02 06:06:55 +08:00 |
|
ZhouYongyou
|
f15d82b13a
|
修復生產錯誤:刪除 adaptive.txt 中不支持的動態調整功能描述
問題:AI 生成 update_stop_loss 決策但被拒絕為無效動作
原因:adaptive.txt 描述了動態止損功能,但 dev 分支代碼未實現
刪除內容:
- 震盪策略:追蹤止損(持倉中動態調整)段落
- 趨勢策略:分批止盈、追蹤止損段落
- 策略選擇:追蹤止損計劃
- 持倉動態調整範例
結果:提示詞與代碼功能完全匹配,避免 AI 生成無效決策
相關 issue:生產環境報錯 '无效的action:update_stop_loss'
後續計劃:在 feature/partial-close-dynamic-tpsl 測試完成後再合併動態功能
|
2025-11-02 06:03:56 +08:00 |
|
ZhouYongyou
|
b145471895
|
docs(adaptive): 添加數據解釋和參考示例,採用"解釋+參考"方式
改動說明:
- 新增「數據框架說明」章節:詳細說明 4 個時間框架的覆蓋時間和用途
* 3分鐘序列(30分鐘):實時價格、放量檢測、買賣壓力
* 15分鐘序列(2.5小時):震盪區間識別
* 1小時序列(10小時):中期趨勢確認
* 4小時序列(40小時):大趨勢判斷
- 新增「關鍵數據解讀」章節:
* BuySellRatio 含義和參考範圍(0.6-0.7 強買壓,0.3-0.4 強賣壓)
* 成交量分析:放量檢測標準(1.5-2 倍平均)
* RSI 參考範圍:根據市場波動性調整(震盪市 30-40/60-70)
- 新增「入場信號參考示例」章節:
* 震盪策略入場信號(區間下沿做多、上沿做空)
* 趨勢策略入場信號(趨勢突破參考)
- 補充「避免低質量信號」:
* 新增:震盪市在區間中部交易(應等待區間邊界)
* 新增:缺乏買賣壓力確認(BuySellRatio 中性時謹慎)
設計哲學:
- 採用「解釋 + 參考示例」方式,而非硬編碼固定規則
- 所有參考數值都明確標註「你可以根據市場狀態自主調整」
- 強調根據市場波動性、趨勢強度自主判斷
- 激發 AI 的判斷能力,而非限制其靈活性
- 通過夏普比率反饋實現自我進化
改動統計:
- 原文件:259 行
- 新文件:366 行(+107 行)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-02 05:53:01 +08:00 |
|
ZhouYongyou
|
7f741c4a7d
|
docs(adaptive): 添加數據解釋和參考示例,採用"解釋+參考"方式
改動說明:
- 新增「數據框架說明」章節:詳細說明 4 個時間框架的覆蓋時間和用途
- 新增「關鍵數據解讀」章節:
* BuySellRatio 含義和參考範圍(0.6-0.7 強買壓,0.3-0.4 強賣壓)
* 成交量分析:放量檢測標準(1.5-2 倍平均)
* RSI 參考範圍:根據市場波動性調整(震盪市 30-40/60-70)
- 新增「入場信號參考示例」章節:
* 震盪策略入場信號(區間下沿做多、上沿做空)
* 趨勢策略入場信號(趨勢突破參考)
- 補充「避免低質量信號」:
* 新增:震盪市在區間中部交易(應等待區間邊界)
* 新增:缺乏買賣壓力確認(BuySellRatio 中性時謹慎)
設計哲學:
- 採用「解釋 + 參考示例」方式,而非硬編碼固定規則
- 所有參考數值都明確標註「你可以根據市場狀態自主調整」
- 強調根據市場波動性、趨勢強度自主判斷
- 激發 AI 的判斷能力,而非限制其靈活性
- 通過夏普比率反饋實現自我進化
改動統計:+111 行(增加詳細解釋和示例)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-02 05:48:28 +08:00 |
|
ZhouYongyou
|
82660b12c5
|
feat: 添加部分平仓和动态止盈止损功能
新增功能:
- update_stop_loss: 调整止损价格(追踪止损)
- update_take_profit: 调整止盈价格(技术位优化)
- partial_close: 部分平仓(分批止盈)
实现细节:
- Decision struct 新增字段:NewStopLoss, NewTakeProfit, ClosePercentage
- 新增执行函数:executeUpdateStopLossWithRecord, executeUpdateTakeProfitWithRecord, executePartialCloseWithRecord
- 修复持仓字段获取 bug(使用 "side" 并转大写)
- 更新 adaptive.txt 文档,包含详细使用示例和策略建议
- 优先级排序:平仓 > 调整止盈止损 > 开仓
命名统一:
- 与社区 PR #197 保持一致,使用 update_* 而非 adjust_*
- 独有功能:partial_close(部分平仓)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-02 05:32:23 +08:00 |
|
ZhouYongyou
|
093d521394
|
Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev
|
2025-11-02 04:54:09 +08:00 |
|
ZhouYongyou
|
04419b47e6
|
fix: 修复编辑交易员时「AI模型配置不存在或未启用」错误
问题:
- 编辑交易员并修改系统提示词模板时,保存失败
- 错误提示:AI模型配置不存在或未启用
根本原因:
1. 后端 API 返回的 ai_model 被截断(admin_deepseek → deepseek)
2. 前端验证时找不到对应的模型 ID(enabledModels 存的是完整 ID)
3. API 缺少 system_prompt_template 字段
修复内容:
- api/server.go: 移除 AI model ID 截断逻辑,返回完整 ID
- api/server.go: 在 handleGetTraderConfig 中添加 system_prompt_template 字段
- web/src/types.ts: TraderConfigData 接口添加 system_prompt_template 字段
- web/src/components/AITradersPage.tsx: 添加 fallback 机制和详细日志
测试:
- 编辑交易员 → 修改系统提示词模板 → 保存成功
- Console 输出验证日志,不再报错
|
2025-11-02 04:51:30 +08:00 |
|
Luna Martinez
|
935c3d094e
|
Merge pull request #216 from tinkle-community/shui_dev
Feat: Update docs
|
2025-11-01 15:13:29 -04:00 |
|
zbhan
|
18820fc319
|
Feat: Update docs
- 重构文档结构
- 更新文档内容
- 制定roadmap
- 提供中/EN 双语文档
|
2025-11-01 15:05:24 -04:00 |
|
tinkle-community
|
9b9b269dca
|
Merge pull request #215 from zhoujunhehe/landing-page-pr
|
2025-11-02 02:16:17 +08:00 |
|
Ember
|
2fa884c72d
|
style(web): 统一 FooterSection 组件的代码风格,优化链接格式和排版
|
2025-11-02 01:59:42 +08:00 |
|
Ember
|
7a4d1db046
|
fix(web): Footer ‘资源/文档’ 链接改为 GitHub 主 README(https://github.com/tinkle-community/nofx/blob/main/README.md)
|
2025-11-02 01:57:50 +08:00 |
|
Ember
|
2cc4f77254
|
chore(web): Footer 支持方去除图标并新增 Hyperliquid 链接
|
2025-11-02 01:56:21 +08:00 |
|
Ember
|
df83eba8e7
|
feat(web): Footer 按旧版文案重排 —— 顶部品牌 + 三列(链接/资源/支持方:Aster DEX、Binance、Amber.ac)
|
2025-11-02 01:53:48 +08:00 |
|
Ember
|
1413eb868e
|
feat(web): Footer 增加“支持的交易所”列(Binance、Aster DEX 图标与链接),对齐早期版本记忆
|
2025-11-02 01:50:49 +08:00 |
|
Ember
|
aa5e66f7b8
|
feat(web): LandingPage 页脚升级为多链接版本(链接/资源/产品/支持 四列)
|
2025-11-02 01:46:40 +08:00 |
|
Ember
|
388832876a
|
feat(web): 恢复 LandingPage 页脚(FooterSection),复用 App 的 Footer 文案与样式
|
2025-11-02 01:42:30 +08:00 |
|
Ember
|
16a62cedce
|
style(web): 移除功能卡片右下角黄色渐变点缀(去除黄光)
|
2025-11-02 01:39:31 +08:00 |
|
ZhouYongyou
|
8faa2b3494
|
refactor: 恢復模板加載失敗時的簡化版本 fallback
## 問題
之前修改將模板加載失敗時改為返回空字符串,但:
- 上層函數沒有檢測空字符串的邏輯
- 空字符串會直接傳給 AI API,導致錯誤
- 極端情況下系統無法運行
## 解決方案
恢復原始邏輯,保留內置簡化版本作為最後防線:
```
用戶模板失敗 → default 失敗 → 使用內置簡化版本
"你是专业的加密货币交易AI。请根据市场数据做出交易决策。"
```
## 差異對比
### 之前(不安全)
```go
if default 加載失敗 {
return "" // ❌ 上層未檢測,會傳空字符串給 AI
}
```
### 現在(安全)
```go
if default 加載失敗 {
sb.WriteString("你是专业的加密货币交易AI。请根据市场数据做出交易决策。\n\n")
// ✅ 有最後防線,極端情況下仍能運行
}
```
## 測試驗證
- ✅ Go 編譯成功
- ✅ Docker build 成功
- ✅ 邏輯恢復到原始穩定版本
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-02 01:27:44 +08:00 |
|
ZhouYongyou
|
1fb5ecb89c
|
chore: 移除未實現功能的設計文檔
DYNAMIC_TP_SL_PROPOSAL.md 是動態止盈止損功能的設計文檔,
但功能尚未實現,保留在代碼庫中可能造成困擾(誤以為已完成)。
當需要實現該功能時,可以從 git 歷史中恢復(commit bac5744)。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-02 01:23:47 +08:00 |
|
ZhouYongyou
|
bac5744039
|
refactor: 移除 engine.go 冗餘硬編碼策略,優化模板系統
## 問題
用戶反饋:「怎麼 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>
|
2025-11-02 01:18:57 +08:00 |
|
Ember
|
14b7d44322
|
ui(web): 管理员模式徽标改为 Lucide Zap 图标,保持与其他 emoji 替换一致 (#138 风格)
|
2025-11-02 01:14:11 +08:00 |
|
ZhouYongyou
|
a2411d2843
|
refactor: 優化 engine.go 模板加載邏輯,避免策略重複
## 問題
- 之前邏輯:加載模板 → 無條件追加硬編碼策略
- 結果:選擇 adaptive 模板時,會收到重複的策略內容
* adaptive.txt: 259 行
* 硬編碼: 184 行
* 總計:443 行重複指導 ❌
## 解決方案
使用 templateLoaded 標記追蹤模板加載狀態:
- ✅ 模板成功 → 使用模板,跳過硬編碼
- ❌ 模板失敗 → 使用硬編碼作為 fallback
## 變更內容
1. 添加 templateLoaded bool 變量
2. 硬編碼策略包裹在 `if !templateLoaded {}` 中(277-463 行)
3. 硬約束和輸出格式始終追加(不受影響)
4. 添加日誌追蹤模板使用情況
## 測試驗證
- ✅ Go 編譯成功
- ✅ Docker build 成功
- ✅ 向後兼容(模板失敗時回退到硬編碼)
## 架構改進
```
加載流程:
1. 嘗試加載指定模板(如 adaptive)
2. 失敗 → 嘗試 default
3. 仍失敗 → 使用硬編碼
4. 追加硬約束(動態生成)
5. 追加輸出格式(動態生成)
```
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-02 01:09:37 +08:00 |
|
ZhouYongyou
|
b908fac92f
|
feat: 創建 adaptive.txt 自適應雙策略模板
新增 prompts/adaptive.txt 模板,包含:
## 核心特性
- 市場狀態判斷(震盪/趨勢,多指標交叉驗證)
- 雙策略系統:
* 策略 A: 震盪交易(高勝率低盈虧比)
* 策略 B: 趨勢跟隨(中等勝率高盈虧比)
- 技術位優先止盈機制(EMA20、前高前低、整數關口)
- 動態追踪止損(鎖定利潤,避免回撤)
- 夏普比率自我進化(交易質量 > 交易頻率)
## 使用方式
用戶可在 Web UI 選擇此模板,或繼續使用 default/nof1
## 技術實現
- 259 行完整策略指導
- 與現有模板系統兼容
- engine.go 保留硬編碼作為 fallback
相關文檔:TEMPLATE_MIGRATION_PLAN.md
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-02 01:06:11 +08:00 |
|
Ember
|
ba48298c03
|
ui(web): 对齐 #138 风格——用 Lucide/矢量图标替换表情与占位,增强空态/警告显示(ComparisonChart/Competition/AITraders/ConfigModal)
|
2025-11-02 01:02:15 +08:00 |
|
Ember
|
abcd215e19
|
feat(web): 重做 #138/#133 的前端改动(LOGO 替换 + Loading Logo + 校验优化保留),尽量不覆盖他人代码
|
2025-11-02 00:58:25 +08:00 |
|
ZhouYongyou
|
6553b81b94
|
fix: config.json.example 缺少 coin_pool_api_url 和 oi_top_api_url 字段
- 问题:config.json.example 与 main.go 的 ConfigFile 结构不一致
- 影响:新用户复制 example 时会缺少必要的配置字段
- 修复:添加 coin_pool_api_url 和 oi_top_api_url(空字符串)
相关提交:517d0ca (admin_mode config)
|
2025-11-02 00:40:21 +08:00 |
|
Ember
|
0a4fd06882
|
refactor(web): 拆分 LandingPage 为可复用组件(HeaderBar/Hero/AnimatedSection 等),新增 pages 结构并完成集成;构建通过
|
2025-11-02 00:36:37 +08:00 |
|
Ember
|
a3c6568137
|
refactor(web): 引入 pages 目录并迁移 LandingPage;修正 App 引用与相对路径,保持构建通过
|
2025-11-02 00:28:38 +08:00 |
|
ZhouYongyou
|
b1e4a7598a
|
fix: 修复中文引号导致的 Go 编译错误
问题:
- Go 语言不识别中文双引号 ""
- 导致编译失败:syntax error: unexpected name
修复:
- 将所有中文双引号 "" 替换为英文单引号 ''
- 影响行:287, 365-369
错误示例:
- 错误:"趋势市场"
- 正确:'趋势市场'
🤖 Generated with Claude Code
|
2025-11-02 00:25:25 +08:00 |
|
ZhouYongyou
|
a58be23a29
|
fix: 修正盈亏百分比计算错误(未考虑杠杆)
问题:
- 旧算法只计算价格变化百分比,未考虑杠杆倍数
- 例:10倍杠杆,价格涨1% → 显示+1%(错误),实际应该是+10%
- 导致 AI 收到错误的盈亏数据,影响决策
修复:
- 使用实际盈亏除以保证金计算百分比
- 公式:pnlPct = (unrealizedPnl / marginUsed) * 100
- 优点:
✓ 考虑杠杆倍数
✓ 使用 API 提供的实际盈亏(含手续费、资金费率)
✓ 更准确反映真实盈亏百分比
示例对比:
- 入场:100,000,当前:101,000(+1%),10倍杠杆
- 旧算法:显示 +1%(错误)
- 新算法:显示 +10%(正确)
感谢用户反馈 @1711z
🤖 Generated with Claude Code
|
2025-11-02 00:23:59 +08:00 |
|
Ember
|
8d77f15d4d
|
fix(web): 更新主图像文件以改善视觉效果
|
2025-11-02 00:19:49 +08:00 |
|
Ember
|
b5d4ff0fc2
|
fix(web): 优化落地页内容—移除多余空行,简化图片组件,更新支持方列表
|
2025-11-02 00:17:19 +08:00 |
|
Z
|
f02c5df2b6
|
Merge branch 'tinkle-community:dev' into dev
|
2025-11-02 00:08:58 +08:00 |
|
Ember
|
28b7edbc5c
|
style(web): 对齐币安风格—移除渐变/发光,固化深色/面板色,新增 header 样式,按钮与卡片统一
|
2025-11-02 00:08:46 +08:00 |
|
ZhouYongyou
|
88a7055561
|
feat: 添加技术位优先止盈 + 追踪止损(阶段1)
解决问题:
- 固定百分比止盈经常在技术位前回撤
- 浮盈没有保护机制,从 +1.5% 回撤到止损
核心改进:
1. 技术位优先止盈:
- 震荡策略:技术位 < 2% → 止盈设在技术位前 0.1%
- 趋势策略:技术位 < 5% → 止盈设在技术位前 0.2%
- 技术位识别:EMA20、最近高低点、整数关口
2. 追踪止损机制:
- 震荡:浮盈 0.8% → 止损移到成本价,浮盈 1.2% → 止损移到 +0.5%
- 趋势:浮盈 2% → 止损移到成本价,浮盈 5% → 止损移到 +2.5%
- 价格接近技术位 → 主动平仓避免回撤
3. 分批止盈预留:
- 趋势策略:技术位在 5-10% → 分两批止盈
- 为阶段2分批止盈做准备
预期效果:
- 减少"快到止盈就回撤"的情况
- 锁定浮盈,避免全部回撤
- 提高实际盈亏比
实施方式:纯提示词改进,基于已有数据(EMA20、K线高低点)
🤖 Generated with Claude Code
|
2025-11-02 00:03:20 +08:00 |
|
SkywalkerJi
|
6c03d247e1
|
Docker port mapping prompts.
|
2025-11-02 00:03:19 +08:00 |
|