vinson

Posted on Sep 06, 2022Read on Mirror.xyz

PerpDEX 中的清算机器人

本文解释了清算如何在 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

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

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