{{ toast.title }}
{{ toast.message }}
!{{ confirmDialog.title }}
{{ confirmDialog.message }}

{{ tt('futures.config.pageDesc', '配置一条合约趋势策略:选择监控范围、动能信号、止盈止损与方向;保存后到工作台启动。') }}

{{ tt('futures.config.phaseKicker', '能力') }}
{{ tt('futures.config.editMode', '编辑模式') }} {{ tt('futures.config.editHint', '正在编辑「' + (config.name || ('策略#' + editingConfigId)) + '」,保存后将更新该策略;如需新建另一条策略请点击右侧。', { name: (config.name || tt('futures.config.strategyNo', '策略#' + editingConfigId, { id: editingConfigId })) }) }}
{{ tt('futures.config.navWorkbench', '返回工作台') }}
{{ tt('futures.config.bridgeTitle', '合约趋势策略 · 新建配置') }}
{{ tt('futures.config.bridgeDescNoKey', '基于实时逐笔成交动能触发开仓(支持做多 / 做空,单方向)。请先绑定合约 API Key 并转入保证金。') }}
{{ tt('futures.config.bridgeDesc', '基于实时逐笔成交动能触发开仓(支持做多 / 做空,单方向)。') }}
{{ tt('futures.config.nameLabel', '策略名称') }} {{ tt('futures.config.nameDesc', '同一账号下多条合约趋势配置时用于区分;留空则服务端自动生成') }}
{{ tt('futures.config.scopeLabel', '监控币对范围') }} {{ tt('futures.config.scopeDesc', '全市场扫描、主流币种池,或从可交易的 U 本位永续列表中自定义(共 ' + tradableSymbols.length + ' 个可交易合约)', { n: tradableSymbols.length }) }}
{{ tt('futures.config.scopeLoading', '加载可交易合约列表...') }}
{{ tt('futures.config.scopeEmpty', '暂无可选合约,请稍后再试或联系客服。') }}
{{ s }}
{{ scopeSelectedLine }}
{{ tt('futures.config.marginLabel', '单笔保证金 (USDT)') }} {{ tt('futures.config.marginDesc', '单次开仓的保证金;实际下单金额 = 该值 × 杠杆。低于交易所最小下单金额时会被拒单。') }}

{{ tt('futures.config.secParams', '合约参数') }}
{{ tt('futures.config.dirLabel', '交易方向') }} {{ tt('futures.config.dirDesc', '同一币对同一时刻仅持有一个方向的仓位') }}
{{ tt('futures.config.levLabel', '杠杆倍数') }} {{ tt('futures.config.levDesc', '杠杆越高强平距离越近,建议从 3x 开始熟悉;上限 10x') }}

{{ tt('futures.config.tpTypeLabel', '止盈方式') }} {{ tt('futures.config.tpTypeDesc', '移动止盈跟随最高/最低价回撤;固定止盈到价即平(多空通用)') }}
{{ Number(config.tpType) === 3 ? tt('futures.config.tpFloorLabel', '固定保本止盈线') : tt('futures.config.tpLabel', '止盈幅度') }} {{ Number(config.tpType) === 3 ? tt('futures.config.tpFloorDesc', '价格上涨达该幅度后激活移动止盈,并作为「保本地板」:回撤不会跌破此线(按当前 ' + (config.leverage || 3) + 'x 杠杆,保证金收益 ≈ 该值 × ' + (config.leverage || 3) + ')', { lev: (config.leverage || 3) }) : tt('futures.config.tpDesc', '做多止盈:价格上涨幅度;按当前 ' + (config.leverage || 3) + 'x 杠杆,保证金收益 ≈ 该值 × ' + (config.leverage || 3), { lev: (config.leverage || 3) }) }}
{{ tt('futures.config.tpTrailLabel', '移动止盈回撤') }} {{ tt('futures.config.tpTrailDesc', '触达上方固定线后,从持仓最高价回撤该幅度即平仓;与固定线取更有利者,所以最差也按固定线保本出场') }}
{{ tt('futures.config.slLabel', '硬止损幅度') }} {{ tt('futures.config.slDesc', '做多止损:价格下跌幅度;按当前 ' + (config.leverage || 3) + 'x 杠杆,保证金亏损 ≈ 该值 × ' + (config.leverage || 3) + '。强平距离约 −' + Math.floor(100 / (config.leverage || 3)) + '%。', { lev: (config.leverage || 3), liq: Math.floor(100 / (config.leverage || 3)) }) }}
{{ Number(config.tpType) === 3 ? tt('futures.config.tpShortFloorLabel', '做空固定保本止盈线') : tt('futures.config.tpShortLabel', '做空止盈幅度') }} * {{ Number(config.tpType) === 3 ? tt('futures.config.tpShortFloorDesc', '价格下跌达该幅度后激活移动止盈,并作为「保本地板」:反弹不会突破此线(按当前 ' + (config.leverage || 3) + 'x 杠杆,保证金收益 ≈ 该值 × ' + (config.leverage || 3) + ')', { lev: (config.leverage || 3) }) : tt('futures.config.tpShortDesc', '价格下跌该幅度即止盈;按当前 ' + (config.leverage || 3) + 'x 杠杆,保证金收益 ≈ 该值 × ' + (config.leverage || 3), { lev: (config.leverage || 3) }) }}
{{ tt('futures.config.tpShortTrailLabel', '做空移动止盈回撤') }} {{ tt('futures.config.tpShortTrailDesc', '触达上方固定线后,从持仓最低价反弹该幅度即平仓;与固定线取更有利者,所以最差也按固定线保本出场') }}
{{ tt('futures.config.slShortLabel', '做空硬止损幅度') }} * {{ tt('futures.config.slShortDesc', '价格反弹超过该幅度即止损;按当前 ' + (config.leverage || 3) + 'x 杠杆,保证金亏损 ≈ 该值 × ' + (config.leverage || 3) + '。强平距离约 −' + Math.floor(100 / (config.leverage || 3)) + '%。', { lev: (config.leverage || 3), liq: Math.floor(100 / (config.leverage || 3)) }) }}
{{ tt('futures.config.coolLabel', '交易冷却保护期') }} {{ tt('futures.config.coolDesc', '同一币对平仓后,多久内不再次开仓(多空通用)') }}
{{ tt('futures.config.weakLabel', '弱趋势时间止损') }} {{ tt('futures.config.weakDesc', '持仓达到设定时长后,若仍是「不亏不赚」的横盘单(浮盈在 0~中性带之间),判为动能消失,主动平仓回收保证金。亏损单不受影响,交给硬止损/手动处理') }}

