资金与划转
获取资金明细
签名
pub async fn get_fund_details( &self, req: FundDetailsRequest, ) -> Result<Vec<FundDetails>, TigerError>
说明
可按 seg_types/fund_type/currency/毫秒范围/limit/token;account 默认注入。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.account | Option<String> | 可选;多数 TradeClient 方法在 None 时注入默认账户 | None(不序列化) |
| req.seg_types | Option<Vec<String>> | 可选 | None(不序列化) |
| req.fund_type | Option<String> | 可选 | None(不序列化) |
| req.currency | Option<String> | 可选 | None(不序列化) |
| req.start_date | Option<i64> | 可选 | None(不序列化) |
| req.end_date | Option<i64> | 可选 | None(不序列化) |
| req.limit | Option<i32> | 可选 | None(不序列化) |
| req.page_token | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<FundDetails>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | ID |
| account | String | 账户 |
| seg_type | String | 分段类型 |
| fund_type | String | 资金类型 |
| currency | String | 币种 |
| amount | f64 | 成交额 |
| balance | f64 | 余额 |
| occur_time | i64 | 发生时间 |
| remark | String | 备注 |
| external_id | String | 外部 ID |
示例
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_fund_details(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = trade.get_fund_details(FundDetailsRequest { ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"id": "",
"account": "",
"seg_type": "",
"fund_type": "",
"currency": "",
"amount": 0,
"balance": 0,
"occur_time": 0
}
]获取资金历史
签名
pub async fn get_funding_history( &self, req: FundingHistoryRequest, ) -> Result<Vec<FundingHistoryItem>, TigerError>
说明
分段、币种、毫秒范围、limit 可选。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.account | Option<String> | 可选;多数 TradeClient 方法在 None 时注入默认账户 | None(不序列化) |
| req.seg_type | Option<String> | 可选 | None(不序列化) |
| req.currency | Option<String> | 可选 | None(不序列化) |
| req.start_date | Option<i64> | 可选 | None(不序列化) |
| req.end_date | Option<i64> | 可选 | None(不序列化) |
| req.limit | Option<i32> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<FundingHistoryItem>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| id | i64 | ID |
| ref_id | String | 关联 ID |
| fund_type | i32 | 资金类型 |
| type_desc | String | 类型描述 |
| currency | String | 币种 |
| amount | f64 | 成交额 |
| business_date | String | 业务日期 |
| status | String | 交易状态 |
| status_desc | String | 状态描述 |
| completed_status | bool | 完成状态 |
| created_at | i64 | 创建时间 |
| updated_at | i64 | 更新时间 |
示例
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_funding_history(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = trade.get_funding_history(FundingHistoryRequest { ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"id": 0,
"ref_id": "",
"fund_type": 0,
"type_desc": "",
"currency": "",
"amount": 0,
"business_date": "",
"status": ""
}
]获取可划转资金
签名
pub async fn get_segment_fund_available( &self, req: SegmentFundRequest, ) -> Result<Vec<SegmentFundAvailableItem>, TigerError>
说明
分段与币种按账户要求;account 默认注入。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.account | Option<String> | 可选;多数 TradeClient 方法在 None 时注入默认账户 | None(不序列化) |
| req.id | Option<String> | 可选 | None(不序列化) |
| req.from_segment | Option<String> | 可选 | None(不序列化) |
| req.to_segment | Option<String> | 可选 | None(不序列化) |
| req.currency | Option<String> | 可选 | None(不序列化) |
| req.amount | Option<f64> | 可选 | None(不序列化) |
| req.limit | Option<i32> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<SegmentFundAvailableItem>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| from_segment | String | 来源分段 |
| currency | String | 币种 |
| amount | f64 | 成交额 |
示例
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_segment_fund_available(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = trade.get_segment_fund_available(SegmentFundRequest { ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"from_segment": "",
"currency": "",
"amount": 0
}
]获取划转记录
签名
pub async fn get_segment_fund_history( &self, req: SegmentFundRequest, ) -> Result<Vec<SegmentFundHistoryItem>, TigerError>
说明
可用分段、币种、limit。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.account | Option<String> | 可选;多数 TradeClient 方法在 None 时注入默认账户 | None(不序列化) |
| req.id | Option<String> | 可选 | None(不序列化) |
| req.from_segment | Option<String> | 可选 | None(不序列化) |
| req.to_segment | Option<String> | 可选 | None(不序列化) |
| req.currency | Option<String> | 可选 | None(不序列化) |
| req.amount | Option<f64> | 可选 | None(不序列化) |
| req.limit | Option<i32> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Vec<SegmentFundHistoryItem>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| id | i64 | ID |
| from_segment | String | 来源分段 |
| to_segment | String | 目标分段 |
| currency | String | 币种 |
| amount | f64 | 成交额 |
| status | String | 交易状态 |
| status_desc | String | 状态描述 |
| settled_at | i64 | 结算时间 |
| created_at | i64 | 创建时间 |
| updated_at | i64 | 更新时间 |
示例
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_segment_fund_history(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = trade.get_segment_fund_history(SegmentFundRequest { ..Default::default() }).await?;
Ok(())
}
返回示例
[
{
"id": 0,
"from_segment": "",
"to_segment": "",
"currency": "",
"amount": 0,
"status": "",
"status_desc": "",
"settled_at": 0
}
]划转分部资金
签名
pub async fn transfer_segment_fund( &self, req: SegmentFundRequest, ) -> Result<Option<SegmentFund>, TigerError>
说明
from_segment/to_segment/currency/正金额必填;会改变资金。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.account | Option<String> | 可选;多数 TradeClient 方法在 None 时注入默认账户 | None(不序列化) |
| req.id | Option<String> | 可选 | None(不序列化) |
| req.from_segment | Option<String> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.to_segment | Option<String> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.currency | Option<String> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.amount | Option<f64> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.limit | Option<i32> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Option<SegmentFund>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| id | Value | ID |
| from_segment | String | 来源分段 |
| to_segment | String | 目标分段 |
| currency | String | 币种 |
| amount | f64 | 成交额 |
| status | String | 交易状态 |
| status_desc | String | 状态描述 |
| message | String | 消息 |
| settled_at | i64 | 结算时间 |
| created_at | i64 | 创建时间 |
| updated_at | i64 | 更新时间 |
示例
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_transfer_segment_fund(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = trade.transfer_segment_fund(SegmentFundRequest { from_segment: Some("S".into()), to_segment: Some("C".into()), currency: Some("USD".into()), amount: Some(1.0), ..Default::default() }).await?;
Ok(())
}
返回示例
{
"id": "",
"from_segment": "",
"to_segment": "",
"currency": "",
"amount": 0,
"status": "",
"status_desc": "",
"message": ""
}取消划转
签名
pub async fn cancel_segment_fund( &self, req: SegmentFundRequest, ) -> Result<Option<SegmentFund>, TigerError>
说明
id: Option<String> 必填;仅未执行申请。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.account | Option<String> | 可选;多数 TradeClient 方法在 None 时注入默认账户 | None(不序列化) |
| req.id | Option<String> | 服务端必填;SDK 不预校验 | None(不序列化) |
| req.from_segment | Option<String> | 可选 | None(不序列化) |
| req.to_segment | Option<String> | 可选 | None(不序列化) |
| req.currency | Option<String> | 可选 | None(不序列化) |
| req.amount | Option<f64> | 可选 | None(不序列化) |
| req.limit | Option<i32> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Option<SegmentFund>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| id | Value | ID |
| from_segment | String | 来源分段 |
| to_segment | String | 目标分段 |
| currency | String | 币种 |
| amount | f64 | 成交额 |
| status | String | 交易状态 |
| status_desc | String | 状态描述 |
| message | String | 消息 |
| settled_at | i64 | 结算时间 |
| created_at | i64 | 创建时间 |
| updated_at | i64 | 更新时间 |
示例
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_cancel_segment_fund(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = trade.cancel_segment_fund(SegmentFundRequest { id: Some("TRANSFER_ID".into()), ..Default::default() }).await?;
Ok(())
}
返回示例
{
"id": "",
"from_segment": "",
"to_segment": "",
"currency": "",
"amount": 0,
"status": "",
"status_desc": "",
"message": ""
}外汇下单
签名
pub async fn place_forex_order( &self, req: ForexOrderRequest, ) -> Result<Option<ForexOrderResult>, TigerError>
说明
source/target currency 必填;source_amount 与 target_amount 按服务端规则选择;会提交兑换。
参数
| 参数 | Rust 类型 | 必填性/条件 | SDK 默认值 |
|---|---|---|---|
| req.account | Option<String> | 可选;多数 TradeClient 方法在 None 时注入默认账户 | None(不序列化) |
| req.seg_type | Option<String> | 可选 | None(不序列化) |
| req.source_currency | Option<String> | 可选 | None(不序列化) |
| req.target_currency | Option<String> | 可选 | None(不序列化) |
| req.source_amount | Option<f64> | 条件必填:source_amount / target_amount 至少一个 | None(不序列化) |
| req.target_amount | Option<f64> | 条件必填:source_amount / target_amount 至少一个 | None(不序列化) |
| req.order_type | Option<String> | 可选 | None(不序列化) |
| req.lang | Option<String> | 可选 | None(不序列化) |
返回
Result<Option<ForexOrderResult>, TigerError>
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | ID |
| status | String | 交易状态 |
| source_currency | String | 源币种 |
| target_currency | String | 目标币种 |
| source_amount | f64 | 源金额 |
| target_amount | f64 | 目标金额 |
| rate | f64 | 汇率 |
| submit_time | i64 | 提交时间 |
示例
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_place_forex_order(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {
let result_0 = trade.place_forex_order(ForexOrderRequest { source_currency: Some("USD".into()), target_currency: Some("HKD".into()), source_amount: Some(1.0), ..Default::default() }).await?;
Ok(())
}
返回示例
{
"id": "",
"status": "",
"source_currency": "",
"target_currency": "",
"source_amount": 0,
"target_amount": 0,
"rate": 0,
"submit_time": 0
}Updated 8 days ago
Did this page help you?
