获取当前设置的交易对、合约代码对应的现货或合约的{@struct/Ticker Ticker}结构,即行情数据。GetTicker()函数是交易所对象{@var/EXCHANGE exchange}的成员函数,exchange对象的成员函数(方法)的用途仅与exchange相关,文档后续不再赘述。
exchange.GetTicker()函数请求数据成功时返回{@struct/Ticker Ticker}结构,请求数据失败时返回空值。
{@struct/Ticker Ticker} / 空值
exchange.GetTicker() exchange.GetTicker(symbol)
参数symbol用于指定请求的{@struct/Ticker Ticker}数据对应的具体交易对、合约代码。不传递该参数时,默认请求当前设置的交易对、合约代码的行情数据。
当调用exchange.GetTicker(symbol)函数时,若exchange为现货交易所对象,如需请求获取计价币种为USDT、交易币种为BTC的行情数据,参数symbol为:"BTC_USDT",格式为FMZ平台定义的交易对格式。
当调用exchange.GetTicker(symbol)函数时,若exchange为期货交易所对象,如需请求获取BTC的U本位永续合约的行情数据,参数symbol为:"BTC_USDT.swap",格式为FMZ平台定义的交易对与合约代码组合,以字符”.“分隔。
当调用exchange.GetTicker(symbol)函数时,若exchange为期货交易所对象,如需请求获取BTC的U本位期权合约的行情数据,参数symbol为:"BTC_USDT.BTC-240108-40000-C"(以币安期权BTC-240108-40000-C为例),格式为FMZ平台定义的交易对与交易所定义的具体期权合约代码组合,以字符”.“分隔。
symbol
false
string
”`javascript function main(){ // 如果是期货交易所对象,先设置合约代码,例如设置为永续合约 // exchange.SetContractType(“swap”)
var ticker = exchange.GetTicker()
/*
可能由于网络原因,访问不到交易所接口(即使托管者程序所在设备能打开交易所网站,但是API接口也可能访问不通)
此时ticker为null,当访问ticker.High时,会导致错误,所以在测试该代码时,确保可以访问到交易所接口
*/
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)
}
python
def main():
ticker = exchange.GetTicker()
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”])
cpp
void main() {
auto ticker = exchange.GetTicker();
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);
}
对于期货交易所对象(即exchange或exchanges[0]),在调用行情函数前需要先使用exchange.SetContractType()函数设置合约代码,后续文档将不再重复说明。
javascript
function main() {
var ticker = exchange.GetTicker(“BTC_USDT”)
Log(ticker)
}
python
def main():
ticker = exchange.GetTicker(“BTC_USDT”)
Log(ticker)
cpp
void main() {
auto ticker = exchange.GetTicker(“BTC_USDT”);
Log(ticker);
}
使用symbol”`参数请求指定品种(现货品种)的行情数据。
回测系统中exchange.GetTicker()函数返回的Ticker数据,其中High、Low为模拟值,取自当时盘口的卖一、买一。
实盘中exchange.GetTicker()函数返回的Ticker数据,其中High和Low的值根据封装的交易所Tick接口返回的数据确定,这些数据包括一定周期内(通常为24小时周期)的最高价和最低价。
不支持exchange.GetTicker()函数的交易所:
| 函数名 | 不支持的现货交易所 | 不支持的期货交易所 |
|---|---|---|
| GetTicker | – | Futures_Aevo |
{@fun/Market/exchange.GetDepth exchange.GetDepth}, {@fun/Market/exchange.GetTrades exchange.GetTrades}, {@fun/Market/exchange.GetRecords exchange.GetRecords}, {@fun/Market/exchange.GetTickers exchange.GetTickers}, {@fun/Trade/exchange.IO exchange.IO}(API限流控制)