DEX策略示例
可直接运行的完整DEX策略:区间流动性自动调仓、Aerodrome与Velodrome的gauge质押复投、DEX与CEX搬砖套利、Jupiter限价单网格、定投以及pump.fun打新。每页介绍策略思路、所需的交易所对象、参数与风险,并附完整代码。
| 策略 | 做什么 | 交易所对象 |
|---|---|---|
LP自动调仓 | 在现价±X%区间内做市,价格移出区间后撤出流动性并按新价格重新建仓,定期领取手续费;设有调仓频率、gas与资金上限等护栏 | Uniswap、PancakeSwap、Aerodrome、Velodrome之一 |
Gauge质押复投 | 按奖励年化收益率选池,建仓后质押进gauge,定期将奖励卖成USDC并加回仓位 | Aerodrome或Velodrome |
DEX与CEX搬砖 | 比较DEX询价与CEX盘口价格,扣除手续费、gas与安全垫后价差达到门槛即在两边各下一笔 | 一个DEX加一个CEX现货交易所 |
Jupiter限价单网格 | 用原生限价单在现价上下挂网格单,成交后在相邻价位挂反向单 | Jupiter |
DEX定投 | 定期买入:Jupiter使用原生定投,其他DEX由策略定时市价买入,价格低于均线时加倍买入 | 任一DEX |
pump.fun打新策略 | 发现pump.fun新币,经过滤后以固定金额买入,止盈、止损或到期卖出(风险极高) | Jupiter |
运行方式
- 将代码复制到新建的JavaScript策略中,参数位于代码开头;创建机器人时按各页说明添加交易所对象,并使用专用钱包。
- 会发送交易的策略默认
DRY_RUN = true:只做规划、询价和链上模拟(lp.simulate、simulate、trigger.simulate、dca.simulate、pump.buy的dryRun),不签名、不广播,盈亏按纸面仓位记账;钱包余额不足时模拟报错属于正常现象。 - 实盘:确认日志与状态栏符合预期后,换用专用钱包并投入小额资金,将
DRY_RUN改为false,并根据所在链调整gas估计等参数。 - 仓位ID、挂单、已花费金额等进度保存在
_G中,机器人重启后可继续跟踪。
风险
- 无常损失:价格偏离后,区间流动性的价值会低于单纯持币;价格移出区间后,仓位只剩一种代币,且不再赚取手续费。
- gas与手续费:每次建仓、调仓、领取和兑换都是链上交易。以太坊主网gas较高,小资金策略基本不划算,建议在Base、Arbitrum、BNB Chain、Solana等低费用链上运行。
- MEV:链上兑换可能遭遇抢跑和三明治攻击(夹子),滑点保护设得越宽,被夹的最大损失越大。
- 合约与代币:池子、gauge、Jupiter托管vault等合约存在安全风险;新币可能是骗局(rug pull),且名称可被冒充,请以合约地址或mint地址为准。
- 预估不等于收益:计划中的预估日手续费和奖励年化均是根据历史成交或当前排放量外推得出的。请只使用能够承受亏损的资金,并先进行小额测试。
区间流动性「建仓 → 监控 → 出区间即撤出」的简化版本,见exchange.IO("lp.add")页中的完整LP策略示例;各指令的参数见EVM DEX通用指令与Jupiter交易所页面。
本章内容整章阅读
| 名称 | 描述 |
| LP自动调仓 | 在现价±RANGE_PCT%范围内开设单区间仓位赚取手续费;价格连续多次处于区间外时撤出,并以新价格为中心重新建仓,持续做市。 |
| Gauge质押复投 | 在Aerodrome或Velodrome上按奖励年化收益率选择池子,建仓后将仓位质押到该池的gauge中领取AERO或VELO奖励,并定期领取奖励、兑换为USDC后追加到仓位(复投)。 |
| DEX与CEX搬砖 | 对同一币种在链上DEX与中心化交易所(CEX)现货之间的价差进行套利:按每笔数量分别获取两边的可成交价格,扣除手续费、gas和安全垫后,若净利达到门槛,则在两边各执行一… |
| Jupiter限价单网格 | 使用Jupiter原生限价单在现价上下各挂若干档;某张单成交后,在相邻一格挂反向单,赚取一格价差;价格离开范围时撤销全部挂单,并以新价格为中心重新布设网格。 |
| DEX定投 | 定期买入同一币种以摊平持仓成本:在Jupiter上使用原生定投,在其他DEX上由策略定时市价买入;价格低于均线时,当期买入金额加倍。 |
| pump.fun打新策略 | 极高风险,仅供学习与改写:发现pump.fun上刚创建的币,按条件过滤后以固定金额在联合曲线上买入,触发止盈、止损或达到最长持有时间时全部卖出。 |