资源加载中... loading...

exchange.GetTicker

获取当前设置的交易对、合约代码对应的现货或者合约的{@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);
}

对于期货交易所对象(即exchangeexchanges[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数据, 其中HighLow为模拟值,取自当时盘口的卖一、买一。 实盘中exchange.GetTicker()函数返回的Ticker数据, 其中HighLow的值是根据封装的交易所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