From 3e1e3392b704a948ae970ae7ba71826f2a092a2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=87=E8=96=87=E5=AE=89?= Date: Thu, 22 Jan 2026 17:36:32 +0800 Subject: [PATCH] a --- frontend/src/components/GlobalConfig.jsx | 144 ++++++++++++----------- 1 file changed, 74 insertions(+), 70 deletions(-) diff --git a/frontend/src/components/GlobalConfig.jsx b/frontend/src/components/GlobalConfig.jsx index 77101ad..cd61a99 100644 --- a/frontend/src/components/GlobalConfig.jsx +++ b/frontend/src/components/GlobalConfig.jsx @@ -1049,6 +1049,80 @@ const GlobalConfig = ({ currentUser }) => { )} + + + {/* 预设方案快速切换(仅管理员 + 全局策略账号) */} + {isAdmin && isGlobalStrategyAccount && ( +
+
+

快速切换方案

+
+ 当前方案: + + {currentPreset && presets && presets[currentPreset] ? presets[currentPreset].name : '自定义'} + +
+
+
+
怎么选更不迷糊
+
    +
  • + 先选入场机制:纯限价(更控频但可能撤单) vs 智能入场(更少漏单但需限制追价)。 +
  • +
  • + 再看"会不会下单":如果你发现几乎不出单,优先把 AUTO_TRADE_ONLY_TRENDING 关掉、把 AUTO_TRADE_ALLOW_4H_NEUTRAL 打开。 +
  • +
  • + 最后再微调:想更容易成交 → 调小 LIMIT_ORDER_OFFSET_PCT、调大 ENTRY_CONFIRM_TIMEOUT_SEC。 +
  • +
+
+ +
+ {presetGroups.map((g) => ( +
+
+
{g.title}
+
{g.desc}
+
+
+ {g.presetKeys + .filter((k) => presets && presets[k]) + .map((k) => { + const preset = presets && presets[k] ? presets[k] : null + if (!preset) return null + const meta = presetUiMeta && presetUiMeta[k] ? presetUiMeta[k] : { group: g.key, tag: '' } + return ( + + ) + }) + .filter(Boolean)} +
+
+ ))} +
+
+ )} + {/* 全局策略配置项编辑(仅管理员) */} {isAdmin && (
@@ -1123,77 +1197,7 @@ const GlobalConfig = ({ currentUser }) => {
)} - {/* 预设方案快速切换(仅管理员 + 全局策略账号) */} - {isAdmin && isGlobalStrategyAccount && ( -
-
-

快速切换方案

-
- 当前方案: - - {currentPreset && presets && presets[currentPreset] ? presets[currentPreset].name : '自定义'} - -
-
-
-
怎么选更不迷糊
-
    -
  • - 先选入场机制:纯限价(更控频但可能撤单) vs 智能入场(更少漏单但需限制追价)。 -
  • -
  • - 再看"会不会下单":如果你发现几乎不出单,优先把 AUTO_TRADE_ONLY_TRENDING 关掉、把 AUTO_TRADE_ALLOW_4H_NEUTRAL 打开。 -
  • -
  • - 最后再微调:想更容易成交 → 调小 LIMIT_ORDER_OFFSET_PCT、调大 ENTRY_CONFIRM_TIMEOUT_SEC。 -
  • -
-
-
- {presetGroups.map((g) => ( -
-
-
{g.title}
-
{g.desc}
-
-
- {g.presetKeys - .filter((k) => presets && presets[k]) - .map((k) => { - const preset = presets && presets[k] ? presets[k] : null - if (!preset) return null - const meta = presetUiMeta && presetUiMeta[k] ? presetUiMeta[k] : { group: g.key, tag: '' } - return ( - - ) - }) - .filter(Boolean)} -
-
- ))} -
-
- )} {/* 用户管理 */}