# PerpDEX 中的清算机器人

By [vinson](https://paragraph.com/@bitpush) · 2022-09-06

---

![](https://storage.googleapis.com/papyrus_images/481c44bb21a7b5df3b299c13226682373204983db68212b3ec50301e449ea9e2.png)

本文解释了清算如何在 PerpDEX 上工作，并提供了 PerpDEX 中清算机器人的示例代码。

什么是清算机器人？ 在永续交易的情况下，当维持保证金率低于一定水平时，仓位将被平仓。在 PerpDEX 中，与许多其他 DEX 一样，任何人都可以执行清算，执行清算的人将获得奖励，即他们清算的抵押品的百分比。Liquidator bot 是一种旨在赚取这些奖励的交易机器人。

清算如何在 PerpDEX 上运作？ PerpDEX 维持保证金设置如下：

初始保证金比率（imRatio）：10% 最低保证金比率（mmRatio）：5% 见：https ://github.com/perpdex/perpdex-contract/blob/audit-20220828/contracts/PerpdexExchange.sol#L40-L41 因此，您最多可以开仓10倍保证金（账户价值\*），如果仓位变为账户价值的20倍，该仓位将被平仓。

*   账户价值 = 抵押品 + 未平仓头寸 pnl + LimitOrder 的保证金
    

例如：

如果账户值为 1 ETH，您可以开新仓，直到所有仓位总值为 10 ETH。（为简单起见，费用和滑点被忽略） 如果您有 10 ETH 多头头寸，并且您的账户价值低于 10 ETH \* 5% = 0.5 ETH（例如 ETH 从头寸的平均价格下跌 9.5%），您的头寸将被清算。 可以通过交易功能执行强平

当交易者的仓位满足平仓条件时，任何人都可以对该仓位执行平仓。\[代码\]

如果要强平的交易者有LimitOrders或Liquidity，则必须在强平前将其删除。\[代码\]

强平成功的交易者将获得用于强平仓位的部分保证金。\[代码\]

在 PerpDEX 中，奖励使用 EMA（指数移动平均线）平滑，因此即使是小仓位也可以尽可能多地被清算。\[代码\]

清算机器人逻辑 因此，如果您实现以下逻辑，您将拥有一个 Liquidator 机器人

(1) 获取交易者的地址列表（监听事件或使用子图）

(2) 判断每个交易者地址的强平条件

(3) 如果交易者不被强平，请跳过以下步骤

(4) 清算前移除LimitOrders和Liquidity

（五）执行清算

示例代码 这是一个实现上述逻辑的简单示例代码。

[https://github.com/perpdex/perpdex-liquidator](https://github.com/perpdex/perpdex-liquidator)

我们计划举办一场交易比赛。我正在考虑在交易竞赛期间运行上述 Liquidator 机器人。

[https://mirror.xyz/bitpush.eth/Y1IivQ4oiwxsF43bBatxd\_en\_wMNR0o8Vl38fAwkjxY](https://mirror.xyz/bitpush.eth/Y1IivQ4oiwxsF43bBatxd_en_wMNR0o8Vl38fAwkjxY)

结论 在本文中，我解释了 Liquidator 机器人，并展示了 PerpDEX 中的示例代码。Liquidator bot 是一个易于在 DEX 上实施的交易机器人。如果您有兴趣与 DEX 交易，如果您可以参考，我会很高兴。

如有任何问题或澄清，请随时与我们联系。 推特：https ://twitter.com/perpdex 不和谐：https ://discord.gg/6gXs4qq9hy 网站：https ://perpdex.exchange

---

*Originally published on [vinson](https://paragraph.com/@bitpush/perpdex-2)*
