通用

获取市场状态

签名


pub async fn get_market_state(&self, market: &str) -> Result<Vec<MarketState>, TigerError>

说明

市场状态;market 必填,如 US/HK。无需标的行情权限。

参数

参数Rust 类型必填性/条件SDK 默认值
market&strRust 类型必填无

返回

Result<Vec<MarketState>, TigerError>

字段类型说明
marketString市场
market_statusString市场状态
statusString状态代码
open_timeString开市时间

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_market_state(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_market_state("US").await?;

    Ok(())

}

返回示例

[
  {
    "market": "US",
    "marketStatus": "Trading",
    "status": "TRADING",
    "openTime": "2025-01-29 09:30:00"
  }
]

请求频率

基础限流为 10 次/分钟。


获取交易日历

签名


pub async fn get_trading_calendar( &self, req: TradingCalendarRequest, ) -> Result<Vec<TradingCalendarItem>, TigerError>

说明

交易日历;market 必填,起止日可选。

参数

参数Rust 类型必填性/条件SDK 默认值
req.marketOption<String>服务端必填;SDK 不预校验None(不序列化)
req.begin_dateOption<String>可选None(不序列化)
req.end_dateOption<String>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<TradingCalendarItem>, TigerError>

字段类型说明
marketString市场
dateString日期
is_tradingbool是否交易日
session_typeString交易时段类型

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_trading_calendar(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_trading_calendar(TradingCalendarRequest { market: Some("US".into()), ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "market": "US",
    "date": "2025-01-29",
    "isTrading": true,
    "sessionType": "regular"
  }
]

获取股票代码列表

签名


pub async fn get_symbols(&self, req: SymbolsRequest) -> Result<Vec<String>, TigerError>

说明

全量代码;market、sec_type、include_otc、lang 可选。

参数

参数Rust 类型必填性/条件SDK 默认值
req.marketOption<String>可选None(不序列化)
req.sec_typeOption<String>可选None(不序列化)
req.include_otcOption<bool>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

  • QuoteClient: Result<Vec<String>, TigerError>.
    代码字符串列表。

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_symbols(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_symbols(SymbolsRequest { ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "value": 94836000000.0
  }
]

请求频率

基础限流为 10 次/分钟。


获取股票代码和名称列表

签名


pub async fn get_symbol_names( &self, req: SymbolsRequest, ) -> Result<Vec<SymbolName>, TigerError>

说明

全量代码与名称;参数同 get_symbols。

参数

参数Rust 类型必填性/条件SDK 默认值
req.marketOption<String>可选None(不序列化)
req.sec_typeOption<String>可选None(不序列化)
req.include_otcOption<bool>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<SymbolName>, TigerError>

字段类型说明
symbolString代码
nameString名称
marketString市场

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_symbol_names(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_symbol_names(SymbolsRequest { ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "symbol": "AAPL",
    "name": "Apple Inc",
    "market": "US"
  }
]

请求频率

基础限流为 10 次/分钟。


获取交易元数据

签名


pub async fn get_trade_metas( &self, req: TradeMetasRequest, ) -> Result<Vec<crate::model::quote::TradeMeta>, TigerError>

说明

交易元数据;symbols 必填。

参数

参数Rust 类型必填性/条件SDK 默认值
req.symbolsOption<Vec<String>>服务端必填;SDK 不预校验None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<crate::model::quote::TradeMeta>, TigerError>

字段类型说明
symbolString代码
lot_sizei32每手数量
min_tickf64最小变动单位
spread_scalef64价差缩放系数
shortable_flagString是否可卖空标记
marginable_flagString是否可融资标记

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_trade_metas(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_trade_metas(TradeMetasRequest { symbols: Some(vec!["AAPL".into()]), ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "symbol": "AAPL",
    "lotSize": 1,
    "minTick": 0.01,
    "spreadScale": 1.0,
    "shortableFlag": "Y",
    "marginableFlag": "Y"
  }
]

请求频率

基础限流为 60 次/分钟。


获取行情权限

签名


pub async fn get_quote_permission( &self, req: QuotePermissionRequest, ) -> Result<Vec<QuotePermission>, TigerError>

说明

权限明细;日期范围与语言可选。

参数

参数Rust 类型必填性/条件SDK 默认值
req.begin_dateOption<String>可选None(不序列化)
req.end_dateOption<String>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<QuotePermission>, TigerError>

字段类型说明
nameString权限名称
expire_ati64到期时间(毫秒时间戳)

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_quote_permission(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_quote_permission(QuotePermissionRequest { ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "name": "usQuoteLevel2",
    "expireAt": 1767225600000
  }
]

请求频率

基础限流为 10 次/分钟。



抢占行情设备访问权

签名


pub async fn grab_quote_permission(&self) -> Result<Vec<QuotePermission>, TigerError>

说明

抢占行情设备访问权,将当前设备设为可访问行情的设备;同一账户的其他设备将失去该设备访问权。此操作不会购买或授予新的行情权限。无参数。

参数

参数Rust 类型必填性/条件SDK 默认值
none-Rust 类型必填无

返回

Result<Vec<QuotePermission>, TigerError>

字段类型说明
nameString权限名称
expire_ati64到期时间(毫秒时间戳)

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_grab_quote_permission(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.grab_quote_permission().await?;

    Ok(())

}

返回示例

[
  {
    "name": "usQuoteLevel2",
    "expireAt": 1767225600000
  }
]

请求频率

基础限流为 10 次/分钟。


获取 K 线额度

签名


pub async fn get_kline_quota( &self, req: KlineQuotaRequest, ) -> Result<Vec<KlineQuota>, TigerError>

说明

K 线配额;with_details 默认不发送。

参数

参数Rust 类型必填性/条件SDK 默认值
req.with_detailsOption<bool>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<KlineQuota>, TigerError>

字段类型说明
methodString配额方法
usedi32已使用额度
quotai32总额度
detailVec<KlineQuotaDetail>配额明细

detail 元素(KlineQuotaDetail):

字段类型说明
symbolString代码
marketString市场
used_barsi32已使用 K 线数量
quota_barsi32K 线数量额度
last_accessi64最后访问时间(毫秒时间戳)

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_kline_quota(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_kline_quota(KlineQuotaRequest { ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "method": "kline",
    "used": 35,
    "quota": 500,
    "detail": [
      {
        "symbol": "AAPL",
        "market": "US",
        "usedBars": 5,
        "quotaBars": 500,
        "lastAccess": 1738180800000
      }
    ]
  }
]

请求频率

基础限流为 10 次/分钟。



Did this page help you?