444 lines
20 KiB
Protocol Buffer
444 lines
20 KiB
Protocol Buffer
|
|
syntax = "proto2";
|
|||
|
|
package Trd_Common;
|
|||
|
|
option java_package = "com.futu.openapi.pb";
|
|||
|
|
option go_package = "github.com/futuopen/ftapi4go/pb/trdcommon";
|
|||
|
|
|
|||
|
|
import "Common.proto";
|
|||
|
|
|
|||
|
|
//交易环境
|
|||
|
|
enum TrdEnv
|
|||
|
|
{
|
|||
|
|
TrdEnv_Simulate = 0; //仿真环境(模拟环境)
|
|||
|
|
TrdEnv_Real = 1; //真实环境
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//交易品类
|
|||
|
|
enum TrdCategory
|
|||
|
|
{
|
|||
|
|
TrdCategory_Unknown = 0; //未知品类
|
|||
|
|
TrdCategory_Security = 1; //证券
|
|||
|
|
TrdCategory_Future = 2; //期货
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//交易市场,是大的市场,不是具体品种
|
|||
|
|
enum TrdMarket
|
|||
|
|
{
|
|||
|
|
TrdMarket_Unknown = 0; //未知市场
|
|||
|
|
TrdMarket_HK = 1; //香港市场
|
|||
|
|
TrdMarket_US = 2; //美国市场
|
|||
|
|
TrdMarket_CN = 3; //大陆市场
|
|||
|
|
TrdMarket_HKCC = 4; //香港A股通市场
|
|||
|
|
TrdMarket_Futures = 5; //期货市场
|
|||
|
|
TrdMarket_SG = 6; //期货市场
|
|||
|
|
TrdMarket_AU = 8; //澳洲市场
|
|||
|
|
TrdMarket_Futures_Simulate_HK = 10; // 模拟交易期货市场
|
|||
|
|
TrdMarket_Futures_Simulate_US = 11;
|
|||
|
|
TrdMarket_Futures_Simulate_SG = 12;
|
|||
|
|
TrdMarket_Futures_Simulate_JP = 13;
|
|||
|
|
TrdMarket_JP = 15;
|
|||
|
|
TrdMarket_MY = 111;
|
|||
|
|
TrdMarket_CA = 112;
|
|||
|
|
TrdMarket_HK_Fund = 113; //香港基金市场
|
|||
|
|
TrdMarket_US_Fund = 123; //美国基金市场
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//可交易证券所属市场,目前主要是区分A股的沪市和深市,香港和美国暂不需要细分
|
|||
|
|
enum TrdSecMarket
|
|||
|
|
{
|
|||
|
|
TrdSecMarket_Unknown = 0; //未知市场
|
|||
|
|
TrdSecMarket_HK = 1; //香港市场(股票、窝轮、牛熊、期权、期货等)
|
|||
|
|
TrdSecMarket_US = 2; //美国市场(股票、期权、期货等)
|
|||
|
|
TrdSecMarket_CN_SH = 31; //沪股市场(股票)
|
|||
|
|
TrdSecMarket_CN_SZ = 32; //深股市场(股票)
|
|||
|
|
TrdSecMarket_SG = 41; //新加坡市场(期货)
|
|||
|
|
TrdSecMarket_JP = 51; //日本市场(期货)
|
|||
|
|
TrdSecMarket_AU = 61; // 澳大利亚
|
|||
|
|
TrdSecMarket_MY = 71; // 马来西亚
|
|||
|
|
TrdSecMarket_CA = 81; // 加拿大
|
|||
|
|
TrdSecMarket_FX = 91; // 外汇
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//交易方向
|
|||
|
|
enum TrdSide
|
|||
|
|
{
|
|||
|
|
//客户端下单只传Buy或Sell即可,SellShort是美股订单时服务器返回有此方向,BuyBack目前不存在,但也不排除服务器会传
|
|||
|
|
TrdSide_Unknown = 0; //未知方向
|
|||
|
|
TrdSide_Buy = 1; //买入
|
|||
|
|
TrdSide_Sell = 2; //卖出
|
|||
|
|
TrdSide_SellShort = 3; //卖空
|
|||
|
|
TrdSide_BuyBack = 4; //买回
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//订单类型
|
|||
|
|
enum OrderType
|
|||
|
|
{
|
|||
|
|
OrderType_Unknown = 0; //未知类型
|
|||
|
|
OrderType_Normal = 1; //普通订单(港股的增强限价单、港股期权的限价单,A股限价委托、美股的限价单,港股期货的限价单,CME期货的限价单)。目前港股期权只能指定此订单类型。
|
|||
|
|
OrderType_Market = 2; //市价订单(目前支持美股、港股正股、涡轮、牛熊、界内证)
|
|||
|
|
|
|||
|
|
OrderType_AbsoluteLimit = 5; //绝对限价订单(目前仅港股),只有价格完全匹配才成交,否则下单失败,比如你下价格为5元的买单,卖单价格必须也要是5元才能成交,低于5元也不能成交,下单失败。卖出同理
|
|||
|
|
OrderType_Auction = 6; //竞价订单(目前仅港股),仅港股早盘竞价和收盘竞价有效,A股的早盘竞价订单类型不变还是OrderType_Normal
|
|||
|
|
OrderType_AuctionLimit = 7; //竞价限价订单(目前仅港股),仅早盘竞价和收盘竞价有效,参与竞价,且要求满足指定价格才会成交
|
|||
|
|
OrderType_SpecialLimit = 8; //特别限价订单(目前仅港股),成交规则同增强限价订单,且部分成交后,交易所自动撤销订单
|
|||
|
|
OrderType_SpecialLimit_All = 9; //特别限价且要求全部成交订单(目前仅港股),要么全部成交,要么自动撤单
|
|||
|
|
OrderType_Stop = 10; // 止损市价单
|
|||
|
|
OrderType_StopLimit = 11; // 止损限价单
|
|||
|
|
OrderType_MarketifTouched = 12; // 触及市价单(止盈)
|
|||
|
|
OrderType_LimitifTouched = 13; // 触及限价单(止盈)
|
|||
|
|
OrderType_TrailingStop = 14; // 跟踪止损市价单
|
|||
|
|
OrderType_TrailingStopLimit = 15; // 跟踪止损限价单
|
|||
|
|
OrderType_TWAP_MARKET = 16; // TWAP 市价单
|
|||
|
|
OrderType_TWAP_LIMIT = 17; // TWAP 限订单
|
|||
|
|
OrderType_VWAP_MARKET = 18; // VWAP 市价单
|
|||
|
|
OrderType_VWAP_LIMIT = 19; // VWAP 限订单
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//跟踪类型
|
|||
|
|
enum TrailType
|
|||
|
|
{
|
|||
|
|
TrailType_Unknown = 0; //未知类型
|
|||
|
|
TrailType_Ratio = 1; //比例
|
|||
|
|
TrailType_Amount = 2; //金额
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//订单状态
|
|||
|
|
enum OrderStatus
|
|||
|
|
{
|
|||
|
|
OrderStatus_Unsubmitted = 0; //未提交
|
|||
|
|
OrderStatus_Unknown = -1; //未知状态
|
|||
|
|
OrderStatus_WaitingSubmit = 1; //等待提交
|
|||
|
|
OrderStatus_Submitting = 2; //提交中
|
|||
|
|
OrderStatus_SubmitFailed = 3; //提交失败,下单失败
|
|||
|
|
OrderStatus_TimeOut = 4; //处理超时,结果未知
|
|||
|
|
OrderStatus_Submitted = 5; //已提交,等待成交
|
|||
|
|
OrderStatus_Filled_Part = 10; //部分成交
|
|||
|
|
OrderStatus_Filled_All = 11; //全部已成
|
|||
|
|
OrderStatus_Cancelling_Part = 12; //正在撤单_部分(部分已成交,正在撤销剩余部分)
|
|||
|
|
OrderStatus_Cancelling_All = 13; //正在撤单_全部
|
|||
|
|
OrderStatus_Cancelled_Part = 14; //部分成交,剩余部分已撤单
|
|||
|
|
OrderStatus_Cancelled_All = 15; //全部已撤单,无成交
|
|||
|
|
OrderStatus_Failed = 21; //下单失败,服务拒绝
|
|||
|
|
OrderStatus_Disabled = 22; //已失效
|
|||
|
|
OrderStatus_Deleted = 23; //已删除,无成交的订单才能删除
|
|||
|
|
OrderStatus_FillCancelled = 24; //成交被撤销,一般遇不到,意思是已经成交的订单被回滚撤销,成交无效变为废单
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//一笔成交的状态
|
|||
|
|
enum OrderFillStatus
|
|||
|
|
{
|
|||
|
|
OrderFillStatus_OK = 0; //正常
|
|||
|
|
OrderFillStatus_Cancelled = 1; //成交被取消
|
|||
|
|
OrderFillStatus_Changed = 2; //成交被更改
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//持仓方向类型
|
|||
|
|
enum PositionSide
|
|||
|
|
{
|
|||
|
|
PositionSide_Long = 0; //多仓,默认情况是多仓
|
|||
|
|
PositionSide_Unknown = -1; //未知方向
|
|||
|
|
PositionSide_Short = 1; //空仓
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//修改订单的操作类型
|
|||
|
|
enum ModifyOrderOp
|
|||
|
|
{
|
|||
|
|
//港股支持全部操作,美股目前仅支持ModifyOrderOp_Normal和ModifyOrderOp_Cancel
|
|||
|
|
ModifyOrderOp_Unknown = 0; //未知操作
|
|||
|
|
ModifyOrderOp_Normal = 1; //修改订单的价格、数量等,即以前的改单
|
|||
|
|
ModifyOrderOp_Cancel = 2; //撤单
|
|||
|
|
ModifyOrderOp_Disable = 3; //失效
|
|||
|
|
ModifyOrderOp_Enable = 4; //生效
|
|||
|
|
ModifyOrderOp_Delete = 5; //删除
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//交易账户类型
|
|||
|
|
enum TrdAccType
|
|||
|
|
{
|
|||
|
|
TrdAccType_Unknown = 0; //未知类型
|
|||
|
|
TrdAccType_Cash = 1; //现金账户
|
|||
|
|
TrdAccType_Margin = 2; //保证金账户
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//交易账户状态
|
|||
|
|
enum TrdAccStatus
|
|||
|
|
{
|
|||
|
|
TrdAccStatus_Active = 0;
|
|||
|
|
TrdAccStatus_Disabled = 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//货币种类
|
|||
|
|
enum Currency
|
|||
|
|
{
|
|||
|
|
Currency_Unknown = 0; //未知货币
|
|||
|
|
Currency_HKD = 1; // 港币
|
|||
|
|
Currency_USD = 2; // 美元
|
|||
|
|
Currency_CNH = 3; // 离岸人民币
|
|||
|
|
Currency_JPY = 4; // 日元
|
|||
|
|
Currency_SGD = 5; // 新币
|
|||
|
|
Currency_AUD = 6; // 澳元
|
|||
|
|
Currency_CAD = 7; // 加拿大元
|
|||
|
|
Currency_MYR = 8; // 马来西亚林吉特
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//账户风险控制等级
|
|||
|
|
enum CltRiskLevel
|
|||
|
|
{
|
|||
|
|
CltRiskLevel_Unknown = -1; // 未知
|
|||
|
|
CltRiskLevel_Safe = 0; // 安全
|
|||
|
|
CltRiskLevel_Warning = 1; // 预警
|
|||
|
|
CltRiskLevel_Danger = 2; // 危险
|
|||
|
|
CltRiskLevel_AbsoluteSafe = 3; // 绝对安全
|
|||
|
|
CltRiskLevel_OptDanger = 4; // 危险, 期权相关
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//订单有效期
|
|||
|
|
enum TimeInForce
|
|||
|
|
{
|
|||
|
|
TimeInForce_DAY = 0; // 当日有效
|
|||
|
|
TimeInForce_GTC = 1; // 撤单前有效,最多持续90自然日。
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//券商
|
|||
|
|
enum SecurityFirm
|
|||
|
|
{
|
|||
|
|
SecurityFirm_Unknown = 0; //未知
|
|||
|
|
SecurityFirm_FutuSecurities = 1; //富途证券(香港)
|
|||
|
|
SecurityFirm_FutuInc = 2; //富途证券(美国)
|
|||
|
|
SecurityFirm_FutuSG = 3; //富途证券(新加坡)
|
|||
|
|
SecurityFirm_FutuAU = 4; //富途证券(澳洲)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//模拟交易账户类型
|
|||
|
|
enum SimAccType
|
|||
|
|
{
|
|||
|
|
SimAccType_Unknown = 0; //未知
|
|||
|
|
SimAccType_Stock = 1; //股票模拟账户(仅用于交易证券类产品,不支持交易期权)
|
|||
|
|
SimAccType_Option = 2; //期权模拟账户(仅用于交易期权,不支持交易股票证券类产品)
|
|||
|
|
SimAccType_Futures = 3; //期货模拟账户
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//风险状态,共分 9 个等级,LEVEL1是最安全,LEVEL9是最危险
|
|||
|
|
enum CltRiskStatus
|
|||
|
|
{
|
|||
|
|
CltRiskStatus_Unknown = 0; //未知
|
|||
|
|
CltRiskStatus_Level1 = 1; //非常安全
|
|||
|
|
CltRiskStatus_Level2 = 2; //安全
|
|||
|
|
CltRiskStatus_Level3 = 3; //较安全
|
|||
|
|
CltRiskStatus_Level4 = 4; //较低风险
|
|||
|
|
CltRiskStatus_Level5 = 5; //中等风险
|
|||
|
|
CltRiskStatus_Level6 = 6; //较高风险
|
|||
|
|
CltRiskStatus_Level7 = 7; //预警
|
|||
|
|
CltRiskStatus_Level8 = 8; //预警
|
|||
|
|
CltRiskStatus_Level9 = 9; //预警
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//日内交易限制情况
|
|||
|
|
enum DTStatus
|
|||
|
|
{
|
|||
|
|
DTStatus_Unknown = 0; //未知
|
|||
|
|
DTStatus_Unlimited = 1; //无限次(当前可以无限次日内交易,注意留意剩余日内交易购买力)
|
|||
|
|
DTStatus_EMCall = 2; //EM Call(当前状态不能新建仓位,需要补充资产净值至$25000以上,否则会被禁止新建仓位90天)
|
|||
|
|
DTStatus_DTCall = 3; //DT Call(当前状态有未补平的日内交易追缴金额(DTCall),需要在5个交易日内足额入金来补平 DTCall,否则会被禁止新建仓位,直到足额存入资金才会解禁)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//账户现金信息,目前仅用于期货账户
|
|||
|
|
message AccCashInfo
|
|||
|
|
{
|
|||
|
|
optional int32 currency = 1; // 货币类型,取值参考 Currency
|
|||
|
|
optional double cash = 2; // 现金结余
|
|||
|
|
optional double availableBalance = 3; // 现金可提金额
|
|||
|
|
optional double netCashPower = 4; // 现金购买力
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//分市场资产信息
|
|||
|
|
message AccMarketInfo
|
|||
|
|
{
|
|||
|
|
optional int32 trdMarket = 1; // 交易市场, 参见TrdMarket的枚举定义
|
|||
|
|
optional double assets = 2; // 分市场资产信息
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//交易协议公共参数头
|
|||
|
|
message TrdHeader
|
|||
|
|
{
|
|||
|
|
required int32 trdEnv = 1; //交易环境, 参见TrdEnv的枚举定义
|
|||
|
|
required uint64 accID = 2; //业务账号, 业务账号与交易环境、市场权限需要匹配,否则会返回错误
|
|||
|
|
required int32 trdMarket = 3; //交易市场, 参见TrdMarket的枚举定义
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//交易业务账户结构
|
|||
|
|
message TrdAcc
|
|||
|
|
{
|
|||
|
|
required int32 trdEnv = 1; //交易环境,参见TrdEnv的枚举定义
|
|||
|
|
required uint64 accID = 2; //业务账号
|
|||
|
|
repeated int32 trdMarketAuthList = 3; //业务账户支持的交易市场权限,即此账户能交易那些市场, 可拥有多个交易市场权限,目前仅单个,取值参见TrdMarket的枚举定义
|
|||
|
|
optional int32 accType = 4; //账户类型,取值见TrdAccType
|
|||
|
|
optional string cardNum = 5; //卡号
|
|||
|
|
optional int32 securityFirm = 6; //所属券商,取值见SecurityFirm
|
|||
|
|
optional int32 simAccType = 7; //模拟交易账号类型,取值见SimAccType
|
|||
|
|
optional string uniCardNum = 8; //所属综合账户卡号
|
|||
|
|
optional int32 accStatus = 9; //账号状态,取值见TrdAccStatus
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//账户资金结构
|
|||
|
|
message Funds
|
|||
|
|
{
|
|||
|
|
required double power = 1; //最大购买力(做多),3位精度,下同。
|
|||
|
|
required double totalAssets = 2; //资产净值
|
|||
|
|
required double cash = 3; //现金
|
|||
|
|
required double marketVal = 4; //证券市值, 仅证券账户适用
|
|||
|
|
required double frozenCash = 5; //冻结资金
|
|||
|
|
required double debtCash = 6; //计息金额
|
|||
|
|
required double avlWithdrawalCash = 7; //现金可提,仅证券账户适用
|
|||
|
|
|
|||
|
|
optional int32 currency = 8; //币种,本结构体资金相关的货币类型,取值参见 Currency,期货适用
|
|||
|
|
optional double availableFunds = 9; //可用资金,期货适用
|
|||
|
|
optional double unrealizedPL = 10; //未实现盈亏,期货适用
|
|||
|
|
optional double realizedPL = 11; //已实现盈亏,期货适用
|
|||
|
|
optional int32 riskLevel = 12; //风控状态,参见 CltRiskLevel, 期货适用
|
|||
|
|
optional double initialMargin = 13; //初始保证金
|
|||
|
|
optional double maintenanceMargin = 14; //维持保证金
|
|||
|
|
repeated AccCashInfo cashInfoList = 15; //分币种的现金信息,期货适用
|
|||
|
|
|
|||
|
|
optional double maxPowerShort = 16; //卖空购买力
|
|||
|
|
optional double netCashPower = 17; //现金购买力
|
|||
|
|
optional double longMv = 18; //多头市值
|
|||
|
|
optional double shortMv = 19; //空头市值
|
|||
|
|
optional double pendingAsset = 20; //在途资产
|
|||
|
|
optional double maxWithdrawal = 21; //融资可提,仅证券账户适用
|
|||
|
|
optional int32 riskStatus = 22; //风险状态,参见 [CltRiskStatus],证券账户适用,共分 9 个等级,LEVEL1是最安全,LEVEL9是最危险
|
|||
|
|
optional double marginCallMargin = 23; // Margin Call 保证金
|
|||
|
|
|
|||
|
|
optional bool isPdt = 24; //是否PDT账户,仅富途证券(美国)账户适用
|
|||
|
|
optional string pdtSeq = 25; //剩余日内交易次数
|
|||
|
|
optional double beginningDTBP = 26; //初始日内交易购买力
|
|||
|
|
optional double remainingDTBP = 27; //剩余日内交易购买力
|
|||
|
|
optional double dtCallAmount = 28; //日内交易待缴金额
|
|||
|
|
optional int32 dtStatus = 29; //日内交易限制情况,取值见DTStatus
|
|||
|
|
|
|||
|
|
optional double securitiesAssets = 30; // 证券资产净值
|
|||
|
|
optional double fundAssets = 31; // 基金资产净值
|
|||
|
|
optional double bondAssets = 32; // 债券资产净值
|
|||
|
|
|
|||
|
|
repeated AccMarketInfo marketInfoList = 33; //分市场资产信息
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//账户持仓结构
|
|||
|
|
message Position
|
|||
|
|
{
|
|||
|
|
required uint64 positionID = 1; //持仓ID,一条持仓的唯一标识
|
|||
|
|
required int32 positionSide = 2; //持仓方向,参见PositionSide的枚举定义
|
|||
|
|
required string code = 3; //代码
|
|||
|
|
required string name = 4; //名称
|
|||
|
|
required double qty = 5; //持有数量,2位精度,期权单位是"张",下同
|
|||
|
|
required double canSellQty = 6; //可卖数量
|
|||
|
|
required double price = 7; //市价,3位精度,期货为2位精度
|
|||
|
|
optional double costPrice = 8; //成本价,无精度限制,期货为2位精度,如果没传,代表此时此值无效,
|
|||
|
|
required double val = 9; //市值,3位精度, 期货此字段值为0
|
|||
|
|
required double plVal = 10; //盈亏金额,3位精度,期货为2位精度
|
|||
|
|
optional double plRatio = 11; //盈亏百分比(如plRatio等于8.8代表涨8.8%),无精度限制,如果没传,代表此时此值无效
|
|||
|
|
optional int32 secMarket = 12; //证券所属市场,参见TrdSecMarket的枚举定义
|
|||
|
|
|
|||
|
|
//以下是此持仓今日统计
|
|||
|
|
optional double td_plVal = 21; //今日盈亏金额,3位精度,下同, 期货为2位精度
|
|||
|
|
optional double td_trdVal = 22; //今日交易额,期货不适用
|
|||
|
|
optional double td_buyVal = 23; //今日买入总额,期货不适用
|
|||
|
|
optional double td_buyQty = 24; //今日买入总量,期货不适用
|
|||
|
|
optional double td_sellVal = 25; //今日卖出总额,期货不适用
|
|||
|
|
optional double td_sellQty = 26; //今日卖出总量,期货不适用
|
|||
|
|
|
|||
|
|
optional double unrealizedPL = 28; //未实现盈亏,期货适用
|
|||
|
|
optional double realizedPL = 29; //已实现盈亏,期货适用
|
|||
|
|
optional int32 currency = 30; // 货币类型,取值参考 Currency
|
|||
|
|
optional int32 trdMarket = 31; //交易市场, 参见TrdMarket的枚举定义
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//订单结构
|
|||
|
|
message Order
|
|||
|
|
{
|
|||
|
|
required int32 trdSide = 1; //交易方向, 参见TrdSide的枚举定义
|
|||
|
|
required int32 orderType = 2; //订单类型, 参见OrderType的枚举定义
|
|||
|
|
required int32 orderStatus = 3; //订单状态, 参见OrderStatus的枚举定义
|
|||
|
|
required uint64 orderID = 4; //订单号
|
|||
|
|
required string orderIDEx = 5; //扩展订单号(仅查问题时备用)
|
|||
|
|
required string code = 6; //代码
|
|||
|
|
required string name = 7; //名称
|
|||
|
|
required double qty = 8; //订单数量,2位精度,期权单位是"张"
|
|||
|
|
optional double price = 9; //订单价格,3位精度
|
|||
|
|
required string createTime = 10; //创建时间,严格按YYYY-MM-DD HH:MM:SS或YYYY-MM-DD HH:MM:SS.MS格式传
|
|||
|
|
required string updateTime = 11; //最后更新时间,严格按YYYY-MM-DD HH:MM:SS或YYYY-MM-DD HH:MM:SS.MS格式传
|
|||
|
|
optional double fillQty = 12; //成交数量,2位精度,期权单位是"张"
|
|||
|
|
optional double fillAvgPrice = 13; //成交均价,无精度限制
|
|||
|
|
optional string lastErrMsg = 14; //最后的错误描述,如果有错误,会有此描述最后一次错误的原因,无错误为空
|
|||
|
|
optional int32 secMarket = 15; //证券所属市场,参见TrdSecMarket的枚举定义
|
|||
|
|
optional double createTimestamp = 16; //创建时间戳
|
|||
|
|
optional double updateTimestamp = 17; //最后更新时间戳
|
|||
|
|
optional string remark = 18; //用户备注字符串,最大长度64字节
|
|||
|
|
optional int32 timeInForce = 19; //订单期限,参考 TimeInForce 类的定义
|
|||
|
|
optional bool fillOutsideRTH = 20; //是否允许美股订单盘前盘后成交
|
|||
|
|
optional double auxPrice = 21; //触发价格
|
|||
|
|
optional int32 trailType = 22; //跟踪类型, 参见Trd_Common.TrailType的枚举定义
|
|||
|
|
optional double trailValue = 23; //跟踪金额/百分比
|
|||
|
|
optional double trailSpread = 24; //指定价差
|
|||
|
|
optional int32 currency = 25; // 货币类型,取值参考 Currency
|
|||
|
|
optional int32 trdMarket = 26; //交易市场, 参见TrdMarket的枚举定义
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message OrderFeeItem
|
|||
|
|
{
|
|||
|
|
optional string title = 1; //费用名字
|
|||
|
|
optional double value = 2; //费用金额
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message OrderFee
|
|||
|
|
{
|
|||
|
|
required string orderIDEx = 1; //扩展订单号
|
|||
|
|
optional double feeAmount = 2; //费用总额
|
|||
|
|
repeated OrderFeeItem feeList = 3; //费用明细
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//成交结构
|
|||
|
|
message OrderFill
|
|||
|
|
{
|
|||
|
|
required int32 trdSide = 1; //交易方向, 参见TrdSide的枚举定义
|
|||
|
|
required uint64 fillID = 2; //成交号
|
|||
|
|
required string fillIDEx = 3; //扩展成交号(仅查问题时备用)
|
|||
|
|
optional uint64 orderID = 4; //订单号
|
|||
|
|
optional string orderIDEx = 5; //扩展订单号(仅查问题时备用)
|
|||
|
|
required string code = 6; //代码
|
|||
|
|
required string name = 7; //名称
|
|||
|
|
required double qty = 8; //成交数量,2位精度,期权单位是"张"
|
|||
|
|
required double price = 9; //成交价格,3位精度
|
|||
|
|
required string createTime = 10; //创建时间(成交时间),严格按YYYY-MM-DD HH:MM:SS或YYYY-MM-DD HH:MM:SS.MS格式传
|
|||
|
|
optional int32 counterBrokerID = 11; //对手经纪号,港股有效
|
|||
|
|
optional string counterBrokerName = 12; //对手经纪名称,港股有效
|
|||
|
|
optional int32 secMarket = 13; //证券所属市场,参见TrdSecMarket的枚举定义
|
|||
|
|
optional double createTimestamp = 14; //创建时间戳
|
|||
|
|
optional double updateTimestamp = 15; //最后更新时间戳
|
|||
|
|
optional int32 status = 16; //成交状态, 参见OrderFillStatus的枚举定义
|
|||
|
|
optional int32 trdMarket = 17; //交易市场, 参见TrdMarket的枚举定义
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//最大可交易数量
|
|||
|
|
message MaxTrdQtys
|
|||
|
|
{
|
|||
|
|
//因目前服务器实现的问题,卖空需要先卖掉持仓才能再卖空,是分开两步卖的,买回来同样是逆向两步;而看多的买是可以现金加融资一起一步买的,请注意这个差异
|
|||
|
|
required double maxCashBuy = 1; //不使用融资,仅自己的现金最大可买整手股数,期货此字段值为0
|
|||
|
|
optional double maxCashAndMarginBuy = 2; //使用融资,自己的现金 + 融资资金总共的最大可买整手股数,期货不适用
|
|||
|
|
required double maxPositionSell = 3; //不使用融券(卖空),仅自己的持仓最大可卖整手股数
|
|||
|
|
optional double maxSellShort = 4; //使用融券(卖空),最大可卖空整手股数,不包括多仓,期货不适用
|
|||
|
|
optional double maxBuyBack = 5; //卖空后,需要买回的最大整手股数。因为卖空后,必须先买回已卖空的股数,还掉股票,才能再继续买多。期货不适用
|
|||
|
|
optional double longRequiredIM = 6; //开多仓每张合约初始保证金。当前仅期货和期权适用(最低 FutuOpenD 版本要求:5.0.1310)
|
|||
|
|
optional double shortRequiredIM = 7; //开空仓每张合约初始保证金。当前仅期货和期权适用(最低 FutuOpenD 版本要求:5.0.1310)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//过滤条件,条件组合是"与"不是"或",用于获取订单、成交、持仓等时二次过滤
|
|||
|
|
message TrdFilterConditions
|
|||
|
|
{
|
|||
|
|
repeated string codeList = 1; //代码过滤,只返回包含这些代码的数据,没传不过滤
|
|||
|
|
repeated uint64 idList = 2; //ID主键过滤,只返回包含这些ID的数据,没传不过滤,订单是orderID、成交是fillID、持仓是positionID
|
|||
|
|
optional string beginTime = 3; //开始时间,严格按YYYY-MM-DD HH:MM:SS或YYYY-MM-DD HH:MM:SS.MS格式传,对持仓无效,拉历史数据必须填
|
|||
|
|
optional string endTime = 4; //结束时间,严格按YYYY-MM-DD HH:MM:SS或YYYY-MM-DD HH:MM:SS.MS格式传,对持仓无效,拉历史数据必须填
|
|||
|
|
repeated string orderIDExList = 5; // 服务器订单ID,可以用来替代orderID,二选一
|
|||
|
|
optional int32 filterMarket = 6; //指定交易市场, 参见TrdMarket的枚举定义
|
|||
|
|
}
|