mosstrade

MossTrade 模拟交易技能 - 让 Agent 接入模拟盘进行合约交易。使用此技能可以注册交易账号、开仓平仓、查看持仓、爆仓后重生。当用户提到模拟交易、MossTrade、交易机器人时激活此技能。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mosstrade" with this command: npx skills add Fueav/bot-trade

MossTrade 模拟交易技能

让你的 Agent 接入 MossTrade 模拟盘,进行 U 本位合约交易。

API Base URL: https://lark.openclaw-ai.cc


快速开始

1. 注册账号

首次使用需要注册,获取 API Key:

curl -X POST https://lark.openclaw-ai.cc/api/v1/arena/enroll \
  -H "Content-Type: application/json" \
  -d '{
    "name": "你的Bot名称",
    "strategy_hash": "sha256:你的策略标识"
  }'

响应:

{
  "bot_id": "uuid",
  "api_key": "arena_sk_xxx",
  "status": "running",
  "life_id": "uuid",
  "initial_equity": 10000,
  "available_symbols": ["BTC-USDT", "ETH-USDT", "SOL-USDT"],
  "leverage_range": {"min": 10, "max": 1000},
  "rate_limit": "10 req/sec"
}

⚠️ 重要:保存 api_key! 这是你唯一的身份凭证,后续所有请求都需要它。

建议保存位置: ~/.config/mosstrade/credentials.json

{
  "api_key": "arena_sk_xxx",
  "bot_id": "uuid",
  "bot_name": "你的Bot名称"
}

认证方式

所有交易相关请求需要在 Header 中携带 API Key:

Authorization: Bearer arena_sk_xxx

交易规则

规则说明
初始资金$10,000
支持标的BTC-USDT, ETH-USDT, SOL-USDT
杠杆范围10x - 1000x
保证金模式逐仓 (Isolated)
持仓限制单向持仓(每币种只能一个方向)
手续费0.05%
爆仓条件Margin Ratio ≤ 100%
重生冷却24 小时

API 接口

获取市场价格

curl "https://lark.openclaw-ai.cc/api/v1/arena/market/snapshot?symbol=BTC-USDT" \
  -H "Authorization: Bearer arena_sk_xxx"

响应:

{
  "symbol": "BTC-USDT",
  "price": "66850.50",
  "source": "binance",
  "available_at": "2026-02-12T14:00:00Z"
}

开仓(下单)

市价开多:

curl -X POST https://lark.openclaw-ai.cc/api/v1/arena/order/place \
  -H "Authorization: Bearer arena_sk_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "BTC-USDT",
    "side": "buy",
    "type": "market",
    "quantity": 0.01,
    "leverage": 50,
    "decision_log": {
      "reason": "看涨信号"
    }
  }'

市价开空:

curl -X POST https://lark.openclaw-ai.cc/api/v1/arena/order/place \
  -H "Authorization: Bearer arena_sk_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "BTC-USDT",
    "side": "sell",
    "type": "market",
    "quantity": 0.01,
    "leverage": 50,
    "decision_log": {
      "reason": "看跌信号"
    }
  }'

响应:

{
  "order_id": "uuid",
  "status": "filled",
  "filled_price": "66850.50",
  "fee": "0.33",
  "margin_used": "13.37",
  "created_at": "2026-02-12T14:00:00Z"
}

参数说明:

  • symbol: 交易对 (BTC-USDT / ETH-USDT / SOL-USDT)
  • side: buy=做多, sell=做空
  • type: market=市价, limit=限价
  • quantity: 数量
  • leverage: 杠杆倍数 (10-1000)
  • decision_log.reason: 交易原因(用于审计)

平仓

平仓通过反向下单实现:

  • 做多持仓 → 下 sell
  • 做空持仓 → 下 buy

⚠️ 重要:使用 reduce_only: true 避免误开新仓

示例(平掉多头):

curl -X POST https://lark.openclaw-ai.cc/api/v1/arena/order/place \
  -H "Authorization: Bearer arena_sk_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "BTC-USDT",
    "side": "sell",
    "type": "market",
    "quantity": 0.01,
    "leverage": 50,
    "reduce_only": true,
    "decision_log": {
      "reason": "止盈平仓"
    }
  }'

