创建持仓数据库对象,应该在调用第三方订单接口下单前还是后

28次阅读
没有评论

这是一个非常关键的设计问题。根据交易系统的常见最佳实践,强烈建议在调用第三方订单接口“之前”就创建持仓数据库对象(或至少预留记录),但需要配合一个明确的“状态机”来管理其生命周期。

这样做的核心原因是:保证本地数据记录的先发性和完整性,以应对异步、可能失败的外部操作。

📊 为什么要在“下单前”创建?

下表对比了“下单前”与“下单后”创建的利弊:

时机 优点 缺点与风险 结论
下单前创建 1. 本地记录始终存在:任何操作都有迹可循。
2. 立即获得position_id:可用于关联订单、风控等。
3. 状态驱动:通过状态字段清晰跟踪生命周期,易于处理异步通知和异常。
可能产生“幽灵持仓”(下单请求最终失败)。 推荐。通过状态机可完美管理“幽灵持仓”,利远大于弊。
下单后创建
(等异步通知)
理论上可保证持仓记录100%对应成功订单。 1. 数据空洞期:下单后到通知前,系统无记录,难以追踪、管理、展示。
2. 关联困难:订单回调处理逻辑复杂,需反向关联和创建持仓。
3. 异常处理复杂:若通知丢失,持仓永远无法创建。
不推荐。会导致系统状态不完整,增加复杂度。

 

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-01-26发表,共计464字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)

摆渡资源站

文章搜索
一言一句话
-「
热门文章
青龙面板一键安装所有依赖

青龙面板一键安装所有依赖

https://blog.csdn.net/qq_42123284/article/details/13537...
1Panel服务器迁移和WordPress配置

1Panel服务器迁移和WordPress配置

  1Panel服务器迁移 1Panel的整体迁移相对简单,使用快照功能即可实现。但是要求新旧服务器...
Ubuntu 通过页面设置固定 ip

Ubuntu 通过页面设置固定 ip

要在 Ubuntu 图形界面(桌面)设置固定 IP,通过右上角网络图标进入设置,找到有线/无线连接,点击齿轮图...
安装了 openjdk@17 和 zulu@8,通过 jenv 来管理 JDK 版本

安装了 openjdk@17 和 zulu@8,通过 jenv 来管理 JDK 版本

你已经成功安装了 openjdk@17 和 zulu@8,现在可以配置 jenv 来管理 JDK 版本。按照下...
为什么不要在知乎写东西

为什么不要在知乎写东西

知乎的平台注定不能做大做强走向世界,限制太多了 不能发表外链 无缘无故删除文章,警告。
最新评论
最新文章
手滑点错更新也不怕!超详细 Mac 系统更新屏蔽指南(附安全恢复方案)

手滑点错更新也不怕!超详细 Mac 系统更新屏蔽指南(附安全恢复方案)

  Mac 屏蔽系统更新并消除小红点全攻略 在 macOS 系统中,系统更新提示的小红点常常让人不胜...
我是如何扫描GitHub上所有“Oops提交”以查找泄露的秘密的

我是如何扫描GitHub上所有“Oops提交”以查找泄露的秘密的

  tl;dr GitHub Archive 会记录每一次公开提交,即使是开发者试图删除的提交也不例...
Mermaid 对比 PlantUML

Mermaid 对比 PlantUML

🔍 核心语法差异说明 为了让转换更顺利,了解两者主要的语法区别会很有帮助: 元素 Mermaid 语法 Pla...
sequenceDiagram

sequenceDiagram

  根据你之前的代码和需求,你提到的 sequenceDiagram 代码块通常属于 Mermaid...
订单状态更新,异步的,然后需要触发止盈,我应该放到哪个领域中

订单状态更新,异步的,然后需要触发止盈,我应该放到哪个领域中

  这是一个非常经典的交易系统架构问题。将止盈触发逻辑放在哪里,直接影响到系统的清晰度、可维护性和扩...