获取加密货币主动买卖情况
okx_taker_volumeRetrieve taker buy and sell volumes for OKX cryptocurrencies. Specify symbol, period, and product type to analyze market sentiment.
Instructions
获取OKX加密货币主动买入和卖出的交易量
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | 币种,格式: BTC 或 ETH | BTC |
| period | No | 时间粒度,仅支持: [5m/1H/1D] 注意大小写,仅分钟为小写m | 1h |
| instType | No | 产品类型 SPOT:现货 CONTRACTS:衍生品 | SPOT |
Implementation Reference
- mcp_aktools/__init__.py:440-462 (handler)The actual handler function for the 'okx_taker_volume' tool. It makes an HTTP GET request to OKX API '/api/v5/rubik/stat/taker-volume' with parameters symbol, period, and instType, then parses the response into a DataFrame with columns '时间', '卖出量', '买入量' and returns it as CSV.
def okx_taker_volume( symbol: str = Field("BTC", description="币种,格式: BTC 或 ETH"), period: str = Field("1h", description="时间粒度,仅支持: [5m/1H/1D] 注意大小写,仅分钟为小写m"), instType: str = Field("SPOT", description="产品类型 SPOT:现货 CONTRACTS:衍生品"), ): res = requests.get( f"{OKX_BASE_URL}/api/v5/rubik/stat/taker-volume", params={ "ccy": symbol, "period": period, "instType": instType, }, timeout=20, ) data = res.json() or {} dfs = pd.DataFrame(data.get("data", [])) if dfs.empty: return pd.DataFrame() dfs.columns = ["时间", "卖出量", "买入量"] dfs["时间"] = pd.to_datetime(dfs["时间"], errors="coerce", unit="ms") dfs["卖出量"] = pd.to_numeric(dfs["卖出量"], errors="coerce") dfs["买入量"] = pd.to_numeric(dfs["买入量"], errors="coerce") return dfs.to_csv(index=False, float_format="%.2f").strip() - mcp_aktools/__init__.py:436-438 (registration)The @mcp.tool decorator that registers 'okx_taker_volume' as an MCP tool with title '获取加密货币主动买卖情况' and description '获取OKX加密货币主动买入和卖出的交易量'.
@mcp.tool( title="获取加密货币主动买卖情况", description="获取OKX加密货币主动买入和卖出的交易量", - mcp_aktools/__init__.py:440-443 (schema)The input parameter definitions for the tool, including symbol (default 'BTC'), period (default '1h', supports 5m/1H/1D), and instType (default 'SPOT', supports SPOT/CONTRACTS).
def okx_taker_volume( symbol: str = Field("BTC", description="币种,格式: BTC 或 ETH"), period: str = Field("1h", description="时间粒度,仅支持: [5m/1H/1D] 注意大小写,仅分钟为小写m"), instType: str = Field("SPOT", description="产品类型 SPOT:现货 CONTRACTS:衍生品"),