专为 Lighter Protocol 去中心化交易所开发的 Python 网格交易机器人,实现高频自动化交易策略。
uv sync创建 .env 文件:
LIGHTER_KEY=0x... # 你的钱包地址
LIGHTER_SECRET=... # 你的 API KEY
API_KEY_INDEX=1 # API KEY 索引,需要和 API KEY 匹配(可选,默认为1)# 模拟测试(推荐先运行)
uv run grid_strategy.py --dry-run --symbol SUI
# 实盘交易
uv run grid_strategy.py --symbol SUI
# 自定义参数
uv run grid_strategy.py --symbol TON --dry-run --max-orders 10 --order-amount 20.0
# 其他支持币种
uv run grid_strategy.py --symbol TON --dry-run
uv run grid_strategy.py --symbol BTC --dry-run# 查看所有参数
uv run grid_strategy.py --help
# 主要参数说明
--dry-run # 模拟模式,无真实交易
--symbol SYMBOL # 交易符号 (默认: TON)
--max-orders N # 单边最大订单数 (默认: 15)
--grid-spacing FLOAT # 网格间距百分比 (默认: 0.0003 = 0.03%)
--order-amount AMOUNT # 每单金额USD (默认: $15.0)
--price-threshold FLOAT # 价格变动阈值 (默认: 0.0001 = 0.01%)智能订单更新控制,避免频繁无效交易:
# 高敏感度 (频繁调整,适合高波动)
uv run grid_strategy.py --dry-run --price-threshold 0.00001 # 0.001%
# 中等敏感度 (平衡模式,推荐)
uv run grid_strategy.py --dry-run --price-threshold 0.0005 # 0.05%
# 低敏感度 (稳定运行,适合低波动)
uv run grid_strategy.py --dry-run --price-threshold 0.002 # 0.2%价格阈值功能:
- ✅ 减少API调用:只有价格变动超过阈值才更新订单
- ✅ 提高稳定性:避免微小波动导致的频繁调整
- ✅ 节省资源:降低系统负载和网络消耗
- ✅ 保持响应:价格真正变动时仍能快速响应
pylighter/
├── pylighter/ # 核心 SDK
│ ├── client.py # 主要客户端类
│ └── httpx.py # HTTP 客户端
├── examples/ # 示例代码
├── docs/ # 文档
├── grid_strategy.py # 网格策略 (主要文件)
└── main.py # 主入口
自动化高频交易机器人,基于 Binance 网格策略完全重构:
- ✅ 0% 手续费优势: Lighter Protocol 零手续费,每笔交易纯利润
- ✅ 超高频策略: 0.03% 网格间距,100x 频率于传统交易所
- ✅ 智能阈值控制: 价格变动阈值优化,减少无效交易
- ✅ 双向持仓: 同时做多/做空,最大化收益机会
- ✅ 智能风控: 8x 杠杆,单边15订单限制,自动清理
- ✅ 实时同步: WebSocket 实时价格和订单状态
- ✅ 稳定重连: 自动重连机制,确保 24/7 稳定运行
- TON: 默认适配币种 (杠杆8x, 网格0.03%, 每单$15)
- SUI: 高频策略优化
- BTC: 高价值币种支持
- ETH: 大资金池策略
# 信号处理 - Ctrl+C 优雅关闭
✅ 自动取消所有活跃订单
✅ 保留现有持仓 (防止意外损失)
✅ 完整状态清理
# 订单管理
✅ 可配置订单数限制 (默认15个/单边)
✅ 智能价格阈值控制 (默认0.01%变动触发)
✅ WebSocket 实时订单状态
✅ 自动过期订单清理 (30分钟)
✅ API调用频率优化 (防止接口限制)from pylighter.client import Lighter
# 初始化客户端
lighter = Lighter(key="your_key", secret="your_secret")
await lighter.init_client()
# 下限价单
tx_info, tx_hash, error = await lighter.limit_order(
ticker="SUI",
amount=3.0, # 正数=买入/做多,负数=卖出/做空
price=4.25,
tif='GTC'
)
# 获取账户信息
account_info = await lighter.get_account_info()
# 查看持仓
positions = await lighter.get_positions()
# 取消所有订单
await lighter.cancel_all_orders()- 环境准备
# 克隆项目
git clone <repository_url>
cd pylighter
# 安装依赖
uv sync
# 配置环境变量
echo "LIGHTER_KEY=0x..." > .env
echo "LIGHTER_SECRET=..." >> .env
echo "API_KEY_INDEX=1" >> .env- 策略测试
# 模拟模式测试 (无风险)
uv run grid_strategy.py --dry-run --symbol TON
# 自定义网格参数测试
uv run grid_strategy.py --dry-run --symbol TON \
--max-orders 20 \
--order-amount 15.0 \
--grid-spacing 0.0005 \
--price-threshold 0.0002
# 高频小单策略测试
uv run grid_strategy.py --dry-run --symbol TON \
--max-orders 10 \
--order-amount 10.0 \
--grid-spacing 0.0002 \
--price-threshold 0.00005
# 稳健大单策略测试
uv run grid_strategy.py --dry-run --symbol BTC \
--max-orders 5 \
--order-amount 50.0 \
--grid-spacing 0.001 \
--price-threshold 0.002
# 检查日志
tail -f log/grid_strategy.log- 实盘部署
# 启动实盘交易 (需要输入 YES 确认)
uv run grid_strategy.py --symbol TON
# 保守实盘策略 (推荐新手)
uv run grid_strategy.py --symbol TON \
--max-orders 8 \
--order-amount 12.0 \
--price-threshold 0.001
# 中等风险策略
uv run grid_strategy.py --symbol TON \
--max-orders 15 \
--order-amount 20.0 \
--grid-spacing 0.0003 \
--price-threshold 0.0005
# 高频小单策略 (需要充足资金)
uv run grid_strategy.py --symbol SUI \
--max-orders 25 \
--order-amount 8.0 \
--grid-spacing 0.0002 \
--price-threshold 0.0001
# 优雅停止 (Ctrl+C)
# 自动取消订单并保留持仓# 实时监控日志
tail -f log/grid_strategy.log
# 查看策略运行状态
grep "📋 Orders" log/grid_strategy.log | tail -10
# 检查错误和警告
grep -E "(ERROR|WARNING)" log/grid_strategy.log | tail -5- 真实资金交易: 请先小额测试,熟悉策略后再增加资金
- 私钥安全: 妥善保管私钥,使用
.env文件,不要提交到代码库 - 网络风险: 确保网络连接稳定,避免在不稳定网络环境下运行
- 市场风险: 网格策略适合震荡行情,单边行情可能导致亏损
- 杠杆风险: 5x 杠杆会放大收益和损失,请谨慎使用
- 技术风险: 程序故障可能导致意外损失,建议监控运行状态
- Python 版本: 需要 Python ≥3.13
- 依赖管理: 使用
uv包管理器 - API 访问: 需要有效的 Lighter Protocol 账户和 API 密钥
Q: 如何调整价格阈值优化策略表现?
# 高波动市场 - 使用较小阈值,更频繁调整
uv run grid_strategy.py --dry-run --symbol TON --price-threshold 0.00005 # 0.005%
# 低波动市场 - 使用较大阈值,减少无效调整
uv run grid_strategy.py --dry-run --symbol TON --price-threshold 0.001 # 0.1%
# 查看价格阈值触发日志
grep "💡 价格变动超过阈值" log/grid_strategy.log | tail -10Q: 如何调整订单数量控制风险?
# 保守策略 - 少量订单
uv run grid_strategy.py --symbol TON --max-orders 10
# 积极策略 - 更多订单(需要充足资金)
uv run grid_strategy.py --symbol TON --max-orders 50
# 查看当前订单状态
grep "Active orders:" log/grid_strategy.log | tail -5Q: 订单达到限制无法下单?
# 检查当前订单计数
grep "Max.*orders reached" log/grid_strategy.log | tail -5
# 程序会自动在5分钟内同步并恢复下单
# 或手动调整限制参数重启
uv run grid_strategy.py --symbol TON --max-orders 100Q: WebSocket 连接频繁断开
# 检查网络连接稳定性
ping mainnet.zklighter.elliot.ai
# 查看 WebSocket 重连日志
grep "Retrying WebSocket" log/grid_strategy.logQ: 订单无法成交
# 检查市场流动性和价格设置
grep "Order placed" log/grid_strategy.log | tail -5
# 查看订单同步状态
grep "📋 Orders" log/grid_strategy.log | tail -10Q: 程序意外退出
# 查看错误日志
grep "ERROR" log/grid_strategy.log | tail -10
# 检查 API 密钥配置
cat .envpylighter/client.py: 主要 API 客户端,封装 Lighter Protocol REST APIpylighter/httpx.py: HTTP 客户端,处理网络请求和错误重试grid_strategy.py: 网格交易策略核心实现
- 异步架构: 全异步设计,支持高并发 WebSocket 和 API 调用
- 错误恢复: 自动重连和错误重试机制
- 状态管理: 精确的订单和持仓状态跟踪
- 日志系统: 详细的运行日志,便于监控和调试
- Lighter Protocol 官方文档
- 项目内文档 - API 参考和策略指南
- 示例代码 - 实用示例和测试脚本
免责声明: 本工具仅供学习和研究使用,请自行承担交易风险。开发者不对使用本工具造成的任何损失负责。