Appearance
策略一期(网格二期)PRD
1. 概述
1.1 产品目标
核心价值
提供一个强大、可靠且用户友好的自动化交易工具,使用户能够在波动的加密货币永续合约市场中,通过系统化的网格策略捕捉利润机会。对于高阶用户可以使用 Bot 和 bot 组合进行带单。
关键特性
- 支持中性、做多、做空三种策略方向
- 能够用于带单
- 包含必要的风险管理机制
- 通过保证金安全系数和预扣预估手续费的机制提供更准确、更安全的保证金计算逻辑
1.2 产品范围
核心功能
- 合约网格策略的创建和参数配置
- 包含基于费用预扣和安全系数的保证金校验和数量计算
- 策略启动、实时监控
- 运行中管理(保证金调整、止盈止损修改、利润提取)
- 策略终止
支持市场
- USDT 本位永续合约
策略模式
必须支持:
- 中性 (Neutral)
- 做多 (Long)
- 做空 (Short)
1.3 网格数量 / 网格线 / 挂单数量关系说明
- 网格数量 N
- 表示把价格区间切成 N 段。
- 网格线数量 = N + 1
- 网格线是区间边界,比如 N=10,则有 11 条线。
- 这些线是实际下挂单的价格位置。
- 挂单数量 = 网格线数量 = N + 1
- 无论做多 / 做空 / 中性,挂单只会落在这 N+1 个价位上。
1.4 中性/做多/做空三种模式的区别
同一条线挂"买"还是挂"卖"
假设当前价格位于某两条网格线之间
中性模式
- 当前价下方的所有网格线:挂 买单
- 当前价上方的所有网格线:挂 卖单
- 当前价正好等于某条线 → 我们规定挂 买单
- 挂单总数 = N + 1
- 特点:不建方向仓,纯区间套利。
做多模式
- 所有网格线先挂 买单
- 当前价以上的买单:立即成交(Taker),形成初始多仓
- 当前价以下的买单:作为 Maker 挂单
- 当前价正好等于某条线 → 我们规定挂 买单
- 同时在当前价以上所有网格线挂 卖单(Maker),用于平多
- 挂单总数 = N + 1(成交部分不算挂单)
- 特点:初始仓位由"当前价在区间的位置"自动决定
做空模式
- 所有网格线先挂 卖单
- 当前价以下的卖单:立即成交(Taker),形成初始空仓
- 当前价以上的卖单:作为 Maker 挂单
- 当前价正好等于某条线 → 我们规定挂 卖单
- 同时在当前价以下所有网格线挂 买单(Maker),用于平空
- 挂单总数 = N + 1
- 特点:同样由当前价位置自然决定初始空仓量。
注意:当价格位于区间边界时,成交的网格单不一定存在对应的反向卖出网格。系统不会突破用户设定的价格区间自动生成新网格,未配对仓位将随机器人停止或区间回归处理。
2. 术语表
| 术语 | 定义 |
|---|---|
| 合约网格 | 在永续合约市场运行的网格交易策略 |
| 价格区间 | 用户设定的策略运行的价格上限(网格上限价格)和下限(网格下限价格) |
| 网格数量(n) | 价格区间内划分的格子数量(会有n+1条网格线) |
| 网格价格线(价格_i) | 根据价格区间、网格数量和网格类型计算出的具体价格水平(i=0到n) |
| 单网格数量(Q) | 每个网格价格线上挂单交易的基础货币数量 |
| 方向 | 策略的整体倾向(中性、做多、做空) |
| 网格类型 | 价格线的划分方式(等差-Arithmetic、等比-Geometric) |
| 杠杆倍数(L) | 用户为该策略设置的杠杆 |
| 触发价格 | (可选)策略开始激活挂单的市场价格 |
| 吃单费率(Fee_Taker) | 立即成交订单(Taker)的手续费率(小数形式,如0.0005代表0.05%) |
| 挂单费率(Fee_Maker) | 挂单等待成交订单(Maker)的手续费率 |
| 当前市场价格(P_market) | 创建或评估策略时参考的市场价格,用于判断初始Taker/Maker订单 |
| 用户投入总保证金(M_allocated) | 用户为此策略划拨的总保证金(USDT) |
| 初始保证金安全系数(S) | 系统预留的保证金安全垫系数,默认为0.9 |
| 预估启动手续费 | 基于用户投入总保证金和杠杆,预估可能产生的最大手续费。 计算公式: 吃单部分 = 吃单订单个数 × 当前市价 × 吃单费率 挂单部分 = ∑(挂单价格_i × 单格数量) × 挂单费率 两者相加即为启动时的一次性手续费预算。 |
| 可用保证金 | 预先扣除预估最大手续费后并应用安全系数,实际可用于支持开仓和挂单的保证金。 计算公式: 可用保证金 = M_allocated × (1 - L × Fee_Taker - L × Fee_Maker) × S需校验 (1 - L × Fee_Taker - L × Fee_Maker) > 0 |
| 最低投入保证金 | 为保证策略(基于预扣费用后的可用保证金)能成功启动所需的最小总保证金,是用户设定单网格数量的函数。 公式: 最低投入保证金 = 单格下单数量 × [ (吃单订单个数 × 当前市价 ÷ 杠杆倍数) + (∑挂单价格_i ÷ 杠杆倍数) ] × 安全系数 |
| 最大单网格数量 | 在给定"用户投入总保证金"(并计算出"可用保证金")下,每个格子能安全设置的最大基础货币交易数量 |
| Taker订单(吃单) | 启动时因价格优于市场而立即成交的订单 |
| Maker订单(挂单) | 启动时挂在订单簿上等待价格到达才成交的限价单 |
| Taker订单个数 | 启动时预计立即成交的Taker订单的数量 |
| 预估成交价 | Taker订单的预估成交价格(基于当前市场价格并考虑滑点缓冲) |
| Maker订单价格集合 | 所有初始Maker订单对应的网格价格线的集合 |
| 网格利润 (Grid Profit) | 所有已完成配对交易产生的累计利润。本质上是配对平仓盈亏的累加,公式:∑(卖出成交额 - 买入成交额 - 双边手续费)。不含资金费用,对齐 Binance/OKX 展示口径 |
| 资金费用 (Funding Fee) | 持仓期间由交易所结算的资金费用累计(可正可负),独立展示 |
| 未配对平仓盈亏 (Unmatched Close PnL) | 策略停止时,剩余未匹配仓位被市价平仓产生的盈亏。与网格配对逻辑无关,仅在 Bot 结束时计入 |
| 已实现盈亏 (Realized PnL) | 运行中:网格利润 + 资金费用;已结束:网格利润 + 资金费用 + 未配对平仓盈亏。对应合约账户的全部已实现收益 |
| 浮动盈亏 (Unrealized PnL) | 当前持仓按标记价格计算的未实现盈亏(仅运行中 Bot 有此值) |
| 总盈亏 (Total PnL) | 策略综合表现,公式:已实现盈亏 + 浮动盈亏 |
| 强平价格 (Liquidation Price) | 合约仓位将被强制平仓的价格 |
| 保证金率 (Margin Ratio) | 衡量当前仓位风险的指标,接近 100% 时触发强平 |
3. 用户故事
- 基础网格交易:作为交易者,我希望设置一个价格区间和网格数量,让机器人在区间内自动低买高卖合约,以便于在震荡行情中获利。
- 做多网格交易:作为看涨交易者,我希望启动一个做多网格,让机器人帮我建立多头底仓,并在价格回调时自动加仓,在价格上涨时自动分批止盈多头仓位。
- 做空网格交易:作为看跌交易者,我希望启动一个做空网格,让机器人在逢高卖出的同时,能在价格下跌时自动帮我分批回补空头仓位。
- 保证金计算:作为交易者,我希望在启动网格前,系统能考虑手续费影响和安全系数后,告诉我至少需要投入多少保证金,或者根据我投入的保证金告诉我每个格子最多能交易多少数量,以更可靠地避免启动失败。
- 风险控制:作为交易者,我希望可以为运行中的网格设置止盈止损价格,以控制整体风险和锁定利润。
- 状态监控:作为交易者,我希望可以随时查看网格运行状态,包括盈亏、持仓、挂单、成交历史等信息。
- 保证金管理:作为交易者,我希望能够向运行中的网格追加保证金以降低强平风险。
- 利润提取:作为交易者,我希望能够从运行中的网格提取已实现的网格利润。
4. 功能需求
4.1 创建与设置
4.1.1 基础参数输入

