Documentation ¶
Index ¶
- type Float
- type InstrumentPoint
- type Trade
- func (t *Trade) CancelOrder(localID int32) int
- func (t *Trade) ChangePassword(password, newPassword string) int
- func (t *Trade) FindOrders() int
- func (t *Trade) GetErrorMessage(errorCode int) string
- func (t *Trade) GetInstrumentByID(instrumentID string) unsafe.Pointer
- func (t *Trade) InsertOrder(instrument unsafe.Pointer, order XTFInputOrder) int
- func (t *Trade) Login() int
- func (t *Trade) Logout() int
- func (t *Trade) SetConfig(name, value string) int
- func (t *Trade) SetOnAccount()
- func (t *Trade) SetOnBookUpdate()
- func (t *Trade) SetOnCancelOrder()
- func (t *Trade) SetOnChangePassword()
- func (t *Trade) SetOnError()
- func (t *Trade) SetOnEvent()
- func (t *Trade) SetOnExchange()
- func (t *Trade) SetOnInstrument()
- func (t *Trade) SetOnLoadFinished()
- func (t *Trade) SetOnLogin()
- func (t *Trade) SetOnLogout()
- func (t *Trade) SetOnReadyForTrading()
- func (t *Trade) SetOnStart()
- func (t *Trade) SetOnStop()
- func (t *Trade) SetOnTrade()
- func (t *Trade) SetOrder()
- func (t *Trade) Start() int
- func (t *Trade) Stop() int
- func (t *Trade) Subscribe(instrumentID string) int
- func (t *Trade) UnSubscribe(instrumentID string) int
- func (t *Trade) UpdateBook(instrumentID string, lastPrice float64, bidPrice float64, bidVolume int, ...) int
- type TradePro
- func (t *TradePro) PrepareInstrument(instrumentID string)
- func (t *TradePro) Release()
- func (t *TradePro) ReqCancelOrder() int
- func (t *TradePro) ReqConnect(ip string, portTrade int, portQuote int) error
- func (t *TradePro) ReqLogin(accountID, password, appID, authCode string) error
- func (t *TradePro) ReqOrderInsert(instrumentID string, direct XTFDirection, offset XTFOffsetFlag, price float64, ...) (int32, error)
- func (t *TradePro) ReqOrderInsertFAK(instrumentID string, direct XTFDirection, offset XTFOffsetFlag, price float64, ...) (int32, error)
- func (t *TradePro) ReqOrderInsertFOK(instrumentID string, direct XTFDirection, offset XTFOffsetFlag, price float64, ...) (int32, error)
- func (t *TradePro) ReqOrderInsertWarm(instrumentID string, direct XTFDirection, offset XTFOffsetFlag, price float64, ...) (int32, error)
- type Uint32
- type XTFAccount
- type XTFAccountID
- type XTFChannelSelectionType
- type XTFDate
- type XTFDirection
- type XTFEvent
- type XTFExchange
- type XTFExchangeID
- type XTFInputOrder
- type XTFInstrument
- type XTFInstrumentID
- type XTFInstrumentStatus
- type XTFMarketData
- type XTFOffsetFlag
- type XTFOptionsType
- type XTFOrder
- type XTFOrderActionType
- type XTFOrderFlag
- type XTFOrderStatus
- type XTFOrderType
- type XTFTime
- type XTFTrade
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type InstrumentPoint ¶
type InstrumentPoint [8]byte
func (InstrumentPoint) String ¶
func (f InstrumentPoint) String() string
func (InstrumentPoint) Uint32 ¶
func (f InstrumentPoint) Uint32() uint32
type Trade ¶
type Trade struct { Instruments map[string]unsafe.Pointer OnStart func(errorCode int, isFirstTime bool) OnStop func(errorCode int) OnLogin func(errorCode int, exchangeCount int) OnLogout func(errorCode int) OnChangePassword func(errorCode int) OnReadyForTrading func(account *XTFAccount) OnLoadFinished func(account *XTFAccount) OnOrder func(errorCode int, order *XTFOrder) OnCancelOrder func(errorCode int, cancelOrder *XTFOrder) OnTrade func(trade *XTFTrade) // 账户信息发生变化时回调该接口,如:出入金变化 OnAccount func(event int, action int, account *XTFAccount) // 交易所信息发生变化时回调该接口,如:交易所前置变化 OnExchange func(event int, action int, exchange *XTFExchange) // 合约属性发生变化时回调该接口,如:状态变化 OnInstrument func(event int, instrument *XTFInstrument) OnBookUpdate func(book *XTFMarketData) OnEvent func(event *XTFEvent) OnError func(errorCode int) // contains filtered or unexported fields }
func (*Trade) CancelOrder ¶
func (*Trade) ChangePassword ¶
func (*Trade) FindOrders ¶
func (*Trade) GetErrorMessage ¶
func (*Trade) GetInstrumentByID ¶
func (*Trade) InsertOrder ¶
func (t *Trade) InsertOrder(instrument unsafe.Pointer, order XTFInputOrder) int
InsertOrder 委托
@receiver t @param instrument 合约指针(需要用 t.GetInstrumentByID("合约代码") 获取) @param order 委托参数 @return int 返回值:0 正确,其他 错误
func (*Trade) SetConfig ¶
*
- 设置会话参数 *
- 应在启动会话之前设置参数,启动之后设置的参数不会生效。 *
- 会话参数名称列表:
- "ACCOUNT_ID":资金账户ID
- "ACCOUNT_PWD":资金账户密码
- "APP_ID":应用程序ID
- "AUTH_CODE":认证授权码
- "TRADE_SERVER_IP":交易服务地址
- "TRADE_SERVER_PORT":交易服务端口
- "QUERY_SERVER_IP":查询服务地址
- "QUERY_SERVER_PORT":查询服务端口
- "HEARTBEAT_INTERVAL":心跳间隔时间,单位:毫秒
- "HEARTBEAT_TIMEOUT":心跳超时时间,单位:毫秒
- "TCP_RECONNECT_ENABLED":TCP断开后是否重连
- "TCP_RETRY_INTERVAL":TCP重连最小间隔时间,单位:毫秒
- "TCP_RETRY_INTERVAL_MAX":TCP重连最大间隔时间,单位:毫秒
- "TCP_RETRY_COUNT":TCP重连次数
- "TCP_WORKER_CORE_ID":数据收发线程绑核
- "TCP_WORKER_BUSY_LOOP_ENABLED":数据收发线程是否启用BusyLoop模式运行
- "TRADE_WORKER_CORE_ID":报单处理线程绑核
- "TASK_WORKER_CORE_ID":通用任务线程绑核
- "POSITION_CALC_ENABLED":是否计算仓位
- "MONEY_CALC_ENABLED":是否计算资金,如果启用资金计算,会默认启用仓位计算
- "HISTORY_ONLY_CALC_ENABLED":是否仅计算历史流水的资金和仓位,如果启用,那么历史流水追平后,将不再计算资金和仓位
- "WARM_INTERVAL":预热时间间隔,取值范围:[10,50],单位:毫秒
- "ORDER_MT_ENABLED":是否启用多线程报单功能 *
- 用户也可以设置自己的参数,以便在需要的地方使用 getConfig() 接口进行获取。
- 会话内部不使用这部分用户参数,仅对其临时存储。 *
- @param name 参数名称
- @param value 参数值
- @return 参数配置成功或失败
func (*Trade) SetOnAccount ¶
func (t *Trade) SetOnAccount()
func (*Trade) SetOnBookUpdate ¶
func (t *Trade) SetOnBookUpdate()
func (*Trade) SetOnCancelOrder ¶
func (t *Trade) SetOnCancelOrder()
func (*Trade) SetOnChangePassword ¶
func (t *Trade) SetOnChangePassword()
func (*Trade) SetOnError ¶
func (t *Trade) SetOnError()
func (*Trade) SetOnEvent ¶
func (t *Trade) SetOnEvent()
func (*Trade) SetOnExchange ¶
func (t *Trade) SetOnExchange()
func (*Trade) SetOnInstrument ¶
func (t *Trade) SetOnInstrument()
func (*Trade) SetOnLoadFinished ¶
func (t *Trade) SetOnLoadFinished()
func (*Trade) SetOnLogin ¶
func (t *Trade) SetOnLogin()
func (*Trade) SetOnLogout ¶
func (t *Trade) SetOnLogout()
func (*Trade) SetOnReadyForTrading ¶
func (t *Trade) SetOnReadyForTrading()
func (*Trade) SetOnTrade ¶
func (t *Trade) SetOnTrade()
func (*Trade) UnSubscribe ¶
type TradePro ¶
func NewTradePro ¶
func NewTradePro() *TradePro
func (*TradePro) ReqCancelOrder ¶
func (*TradePro) ReqConnect ¶
func (*TradePro) ReqOrderInsert ¶
func (t *TradePro) ReqOrderInsert(instrumentID string, direct XTFDirection, offset XTFOffsetFlag, price float64, volume int) (int32, error)
ReqOrderInsert 限价单
@receiver t @param instrumentID @param direct @param offset @param price @param volume @return int
func (*TradePro) ReqOrderInsertFAK ¶
func (t *TradePro) ReqOrderInsertFAK(instrumentID string, direct XTFDirection, offset XTFOffsetFlag, price float64, volume int) (int32, error)
ReqOrderInsertFAK 部成撤单
@receiver t @param instrumentID @param direct @param offset @param price @param volume @return int
func (*TradePro) ReqOrderInsertFOK ¶
func (t *TradePro) ReqOrderInsertFOK(instrumentID string, direct XTFDirection, offset XTFOffsetFlag, price float64, volume int) (int32, error)
ReqOrderInsertFOK 全成全撤
@receiver t @param instrumentID @param direct @param offset @param price @param volume @return int
func (*TradePro) ReqOrderInsertWarm ¶
func (t *TradePro) ReqOrderInsertWarm(instrumentID string, direct XTFDirection, offset XTFOffsetFlag, price float64, volume int) (int32, error)
ReqOrderInsertWarm 预热单
@receiver t @param instrumentID @param direct @param offset @param price @param volume @return int
type XTFAccount ¶
type XTFAccount struct { AccountID XTFAccountID ///< 账户编码 PreBalance Float ///< 日初资金 StaticBalance Float ///< 静态权益 DeliveryMargin Float ///< 交割保证金 Deposit Float ///< 今日入金 Withdraw Float ///< 今日出金 Margin Float ///< 占用保证金,期权空头保证金目前支持昨结算价或报单价计算。 FrozenMargin Float ///< 冻结保证金 Premium Float ///< 权利金 FrozenPremium Float ///< 冻结权利金 Commission Float ///< 手续费 FrozenCommission Float ///< 冻结手续费 Balance Float ///< 动态权益:静态权益+持仓亏损+平仓盈亏-手续费+权利金 ///< 其中: ///< - 持仓盈亏出现亏损时为负数,计入动态权益与可用资金; ///< - 持仓盈亏盈利时为正数,不计入动态权益与可用。 Available Float ///< 可用资金:动态权益-占用保证金-冻结保证金-交割保证金-冻结权利金-冻结手续费 ///< 其中:占用保证金包含期权与期货 AvailableRatio Float ///< 资金可用限度 PositionProfit Float ///< 持仓盈亏,所有合约的持仓盈亏之和 CloseProfit Float ///< 平仓盈亏,所有合约的平仓盈亏之和 LastLocalOrderID int32 ///< 用户最后一次报单的本地编号 LastLocalActionID int32 ///< 用户最后一次撤单的本地编号 }
type XTFAccountID ¶
type XTFAccountID [20]byte
func (XTFAccountID) String ¶
func (e XTFAccountID) String() string
type XTFChannelSelectionType ¶
type XTFChannelSelectionType uint8
席位选择
const XTF_CS_Auto XTFChannelSelectionType = 0 ///< 不指定交易所席位链接
const XTF_CS_Fixed XTFChannelSelectionType = 1 ///< 指定交易所席位链接
const XTF_CS_Unknown XTFChannelSelectionType = 9 ///< 历史报单回报,无法确认报单通道选择类型
func (XTFChannelSelectionType) String ¶
func (e XTFChannelSelectionType) String() string
type XTFDirection ¶
type XTFDirection byte
买卖方向
const XFT_D_Buy XTFDirection = 1
const XFT_D_Invalid XTFDirection = 255
const XFT_D_Sell XTFDirection = 2
func (XTFDirection) String ¶
func (e XTFDirection) String() string
type XTFExchange ¶
type XTFExchange struct { ExchangeID XTFExchangeID ///< 交易所编码,字符串。比如:CFFEX,SHFE,DCE,CZCE等 ClientIndex uint8 ///< 裸协议报单需要使用该字段,每个交易所对应的值不同。 ClientToken Uint32 ///< 裸协议报单需要使用该字段,每个交易所对应的值不同。 TradingDay XTFDate ///< 交易日,整数字符串。比如:20220915 HasChannelIP bool ///< 是否支持席位编号IP地址查询,true表示支持IP地址查询 }
type XTFExchangeID ¶
type XTFExchangeID [12]byte
func (XTFExchangeID) String ¶
func (e XTFExchangeID) String() string
type XTFInputOrder ¶
type XTFInputOrder struct { LocalOrderID Uint32 //////< 本地报单编号(用户) Direction XTFDirection ///< 买卖方向 OffsetFlag XTFOffsetFlag ///< 开平仓标志 OrderType XTFOrderType ///< 限价/FAK/市价类型 OrderPrice Float ///< 报单价格 OrderVolume Uint32 ///< 报单数量 OrderMinVolume Uint32 ///< 最小成交数量 ChannelSelectionType XTFChannelSelectionType ///< 席位连接选择 ChannelID uint8 ///< 席位连接编号,0xFF表示无效值 OrderFlag XTFOrderFlag ///< 报单标志 Instrument [8]byte // 合约指针 }
type XTFInstrument ¶
type XTFInstrument struct { InstrumentID XTFInstrumentID ///< 合约代码 InstrumentIndex Uint32 ///< 合约序号 DeliveryYear int ///< 交割年份 DeliveryMonth int ///< 交割月份 MaxMarketOrderVolume int ///< 市价报单的最大报单量 MinMarketOrderVolume int ///< 市价报单的最小报单量 MaxLimitOrderVolume int ///< 限价报单的最大报单量 MinLimitOrderVolume int ///< 限价报单的最小报单量 PriceTick Float ///< 最小变动价位 Multiple int ///< 合约数量乘数 OptionsType XTFOptionsType ///< 期权类型 ExpireDate XTFDate ///< 合约到期日,字符串格式:20220915 SingleSideMargin bool ///< 是否单边计算保证金 Status XTFInstrumentStatus ///< 当前状态 }
type XTFInstrumentID ¶
type XTFInstrumentID [32]byte
func (XTFInstrumentID) String ¶
func (e XTFInstrumentID) String() string
type XTFInstrumentStatus ¶
type XTFInstrumentStatus uint8
合约状态
const XTF_IS_Alarm XTFInstrumentStatus = 10 ///< 自动转换报警
const XTF_IS_AuctionBalance XTFInstrumentStatus = 4 ///< 集合竞价价格平衡
const XTF_IS_AuctionMatch XTFInstrumentStatus = 5 ///< 集合竞价撮合
const XTF_IS_AuctionOrdering XTFInstrumentStatus = 3 ///< 集合竞价报单
const XTF_IS_BeforeTrading XTFInstrumentStatus = 0 ///< 开盘前
const XTF_IS_Closed XTFInstrumentStatus = 6 ///< 收盘
const XTF_IS_Continuous XTFInstrumentStatus = 2 ///< 连续交易
const XTF_IS_Invalid XTFInstrumentStatus = 255 ///< 无效值
const XTF_IS_NoTrading XTFInstrumentStatus = 1 ///< 非交易
const XTF_IS_TransactionMatchPause XTFInstrumentStatus = 8 ///< 集合竞价暂停
const XTF_IS_TransactionProcessing XTFInstrumentStatus = 7 ///< 交易业务处理
const XTF_IS_TransactionTradePause XTFInstrumentStatus = 9 ///< 连续交易暂停
func (XTFInstrumentStatus) String ¶
func (e XTFInstrumentStatus) String() string
type XTFMarketData ¶
type XTFMarketData struct { TradingDay int32 ///< 交易日 PreSettlementPrice Float ///< 前结算价 PreClosePrice Float ///< 前收盘价 PreOpenInterest Float ///< 前持仓量(暂未使用) UpperLimitPrice Float ///< 涨停价 LowerLimitPrice Float ///< 跌停价 LastPrice Float ///< 最新价(接入外部行情后有效) BidPrice Float ///< 买入价。为零代表无买入价(接入外部行情后有效) BidVolume int32 ///< 买入量。为零代表无买入价(接入外部行情后有效) AskPrice Float ///< 卖出价。为零代表无卖出价(接入外部行情后有效) AskVolume int32 ///< 卖出量。为零代表无卖出价(接入外部行情后有效) Volume int32 ///< 成交量(暂未使用) SnapTime int32 ///< 时间戳(暂未使用) Turnover Float ///< 成交金额(暂未使用) OpenInterest Float ///< 持仓量(暂未使用) AveragePrice Float ///< 行情均价(暂未使用) }
type XTFOffsetFlag ¶
type XTFOffsetFlag byte
开平标志
const XTF_OF_Close XTFOffsetFlag = 1 ///< 平仓
const XTF_OF_CloseToday XTFOffsetFlag = 3 ///< 平今
const XTF_OF_CloseYesterday XTFOffsetFlag = 4 ///< 平昨
const XTF_OF_ForceClose XTFOffsetFlag = 2 ///< 强平(暂不支持)
const XTF_OF_Invalid XTFOffsetFlag = 255 ///< 无效值
const XTF_OF_Open XTFOffsetFlag = 0 ///< 开仓
func (XTFOffsetFlag) String ¶
func (e XTFOffsetFlag) String() string
type XTFOptionsType ¶
type XTFOptionsType uint8
期权类型
const XTF_OT_CallOptions XTFOptionsType = 1 ///< 看涨
const XTF_OT_NotOptions XTFOptionsType = 0 ///< 非期权
const XTF_OT_PutOptions XTFOptionsType = 2 ///< 看跌
func (XTFOptionsType) String ¶
func (e XTFOptionsType) String() string
type XTFOrder ¶
type XTFOrder struct { SysOrderID int32 ///< 柜台流水号 LocalOrderID int32 ///< 用户填写的本地报单号,必须保证唯一性,否则会产生回报错误 ///< 错误为1172“请求中的报单编号不存在”时,返回0,其他情况返回订单真实编号 ///< 保留的特殊本地单号: ///< 1. 非本柜台报单固定为0x88888888; ///< 2. 柜台清流启动后的历史报单固定为0xd8888888; ///< 3. 柜台平仓报单固定为0xe8888888; ExchangeOrderID int64 ///< 交易所报单编号 Direction XTFDirection ///< 买卖方向 OffsetFlag XTFOffsetFlag ///< 开平仓标志 OrderPrice Float ///< 报单价格 OrderVolume Uint32 ///< 报单数量 OrderMinVolume Uint32 ///< 最小成交数量 TotalTradedVolume Uint32 ///< 报单累计已成交数量 OrderType XTFOrderType ///< 限价/FAK/市价类型 OrderFlag XTFOrderFlag ///< 报单标志 ChannelSelectionType XTFChannelSelectionType ///< 席位连接选择 ChannelID uint8 ///< 席位连接编号,0xFF表示无效值 RealChannelID uint8 ///< 实际席位连接编号,由柜台返回,0xFF表示无效值 OrderStatus XTFOrderStatus ///< 报单状态 InsertDate XTFDate ///< 报单插入日期,字符串格式:20220915 InsertTime XTFTime ///< 报单插入时间,字符串格式:10:20:30 UpdateTime XTFTime ///< 报单更新时间,字符串格式:10:20:30 CancelTime XTFTime ///< 报单撤单时间,字符串格式:10:20:boolisHistory 30 IsHistory bool ///< 回报链路断开重连后或者程序重启后,客户端API会自动进行流水重构, ///< 在追平服务器流水之前收到的报单回报,该字段为true。追平流水之后,该字段为false。 ///< 如对流水重构的回报不需要特殊处理,可不用处理该字段。 IsSuspende bool ///< 报单是否挂起(暂未使用) Instrument InstrumentPoint ///< 所属XTFInstrument的指针。如果报单传入的合约不存在,那么合约对象指针可能为空。 ActionType XTFOrderActionType ///< 报单对象对应的操作类型(比如:报单、撤单、挂起、激活等),只读字段,外部调用不需要设置该字段。 }
type XTFOrderActionType ¶
type XTFOrderActionType uint8
报单操作类型
const XTF_OA_Cancel XTFOrderActionType = 2 ///< 撤销报单
const XTF_OA_Insert XTFOrderActionType = 1 ///< 插入报单
const XTF_OA_Invalid XTFOrderActionType = 255 ///< 无效的报单操作
const XTF_OA_Resume XTFOrderActionType = 4 ///< 恢复报单(暂未使用)
const XTF_OA_Return XTFOrderActionType = 9 ///< 报单回报
const XTF_OA_Suspend XTFOrderActionType = 3 ///< 挂起报单(暂未使用)
const XTF_OA_Update XTFOrderActionType = 5 ///< 更新报单(暂未使用)
func (XTFOrderActionType) String ¶
func (e XTFOrderActionType) String() string
type XTFOrderFlag ¶
type XTFOrderFlag uint8
报单标志
const XTF_ODF_CombinePosition XTFOrderFlag = 1 ///< 组合持仓
const XTF_ODF_Invalid XTFOrderFlag = 255 ///< 无效值
const XTF_ODF_Normal XTFOrderFlag = 0 ///< 普通报单
const XTF_ODF_Warm XTFOrderFlag = 254 ///< 预热报单
func (XTFOrderFlag) String ¶
func (e XTFOrderFlag) String() string
type XTFOrderStatus ¶
type XTFOrderStatus uint8
报单状态
const XTF_OS_AllTraded XTFOrderStatus = 5 ///< 完全成交
const XTF_OS_Canceled XTFOrderStatus = 3 ///< 报单已被撤销,可能是客户主动撤销,也可能是IOC报单被交易所系统自动撤销
const XTF_OS_Invalid XTFOrderStatus = 255 ///< 无效值
const XTF_OS_PartTraded XTFOrderStatus = 4 ///< 部分成交
const XTF_OS_Queuing XTFOrderStatus = 2 ///< 报单未成交,进入队列等待撮合,IOC订单无此状态
const XTF_OS_Rejected XTFOrderStatus = 6 ///< 报单被柜台或交易所拒绝,错误码通过onOrder事件的errorCode参数返回,根据API手册或者官方文档平台错误码说明得到具体原因
func (XTFOrderStatus) String ¶
func (e XTFOrderStatus) String() string
type XTFOrderType ¶
type XTFOrderType uint8
报单类型
const XTF_ODT_FAK XTFOrderType = 1 ///< FAK报单(限价)
const XTF_ODT_FOK XTFOrderType = 2 ///< FOK报单(限价)
const XTF_ODT_Invalid XTFOrderType = 255 ///< 无效值
const XTF_ODT_Limit XTFOrderType = 0 ///< GFD报单(限价)
const XTF_ODT_Market XTFOrderType = 3 ///< 市价报单(暂不支持)
func (XTFOrderType) String ¶
func (e XTFOrderType) String() string
type XTFTrade ¶
type XTFTrade struct { TradeID int64 ///< 交易所成交编码 TradePrice Float ///< 成交价格 RadeVolume Uint32 ///< 本次回报已成交数量 Margin Float ///< 该字段已废弃 Commission Float ///< 本次回报已成交手数产生的手续费 TradeTime XTFTime ///< 报单成交时间,字符串格式:10:20:30 Direction XTFDirection ///< 买卖方向 OffsetFlag XTFOffsetFlag ///< 开平仓标志 IsHistory bool ///< 回报链路断开重连后或者程序重启后,客户端API会自动进行流水重构, ///< 在追平服务器流水之前收到的成交回报,该字段为true。追平流水之后,该字段为false。 ///< 如对流水重构的回报不需要特殊处理,可不用处理该字段。 Orde uintptr ///< 所属XTFOrder的指针 MatchTrad uintptr ///< 对手成交回报,如果不为空则表明自成交 }
Click to show internal directories.
Click to hide internal directories.