{{ tt('futures.config.subInstant', '即时触发信号(5 分钟)') }}
{{ tt('futures.config.m5PriceLabel', '5min 价格突破阈值') }} {{ tt('futures.config.m5PriceDesc', '5 分钟内最小涨幅要求') }}
{{ tt('futures.config.m5VolLabel', '5min 成交额门槛') }} {{ tt('futures.config.m5VolDesc', '5 分钟内最小成交额要求') }}
{{ tt('futures.config.tfiLabel', '主动买卖盘占比') }} {{ tt('futures.config.tfiDesc', '做多要求主动买盘占比 ≥ 阈值') }}
{{ tt('futures.config.subHistorical', '历史基准过滤(100 分钟)') }}

{{ tt('futures.config.histNote', '下列项均可单独选「不需要校验」跳过该条过滤;仍须满足上方 5 分钟成交额门槛。') }}

{{ tt('futures.config.m100AvgLabel', '100min 平均波动率上限') }} {{ tt('futures.config.m100AvgDesc', '长期均波过高(行情过乱)则拦截,多空通用') }}
{{ tt('futures.config.m100CumLabel', '100min 累计涨幅上限') }} {{ tt('futures.config.m100CumDesc', '防止追高,过去 100 分钟累计涨幅过大则拦截') }}
{{ tt('futures.config.m5PriceRatioLabel', '5min 价格波动倍数') }} {{ tt('futures.config.m5PriceRatioDesc', '5 分钟波幅相对 100 分钟均值的倍数') }}
{{ tt('futures.config.m5VolRatioLabel', '5min 成交额放量倍数') }} {{ tt('futures.config.m5VolRatioDesc', '5 分钟成交额相对 100 分钟均值的倍数') }}

{{ tt('futures.config.shortNote', '做空方向专用入场阈值;与上方「动能识别」中的通用过滤项配合生效。出场规则(止盈/止损/冷却)请在左侧「风险防御」配置。') }}