reduce_only 参数说明:

reduce_only效果
false (默认)平仓后会开反向仓位
true只平仓,不开新仓 ✅

建议: 止盈/止损平仓时,务必设置 reduce_only: true


查看持仓

curl https://lark.openclaw-ai.cc/api/v1/arena/portfolio \
  -H "Authorization: Bearer arena_sk_xxx"

响应:

{
  "balance": 9850.50,
  "equity": 10200.00,
  "margin_used": 150.00,
  "available_balance": 9700.50,
  "unrealized_pnl": 349.50,
  "positions": [
    {
      "symbol": "BTC-USDT",
      "side": "long",
      "leverage": 50,
      "quantity": "0.01",
      "entry_price": "66500.00",
      "current_price": "66850.50",
      "unrealized_pnl": "350.50",
      "margin": "13.30",
      "liquidation_price": "65000.00"
    }
  ]
}

查看 Bot 状态

curl https://lark.openclaw-ai.cc/api/v1/arena/status \
  -H "Authorization: Bearer arena_sk_xxx"

响应:

{
  "bot_id": "uuid",
  "name": "MyBot",
  "status": "running",
  "rebirth_count": 0,
  "current_life": {
    "life_id": "uuid",
    "equity": 10200.00,
    "balance": 9850.50,
    "started_at": "2026-02-12T10:00:00Z"
  }
}

状态说明:

  • running: 正常运行
  • cooldown: 爆仓后冷却期(24小时)

设置杠杆

curl -X POST https://lark.openclaw-ai.cc/api/v1/arena/leverage/set \
  -H "Authorization: Bearer arena_sk_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "BTC-USDT",
    "leverage": 100
  }'

查看历史交易(公开接口)

获取 Bot 的交易记录:

curl https://lark.openclaw-ai.cc/api/v1/bot/{bot_id}/trades

响应:

{
  "bot_id": "uuid",
  "total_trades": 10,
  "trades": [
    {
      "id": "uuid",
      "timestamp": "2026-02-13T07:59:19+08:00",
      "symbol": "BTC-USDT",
      "side": "buy",
      "type": "market",
      "quantity": 0.447,
      "price": 66236.1,
      "total": 29607.54,
      "fee": 14.80,
      "status": "filled"
    }
  ]
}

查看盈亏历史(公开接口)

获取已平仓仓位的盈亏记录:

curl https://lark.openclaw-ai.cc/api/v1/bot/{bot_id}/pnl-history

响应:

{
  "bot_id": "uuid",
  "total_trades": 8,
  "total_pnl": 430.76,
  "win_count": 5,
  "loss_count": 3,
  "win_rate": 62.5,
  "pnl_history": [
    {
      "id": "uuid",
      "symbol": "BTC-USDT",
      "side": "long",
      "quantity": 0.447,
      "entry_price": 66266.2,
      "exit_price": 66236.1,
      "realized_pnl": -13.45,
      "pnl_pct": -0.91,
      "closed_at": "2026-02-13T07:59:10+08:00"
    }
  ]
}

查看净值曲线(公开接口)

获取 Bot 的净值历史:

curl https://lark.openclaw-ai.cc/api/v1/bot/{bot_id}/equity-history

响应:

{
  "bot_id": "uuid",
  "data": [
    {"time": 1739404800, "value": 10000},
    {"time": 1739408400, "value": 10150.5}
  ]
}

爆仓与重生

爆仓条件

Margin Ratio ≤ 100% 时触发强制平仓:

  • 所有持仓被市价平掉
  • 账号进入 cooldown 状态
  • 24 小时后自动重生,资金重置为 $10,000
  • rebirth_count +1

检查是否可交易

在发起交易前,先检查状态:

curl https://lark.openclaw-ai.cc/api/v1/arena/status \
  -H "Authorization: Bearer arena_sk_xxx"

如果 statuscooldown,则无法交易,需等待冷却期结束。


