{{ toast.message }}

{{ tt('strategy.gridConfig.candidates.intro', null, '根据 24h 振幅、涨跌幅、成交额筛选,点击行填入下方交易对。') }}

{{ candidateSuitabilityExpanded ? tt('strategy.gridConfig.candidates.suitToggleCollapse', null, '收起适合度说明') : tt('strategy.gridConfig.candidates.suitToggleExpand', null, '适合度说明') }} {{ tt('strategy.gridConfig.candidates.suitLegend', null, '高=24h振幅2%~15%且涨跌幅<±8%且成交额≥50万;中=振幅1%~20%且涨跌幅<±15%;低=其余。') }}

{{ tt('strategy.gridConfig.candidates.actions', null, '操作') }}
{{ tt('strategy.gridConfig.candidates.filter', null, '筛选') }}
{{ tt('strategy.gridConfig.candidates.hintAfterFilter', null, '筛选后请点击「加载推荐」') }}
{{ tt('strategy.gridConfig.candidates.thSymbol', null, '交易对') }} {{ tt('strategy.gridConfig.candidates.thRange', null, '24h 振幅%') }} {{ tt('strategy.gridConfig.candidates.thChg', null, '24h 涨跌幅') }} {{ tt('strategy.gridConfig.candidates.thQuoteVol', null, '成交额(USDT)') }} {{ tt('strategy.gridConfig.candidates.thSuit', null, '适合度') }}
{{ row.symbol }} {{ row.rangePct != null ? Number(row.rangePct).toFixed(2) : '—' }} {{ row.priceChangePercent != null ? (row.priceChangePercent >= 0 ? '+' : '') + Number(row.priceChangePercent).toFixed(2) + '%' : '—' }} {{ fmtQuoteVolume(row.quoteVolume) }} {{ suitabilityLabel(row.suitability) }}

{{ tt('strategy.gridConfig.candidates.emptyHint', null, '点击「加载推荐」获取列表(约 1~3 秒)') }}

{{ tt('strategy.gridConfig.s01.symbol', null, '交易对') }} {{ tt('strategy.gridConfig.s01.symbolDesc', null, '从监控标的中选择,或从上方推荐标的点击填入;输入关键字模糊搜索') }}
  • {{ tt('strategy.gridConfig.s01.symbolLoading', null, '加载中...') }}
  • {{ symbolSearchKeyword ? tt('strategy.gridConfig.s01.symbolNoMatch', null, '无匹配标的') : tt('strategy.gridConfig.s01.symbolTypeKw', null, '输入关键字搜索') }}
  • {{ item.symbol }}
{{ tt('strategy.gridConfig.s01.name', null, '策略名称') }} {{ tt('strategy.gridConfig.s01.nameDesc', null, '同一币对可建多条策略时用于区分,如 保守网格、激进网格') }}
{{ tt('strategy.gridConfig.s01.lower', null, '区间下限 (USDT)') }} {{ tt('strategy.gridConfig.s01.lowerDesc', null, '网格最低买入价') }}
{{ tt('strategy.gridConfig.s01.upper', null, '区间上限 (USDT)') }} {{ tt('strategy.gridConfig.s01.upperDesc', null, '网格最高卖出价') }}

{{ tt('strategy.gridConfig.s01.rangeTip', null, '网格适合震荡行情,建议区间参考近期波动(如 24 小时最高/最低),并确保当前价在区间内。') }}

{{ tt('strategy.gridConfig.s01.ref24h', null, '参考 24h 区间') }} {{ tt('strategy.gridConfig.s01.ref24hDesc', null, '可先点击「获取当前价」,再使用下方「一键填入区间」将 24h 最高/最低填入上下限(可加缓冲避免卡边)。') }}
{{ ticker24hError }}
{{ tt('strategy.gridConfig.s01.high24h', null, '24h 最高') }} {{ ticker24h.highPrice != null ? formatPrice(Number(ticker24h.highPrice)) : '—' }} {{ tt('strategy.gridConfig.s01.low24h', null, '24h 最低') }} {{ ticker24h.lowPrice != null ? formatPrice(Number(ticker24h.lowPrice)) : '—' }} {{ tt('strategy.gridConfig.s01.chg24h', null, '涨跌幅') }} {{ ticker24h.priceChangePercent != null ? (ticker24h.priceChangePercent >= 0 ? '+' : '') + Number(ticker24h.priceChangePercent).toFixed(2) + '%' : '—' }}

{{ tt('strategy.gridConfig.s01.priceInRangeOk', null, '当前价在 24h 区间内,适合作为参考。') }} {{ tt('strategy.gridConfig.s01.priceInRangeBad', null, '当前价不在 24h 区间内,请确认区间或稍后再试。') }}