{{ tt('futures.config.m5ShortPriceLabel', '5min 跌幅阈值') }} {{ tt('futures.config.m5ShortPriceDesc2', '5 分钟内价格下跌幅度需达到的最低值;选「不需要校验」则不限制 5m 跌幅,仅靠其余过滤项入场') }}
{{ tt('futures.config.m100ShortCumLabel', '100min 累计跌幅上限') }} {{ tt('futures.config.m100ShortCumDesc', '防止追跌:过去 100 分钟累计跌幅过大则拦截') }}
{{ tt('futures.config.tfiShortLabel', '主动卖盘占比阈值') }} {{ tt('futures.config.tfiShortDesc', '做空要求主动卖盘占优;越高越严(卖压越强才开仓)') }}
{{ tt('futures.config.emaGateLabel', '做多 · 大趋势硬门槛(快慢线排列)') }} {{ tt('futures.config.emaGateDesc', '做多要求快线 MA 在慢线上方(多头排列);确认大方向再开仓') }}
{{ tt('futures.config.gateLabel', '做多 · 趋势方向门(MA 均线坡度)') }} {{ tt('futures.config.gateDesc', '做多要求快线 MA 上坡达到设定力度;在下方选择最小坡度角') }}
{{ tt('futures.config.gateBandLabel', '做多 · 上坡力度(最小坡度角)') }} {{ tt('futures.config.gateBandDesc', '要求快线 MA 近 20 分钟上坡至少达到该角度才做多;角度越大、要求越陡、信号越少') }}
{{ tt('futures.config.emaGateShortLabel', '做空 · 大趋势硬门槛') }} {{ tt('futures.config.emaGateShortDesc', '做空要求快线 MA 在慢线下方(空头排列);确认大方向再开仓') }}
{{ tt('futures.config.gateShortLabel', '做空 · 趋势方向门(MA 坡度)') }} {{ tt('futures.config.gateShortDesc', '做空要求快线 MA 下坡达到设定力度;在下方选择最小坡度角') }}
{{ tt('futures.config.gateBandShortLabel', '做空 · 下坡力度(最小坡度角)') }} {{ tt('futures.config.gateBandShortDesc', '要求快线 MA 近 20 分钟下坡至少达到该角度才做空;角度越大、要求越陡、信号越少') }}
{{ tt('futures.config.mktEnableLabel', '启用大盘过滤') }} {{ tt('futures.config.mktEnableDesc', '仅在大盘走势配合时才允许开仓,避免逆势') }}
{{ tt('futures.config.previewName', '策略名称') }}{{ config.name || tt('futures.config.previewAutoName', '(未填则自动生成)') }}
{{ tt('futures.config.previewModel', '策略模型') }}{{ tt('futures.config.previewModelVal', '动能突破(合约)') }}
{{ tt('futures.config.previewFlow', '行情/下单') }}{{ tt('futures.config.previewFlowVal', '实时逐笔成交 → 市价单') }}
{{ tt('futures.config.previewDirLev', '方向 / 杠杆') }}{{ directionLabel }} · {{ (config.leverage || 3) }}x{{ tt('futures.config.previewDirLevSuffix', ' · 逐仓 · 单向持仓') }}
{{ tt('futures.config.previewNotional', '实际下单金额') }}{{ notionalUsdt }} USDT
{{ tt('futures.config.previewMkt', '大盘过滤') }}{{ config.marketFilterEnabled ? (config.marketFilterSymbol || 'BTCUSDT') + ' ' + (config.marketFilterWindowMin || 5) + 'min' : tt('futures.config.previewMktOff', '未开启') }}
{{ tt('futures.config.previewGate', '趋势方向门(MA坡度)') }}{{ config.trendDirectionGateEnabled === false ? tt('futures.config.previewGateOff', '关闭') : tt('futures.config.previewGateOn', '开启 · 最小坡度 ≈' + Math.round((config.trendDirectionBandPct == null ? 0.15 : config.trendDirectionBandPct) * 100) + '°', { band: (config.trendDirectionBandPct == null ? 0.15 : config.trendDirectionBandPct), deg: Math.round((config.trendDirectionBandPct == null ? 0.15 : config.trendDirectionBandPct) * 100) }) }}
{{ tt('futures.config.previewWeak', '弱趋势止损') }}{{ config.weakStopEnabled === true ? tt('futures.config.previewWeakOn', '开启 · ' + (config.weakStopHoldMinutes || 5) + 'min 后浮盈 0~' + (config.weakStopBandPct == null ? 0.3 : config.weakStopBandPct) + '% 平仓', { hold: (config.weakStopHoldMinutes || 5), band: (config.weakStopBandPct == null ? 0.3 : config.weakStopBandPct) }) : tt('futures.config.previewWeakOff', '关闭') }}
{{ tt('futures.config.previewFilter', '过滤项') }}{{ optionalMomentumSummary }}
{{ tt('futures.config.previewRisk', '风险等级') }}{{ riskLevelLabel }}{{ tt('futures.config.previewRiskSuffix', '(杠杆 ' + (config.leverage || 3) + 'x · 强平约 −' + Math.floor(100 / (config.leverage || 3)) + '%)', { lev: (config.leverage || 3), liq: Math.floor(100 / (config.leverage || 3)) }) }}
{{ tt('futures.config.previewRrTitle', '盈亏比预览') }}
{{ riskRewardPreview.summary }}
{{ riskRewardPreview.detail }}