资金与划转

获取资金明细

签名


pub async fn get_fund_details( &self, req: FundDetailsRequest, ) -> Result<Vec<FundDetails>, TigerError>

说明

可按 seg_types/fund_type/currency/毫秒范围/limit/token;account 默认注入。

参数

参数Rust 类型必填性/条件SDK 默认值
req.accountOption<String>可选;多数 TradeClient 方法在 None 时注入默认账户None(不序列化)
req.seg_typesOption<Vec<String>>可选None(不序列化)
req.fund_typeOption<String>可选None(不序列化)
req.currencyOption<String>可选None(不序列化)
req.start_dateOption<i64>可选None(不序列化)
req.end_dateOption<i64>可选None(不序列化)
req.limitOption<i32>可选None(不序列化)
req.page_tokenOption<String>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<FundDetails>, TigerError>

字段类型说明
idStringID
accountString账户
seg_typeString分段类型
fund_typeString资金类型
currencyString币种
amountf64成交额
balancef64余额
occur_timei64发生时间
remarkString备注
external_idString外部 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.accountOption<String>可选;多数 TradeClient 方法在 None 时注入默认账户None(不序列化)
req.seg_typeOption<String>可选None(不序列化)
req.currencyOption<String>可选None(不序列化)
req.start_dateOption<i64>可选None(不序列化)
req.end_dateOption<i64>可选None(不序列化)
req.limitOption<i32>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<FundingHistoryItem>, TigerError>

字段类型说明
idi64ID
ref_idString关联 ID
fund_typei32资金类型
type_descString类型描述
currencyString币种
amountf64成交额
business_dateString业务日期
statusString交易状态
status_descString状态描述
completed_statusbool完成状态
created_ati64创建时间
updated_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_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.accountOption<String>可选;多数 TradeClient 方法在 None 时注入默认账户None(不序列化)
req.idOption<String>可选None(不序列化)
req.from_segmentOption<String>可选None(不序列化)
req.to_segmentOption<String>可选None(不序列化)
req.currencyOption<String>可选None(不序列化)
req.amountOption<f64>可选None(不序列化)
req.limitOption<i32>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<SegmentFundAvailableItem>, TigerError>

字段类型说明
from_segmentString来源分段
currencyString币种
amountf64成交额

示例


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.accountOption<String>可选;多数 TradeClient 方法在 None 时注入默认账户None(不序列化)
req.idOption<String>可选None(不序列化)
req.from_segmentOption<String>可选None(不序列化)
req.to_segmentOption<String>可选None(不序列化)
req.currencyOption<String>可选None(不序列化)
req.amountOption<f64>可选None(不序列化)
req.limitOption<i32>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Vec<SegmentFundHistoryItem>, TigerError>

字段类型说明
idi64ID
from_segmentString来源分段
to_segmentString目标分段
currencyString币种
amountf64成交额
statusString交易状态
status_descString状态描述
settled_ati64结算时间
created_ati64创建时间
updated_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_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.accountOption<String>可选;多数 TradeClient 方法在 None 时注入默认账户None(不序列化)
req.idOption<String>可选None(不序列化)
req.from_segmentOption<String>服务端必填;SDK 不预校验None(不序列化)
req.to_segmentOption<String>服务端必填;SDK 不预校验None(不序列化)
req.currencyOption<String>服务端必填;SDK 不预校验None(不序列化)
req.amountOption<f64>服务端必填;SDK 不预校验None(不序列化)
req.limitOption<i32>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Option<SegmentFund>, TigerError>

字段类型说明
idValueID
from_segmentString来源分段
to_segmentString目标分段
currencyString币种
amountf64成交额
statusString交易状态
status_descString状态描述
messageString消息
settled_ati64结算时间
created_ati64创建时间
updated_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_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.accountOption<String>可选;多数 TradeClient 方法在 None 时注入默认账户None(不序列化)
req.idOption<String>服务端必填;SDK 不预校验None(不序列化)
req.from_segmentOption<String>可选None(不序列化)
req.to_segmentOption<String>可选None(不序列化)
req.currencyOption<String>可选None(不序列化)
req.amountOption<f64>可选None(不序列化)
req.limitOption<i32>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Option<SegmentFund>, TigerError>

字段类型说明
idValueID
from_segmentString来源分段
to_segmentString目标分段
currencyString币种
amountf64成交额
statusString交易状态
status_descString状态描述
messageString消息
settled_ati64结算时间
created_ati64创建时间
updated_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_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.accountOption<String>可选;多数 TradeClient 方法在 None 时注入默认账户None(不序列化)
req.seg_typeOption<String>可选None(不序列化)
req.source_currencyOption<String>可选None(不序列化)
req.target_currencyOption<String>可选None(不序列化)
req.source_amountOption<f64>条件必填:source_amount / target_amount 至少一个None(不序列化)
req.target_amountOption<f64>条件必填:source_amount / target_amount 至少一个None(不序列化)
req.order_typeOption<String>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

Result<Option<ForexOrderResult>, TigerError>

字段类型说明
idStringID
statusString交易状态
source_currencyString源币种
target_currencyString目标币种
source_amountf64源金额
target_amountf64目标金额
ratef64汇率
submit_timei64提交时间

示例


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
}


Did this page help you?