| name | polymarket-fast-loop |
| description | 使用 Simmer API,根据 CEX(中心化交易所)的价格动量信号,在 Polymarket 上进行 5 分钟和 15 分钟周期的快速交易。默认使用的信号数据来自 Binance 的 BTC/USDT 交易记录(klines)。适用于用户希望进行快速交易、自动化短期加密货币交易,或利用 CEX 的价格动量作为 Polymarket 的交易决策依据的情况。 |
| metadata | {"author":"Simmer (@simmer_markets)","version":"1.6.3","displayName":"Polymarket FastLoop Trader","difficulty":"advanced"} |
Polymarket FastLoop Trader
该技能允许用户利用实时价格信号,在Polymarket的5分钟快速交易市场中进行交易。默认使用的是来自Binance的BTC价格信号;同样也支持ETH和SOL资产。
**仅适用于Polymarket市场。**所有交易均在Polymarket上进行,并使用USDC作为交易货币。使用--live选项可进行实时交易,否则将以模拟模式运行。
**这是一个模板。**默认使用的Binance价格信号可帮助您快速开始交易——您可以根据自己的需求替换为其他信号源或策略。该技能会处理所有市场发现、数据导入和交易执行等基础工作,您只需提供交易策略即可。
⚠️ 快速交易市场需支付Polymarket规定的10%手续费(is_paid: true),请在交易策略中考虑这一费用。
⚠️ **风险监控功能不适用于时长小于15分钟的市场。**Simmer的止损和止盈机制每15分钟检查一次交易状态,因此在5分钟或15分钟的市场中,这些机制可能不会被触发。您在Simmer控制台中设置的风险参数对这些市场无效。请根据实际情况调整交易规模,并且不要依赖自动止损功能来控制快速交易的风险。
市场查找方式
- 直接通过Polymarket的Gamma API查询实时快速交易市场(无需依赖Simmer的市场列表)
- 每个周期都会自动发现新的市场
- 支持BTC、ETH和SOL资产——只需更改
--set asset参数即可选择目标资产,或指定想要查询的市场
- 脚本每5分钟运行一次,以捕捉每个交易窗口的机会(或每1分钟运行一次,以捕捉窗口内的交易机会)
您无需等待Simmer自动显示市场列表。FastLoop会实时在Polymarket中查找市场,然后通过Simmer进行交易。
适用场景
- 当用户希望在任何支持的资产上进行5分钟或15分钟的快速交易时
- 用于自动化短期加密货币交易策略
- 希望使用CEX的价格信号(或自定义信号)作为交易依据
- 需要监控快速交易市场的持仓情况
设置流程
当用户请求安装或配置此技能时,请按照以下步骤操作:
-
安装Simmer SDK
pip install simmer-sdk
-
获取Simmer API密钥
- 从simmer.markets/dashboard的SDK标签页获取API密钥
- 将密钥保存在环境变量
SIMMER_API_KEY中
-
提供钱包私钥(实时交易必需)
- 该密钥用于访问用户的Polymarket钱包(存储USDC的钱包)
- 将密钥保存在环境变量
WALLET_PRIVATE_KEY中
- SDK会使用此密钥在客户端自动签名交易订单,无需手动操作
-
确认配置参数
- 选择交易资产(BTC、ETH或SOL,默认为BTC)
- entry_threshold:触发交易的最低价格波动幅度(默认为5美分)
- max_position:单次交易的最大金额(默认为5美元)
- window:交易窗口时长(5分钟或15分钟,默认为5分钟)
-
设置定时任务或循环执行
- 由用户自行安排执行频率(详见“如何设置循环执行”部分)
快速入门
export SIMMER_API_KEY="your-key-here"
python fastloop_trader.py
python fastloop_trader.py --live
python fastloop_trader.py --live --quiet
python fastloop_trader.py --live --smart-sizing --quiet
如何设置循环执行
脚本会按照预设的周期自动运行——用户需要配置定时任务或循环执行机制:
Linux crontab(本地或VPS环境):
# Every 5 minutes (one per fast market window)
*/5 * * * * cd /path/to/skill && python fastloop_trader.py --live --quiet
# Every 1 minute (more aggressive, catches mid-window opportunities)
* * * * * cd /path/to/skill && python fastloop_trader.py --live --quiet
OpenClaw原生定时任务(容器化或OpenClaw管理的环境):
openclaw cron add \
--name "Fast Loop Trader" \
--cron "*/5 * * * *" \
--tz "UTC" \
--session isolated \
--message "Run fast loop trader: cd /path/to/skill && python fastloop_trader.py --live --quiet. Show the output summary." \
--announce
通过OpenClaw的Heartbeat功能执行:
Run: cd /path/to/fast market && python fastloop_trader.py --live --quiet
配置参数
配置参数可通过config.json文件、环境变量或--set命令进行调整:
python fastloop_trader.py --set entry_threshold=0.08
python fastloop_trader.py --set asset=ETH
python fastloop_trader.py --set min_momentum_pct=0.3 --set max_position=10
配置选项
| 参数 | 默认值 | 环境变量 | 说明 |
|---|
entry_threshold | 0.05 | SIMMER_SPRINT_ENTRY | 触发交易的最低价格波动幅度(50美分) |
min_momentum_pct | 0.5 | SIMMER_SPRINT_MOMENTUM | 触发交易的最低价格波动百分比(5%) |
max_position | 5.0 | SIMMER_SPRINT_MAX_POSITION | 单次交易的最大金额(5美元) |
signal_source | binance | SIMMER_SPRINT SIGNAL | 价格数据源(Binance或coingecko) |
lookback_minutes | 5 | SIMMER_SPRINT_lookBACK | 价格历史数据保留时长(分钟) |
min_time_remaining | 60 | SIMMER_SPRINT_MIN_TIME | 跳过剩余时间不足60秒的快速市场 |
asset | BTC | SIMMER_SPRINT_ASSET | 交易资产(BTC、ETH或SOL) |
window | 5m | SIMMER_SPRINT_WINDOW | 交易窗口时长(5分钟或15分钟) |
volume_confidence | true | SIMMER_SPRINT_VOL_CONF | 是否根据Binance的交易量加权信号 |
示例config.json文件
{
"entry_threshold": 0.08,
"min_momentum_pct": 0.3,
"max_position": 10.0,
"asset": "BTC",
"window": "5m",
"signal_source": "binance"
}
命令行参数
python fastloop_trader.py
python fastloop_trader.py --live
python fastloop_trader.py --live --quiet
python fastloop_trader.py --smart-sizing
python fastloop_trader.py --positions
python fastloop_trader.py --config
python fastloop_trader.py --set KEY=VALUE
信号逻辑
默认信号(Binance价格波动):
- 从Binance获取过去5分钟的每分钟价格数据(以BTCUSDT计)
- 计算价格波动率:
(current_price - price_5min_ago) / price_5min_ago
- 比较当前价格波动率与Polymarket的市场价格走势
- 当满足以下条件时执行交易:
- 价格波动率 ≥
min_momentum_pct(默认为0.5%)
- 价格波动幅度 ≥
entry_threshold(默认为5美分)
- 交易量超过平均交易量的1.5倍(排除价格波动较小的情况)
示例:如果过去5分钟内BTC价格上涨了0.8%,但快速交易市场的实际价格仅为0.52美元,且价格与预期价格(约0.55美元)相差3美分,则触发买入信号。
自定义信号
**此技能提供了一个模板。**默认的Binance价格波动信号仅作为参考。您可以根据自己的需求替换为其他信号源。**自定义信号的建议包括:
- 多交易所价格对比:比较Binance、Kraken、Bitfinex等交易所的价格差异,以预测价格走势
- 市场情绪分析:结合Twitter或社交媒体上的实时信息,这些信息可能影响快速交易市场的价格波动
- 技术指标:使用RSI、VWAP等指标进行分析
- 新闻事件:利用新闻事件来预测价格走势
- 链上数据:关注大额交易者的行为、资金流动情况等
要自定义信号逻辑,可以修改fastloop_trader.py文件中的get_momentum()函数或添加自己的信号处理函数。其余部分(市场发现、数据导入、交易规模控制等)保持不变。
示例交易结果
⚡ Simmer FastLoop Trading Skill
==================================================
[DRY RUN] No trades will be executed. Use --live to enable trading.
⚙️ Configuration:
Asset: BTC
Entry threshold: 0.05 (min divergence from 50¢)
Min momentum: 0.5% (min price move)
Max position: $5.00
Signal source: binance
Lookback: 5 minutes
Min time left: 60s
Volume weighting: ✓
🔍 Discovering BTC fast markets...
Found 3 active fast markets
🎯 Selected: Bitcoin Up or Down - February 15, 5:30AM-5:35AM ET
Expires in: 185s
Current YES price: $0.480
📈 Fetching BTC price signal (binance)...
Price: $97,234.50 (was $96,812.30)
Momentum: +0.436%
Direction: up
Volume ratio: 1.45x avg
🧠 Analyzing...
⏸️ Momentum 0.436% < minimum 0.500% — skip
📊 Summary: No trade (momentum too weak: 0.436%)
数据标记
所有交易都会被标记为source: "sdk:fastloop"。这意味着:
- 投资组合会按策略进行分类显示
- 其他技能不会影响快速交易的结果
- 您可以单独查看快速交易的盈亏情况
常见问题及解决方法
- “未找到活跃的快速交易市场”:可能是因为当前市场处于非交易时间或周末
- 请直接在Polymarket网站上查看是否有活跃的BTC快速交易市场
- “剩余时间少于60秒时未找到快速交易市场”:当前交易窗口即将结束,下一个交易窗口尚未开放
- 如果希望更频繁地进行交易,请减小
min_time_remaining的值
- “数据导入失败:超出请求限制”:免费账户每天最多只能导入10次数据;专业账户每天最多50次
- “无法获取价格数据”:可能是Binance API暂时不可用或受到请求限制
- 可尝试使用
--set signal_source=coingecko作为备用数据源
- “交易失败:市场流动性不足”:快速交易市场中的交易量较小,建议减小交易规模
- “外部钱包需要预签名订单”:确保环境变量
WALLET_PRIVATE_KEY已设置正确
- 解决方法:设置
export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>
- 请勿尝试手动签名订单或修改脚本代码,SDK会自动处理这些操作
- “账户余额显示为0美元,但实际上我有资金”:Polymarket V2版本(2026年4月28日起)使用的是pUSD(由USDC.e支持)。如果您的钱包中持有USDC.e,请访问simmer.markets/dashboard进行迁移(大约需要30秒)