Market
exchange.GetTrades()
获取交易所最近的成交记录(历史交易)。
语法
python
trades = exchange.GetTrades()返回值
返回一个列表,每个元素是一个字典,包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| Id | str | 成交ID |
| Time | int | 成交时间戳(毫秒) |
| Price | float | 成交价格 |
| Amount | float | 成交数量 |
| Type | str | 成交类型(buy/sell) |
示例
基础用法
python
trades = exchange.GetTrades()
Log("最近成交记录数:", len(trades))
for trade in trades[-5:]: # 最后5条
Log(f"时间: {trade['Time']}, 价格: {trade['Price']}, 数量: {trade['Amount']}, 类型: {trade['Type']}")分析成交方向
python
trades = exchange.GetTrades()
buy_count = sum(1 for t in trades if t['Type'] == 'buy')
sell_count = sum(1 for t in trades if t['Type'] == 'sell')
Log(f"买入成交: {buy_count}")
Log(f"卖出成交: {sell_count}")
if buy_count > sell_count * 1.5:
Log("主动买入较多,市场偏多")
elif sell_count > buy_count * 1.5:
Log("主动卖出较多,市场偏空")计算成交量加权平均价
python
trades = exchange.GetTrades()
total_volume = 0
total_value = 0
for trade in trades:
total_volume += trade['Amount']
total_value += trade['Price'] * trade['Amount']
vwap = total_value / total_volume if total_volume > 0 else 0
Log(f"成交量加权平均价 (VWAP): {vwap:.2f}")检测大额成交
python
def detect_large_trades(trades, threshold=5.0):
"""检测大额成交"""
large_trades = [t for t in trades if t['Amount'] >= threshold]
if large_trades:
Log(f"检测到 {len(large_trades)} 笔大额成交:")
for trade in large_trades[-3:]:
Log(f" {trade['Type'].upper()} {trade['Amount']:.2f} @ {trade['Price']:.2f}")
trades = exchange.GetTrades()
detect_large_trades(trades, threshold=5.0)注意事项
- 数据数量:通常返回最近 50-100 条成交记录
- 时间顺序:成交记录按时间升序排列,最新的在列表末尾
- 更新频率:建议至少间隔 1 秒调用一次
相关方法
- GetTicker - 获取 Ticker 行情
- GetDepth - 获取订单簿深度
- GetRecords - 获取K线数据