返回 Skill 列表
extension
分类: 数据与分析无需 API Key

Crypto Market

基于CCXT的加密货币市场数据与价格预警监控工具,支持多交易所、实时价格追踪及可配置的价格/波动提醒。

person作者: alphafactorhubclawhub

Cryptocurrency Market & Price Alerts

A cryptocurrency market data fetching and price monitoring tool based on the CCXT library. It supports multiple exchanges, real-time monitoring, and smart alerts.

Features

  • 🏢 Multi-Exchange Support - Defaults to Binance. Also supports OKX, Bybit, Gate.io, KuCoin, etc.
  • 📊 Real-time Market Data - Get the latest prices, price changes, volumes, and more.
  • 📈 OHLCV Data (Candlesticks) - Fetch historical price trends.
  • 📖 Order Book - View market depth (bids and asks).
  • 🔔 Price Alerts - Supports price thresholds and percentage change alerts.
  • 👁️ Live Monitoring - Continuously monitor price movements.

Prerequisites

Install Dependencies

pip3 install ccxt --user

Usage

Check Real-Time Prices

# Default (Binance)
python3 scripts/crypto.py ticker BTC/USDT

# Use other exchanges
python3 scripts/crypto.py -e okx ticker ETH/USDT
python3 scripts/crypto.py -e bybit ticker BTC/USDT

Supported Exchanges:

  • binance - Binance (Default)
  • okx - OKX
  • bybit - Bybit
  • gateio - Gate.io
  • kucoin - KuCoin
  • huobi - Huobi
  • coinbase - Coinbase
  • kraken - Kraken
  • bitfinex - Bitfinex

Get OHLCV (Candlestick) Data

# Get 1-hour candles, last 24 periods
python3 scripts/crypto.py ohlcv BTC/USDT --timeframe 1h --limit 24

# Get daily candles, last 30 periods
python3 scripts/crypto.py ohlcv ETH/USDT --timeframe 1d --limit 30

Timeframes:

  • 1m - 1 minute
  • 5m - 5 minutes
  • 15m - 15 minutes
  • 1h - 1 hour
  • 4h - 4 hours
  • 1d - 1 day
  • 1w - 1 week
  • 1M - 1 month

View Order Book

python3 scripts/crypto.py orderbook BTC/USDT --limit 10

Live Price Monitoring

# Refresh every 10 seconds (default)
python3 scripts/crypto.py watch BTC/USDT

# Refresh every 5 seconds
python3 scripts/crypto.py watch ETH/USDT --interval 5

Price Alerts

Add Alerts

Price Threshold Alerts:

# Alert when BTC price breaks above 70000 USDT
python3 scripts/crypto.py alert-add BTC/USDT above 70000

# Alert when ETH price drops below 3000 USDT
python3 scripts/crypto.py alert-add ETH/USDT below 3000

Percentage Change Alerts:

# Alert when BTC rises more than 5%
python3 scripts/crypto.py alert-add BTC/USDT up_percent 5

# Alert when ETH drops more than 3%
python3 scripts/crypto.py alert-add ETH/USDT down_percent 3

View Alert List

python3 scripts/crypto.py alert-list

Example Output:

🔔 Price Alerts (3):

ID                        Pair            Exchange     Condition                 Status
------------------------------------------------------------------------------------------
BTC/USDT_1706941200       BTC/USDT        binance      Price > 70000             ⏳Monitoring
ETH/USDT_1706941300       ETH/USDT        okx          Price < 3000              ⏳Monitoring
BTC/USDT_1706941400       BTC/USDT        binance      Rise > 5%                 ⏳Monitoring

Check Alerts

# Manually check all alert conditions
python3 scripts/crypto.py alert-check

When a condition is triggered, it shows:

⚠️  Triggered 1 alert:

  🚀 BTC/USDT rose by 5.23%, current price: 71234.56
  Alert ID: BTC/USDT_1706941400

Remove Alerts

python3 scripts/crypto.py alert-remove BTC/USDT_1706941200

Command Reference

| Command | Function | Example | |------|------|------| | ticker | Real-time prices | ticker BTC/USDT | | ohlcv | Candlestick data | ohlcv BTC/USDT --timeframe 1h | | orderbook | Order book | orderbook BTC/USDT | | watch | Live monitoring | watch BTC/USDT --interval 5 | | alert-add | Add an alert | alert-add BTC/USDT above 70000 | | alert-remove | Remove an alert | alert-remove ID | | alert-list | List alerts | alert-list | | alert-check | Check alerts | alert-check |

Global Arguments

| Argument | Short | Description | Default | |------|------|------|--------| | --exchange | -e | Exchange name | binance | | --timeframe | -t | Candlestick timeframe | 1h | | --limit | -l | Data limit (count) | 24 | | --interval | -i | Refresh interval (sec) | 10 |

Alert Conditions

| Condition | Description | Example | |------|------|------| | above | Price goes above threshold | above 70000 | | below | Price drops below threshold | below 3000 | | up_percent | Price rises by % | up_percent 5 | | down_percent | Price drops by % | down_percent 3 |

Use Cases

Scenario 1: Tracking specific price targets

# Alert when BTC breaks previous high
python3 scripts/crypto.py alert-add BTC/USDT above 69000

# Regularly check
python3 scripts/crypto.py alert-check

Scenario 2: Monitoring support/resistance levels

# ETH drops below key support
python3 scripts/crypto.py alert-add ETH/USDT below 2800

# BTC breaks resistance
python3 scripts/crypto.py alert-add BTC/USDT above 72000

Scenario 3: Volatility monitoring

# Monitor massive volatility
python3 scripts/crypto.py alert-add BTC/USDT up_percent 8
python3 scripts/crypto.py alert-add BTC/USDT down_percent 8

Scenario 4: Cross-exchange price comparison

# Check prices across different exchanges
python3 scripts/crypto.py -e binance ticker BTC/USDT
python3 scripts/crypto.py -e okx ticker BTC/USDT
python3 scripts/crypto.py -e bybit ticker BTC/USDT

Troubleshooting

Error: ccxt library not installed → Run: pip3 install ccxt --user

Error: Unsupported exchange → Check exchange spelling. Refer to the supported exchanges list.

Error: Trading pair does not exist → Check trading pair format, e.g., BTC/USDT, ETH/USDT.

Alert not triggering → Confirm alert conditions are correct. Run alert-check to check manually.

API Limits → Some exchanges have strict rate limits. Use --interval to adjust the refresh frequency.

Configuration File

Alert configurations are stored at: ~/.config/crypto/alerts.json

You can manually edit this file to batch manage your alerts.

References