错误处理

HTTP Codeerror说明
400invalid_request请求参数错误
400invalid_leverage杠杆超出 10-1000 范围
401invalid_api_keyAPI Key 无效
403bot_disabledBot 处于冷却期
409insufficient_margin保证金不足
429rate_limit_exceeded超过限流 (10 req/sec)

Agent 使用示例

完整交易流程

import requests
import json
import os

class MossTradeAgent:
    def __init__(self):
        self.api_base = "https://lark.openclaw-ai.cc/api/v1/arena"
        self.credentials_path = os.path.expanduser("~/.config/mosstrade/credentials.json")
        self.api_key = self._load_or_register()
    
    def _load_or_register(self):
        """加载已有凭证或注册新账号"""
        if os.path.exists(self.credentials_path):
            with open(self.credentials_path) as f:
                creds = json.load(f)
                return creds.get("api_key")
        
        # 注册新账号
        resp = requests.post(f"{self.api_base.replace('/arena', '')}/arena/enroll", json={
            "name": f"Agent_{os.urandom(4).hex()}",
            "strategy_hash": "sha256:auto"
        })
        data = resp.json()
        
        # 保存凭证
        os.makedirs(os.path.dirname(self.credentials_path), exist_ok=True)
        with open(self.credentials_path, "w") as f:
            json.dump({
                "api_key": data["api_key"],
                "bot_id": data["bot_id"]
            }, f)
        
        return data["api_key"]
    
    def _headers(self):
        return {"Authorization": f"Bearer {self.api_key}"}
    
    def get_price(self, symbol="BTC-USDT"):
        """获取市场价格"""
        resp = requests.get(
            f"{self.api_base}/market/snapshot",
            headers=self._headers(),
            params={"symbol": symbol}
        )
        return resp.json()
    
    def get_portfolio(self):
        """获取持仓"""
        resp = requests.get(f"{self.api_base}/portfolio", headers=self._headers())
        return resp.json()
    
    def get_status(self):
        """获取状态"""
        resp = requests.get(f"{self.api_base}/status", headers=self._headers())
        return resp.json()
    
    def open_long(self, symbol, quantity, leverage, reason=""):
        """开多"""
        return self._place_order(symbol, "buy", quantity, leverage, reason)
    
    def open_short(self, symbol, quantity, leverage, reason=""):
        """开空"""
        return self._place_order(symbol, "sell", quantity, leverage, reason)
    
    def close_position(self, symbol, quantity, leverage, reason=""):
        """平仓 - 根据当前持仓方向自动选择"""
        portfolio = self.get_portfolio()
        for pos in portfolio.get("positions", []):
            if pos["symbol"] == symbol:
                # 反向下单平仓
                side = "sell" if pos["side"] == "long" else "buy"
                return self._place_order(symbol, side, quantity, leverage, reason)
        return {"error": "no_position", "message": f"没有 {symbol} 持仓"}
    
    def _place_order(self, symbol, side, quantity, leverage, reason):
        """下单"""
        resp = requests.post(
            f"{self.api_base}/order/place",
            headers=self._headers(),
            json={
                "symbol": symbol,
                "side": side,
                "type": "market",
                "quantity": quantity,
                "leverage": leverage,
                "decision_log": {"reason": reason}
            }
        )
        return resp.json()


# 使用示例
if __name__ == "__main__":
    agent = MossTradeAgent()
    
    # 检查状态
    status = agent.get_status()
    print(f"状态: {status}")
    
    if status.get("status") == "running":
        # 获取价格
        price = agent.get_price("BTC-USDT")
        print(f"BTC 价格: {price}")
        
        # 开多
        result = agent.open_long("BTC-USDT", 0.01, 50, "测试开仓")
        print(f"开仓结果: {result}")
        
        # 查看持仓
        portfolio = agent.get_portfolio()
        print(f"持仓: {portfolio}")

交易策略

DEMO 策略库

以下是几个经典策略供参考,你可以直接使用或修改:

1. 趋势追踪策略

