exchange.GetTicker
获取现货或合约的Ticker结构,即行情数据;不传symbol时取当前设置的交易对、合约代码的行情。GetTicker()是交易所对象exchange的成员函数,只作用于该交易所对象绑定的账户(多账户时用exchanges[i].GetTicker()指定账户)。
exchange.GetTicker()
exchange.GetTicker(symbol)示例
-
加密货币期货交易所对象(即
exchange或exchanges[0])的默认合约为永续合约(swap),未调用exchange.SetContractType()函数时,行情函数获取的是永续合约的数据;需要其它合约时,先使用exchange.SetContractType()函数设置合约代码。见品种代码。javascriptfunction main(){ // 期货交易所对象默认为永续合约,需要其它合约时先设置合约代码,例如设置为当季合约 // exchange.SetContractType("quarter") var ticker = exchange.GetTicker() if (!ticker) return // 获取失败(例如访问不到交易所接口)时为null Log("Symbol:", ticker.Symbol, "High:", ticker.High, "Low:", ticker.Low, "Sell:", ticker.Sell, "Buy:", ticker.Buy, "Last:", ticker.Last, "Open:", ticker.Open, "Volume:", ticker.Volume) }pythondef main(): ticker = exchange.GetTicker() if not ticker: return Log("Symbol:", ticker["Symbol"], "High:", ticker["High"], "Low:", ticker["Low"], "Sell:", ticker["Sell"], "Buy:", ticker["Buy"], "Last:", ticker["Last"], "Open:", ticker["Open"], "Volume:", ticker["Volume"])rustfn main() { // 期货交易所对象默认为永续合约,需要其它合约时先设置合约代码,例如设置为当季合约 // exchange.SetContractType("quarter").unwrap(); let Ok(ticker) = exchange.GetTicker(None) else { return }; Log!("Symbol:", ticker.Symbol, "High:", ticker.High, "Low:", ticker.Low, "Sell:", ticker.Sell, "Buy:", ticker.Buy, "Last:", ticker.Last, "Open:", ticker.Open, "Volume:", ticker.Volume); } -
使用
symbol参数请求具体品种(现货品种)的行情数据。javascriptfunction main() { var ticker = exchange.GetTicker("BTC_USDT") Log(ticker) }pythondef main(): ticker = exchange.GetTicker("BTC_USDT") Log(ticker)rustfn main() { let ticker = exchange.GetTicker("BTC_USDT").unwrap(); Log!(ticker); }
返回值
| 类型 | 描述 |
| 成功时返回 |
参数
| 名称 | 类型 | 必填 | 描述 |
symbol | string | 否 | 品种代码,例如现货交易所对象上的 |
参考
备注
在回测系统中,exchange.GetTicker()函数返回的Ticker数据中,High、Low为模拟值,取自当时盘口的卖一价和买一价。
在实盘中,exchange.GetTicker()函数返回的Ticker数据中,High和Low的值根据所封装的交易所Tick接口返回的数据确定,这些数据包含一定周期内(通常为24小时周期)的最高价和最低价。
链上兑换类交易所(例如Uniswap、Jupiter)没有订单簿和24小时统计:Buy、Sell为一定规模(约1000美元)的实际可成交报价,Last为两者的中间价,High、Low、Volume等字段的取值见交易所页,例如Uniswap、Jupiter。