输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所

按TVL门槛与24小时成交额,为一个代币自动选出一个集中流动性池子。

exchange.IO(k, token, budget)
exchange.IO(k, token, budget, options)

示例

  • 为100 USDC的预算选出SOL/USDC池子。

    javascript
    function main() { var pool = exchange.IO("lp.select", "SOL", 100, {quote: "USDC"}) if (!pool) { Log("选池失败:", GetLastError()) return } Log("选中:", pool.dex, pool.id, "费率", pool.fee / 1e4 + "%", "理由:", pool.reason) }
  • 只在Raydium与Orca的池子里选。

    javascript
    function main() { var pool = exchange.IO("lp.select", "SOL", 100, {quote: "USDC", protocol: ["raydium", "orca"]}) if (!pool) { Log("选池失败:", GetLastError()) return } Log(pool.dex, pool.id, "tickSpacing", pool.tickSpacing, "24h成交", Math.round(pool.volume24hUsd)) }

返回值

类型描述

object / 空值

选中的池子:lp.pools的一行,另带reason(英文的选择理由)。没有符合筛选条件的池子、代币无法识别、请求失败时返回空值。

参数

名称类型必填描述

k

string

是

固定为lp.select,用于自动选池。

token

string

是

代币,写法同lp.pools的token,作为基础币。

budget

number

是

准备投入的金额,按计价币计,用来定TVL门槛。

options

object

否

筛选条件{quote, protocol, fee, binStep, tickSpacing},都可以省略,见备注。

参考

备注

筛选条件
键说明
quote计价币;不给时在与SOL、USDC、USDT组成的池子里选
protocol协议:meteora、raydium、orca,或几个协议组成的数组
fee基础费率,单位同lp.pools的fee(百万分之一),如400
binStep只看这个bin步长的Meteora池子
tickSpacing只看这个tick间距的Raydium、Orca池子

选择规则
  1. 按筛选条件过滤lp.pools的结果,一个都不剩时报错。
  2. 门槛取5000美元与budget折合美元两者中较大的,budget按第一个池子计价币的美元价折算。
  3. 在美元TVL达到门槛的池子里选24小时成交额最大的;它们都没有成交数据时选TVL最大的;没有池子达到门槛时选全部池子里TVL最大的。

reason对应这三种情况,分别形如highest 24h volume among pools with TVL >= $5000、largest TVL among pools with TVL >= $5000 (no volume data)、no pool reaches $5000 TVL; picked the largest。

exchange.IO("lp.plan")不给pool时按同样的规则选池(fee、protocol、binStep、tickSpacing取自计划参数)。成交额最大的池子不一定最适合建仓:费率与价格粒度(binStep、tickSpacing)决定了手续费收入与可用的区间精度。