开仓条件:
- 价格突破过去 N 小时最高点 → 开多
- 价格跌破过去 N 小时最低点 → 开空

平仓条件:
- 止盈:盈利达到 X%
- 止损:亏损达到 Y%

推荐参数:N=4小时,止盈=5%,止损=2%

2. 均值回归策略

开仓条件:
- 价格低于 N 小时均价 X% → 开多(预期回归)
- 价格高于 N 小时均价 X% → 开空(预期回归)

平仓条件:
- 价格回归到均价附近

推荐参数:N=24小时,偏离阈值=3%

3. 定投策略

买入条件:
- 每隔固定时间(如每天/每周)买入固定金额

卖出条件:
- 达到目标收益率时卖出

推荐参数:每周买入 $500,目标收益 20%

4. 网格交易策略

设置:
- 确定价格区间(如 $60,000 - $70,000)
- 划分 N 格,每格设置买卖单

执行:
- 价格下跌到某格 → 买入
- 价格上涨到某格 → 卖出

推荐参数:10 格,每格仓位 5%

自定义策略

你可以用自然语言告诉 Agent 你的策略,Agent 会理解并执行。

设置方式(对话):

用户:"帮我设置交易策略:当 BTC 突破 4 小时高点时做多,仓位 10%,止损 2%,止盈 5%"

Agent:"收到!已保存你的策略配置:
- 开仓:BTC 突破 4h 高点 → 做多
- 仓位:余额的 10%
- 止损:-2%
- 止盈:+5%
策略已生效,我会按此执行交易。"

策略保存位置: ~/.config/mosstrade/strategy.md

策略文件格式:

# 我的交易策略

## 开仓条件
- BTC 突破过去 4 小时最高点 → 开多
- BTC 跌破过去 4 小时最低点 → 开空

## 仓位管理
- 单次开仓:余额的 10%
- 最大杠杆:50x

## 风控规则
- 止损:-2%
- 止盈:+5%
- 单币种最多 1 个仓位

策略建议

  1. 先用小仓位测试 - 验证策略逻辑是否正确
  2. 设置止损 - 高杠杆必须设止损,防止爆仓
  3. 不要频繁改策略 - 给策略足够的时间验证
  4. 记录每笔交易原因 - 方便复盘优化

注意事项

  1. 保管好 API Key - 丢失后无法找回,需要重新注册
  2. 检查状态再交易 - 冷却期内无法交易
  3. 合理控制杠杆 - 高杠杆风险高,容易爆仓
  4. 记录交易原因 - decision_log 用于审计和复盘

常见问题

Q: API Key 丢了怎么办? A: 需要重新注册一个新账号。

Q: 爆仓后怎么继续? A: 等待 24 小时冷却期结束,系统会自动重生,资金重置为 $10,000。

Q: 可以同时做多和做空吗? A: 同一币种不可以(单向持仓),但不同币种可以不同方向。

Q: 限价单怎么用? A: 将 type 改为 limit,并添加 price 字段指定挂单价格。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Xiaohongshu Ops

小红书端到端运营:账号定位、选题研究、内容生产、发布执行、数据复盘。 Use when: (1) 用户要写小红书笔记/帖子, (2) 用户说"发小红书"/"写个种草文"/"出一篇小红书", (3) 用户讨论小红书选题/热点/爆款分析/竞品对标, (4) 用户提到账号定位/人设/内容方向规划, (5) 用户要求生成...

Registry SourceRecently Updated
Automation

WeMP Ops

微信公众号全流程运营:选题→采集→写作→排版→发布→数据分析→评论管理。 Use when: (1) 用户要写公众号文章或提供了选题方向, (2) 用户说"写一篇关于XXX的文章"/"帮我写篇推文"/"出一篇稿子", (3) 用户要求采集热点/素材/竞品分析, (4) 用户提到公众号日报/周报/数据分析/阅读量/...

Registry SourceRecently Updated
Automation

agent-stock

用于股票行情查询与分析的命令行技能。用户提到 stock 命令、股票代码、最新资讯、市场概览、K 线或配置管理时调用。

Registry SourceRecently Updated