获取当前设置的交易对、合约代码对应的现货或者合约的{@struct/Ticker Ticker}结构,即行情数据。 GetTicker()
函数是交易所对象{@var/EXCHANGE exchange}的成员函数,exchange
对象的成员函数(方法)的用途只和exchange
相关,文档之后不再赘述。
{@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)
}
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"])
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()
函数设置合约代码,文档之后不再赘述。
function main() {
var ticker = exchange.GetTicker("BTC_USDT")
Log(ticker)
}
def main():
ticker = exchange.GetTicker("BTC_USDT")
Log(ticker)
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}
Log exchange.GetDepth