通用
获取市场状态
签名
pub async fn get_market_state(&self, market: &str) -> Result<Vec<MarketState>, TigerError>
说明
市场状态;market 必填,如 US/HK。无需标的行情权限。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| market | &str | 必填 | 无 |
返回
QuoteClient:Result<Vec<MarketState>, TigerError>. market: String, market_status: String, status: String, open_time: String.
MarketState { market, market_status, status, open_time }
示例
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",
"market_status": "Trading",
"status": "TRADING",
"open_time": "2025-01-29 09:30:00"
}
]获取交易日历
签名
pub async fn get_trading_calendar( &self, req: TradingCalendarRequest, ) -> Result<Vec<TradingCalendarItem>, TigerError>
说明
交易日历;market 必填,起止日可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.market | Option<String> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.begin_date | Option<String> | 可选 | None(不序列化) |
| req.end_date | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
QuoteClient:Result<Vec<TradingCalendarItem>, TigerError>. market: String, date: String, is_trading: bool, session_type: String.
市场、日期、交易日状态和开闭市时间。
示例
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",
"is_trading": true,
"session_type": "regular"
}
]获取股票代码列表
签名
pub async fn get_symbols(&self, req: SymbolsRequest) -> Result<Vec<String>, TigerError>
说明
全量代码;market、sec_type、include_otc、lang 可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.market | Option<String> | 可选 | None(不序列化) |
| req.sec_type | Option<String> | 可选 | None(不序列化) |
| req.include_otc | Option<bool> | 可选 | None(不序列化) |
| req.lang | Option<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
}
]获取股票代码和名称列表
签名
pub async fn get_symbol_names( &self, req: SymbolsRequest, ) -> Result<Vec<SymbolName>, TigerError>
说明
全量代码与名称;参数同 get_symbols。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.market | Option<String> | 可选 | None(不序列化) |
| req.sec_type | Option<String> | 可选 | None(不序列化) |
| req.include_otc | Option<bool> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
QuoteClient:Result<Vec<SymbolName>, TigerError>. symbol: String, name: String, market: String.
SymbolName { symbol, name, market }
示例
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"
}
]获取交易元数据
签名
pub async fn get_trade_metas( &self, req: TradeMetasRequest, ) -> Result<Vec<crate::model::quote::TradeMeta>, TigerError>
说明
交易元数据;symbols 必填。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.symbols | Option<Vec<String>> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
QuoteClient:Result<Vec<crate::model::quote::TradeMeta>, TigerError>. symbol: String, lot_size: i32, min_tick: f64, spread_scale: f64, shortable_flag: String, marginable_flag: String.
TradeMeta { symbol, lot_size, min_tick, spread_scale, shortable_flag, marginable_flag }
示例
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",
"lot_size": 1,
"min_tick": 0.01,
"spread_scale": 1.0,
"shortable_flag": "Y",
"marginable_flag": "Y"
}
]获取行情权限
签名
pub async fn get_quote_permission( &self, req: QuotePermissionRequest, ) -> Result<Vec<QuotePermission>, TigerError>
说明
权限明细;日期范围与语言可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.begin_date | Option<String> | 可选 | None(不序列化) |
| req.end_date | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
QuoteClient:Result<Vec<QuotePermission>, TigerError>. name: String, expire_at: i64.
QuotePermission { name, expire_at }
示例
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",
"expire_at": 1767225600000
}
]抢占行情权限
签名
pub async fn grab_quote_permission(&self) -> Result<Vec<QuotePermission>, TigerError>
说明
查询当前权限,无参数。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| none | - | 必填 | 无 |
返回
QuoteClient:Result<Vec<QuotePermission>, TigerError>. name: String, expire_at: i64.
Vec<QuotePermission>
示例
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",
"expire_at": 1767225600000
}
]获取 K 线额度
签名
pub async fn get_kline_quota( &self, req: KlineQuotaRequest, ) -> Result<Vec<KlineQuota>, TigerError>
说明
K 线配额;with_details 默认不发送。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.with_details | Option<bool> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
QuoteClient:Result<Vec<KlineQuota>, TigerError>. method: String, used: i32, quota: i32, detail: Vec
method/used/quota/detail。
示例
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",
"count": 5
}
]
}
]Updated 8 days ago
Did this page help you?