{{ tt('strategy.gridConfig.s01.quickTitle', null, '当前价 ±X% 快捷') }} {{ tt('strategy.gridConfig.s01.quickDesc', null, '获取当前价后填入下方,或手动输入当前价和区间百分比,自动计算上下限') }}
{{ priceError }}
{{ tt('strategy.gridConfig.s02.subInvest', null, '网格数量与投入') }}
{{ tt('strategy.gridConfig.s02.gridCount', null, '网格数量') }} {{ tt('strategy.gridConfig.s02.gridCountDesc', null, '将区间等分为 N 档(2~100),BTC 建议 0.5~1.2%/档') }}
{{ tt('strategy.gridConfig.s02.perGrid', null, '每档投入 (USDT)') }} {{ tt('strategy.gridConfig.s02.perGridDesc', null, '每档买入/卖出的 USDT 金额(≥1)') }}
{{ tt('strategy.gridConfig.s02.mode', null, '网格模式') }} {{ tt('strategy.gridConfig.s02.modeDesc', null, '算术:每档价格差相同,适合关注绝对价差。几何:每档涨幅比例相同,适合价格跨度大的标的。') }}

{{ tt('strategy.gridConfig.s02.runningLock', null, '运行中禁止修改关键参数(区间、网格数、网格模式),请先停止策略后再修改。') }}

{{ tt('strategy.gridConfig.s02.feePct', null, '手续费率 (%)') }} {{ tt('strategy.gridConfig.s02.feePctDesc', null, '用于预估单档利润(买卖各扣一次),如 0.1') }}
{{ tt('strategy.gridConfig.s02.estimateTitle', null, '预估收益') }}
{{ tt('strategy.gridConfig.s02.estStep', null, '单档价差(约)') }}{{ estimatedStepUsdt }} USDT
{{ tt('strategy.gridConfig.s02.estProfit', null, '单档预估利润(扣费)') }}{{ estimatedPerCycle }} USDT

{{ tt('strategy.gridConfig.s02.estNote1', null, '单次循环利润 ≈ 价差 × 数量 - 买卖手续费') }}

{{ tt('strategy.gridConfig.s02.estNote2', null, '适合震荡市,区间内反复买卖获利。') }}

{{ gridModeLabel }} {{ gridModeSummary }}
{{ tt('strategy.gridConfig.levels.title', null, '档位价位表') }} {{ tt('strategy.gridConfig.levels.nearPrice', { level: currentLevelDisplay }, '当前价 ≈ L' + currentLevelDisplay) }}
{{ tt('strategy.gridConfig.levels.thLevel', null, '档位') }} {{ tt('strategy.gridConfig.levels.thPrice', null, '价位') }} {{ tt('strategy.gridConfig.levels.thDelta', null, '与上档差 (USDT)') }} {{ tt('strategy.gridConfig.levels.thDeltaPct', null, '与上档比例 (%)') }}
L{{ row.levelDisplay }} {{ formatPrice(row.price) }} {{ row.deltaUsdt != null ? formatSpreadUsdt(row.deltaUsdt) : '—' }} {{ row.deltaPct != null ? row.deltaPct.toFixed(2) : '—' }}
{{ tt('strategy.gridConfig.s03.sl', null, '跌破下限止损 (%)') }} {{ tt('strategy.gridConfig.s03.slDesc', null, '价格跌破止损阈值后暂停本轮下单(不停止策略),如 -5') }}
{{ tt('strategy.gridConfig.s03.tp', null, '突破上限止盈 (%)') }} {{ tt('strategy.gridConfig.s03.tpDesc', null, '价格突破区间上限时全部平仓,可选') }}
{{ tt('strategy.gridConfig.summary.symbol', null, '交易对') }}{{ config.symbol || '-' }}
{{ tt('strategy.gridConfig.summary.range', null, '价格区间') }}{{ config.lowerPrice || '-' }} ~ {{ config.upperPrice || '-' }}
{{ tt('strategy.gridConfig.summary.gridCount', null, '网格数量') }}{{ config.gridCount || '-' }}{{ tt('strategy.gridConfig.summary.gridsUnit', null, ' 档') }}
{{ tt('strategy.gridConfig.summary.perGrid', null, '每档投入') }}{{ config.amountPerGrid || '-' }} USDT
{{ tt('strategy.gridConfig.summary.total', null, '总投入') }}{{ (config.gridCount || 0) * (config.amountPerGrid || 0) }} USDT
{{ tt('strategy.gridConfig.summary.risk', null, '风险等级') }}{{ tt('strategy.gridConfig.summary.riskVal', null, '震荡市适用') }}

{{ tt('strategy.gridConfig.summary.foot', null, '* 请确保 API 权限已开启现货交易。网格策略需在区间内运行,突破区间需设置止损/止盈。') }}

{{ tt('strategy.gridConfig.preflight.loading', null, '正在检查启动条件(最小名义、可卖数量)…') }}
{{ tt('strategy.gridConfig.preflight.failTitle', null, '无法满足启动条件') }} — {{ preflightResult.message }}
{{ tt('strategy.gridConfig.preflight.failHint', null, '预检不通过时无法保存配置;请提高每档投入或调整下沿价格后等待自动预检通过。') }}
{{ preflightResult.warning }}
{{ tt('strategy.gridConfig.linkWorkbench', null, '前往网格工作台 →') }} {{ tt('strategy.gridConfig.linkHelpFull', null, '查看网格策略完整说明与案例') }}