Install
openclaw skills install crypto-regime-reportGenerate market regime reports for crypto perpetuals using Supertrend and ADX indicators. Use when the user asks for a regime check, market report, trend analysis, or scheduled morning/evening crypto updates. Reports include price action, trend direction/strength, funding rates, open interest, volume analysis, and BTC correlation for a configurable watchlist.
openclaw skills install crypto-regime-reportGenerate regime reports for crypto perpetual futures using technical indicators.
# Run a daily regime report
python3 {baseDir}/scripts/regime_report.py
# Run a weekly regime report
python3 {baseDir}/scripts/regime_report.py --weekly
Or ask directly: "What's the regime on BTC?" or "Run a market report."
Note: The script outputs a formatted report to stdout. The agent handles delivery (e.g., sending to Telegram, displaying in chat).
Price & Trend:
Volume & Liquidity:
Perpetuals Data:
Market Context:
Option A: Edit the default config
Edit {baseDir}/references/config.json to customize your asset list:
{
"watchlist": [
{"symbol": "BTC", "name": "Bitcoin", "okx": "BTC-USDT-SWAP"},
{"symbol": "ETH", "name": "Ethereum", "okx": "ETH-USDT-SWAP"}
],
"indicators": {
"supertrend": { "period": 10, "multiplier": 3 },
"adx": { "period": 14, "strong_threshold": 25, "weak_threshold": 20 }
}
}
Option B: Use a custom config file
# Via environment variable (must be relative path within skill directory)
REGIME_CONFIG=references/my-config.json python3 {baseDir}/scripts/regime_report.py
Security note: For security, config paths are restricted to the skill directory. Absolute paths and path traversal (e.g., ../) are not allowed.
An example config is provided at {baseDir}/references/config.example.json — copy and modify it for your needs.
Config fields:
symbol — Short ticker (used for display)name — Full name (used for display)okx — OKX perpetual symbol (must match OKX's format: ASSET-USDT-SWAP)To find OKX symbols: Visit OKX Markets or use:
curl -s "https://www.okx.com/api/v5/public/instruments?instType=SWAP"
# Optionally pipe through jq to filter: | jq '.data[].instId'
Adjust in config.json:
| Setting | Default | Description |
|---|---|---|
supertrend.period | 10 | Lookback period for ATR calculation |
supertrend.multiplier | 3.0 | ATR multiplier for band width |
adx.period | 14 | Lookback period for ADX |
adx.strong_threshold | 25 | ADX level for "strong" trend |
adx.weak_threshold | 20 | ADX level for "weak" trend |
Use OpenClaw's cron system to receive reports automatically.
Via CLI:
# Morning report (6am PST)
openclaw cron add \
--name "Morning Regime Report" \
--schedule "0 6 * * *" \
--timezone "America/Los_Angeles" \
--message "Run the crypto regime morning report"
# Evening report (3pm PST)
openclaw cron add \
--name "Evening Regime Report" \
--schedule "0 15 * * *" \
--timezone "America/Los_Angeles" \
--message "Run the crypto regime evening report"
# Friday weekly summary (4pm PST)
openclaw cron add \
--name "Friday Weekly Summary" \
--schedule "0 16 * * 5" \
--timezone "America/Los_Angeles" \
--message "Run the crypto regime weekly report with --weekly flag"
Via config (~/.openclaw/openclaw.json):
{
// ... other config ...
"cron": {
"jobs": [
{
"name": "Morning Regime Report",
"schedule": { "kind": "cron", "expr": "0 6 * * *", "tz": "America/Los_Angeles" },
"sessionTarget": "isolated",
"payload": { "kind": "agentTurn", "message": "Run the crypto regime morning report" },
"delivery": { "mode": "announce" }
},
{
"name": "Evening Regime Report",
"schedule": { "kind": "cron", "expr": "0 15 * * *", "tz": "America/Los_Angeles" },
"sessionTarget": "isolated",
"payload": { "kind": "agentTurn", "message": "Run the crypto regime evening report" },
"delivery": { "mode": "announce" }
},
{
"name": "Friday Weekly Summary",
"schedule": { "kind": "cron", "expr": "0 16 * * 5", "tz": "America/Los_Angeles" },
"sessionTarget": "isolated",
"payload": { "kind": "agentTurn", "message": "Run the crypto regime weekly report with --weekly flag" },
"delivery": { "mode": "announce" }
}
]
}
}
# Test daily report
python3 {baseDir}/scripts/regime_report.py
# Test weekly report
python3 {baseDir}/scripts/regime_report.py --weekly
| Supertrend | ADX | Regime |
|---|---|---|
| Bullish | > 25 | Strong Bull |
| Bullish | 20-25 | Weak Bull |
| Bearish | > 25 | Strong Bear |
| Bearish | 20-25 | Weak Bear |
| Either | < 20 | Ranging |
| Data | Source | Notes |
|---|---|---|
| Daily OHLCV | OKX API | Free, no key required |
| Weekly OHLCV | Yahoo Finance | 11+ years history, OKX fallback |
| Funding Rates | OKX API | Free, no key required |
| Open Interest | OKX API | Free, no key required |
OKX API endpoints:
/api/v5/market/candles/api/v5/public/funding-rate/api/v5/public/open-interestregime_report.py — Main script that fetches data and generates the reportconfig.json — Default watchlist configuration (edit this to customize)config.example.json — Example config you can copy and modify