核心逻辑说明:
- 资金隔离:
- AI Hub 入口:资金转入独立的
Futures Grid账户,风险完全隔离。- Futures 入口:资金与合约账户共享保证金(Cross Margin 效果),风险互通,适合专业用户。注意:此处交易量不计入 AI Hub 统计。
- 保证金储备:
- 系统强制预留 10% 的保证金缓冲,防止因点击创建到实际执行期间的价格波动导致启动失败。
- 启动并成功挂单后,多余的缓冲资金可退回或作为可用保证金。
- 中性策略限制:
- 中性网格只能基于收益率(%)设置止盈止损,不支持基于价格(Price)设置(因为是区间震荡策略)。
- 停止时默认行为:
- "Close all position on stop" 默认 不勾选(保留持仓)。
- 当前账户差异:
- 若在
Futures账户直接创建,Stop Condition (Optional) 区域默认 隐藏。
| 参数 | 要求 | 说明 |
|---|---|---|
| 交易对 | 必须 | 从USDT本位永续合约列表中选择 |
| 方向 | 必须 | 选择中性、做多或做空 |
| 价格区间 | 必须 | 输入网格下限价格和上限价格,需进行合理性校验(上限>下限) |
| 网格数量(n) | 必须 | 输入值,需有合理范围限制(例如2-200),并校验与价格区间的关系,确保单格价差大于最小价格精度 |
| 网格类型 | 必须 | 选择等差或等比 |
| 杠杆倍数(L) | 必须 | 从允许的范围中选择,并显示风险提示 |
| 投资金额(M_allocated) | 必须 | 输入用户投入总保证金,需大于等于后续计算出的最低投入保证金 |
4.1.2 单格数量计算
核心机制:
计算可用保证金:
text可用保证金 = 用户投入总保证金 × (1 - 杠杆倍数 × 吃单费率 - 杠杆倍数 × 挂单费率) × 初始保证金安全系数需校验结果 > 0,若 ≤ 0 则无法启动
计算最大数量: 后端使用可用保证金和其他参数,调用【5.3节公式】计算最大单网格数量。
UI显示: UI必须向用户展示计算出的可用保证金和系统推荐的单网格数量。
交互模式:
- 投资额模式:用户输入总投资额,系统自动计算并显示推荐的单网格数量。
4.1.3 最低保证金计算与校验
- 强制执行: 用户点击"创建"前,后端必须根据用户最终确定的所有参数和当前市价,调用【5.2节公式】计算最低投入保证金。
- 严格校验: 比较最低投入保证金与用户投入总保证金。
- 校验失败处理: 若
用户投入总保证金 < 最低投入保证金,禁止创建。UI需弹出明确提示:"保证金不足。根据您当前的参数和市场价格,启动策略需要至少 [计算出的最低保证金] USDT。您当前投入 [用户投入总保证金] USDT。请增加投入或降低杠杆倍数。"
- 校验成功: 进入下一步。
4.1.4 高级参数设置
| 参数 | 说明 |
|---|---|
| 触发价格(P_trigger) | 允许设置触发价格 |
| 止盈价格/比例 | 允许设置止盈条件 |
| 止损价格/比例 | 允许设置止损条件,强烈建议默认勾选并提示用户设置 |
| 停止时处理持仓 | 提供选项,如"停止时市价平掉所有仓位"、"停止时保留仓位"。默认选中"市价全平"。还包括是否"Close all position on stop"的开关。 |
| 最大回撤 (Max Drawdown) | Tooltip: "Caps your pullback: if equity drops by the set % from its peak while still above the initial balance, all positions are closed and the Grid Bot stops to lock in profit." |

4.1.5 保证金安全保障机制
- 系统安全系数: 默认使用 0.9 的初始保证金安全系数 (S),在所有保证金计算中一致应用此系数。
- 动态订单调整:
- 启动时系统先执行 Taker 订单
- 根据实际成交情况和剩余保证金,动态调整 Maker 订单数量
- 若保证金不足,由系统自动按比例缩减所有网格单的数量,确保网格结构完整
4.2 执行逻辑
4.2.1 初始订单放置
激活:
- 无触发价则立即激活
- 有触发价则等待市价达到后激活
价格校验:
- 激活时检查当前市场价格是否在区间内
- 若在区间外,执行以下逻辑:
| 情况 | 处理逻辑 |
|---|---|
| 中性策略,价格在区间外 | 设置状态为"等待入场",不挂单,等待价格进入区间 |
| 做多策略,价格高于上限 | 设置策略状态为"等待入场",等待价格回落至区间内再执行网格策略,UI展示实时状态 |
| 做多策略,价格低于下限 | 系统以Taker方式开仓,并在区间内挂出卖单。UI标记当前状态为"价格低于区间,已开仓等待价格上涨" |
| 做空策略,价格低于下限 | 设置策略状态为"等待入场",等待价格上涨至区间内再执行网格策略,UI展示实时状态 |
| 做空策略,价格高于上限 | 系统以Taker方式开仓,并在区间内挂出买单。UI标记当前状态为"价格高于区间,已开仓等待价格下跌" |
订单执行:
| 策略方向 | 执行逻辑 |
|---|---|
| 中性 | 中性不会建初始仓,在市场价格下方挂Maker买单,上方挂Maker卖单 |
| 做多(建初始仓) | • 在所有网格线挂 买单 • 当前市场价格以上的买单以 Taker 方式立即提交成交 • 当前市场价格以下的买单以 Maker 方式挂单 • 同时,在当前市场价格上方的所有网格线挂 卖单(Maker),用于平多 |
| 做空(建初始仓) | • 在所有网格线挂 卖单 • 当前市场价格以下的卖单以 Taker 方式立即提交成交 • 当前市场价格以上的卖单以 Maker 方式挂单 • 同时,在当前市场价格下方的所有网格线挂 买单(Maker),用于平空 |
保证金再校验与容错机制:
- 实际提交订单时,再次校验账户可用保证金
- 若发现保证金不足,系统自动按可用保证金比例调整订单数量
- 调整后更新策略状态,通知用户实际执行情况
4.2.2 循环逻辑与订单匹配
核心运行原理:
- 系统持续监控最新市场价格和标记价格(用于强平风险评估)
- 网格策略启动后,所有网格线上都有相应的挂单,形成完整的网格结构
- 当任何一个订单成交后,系统立即在相应位置补充新订单,保持网格完整性:
- Maker 买单成交后:在其上方对应的网格线上挂出相应数量的 卖单
- Maker 卖单成交后:在其下方对应的网格线上挂出相应数量的 买单
网格完整性维护:
- 系统定期检查所有网格线,确保每条网格线上都有相应的挂单
- 若发现任何网格线缺少应有的订单(可能因保证金不足、系统故障、网络问题等原因),自动补单恢复完整网格结构
- 维护过程中优先考虑保证金安全,确保不会因补单导致保证金不足风险
保证金管理与风险控制:
- 每次下新订单前,系统先检查可用保证金是否充足
- 若保证金不足,系统:
- 发出警报通知用户
- 可能暂时降低单网格交易数量以适应当前保证金
- 建议用户追加保证金
资金费影响与网格冻结机制:
永续合约会定期结算资金费用(通常每 8 小时),资金费会直接影响网格的可用保证金:
- 资金费为正(收入):增加可用保证金,无影响。
- 资金费为负(支出):减少可用保证金,可能导致网格结构不完整。
网格冻结规则:
当可用保证金不足以维持全部 N+1 个网格线挂单时,系统按以下优先级冻结网格:
- 冻结优先级:从距离当前价格最远的网格线开始冻结(先冻结外围网格)。
- 通知频率:
- 首次发生冻结时,立即发送 Alert Event,包含被冻结的网格线价格。
- 每 4 小时最多发送一次相同类型的通知(避免轰炸)。
- 如有新的网格线被冻结,则立即发送新通知。
- 解冻逻辑:用户追加保证金 (Add Investment) 后,系统自动按优先级恢复被冻结的网格挂单:
- 优先恢复距离当前价格最近的网格。
- 系统发送通知确认恢复了哪些网格。
交易记录与盈亏计算:
- 精确记录每笔成交的详细信息:成交价格、数量、方向、实际手续费支出、成交时间戳
- 实时计算并更新:网格累计已实现利润、当前持仓的浮动盈亏、总盈亏(已实现+浮动)、保证金占用情况、预估强平价格
异常情况处理:
- 当发生极端行情剧烈波动时,系统确保订单处理的可靠性和稳定性
- 若因任何原因导致网格结构不完整,系统会在下一个检查周期自动修复
- 所有异常情况都会被记录在事件日志中,供用户查看和分析
4.2.3 价格超出区间处理
- 市价 > 上限: 停止挂出新的买单和卖单。已挂出的买单保持不变。监控价格,等待回到区间内。
- 市价 < 下限: 停止挂出新的买单和卖单。已挂出的卖单保持不变。监控价格,等待回到区间内。
- 回到区间内: 恢复挂单逻辑。
4.2.4 止盈止损触发
- 监控触发条件(价格或盈亏比例)
- 触发后:
- 取消所有挂单
- 根据用户设定市价平仓
- 停止策略
- 记录原因和最终盈亏
4.3 监控与展示
4.3.1 运行列表

展示信息:策略名称、交易对、方向、杠杆、总盈亏(额/率)、网格利润、浮动盈亏、运行时间、状态。 并且支持按照"Copy Trading"和"Future Grid Bot"进行分类查看。
注解:在合约账户启动的 Bot
如果用户是在 Futures 交易页直接启动的网格(非 AI Hub 独立账户),展示信息将简化,仅显示基础参数(如 Start Price, Init Buy Qty),不展示 AI Hub 特有的 PnL 分析图表。
4.3.2 策略详情

页面采用多 Tab 结构,包含以下核心模块:
Overview (概览)
- Header: 策略基本信息(Runtime, Direction, Range, Grids 等)
- Current Position: 当前持仓量、开仓均价、预估强平价(支持 Adjust Margin 入口)
- PnL Card: 24H/7D/1M/All 的 PnL, ROI, Matched 次数统计
- Charts: ROI 走势图、PnL 走势图
Placed Order (当前挂单)
- 可视化网格图(展示网格线、市价线、已成交点)
- 实时挂单列表
Matched Order (成交历史)
- 历史配对成交记录
匹配逻辑说明:
- Matched定义:一个完整的"买入+卖出"对(Grid Cycle)算作一次 Matched。
- 统计口径:按照平仓(Close)时间统计。
- 24H Matched:最近 24 小时内完成的配对数。
- Matched/Day:
Total Matched / Runtime (Days)。

Transfer (资金划转)
- 记录保证金的追加 (Add)、减少 (Reduce)、利润释放 (Released Profit) 和 初始投入 (Initial)
Funding Fee (资金费率)
- 统计资金费支出/收入情况
Alert Event (预警事件)
- 记录关键风控事件(见 4.5 节)
Parameters (参数)
- 显示创建参数及运行中修改的参数记录
4.4 运行中管理
4.4.1 调整保证金
追加保证金 (Add Investment):
- 允许用户增加投入资金。
- 限制:无数量限制。
- 操作:后端校验资金充足后,从交易账户划转至策略保证金,更新保证金数据和强平价。
减少投资 (Remove Investment):
- 计算下限 (Floor):
Floor = max(创建时可用保证金 - 未实现盈亏, 创建时可用保证金)- 注:当未实现盈亏为负(浮亏)时,Floor = 创建时可用保证金 + 浮亏绝对值(需填补亏损);当未实现盈亏为正时,Floor = 创建时可用保证金。
- 可减少金额:
max(0, 当前动态权益 - Floor) - 说明:此规则允许用户在创建后移除非用于网格运行的闲置/缓冲资金(如果有),同时确保剩余资金足以覆盖初始保证金要求及当前浮动亏损。
提取利润 (Release Profit):
- 可提取利润计算:
可提取利润 = max(0, 网格利润 + 资金费用 + 浮动盈亏 - 已累计提取) - 规则:仅当策略整体处于盈利状态(已实现+未实现)且有未提取的利润份额时才可提取。提取金额自动划转至交易账户。
- 注:若浮动盈亏为负,会直接减少可提取的网格利润额度,确保不抽取用于覆盖亏损的资金。
4.4.2 修改止盈止损
- UI提供入口修改TP/SL价格或比例
- 后端更新策略的停止条件
4.4.3 手动停止策略
- UI提供"停止"按钮,弹出确认框,市价全平当前持仓
- 后端执行:取消所有挂单 → (若选择)市价平仓 → 停止策略 → 资金划转
资金结算账户:
- AI Hub 入口创建的 Bot:策略结束后,资金从
Futures Grid账户转回 现货账户 (Spot)。 - Futures 入口创建的 Bot:策略结束后,资金保留在 合约账户 (Futures)。
4.5 预警与事件 (Alert Event)

