goxele

package module
v0.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2023 License: MIT Imports: 9 Imported by: 0

README

艾科朗克

介绍

艾科朗克接口

安装教程

  1. 复制 lib 目录到程序目录下

使用说明

package goxele

import (
	"fmt"
	"testing"
	"time"
)

func TestPro(t *testing.T) {
	fmt.Println("starting ...")
	p := NewTradePro()
	p.OnOrder = func(errorCode int, order *XTFOrder) {
		if !order.IsHistory {
			fmt.Printf("%+v\n", order)
		}
	}
	p.OnTrade = func(trade *XTFTrade) {
		if !trade.IsHistory {
			fmt.Printf("%+v\n", trade)
		}
	}
	p.OnCancelOrder = func(errorCode int, cancelOrder *XTFOrder) {
		if !cancelOrder.IsHistory {
			fmt.Printf("%+v\n", cancelOrder)
		}
	}
	p.OnBookUpdate = func(book *XTFMarketData) {
		fmt.Printf("%+v\n", book)
	}

	err := p.ReqConnect("218.94.105.246", 62000, 53333)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("连接成功")
	err = p.ReqLogin("41015541", "111111", "client_TraderAPI_4.1", "f0b3c35302f5828f")
	if err != nil {
		fmt.Println(err)
		return
	}

	res := p.Subscribe("rb230")
	if res != 0 {
		fmt.Println(res, p.GetErrorMessage(res))
		return
	}
	time.Sleep(3 * time.Second)
	p.UpdateBook("rb2305", 1, 2, 3, 4, 5)
	// id, err := p.ReqOrderInsert("rb2305", XFT_D_Sell, XTF_OF_Open, 11680, 5)
	// if err != nil {
	// 	fmt.Println(err)
	// 	return
	// }
	// fmt.Println("委托成功, localID: ", id)
	// time.Sleep(1 * time.Second)
	// fmt.Println("撤单")
	// p.ReqCancelOrder()
	select {}
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Float

type Float [8]byte

func (Float) Float64

func (f Float) Float64() float64

func (Float) FromFloat64

func (f Float) FromFloat64(value float64) Float

func (Float) String

func (f Float) String() string

type InstrumentPoint

type InstrumentPoint [8]byte

func (InstrumentPoint) String

func (f InstrumentPoint) String() string

func (InstrumentPoint) Uint64 added in v0.0.6

func (f InstrumentPoint) Uint64() uint64

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 NewTrade

func NewTrade() *Trade

func (*Trade) CancelOrder

func (t *Trade) CancelOrder(localID int32) int

func (*Trade) ChangePassword

func (t *Trade) ChangePassword(password, newPassword string) int

func (*Trade) FindOrders

func (t *Trade) FindOrders() int

func (*Trade) GetErrorMessage

func (t *Trade) GetErrorMessage(errorCode int) string

func (*Trade) GetInstrumentByID

func (t *Trade) GetInstrumentByID(instrumentID string) unsafe.Pointer

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) Login

func (t *Trade) Login() int

func (*Trade) Logout

func (t *Trade) Logout() int

func (*Trade) SetConfig

func (t *Trade) SetConfig(name, value string) int

*

  • 设置会话参数 *
  • 应在启动会话之前设置参数,启动之后设置的参数不会生效。 *
  • 会话参数名称列表:
  • "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) SetOnStart

func (t *Trade) SetOnStart()

--------- 响应 -------------

func (*Trade) SetOnStop

func (t *Trade) SetOnStop()

func (*Trade) SetOnTrade

func (t *Trade) SetOnTrade()

func (*Trade) SetOrder

func (t *Trade) SetOrder()

func (*Trade) Start

func (t *Trade) Start() int

func (*Trade) Stop

func (t *Trade) Stop() int

func (*Trade) Subscribe

func (t *Trade) Subscribe(instrumentID string) int

func (*Trade) UnSubscribe

func (t *Trade) UnSubscribe(instrumentID string) int

func (*Trade) UpdateBook

func (t *Trade) UpdateBook(instrumentID string, lastPrice float64, bidPrice float64, bidVolume int, askPrice float64, askVolume int) int

type TradePro

type TradePro struct {
	*Trade
	LocalID uint32
	// contains filtered or unexported fields
}

func NewTradePro

func NewTradePro() *TradePro

func (*TradePro) PrepareInstrument

func (t *TradePro) PrepareInstrument(instrumentID string)

PrepareInstrument 为委托准备合约

@receiver t
@param instrumentID 合约ID

func (*TradePro) Release added in v0.0.6

func (t *TradePro) Release()

func (*TradePro) ReqCancelOrder

func (t *TradePro) ReqCancelOrder() int

func (*TradePro) ReqConnect

func (t *TradePro) ReqConnect(ip string, portTrade int, portQuote int) error

func (*TradePro) ReqLogin

func (t *TradePro) ReqLogin(accountID, password, appID, authCode string) error

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) ReqOrderInsertFAK2 added in v0.0.7

func (t *TradePro) ReqOrderInsertFAK2(instrument unsafe.Pointer, direct XTFDirection, offset XTFOffsetFlag, price float64, volume int) (int32, error)

ReqOrderInsertFAK2 合约用指针(避免map错误)

@receiver t
@param instrument
@param direct
@param offset
@param price
@param volume
@return int32
@return error

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 Uint32

type Uint32 [4]byte

func (Uint32) FromUint32

func (u Uint32) FromUint32(value uint32) Uint32

func (Uint32) String

func (u Uint32) String() string

func (Uint32) Uint32

func (u Uint32) Uint32() uint32

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 XTFDate

type XTFDate [9]byte

func (XTFDate) String

func (e XTFDate) 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 XTFEvent

type XTFEvent struct {
	TradingDay [9]byte   ///< 通知事件日期(交易日)
	EventTime  [9]byte   ///< 通知事件时间
	EventType  int32     ///< 通知事件类型
	EventID    int32     ///< 通知事件ID
	EventLen   int32     ///< 通知事件数据长度
	EventData  [256]byte ///< 通知事件的数据
	Reserve    [2]byte   ///< 预留字段
}

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 XTFTime

type XTFTime [9]byte

func (XTFTime) String

func (e XTFTime) 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 ///< 对手成交回报,如果不为空则表明自成交
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL