Naoufal Andichi

crypto-trader

專業領域v1.0.0
作者:Naoufal Andichi更新於 2026-05-11
#Cryptocurrency#Crypto Trading#Portfolio Management#Discord#Email

據 AlphaMoat 統計,截至 2026-09,crypto-trader 累計下載 3,135 次、獲 10 個星標,在全部 5,078 個 AI 技能中排名第 3,635 位,在「專業領域」分類(465 個)中排名第 300 位。

累計安裝
106
累計下載
3135
星標
10
全站排名
#3,635
全站前 72% · 「專業領域」前 65%
平台累計安裝累計下載星標評論
ClawHub ↗106313510-

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

主文介紹餘額與策略狀態查詢、策略啟動和停止、歷史記錄、情緒分析、監控及告警;預設操作使用 testnet 紙面交易,並要求啟動策略前展示引數並取得使用者確認。支援交易所 API 金鑰與通知憑據。配套風險說明指出真實資金保護措施未可靠地由程式碼強制執行,因此應保持紙面或測試網路模式;在安全機制修復並具備真實授權閘門前,不要使用真實資金。交易所金鑰應限制為交易許可權、禁用提現許可權,並妥善保護通知 webhook。

資料釋出於 2026-10-29

可以用來做什麼

  • 檢視帳戶餘額或策略狀態
  • 在紙面交易環境中執行策略回測
  • 檢查風險狀態和緊急停止流程

什麼時候用

  • 只希望進行帳戶狀態查詢、回測或紙面交易時
  • 使用者能在每次啟動策略前審閱引數並明確批准時
  • 真實交易功能尚未透過獨立安全審查時

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

僅查詢模擬帳戶狀態,不要啟動策略
使用紙面模式回測指定策略,並說明結果不保證未來表現
列出啟用即時交易前需要修復和核實的安全閘門

月度資料趨勢

累計下載3135
1952258832232026-03 · 累計下載 20402026-05 · 累計下載 26842026-07 · 累計下載 29352026-08 · 累計下載 30422026-09 · 累計下載 313526-0326-09
星標10
79102026-03 · 星標 72026-05 · 星標 102026-07 · 星標 102026-08 · 星標 102026-09 · 星標 1026-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-093135—10
2026-083042+3.6%10
2026-072935—10
2026-052684—10
2026-032040—7

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

9.5 KB · ClawHub v1.0.0
---
name: crypto-trader
description: |
  Automated cryptocurrency trading skill for OpenClaw. Supports 8 trading strategies
  (Grid Trading, DCA, Trend Following, Scalping, Arbitrage, Swing Trading, Copy Trading,
  Portfolio Rebalancing), multi-exchange connectivity (Binance, Bybit, Kraken, Coinbase),
  AI-driven sentiment analysis, comprehensive risk management, backtesting, paper trading,
  and real-time monitoring with Telegram/Discord/Email alerts.
  Use when the user asks about crypto trading, portfolio management, market analysis,
  starting/stopping strategies, checking balances, or running backtests.
展開全部(共 252 行)
metadata:
  openclaw:
    requires:
      bins: ["python3"]
      env: ["BINANCE_API_KEY", "BINANCE_API_SECRET"]
    primaryEnv: "BINANCE_API_KEY"
---

# Crypto Trader Skill

Automated cryptocurrency trading with 8 strategies, multi-exchange support, AI sentiment analysis, and comprehensive risk management.

**Important**: By default all operations run against **testnet** (paper trading). Set `CRYPTO_DEMO=false` only when you are absolutely certain the user wants to trade with real money.

## Prerequisites

Install dependencies once from the skill directory:

```bash
pip install -r {baseDir}/requirements.txt
```

Required environment variables (set in `.env` or via OpenClaw settings):

- `BINANCE_API_KEY` and `BINANCE_API_SECRET` (required for Binance)
- `CRYPTO_DEMO=true` (default: paper trading mode)

Optional:
- `BYBIT_API_KEY`, `BYBIT_API_SECRET` (for Bybit)
- `KRAKEN_API_KEY`, `KRAKEN_API_SECRET` (for Kraken)
- `COINBASE_API_KEY`, `COINBASE_API_SECRET` (for Coinbase)
- `TELEGRAM_BOT_TOKEN`, `TELEGRAM_CHAT_ID` (for Telegram alerts)
- `DISCORD_WEBHOOK_URL` (for Discord alerts)
- `CRYPTOPANIC_API_KEY` (for sentiment analysis)

## Available Modes

### 1. status -- Portfolio and strategy overview

```bash
python3 {baseDir}/scripts/main.py --mode status
```

Returns JSON with:
- Portfolio value per exchange
- Active strategies and their state
- Risk status (daily P&L, drawdown, kill switch)
- Environment (paper/live)

Use when the user asks: "How is my portfolio?", "What's running?", "Give me an overview."

### 2. balance -- Check exchange balances

```bash
python3 {baseDir}/scripts/main.py --mode balance
python3 {baseDir}/scripts/main.py --mode balance --exchange binance
```

Returns balances for the specified exchange (or all exchanges). Shows total, free, and used amounts per asset.

Use when the user asks: "How much BTC do I have?", "What's my balance?", "Show my funds."

### 3. start_strategy -- Start a trading strategy

```bash
python3 {baseDir}/scripts/main.py --mode start_strategy --strategy grid --params '{"symbol":"BTC/USDT","price_range":[90000,110000],"num_grids":10,"order_amount_usdt":10}'
python3 {baseDir}/scripts/main.py --mode start_strategy --strategy dca --params '{"symbol":"ETH/USDT","interval":"daily","amount_per_buy_usdt":5}'
python3 {baseDir}/scripts/main.py --mode start_strategy --strategy trend --params '{"symbol":"BTC/USDT","timeframe":"4h"}'
```

Supported strategies:

| Strategy | Name | Description |
|----------|------|-------------|
| Grid Trading | `grid_trading` | Buy/sell at evenly spaced price levels within a range |
| DCA | `dca` | Buy fixed amounts at regular intervals |
| Trend Following | `trend_following` | EMA crossover + RSI signals |
| Scalping | `scalping` | Fast small trades on spread/momentum |
| Arbitrage | `arbitrage` | Cross-exchange price difference exploitation |
| Swing Trading | `swing_trading` | Bollinger Bands + MACD, hold 2-14 days |
| Copy Trading | `copy_trading` | Replicate trades from tracked wallets/traders |
| Rebalancing | `rebalancing` | Maintain target portfolio allocation |

Each strategy uses defaults from `config/strategies.yaml` which can be overridden via `--params`.

**CRITICAL**: Always confirm with the user before starting a strategy. Show the parameters clearly and ask for approval.

Use when the user asks: "Start grid trading on BTC", "I want to DCA into ETH", "Follow the trend on SOL."

### 4. stop_strategy -- Stop a running strategy

```bash
python3 {baseDir}/scripts/main.py --mode stop_strategy --strategy-id <id>
```

Stops a specific strategy instance. The strategy ID is returned when starting and shown in the list.

### 5. list_strategies -- List all strategies

```bash
python3 {baseDir}/scripts/main.py --mode list_strategies
```

Returns all available and running strategies with their status, parameters, and performance stats.

### 6. backtest -- Test a strategy on historical data

```bash
python3 {baseDir}/scripts/main.py --mode backtest --strategy grid_trading --params '{"symbol":"BTC/USDT","price_range":[40000,50000],"num_grids":10}' --start 2025-01-01 --end 2025-12-31
python3 {baseDir}/scripts/main.py --mode backtest --strategy dca --params '{"symbol":"BTC/USDT","interval":"daily","amount_per_buy_usdt":10}' --start 2025-06-01 --end 2025-12-31
python3 {baseDir}/scripts/main.py --mode backtest --strategy trend_following --params '{"symbol":"BTC/USDT","timeframe":"4h"}' --start 2025-01-01 --end 2025-12-31
```

Returns performance metrics:
- Total return % vs buy-and-hold
- Win rate, trade count
- Max drawdown, Sharpe ratio
- Fee impact
- Individual order history

Results are saved to `data/backtests/`.

Use when the user asks: "Would grid trading have worked?", "Backtest DCA on ETH", "Test this strategy."

### 7. history -- Trade history

```bash
python3 {baseDir}/scripts/main.py --mode history --days 7
python3 {baseDir}/scripts/main.py --mode history --days 30
```

Returns completed orders from all exchanges for the last N days.

### 8. sentiment -- Market sentiment analysis

```bash
python3 {baseDir}/scripts/main.py --mode sentiment --symbol BTC
python3 {baseDir}/scripts/main.py --mode sentiment --symbol ETH
```

Analyzes sentiment from:
- Crypto news RSS feeds (CoinTelegraph, CoinDesk)
- CryptoPanic (requires API key)
- Reddit (r/cryptocurrency, r/bitcoin)
- Twitter (requires bearer token)

Returns aggregate score (-1.0 to 1.0) with labels: very_bearish, bearish, neutral, bullish, very_bullish.

Use when the user asks: "What's the market sentiment?", "Is BTC bullish right now?", "Any news about ETH?"

### 9. monitor -- Real-time monitoring daemon

```bash
python3 {baseDir}/scripts/main.py --mode monitor --action start
python3 {baseDir}/scripts/main.py --mode monitor --action status
python3 {baseDir}/scripts/main.py --mode monitor --action stop
```

The monitoring daemon runs in the background and:
- Checks open orders every 10 seconds
- Updates portfolio snapshot every 60 seconds
- Checks risk limits every 60 seconds
- Evaluates strategy signals every 5 minutes
- Runs sentiment analysis every 30 minutes
- Sends alerts via Telegram/Discord/Email

### 10. emergency_stop -- Kill switch

```bash
python3 {baseDir}/scripts/main.py --mode emergency_stop
```

Immediately:
1. Cancels ALL open orders on ALL exchanges
2. Stops ALL running strategies
3. Activates the kill switch (blocks all future trades)

The kill switch must be manually deactivated before trading can resume.

Use when the user says: "Stop everything!", "Emergency!", "Kill all trades."

## Configuration Files

### config/exchanges.yaml
Exchange connectivity settings, sandbox mode, rate limits.

### config/strategies.yaml
Default parameters for each strategy. Users can override via `--params`.

### config/risk_limits.yaml
Risk management rules:
- `max_position_size_pct`: Max portfolio % per position (default: 25%)
- `max_daily_loss_eur`: Emergency stop on daily loss (default: 50 EUR)
- `max_drawdown_pct`: Stop at drawdown from ATH (default: 15%)
- `max_order_size_eur`: Max per order (default: 100 EUR)
- `max_open_orders`: Max concurrent orders (default: 50)
- Stop-loss (fixed 5%, trailing 3%)
- Take-profit (10%, partial at 5%)

### config/notifications.yaml
Alert routing rules per event type and channel.

## Safety Rules

1. **NEVER** execute trades without explicit user confirmation in live mode.
2. Default mode is **paper trading** (`CRYPTO_DEMO=true`). Remind the user which mode is active.
3. API keys must have **TRADE** permissions only. **NEVER** withdrawal permissions.
4. Risk limits are enforced automatically. If a limit is hit, explain to the user what happened.
5. Emergency stop is always available and overrides everything.
6. Always show estimated cost and risk before confirming a trade.
7. If `CRYPTO_DEMO=false`, warn the user clearly that this uses **real money**.
8. Log all actions. The user can review history at any time.
9. When starting a strategy, show the full parameter set and ask for confirmation.
10. Never bypass risk limits, even if the user asks. Explain why the limit exists.

## Output Format

All modes return structured JSON to stdout. Parse it and present a human-readable summary to the user. Highlight important numbers (P&L, prices, risk metrics). Use clear formatting with tables where appropriate.

## Running Tests

```bash
cd {baseDir}
pip install pytest
python -m pytest tests/ -v
```

## Troubleshooting

### "Exchange not initialized"
Check that the API key and secret are set in environment variables for the target exchange.

### "Authentication failed"
Verify your API keys are correct and not expired. For testnet, make sure you're using testnet keys.

### "Rate limit reached"
The skill automatically retries with backoff. If persistent, reduce strategy evaluation frequency.

### "Kill switch is active"
The emergency stop was triggered. Review what happened, then deactivate:
The kill switch state is stored in `~/.openclaw/.crypto-trader-risk-state.json`. Set `"killed": false` to reset, or use a future CLI command to deactivate.

「專業領域」分類下的熱門技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。