ASP源码
PHP源码
.NET源码
JSP源码
Trading DevBox 是一个强大的开发沙箱,专为希望在无需手动编码的情况下验证其创意的交易者和开发者而设计。通过利用 Openclaw Skills,该工具可以解读交易策略的人类语言描述(例如特定的入场跌幅或获利目标),并生成结构化的、可执行的 Python 代码。这实现了从概念性交易计划到技术性回测的无缝过渡,显著减少了定量研究和策略完善所需的时间。
该技能为测试各种加密资产(如 BTC、ETH 和 SOL)的假设提供了一个标准化环境。通过集成 Openclaw Skills,用户可以实时迭代其参数,确保在进入实盘环境之前,每个策略在数学上都是可靠的。
下载入口:https://github.com/openclaw/skills/tree/main/skills/uu-z/trading-devbox
从源直接安装技能的最快方式。
npx clawhub@latest install trading-devbox
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 trading-devbox。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
为了有效地使用此技能,请确保您的环境安装了 Python 3 以及必要的回测库。您可以通过运行以下命令准备本地环境:
mkdir -p /tmp/trading-devbox
pip install backtrader
环境准备就绪后,Openclaw Skills 框架将自动处理策略文件的创建和执行。
该技能通过临时文件系统和结构化参数组织其操作:
| 数据点 | 详情 |
|---|---|
| 策略文件 | 位于 /tmp/trading-devbox/strategy.py |
| 逻辑框架 | 使用 backtrader Python 库进行策略模拟 |
| 参数 | 结构化为 JSON 对象,包括 entry_drop_pct、take_profit_pct 和 stop_loss_pct |
| 输出 | JSON 格式的状态消息和性能摘要 |
name: trading-devbox
description: "Trading strategy development sandbox. User describes trading intent in natural language, agent writes a Python backtest strategy and returns results."
user-invocable: true
Help users develop and backtest trading strategies from natural language descriptions.
Parse the user's trading intent into structured parameters:
Confirm the parsed parameters with the user before proceeding.
Generate a Python backtest strategy using backtrader:
mkdir -p /tmp/trading-devbox && cat > /tmp/trading-devbox/strategy.py << 'PYEOF'
import backtrader as bt
import sys
import json
class UserStrategy(bt.Strategy):
params = dict(
entry_drop_pct=10,
take_profit_pct=30,
stop_loss_pct=5,
)
def __init__(self):
self.order = None
self.buy_price = None
def next(self):
if self.order:
return
if not self.position:
# entry: price dropped by entry_drop_pct from recent high
high = max(self.data.close.get(size=20) or [self.data.close[0]])
drop = (high - self.data.close[0]) / high * 100
if drop >= self.p.entry_drop_pct:
self.order = self.buy()
self.buy_price = self.data.close[0]
else:
pnl = (self.data.close[0] - self.buy_price) / self.buy_price * 100
if pnl >= self.p.take_profit_pct or pnl <= -self.p.stop_loss_pct:
self.order = self.sell()
if __name__ == '__main__':
print(json.dumps({"status": "ok", "message": "Strategy generated"}))
PYEOF
python3 /tmp/trading-devbox/strategy.py
Always respond in the user's language. Structure the response as: