Market
语法
python
ticker = exchange.GetTicker()返回值
返回一个字典,包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| High | float | 最高价 |
| Low | float | 最低价 |
| Sell | float | 卖一价(ask) |
| Buy | float | 买一价(bid) |
| Last | float | 最新成交价 |
| Volume | float | 成交量 |
| Time | int | 时间戳(毫秒) |
示例
基础用法
python
# 获取当前行情
ticker = exchange.GetTicker()
Log("最新价:", ticker['Last'])
Log("买一价:", ticker['Buy'])
Log("卖一价:", ticker['Sell'])
Log("24h最高:", ticker['High'])
Log("24h最低:", ticker['Low'])
Log("成交量:", ticker['Volume'])计算买卖价差
python
ticker = exchange.GetTicker()
spread = ticker['Sell'] - ticker['Buy']
spread_percent = (spread / ticker['Last']) * 100
Log(f"价差: {spread:.2f}")
Log(f"价差百分比: {spread_percent:.4f}%")监控价格变化
python
last_price = 0
while True:
ticker = exchange.GetTicker()
current_price = ticker['Last']
if last_price > 0:
change = current_price - last_price
change_percent = (change / last_price) * 100
Log(f"价格变化: {change:+.2f} ({change_percent:+.2f}%)")
last_price = current_price
Sleep(5000) # 5秒检查一次获取多个交易所的行情
python
# 假设配置了多个交易所
for i in range(len(exchanges)):
ticker = exchanges[i].GetTicker()
name = exchanges[i].GetName()
Log(f"{name} 最新价: {ticker['Last']}")注意事项
- 频率限制:不同交易所对 API 调用频率有限制,建议间隔至少 1 秒
- 数据延迟:Ticker 数据可能有轻微延迟(通常小于 1 秒)
- 精度处理:价格和数量可能包含很多小数位,建议格式化显示
- 异常处理:网络问题可能导致调用失败,建议添加 try-except
python
try:
ticker = exchange.GetTicker()
Log("获取成功:", ticker['Last'])
except Exception as e:
Log("获取Ticker失败:", str(e))相关方法
- GetDepth - 获取订单簿深度
- GetTrades - 获取最近成交记录
- GetRecords - 获取K线数据