系统需提供透明的事件日志,帮助用户理解机器人的非预期行为。关键事件类型包括:
| 事件类型 | 触发原因 | 系统行为 | 建议操作 |
|---|---|---|---|
| 价格区间外溢 | 市场价格超出网格区间 | 暂停挂新单 | 调整区间或等待回归 |
| 保证金不足 | 资金费扣除导致可用保证金不足以挂单 | 冻结部分网格(从远端开始)、发出警报 | 增加投资额 (Add Investment) |
| 网格冻结 | 可用保证金不足以维持全部网格线 | 记录被冻结的网格线价格 | 追加保证金后自动恢复 |
| 网格解冻 | 用户追加保证金后保证金充足 | 恢复被冻结的网格挂单 | - |
| 止盈/止损触发 | 达到设定的 TP/SL 条件 | 机器人自动关闭 | - |
| 强平风险 | 维持保证金率接近 100% | 发出保证金警报 | 追加保证金 |
| 强平触发 | 维持保证金率达到 100% | 机器人自动关闭,被强平 | 分析亏损原因 |
| 网格动态调整 | 价格波动剧烈,为了维持网格完整性 | 订单数量发生变化 | 无需操作,系统自动调整 |
| 账户限制 | 账户被风控限制交易 | 开仓挂单被取消 | 联系客服 |
5. 计算公式
5.1 网格价格线计算
等差网格
text
每格价差 = (网格上限价格 - 网格下限价格) / 网格数量
价格_i = 网格下限价格 + i × 每格价差 (i = 0 到 n)等比网格
text
价格比例 = (网格上限价格 / 网格下限价格) ^ (1 / 网格数量)
价格_i = 网格下限价格 × (价格比例 ^ i) (i = 0 到 n)5.2 计算启动所需最低投入保证金
目的:校验用户投入是否足够(含预留手续费和安全系数)
步骤:
- 识别 Taker 订单个数和 Maker 订单价格集合
- 预估成交价 ≈ 当前市场价格
- 计算考虑安全系数的最低投入保证金:
text
最低投入保证金 = 单网格数量 × [
(Taker订单个数 × 预估成交价 / 杠杆倍数) <-- Taker保证金
+ (Σ [价格_i for 价格_i in Maker订单价格集合] / 杠杆倍数) <-- Maker保证金
+ (Taker订单个数 × 预估成交价 × 吃单费率) <-- Taker手续费
+ (Σ [价格_i for 价格_i in Maker订单价格集合] × 挂单费率) <-- Maker手续费
] / 初始保证金安全系数注:单网格数量取最小交易量。对于中性模式,由于没有Taker订单,Taker订单个数为0。
校验: 用户投入总保证金 >= 最低投入保证金
5.3 计算最大单网格交易量
目的: 计算在预扣费用后,可用保证金能支持的最大单网格数量
步骤:
计算考虑安全系数的可用保证金:
text可用保证金 = 用户投入总保证金 × (1 - 杠杆倍数 × 吃单费率 - 杠杆倍数 × 挂单费率) × 初始保证金安全系数需校验
(1 - 杠杆倍数 × 吃单费率 - 杠杆倍数 × 挂单费率) > 0
特别说明: 在我们之前的说明中这种当前价格在网格价格范围之外的,就会先全部走一遍 taker 订单,然后再全部挂一遍 maker 订单。所以这里减了两次。 这里咱们也是希望尽可能保证网格创建成功,把手续费都扣除是合理的。
计算最大单网格数量:
text最大单网格数量 Q = 可用保证金 ÷ [ (吃单订单个数 × 当前市价 ÷ 杠杆倍数) + (∑挂单价格_i ÷ 杠杆倍数) ]其中括号里的部分是所有初始吃单和挂单在"每 1 个基础货币单位"下需要占用的保证金系数:
∑挂单价格_i是全部挂单价格线的总和,表示你要准备多少保证金去挂这些单;吃单订单个数 × 当前市价代表立即成交的名义价值;- 再除以杠杆倍数,就是需要占用的保证金。
展开完整公式:
text最大单网格数量 = [用户投入总保证金 × (1 - 杠杆倍数 × 吃单费率 - 杠杆倍数 × 挂单费率) × 初始保证金安全系数] / [(吃单订单个数 × 当前市价 ÷ 杠杆倍数) + (∑挂单价格_i ÷ 杠杆倍数)]
5.4 盈亏计算
网格利润 (Grid Profit):
单次配对利润 = 卖出成交额 - 买入成交额 - 双边手续费
text
网格利润 = ∑(卖出成交额 - 买入成交额 - 双边手续费)注:网格利润不含资金费用,对齐 Binance/OKX 展示口径。
资金费用 (Funding Fee):
text
资金费用 = ∑资金费结算金额可正可负,独立展示。
未配对平仓盈亏 (Unmatched Close PnL):
策略停止时,剩余未匹配仓位被市价平仓产生的盈亏。此部分与网格配对逻辑无关。
注:合约层面的"平仓盈亏"包含所有平仓收益。网格策略将其拆分为:
- 配对平仓盈亏 → 计入网格利润
- 未配对平仓盈亏 → 仅在 Bot 结束时计入
已实现盈亏 (Realized PnL):
text
运行中 Bot: 已实现盈亏 = 网格利润 + 资金费用
已结束 Bot: 已实现盈亏 = 网格利润 + 资金费用 + 未配对平仓盈亏对应合约账户的全部已实现收益。
浮动盈亏 (Unrealized PnL):
text
多仓: 浮动盈亏 = (标记价格 - 持仓均价) × 持仓数量
空仓: 浮动盈亏 = (持仓均价 - 标记价格) × 持仓数量总盈亏 (Total PnL):
text
总盈亏 = 已实现盈亏 + 浮动盈亏可提取利润 (Withdrawable Profit):
text
可提取利润 = max(0, 网格利润 + 资金费用 + 浮动盈亏 - 已累计提取)受风控约束:提取后剩余保证金必须满足安全阈值。


