Documentation
¶
Index ¶
- func ConvertToString(text string, srcCode string, tagCode string) string
- func CurDirectory() string
- func Decimal(f float64, n int) float64
- func DoPrint(env, msg string)
- func Float64ToString(f float64) string
- func IntToString(i int) string
- func PathExists(path string) (bool, error)
- func StringToFloat64(str string) float64
- func StringToInt(str string) int
- func TransInputOrder(pOrder CThostFtdcInputOrderField) model.OrderInfo
- func TransOrderInfo(pOrder CThostFtdcOrderField) model.OrderInfo
- func TransPositionInfo(mInstrumentInfo model.InstrumentInfo, pField CThostFtdcInvestorPositionField) model.Position
- func TrimSpace(str string) string
- type CBFuncName
- type Config
- type CtpQuote
- func (q *CtpQuote) GetMdRequestId() int
- func (q *CtpQuote) Handler(name CBFuncName, data interface{})
- func (q *CtpQuote) IsError(pRspInfo CThostFtdcRspInfoField) bool
- func (q *CtpQuote) OnFrontConnected()
- func (q *CtpQuote) OnFrontDisconnected(nReason int)
- func (q *CtpQuote) OnRspSubMarketData(pField CThostFtdcSpecificInstrumentField, pRspInfo CThostFtdcRspInfoField, ...)
- func (q *CtpQuote) OnRspUnSubMarketData(pField CThostFtdcSpecificInstrumentField, pRspInfo CThostFtdcRspInfoField, ...)
- func (q *CtpQuote) OnRspUserLogin(pRspUserLogin CThostFtdcRspUserLoginField, pRspInfo CThostFtdcRspInfoField, ...)
- func (q *CtpQuote) OnRtnDepthMarketData(pField CThostFtdcDepthMarketDataField)
- func (q *CtpQuote) Register(name CBFuncName, cb func(interface{}))
- func (q *CtpQuote) ReqUserLogin()
- func (q *CtpQuote) Start()
- func (q *CtpQuote) Stop()
- func (q *CtpQuote) SubscribeMarketData(InstrumentID []string) int
- func (q *CtpQuote) UnSubscribeMarketData(InstrumentID []string) int
- type CtpTrade
- func (t *CtpTrade) FreshAll()
- func (t *CtpTrade) GetTraderRequestId() int
- func (q *CtpTrade) Handler(name CBFuncName, data interface{})
- func (t *CtpTrade) IsError(pRspInfo CThostFtdcRspInfoField) bool
- func (t *CtpTrade) OnErrRtnOrderAction(pField CThostFtdcOrderActionField, pRspInfo CThostFtdcRspInfoField)
- func (t *CtpTrade) OnFrontConnected()
- func (t *CtpTrade) OnFrontDisconnected(nReason int)
- func (t *CtpTrade) OnHeartBeatWarning(nTimeLapse int)
- func (t *CtpTrade) OnRspAuthenticate(pField CThostFtdcRspAuthenticateField, pRspInfo CThostFtdcRspInfoField, ...)
- func (t *CtpTrade) OnRspError(pField CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
- func (t *CtpTrade) OnRspOrderAction(pField CThostFtdcInputOrderActionField, pRspInfo CThostFtdcRspInfoField, ...)
- func (t *CtpTrade) OnRspOrderInsert(pField CThostFtdcInputOrderField, pRspInfo CThostFtdcRspInfoField, ...)
- func (t *CtpTrade) OnRspQryInstrument(pField CThostFtdcInstrumentField, pRspInfo CThostFtdcRspInfoField, ...)
- func (t *CtpTrade) OnRspQryInvestorPosition(pInvestorPosition CThostFtdcInvestorPositionField, ...)
- func (t *CtpTrade) OnRspQryOrder(pOrder CThostFtdcOrderField, pRspInfo CThostFtdcRspInfoField, nRequestID int, ...)
- func (t *CtpTrade) OnRspQryTradingAccount(pField CThostFtdcTradingAccountField, pRspInfo CThostFtdcRspInfoField, ...)
- func (t *CtpTrade) OnRspSettlementInfoConfirm(pField CThostFtdcSettlementInfoConfirmField, pRspInfo CThostFtdcRspInfoField, ...)
- func (t *CtpTrade) OnRspUserLogin(pField CThostFtdcRspUserLoginField, pRspInfo CThostFtdcRspInfoField, ...)
- func (t *CtpTrade) OnRtnOrder(pOrder CThostFtdcOrderField)
- func (t *CtpTrade) OnRtnTrade(pTrade CThostFtdcTradeField)
- func (t *CtpTrade) OrderCancel(instID string, OrderSysID string) int
- func (t *CtpTrade) Register(name CBFuncName, cb func(interface{}))
- func (t *CtpTrade) ReqAuthenticate()
- func (t *CtpTrade) ReqOrderClose(instId string, dir byte, price float64, volume int) int
- func (t *CtpTrade) ReqOrderOpen(instrument string, dir byte, price float64, volume int) int
- func (t *CtpTrade) ReqQryInstrument(instId, exchangeId, productId string) int
- func (t *CtpTrade) ReqQryInvestorPosition() int
- func (t *CtpTrade) ReqQryOrder() int
- func (t *CtpTrade) ReqQryTradingAccount() int
- func (t *CtpTrade) ReqSettlementInfoConfirm() int
- func (t *CtpTrade) ReqUserLogin()
- func (t *CtpTrade) Start()
- func (q *CtpTrade) Stop()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CurDirectory ¶
func CurDirectory() string
func PathExists ¶
func TransPositionInfo ¶
func TransPositionInfo(mInstrumentInfo model.InstrumentInfo, pField CThostFtdcInvestorPositionField) model.Position
获得持仓结构体数据
Types ¶
type CBFuncName ¶
type CBFuncName string
const ( TradeInitFinish CBFuncName = "TradeInitFinish" CBFNError CBFuncName = "RspInfoError" CBFNConnected CBFuncName = "OnConnected" CBFNDisConnected CBFuncName = "OnDisConnected" CBFNRspLogin CBFuncName = "RspLogin" CBFNRspAuth CBFuncName = "RspAuth" CBFNRspSettlementInfoConfirm CBFuncName = "CBFNRspSettlementInfoConfirm" CBFNOnRspSubMarket CBFuncName = "OnRspSubMarket" CBFNOnRspUnSubMarketData CBFuncName = "OnRspUnSubMarketData" CBFNOnRtnDepthMarketData CBFuncName = "OnRtnDepthMarketData" //tick CBFNOnRspQryInstrument CBFuncName = "OnRspQryInstrument" CBFNOnRspQryInstStatus CBFuncName = "OnRspQryInstStatus" CBFNOnRspQryTradingAccount CBFuncName = "OnRspQryTradingAccount" CBFNOnRspQryOrder CBFuncName = "OnRspQryOrder" CBFNOnRtnOrder CBFuncName = "OnRtnOrder" CBFNOnRspQryInvestorPosition CBFuncName = "OnRspQryInvestorPosition" CBFNOnRtnTrade CBFuncName = "OnRtnTrade" CBFNRspOrderInsert CBFuncName = "RspOrderInsert" CBFNOnRspOrderAction CBFuncName = "OnRspOrderAction" )
type CtpQuote ¶
type CtpQuote struct {
Conf Config
// 行情模块 api
QuoteApi CThostFtdcMdApi
TradingDay string // 当前交易日期
TradeMonth string // 当前交易月份
RequestId int // 行情请求编号
// 行情程序是否已登录过
IsMdLogin bool
Products []string // 需要接收行情的品种(大写)
CB map[CBFuncName]func(interface{}) //callback
// contains filtered or unexported fields
}
func (*CtpQuote) Handler ¶
func (q *CtpQuote) Handler(name CBFuncName, data interface{})
func (*CtpQuote) OnFrontConnected ¶
func (q *CtpQuote) OnFrontConnected()
当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。
func (*CtpQuote) OnFrontDisconnected ¶
当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 服务器已断线,该函数也会被调用。【api 会自动初始化程序,并重新登陆】
func (*CtpQuote) OnRspSubMarketData ¶
func (q *CtpQuote) OnRspSubMarketData(pField CThostFtdcSpecificInstrumentField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
订阅行情应答
func (*CtpQuote) OnRspUnSubMarketData ¶
func (q *CtpQuote) OnRspUnSubMarketData(pField CThostFtdcSpecificInstrumentField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
退订行情应答
func (*CtpQuote) OnRspUserLogin ¶
func (q *CtpQuote) OnRspUserLogin(pRspUserLogin CThostFtdcRspUserLoginField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
登录请求响应
func (*CtpQuote) OnRtnDepthMarketData ¶
func (q *CtpQuote) OnRtnDepthMarketData(pField CThostFtdcDepthMarketDataField)
深度行情通知
func (*CtpQuote) Register ¶
func (q *CtpQuote) Register(name CBFuncName, cb func(interface{}))
func (*CtpQuote) SubscribeMarketData ¶
订阅行情
func (*CtpQuote) UnSubscribeMarketData ¶
退订行情
type CtpTrade ¶
type CtpTrade struct {
Conf Config
// 交易模块 api
TraderApi CThostFtdcTraderApi
TradingDay string // 当前交易日期
TradeMonth string // 当前交易月份
RequestId int // 交易请求编号
IsTraderInit bool // 交易系统是否已经初始化了
// 交易程序是否初始化完成(自动完成如下动作:交易账号登陆、结算单确认、查询合约、查询资金账户、查询用户报单、查询用户持仓 后算完成)
IsTraderInitFinish bool
// 交易程序是否已登录过
IsTraderLogin bool
Account model.AccountInfo
Instruments sync.Map //合约信息
InstStatus sync.Map //合约状态
Orders sync.Map //报单记录
Positions sync.Map //持仓记录
Products []string // 需要接收行情的品种(大写)
LockOrder bool //订单状态需要刷新
LockPos bool //持仓需要刷新
LockAcc bool //账户需要刷新
CB map[CBFuncName]func(interface{}) //callback
// contains filtered or unexported fields
}
Ctp客户端、交易模块
func (*CtpTrade) Handler ¶
func (q *CtpTrade) Handler(name CBFuncName, data interface{})
func (*CtpTrade) OnErrRtnOrderAction ¶
func (t *CtpTrade) OnErrRtnOrderAction(pField CThostFtdcOrderActionField, pRspInfo CThostFtdcRspInfoField)
报单操作错误回报
func (*CtpTrade) OnFrontConnected ¶
func (t *CtpTrade) OnFrontConnected()
当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。
func (*CtpTrade) OnFrontDisconnected ¶
当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 服务器已断线,该函数也会被调用。【api 会自动初始化程序,并重新登陆】
func (*CtpTrade) OnHeartBeatWarning ¶
心跳超时警告。当长时间未收到报文时,该方法被调用。
func (*CtpTrade) OnRspAuthenticate ¶
func (t *CtpTrade) OnRspAuthenticate(pField CThostFtdcRspAuthenticateField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
客户端认证响应
func (*CtpTrade) OnRspError ¶
错误应答
func (*CtpTrade) OnRspOrderAction ¶
func (t *CtpTrade) OnRspOrderAction(pField CThostFtdcInputOrderActionField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
报单操作请求响应
func (*CtpTrade) OnRspOrderInsert ¶
func (t *CtpTrade) OnRspOrderInsert(pField CThostFtdcInputOrderField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
报单响应(综合交易平台交易核心返回的包含错误信息的报单响应)
func (*CtpTrade) OnRspQryInstrument ¶
func (t *CtpTrade) OnRspQryInstrument(pField CThostFtdcInstrumentField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
请求查询合约响应
func (*CtpTrade) OnRspQryInvestorPosition ¶
func (t *CtpTrade) OnRspQryInvestorPosition(pInvestorPosition CThostFtdcInvestorPositionField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
请求查询投资者持仓(汇总)响应
func (*CtpTrade) OnRspQryOrder ¶
func (t *CtpTrade) OnRspQryOrder(pOrder CThostFtdcOrderField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
请求查询投资者报单响应
func (*CtpTrade) OnRspQryTradingAccount ¶
func (t *CtpTrade) OnRspQryTradingAccount(pField CThostFtdcTradingAccountField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
请求查询资金账户响应
func (*CtpTrade) OnRspSettlementInfoConfirm ¶
func (t *CtpTrade) OnRspSettlementInfoConfirm(pField CThostFtdcSettlementInfoConfirmField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)
发送投资者结算单确认响应
func (*CtpTrade) OnRspUserLogin ¶
func (*CtpTrade) OnRtnTrade ¶
func (t *CtpTrade) OnRtnTrade(pTrade CThostFtdcTradeField)
成交通知(委托单在交易所成交了)
func (*CtpTrade) OrderCancel ¶
撤消报单
func (*CtpTrade) Register ¶
func (t *CtpTrade) Register(name CBFuncName, cb func(interface{}))
func (*CtpTrade) ReqOrderClose ¶
平仓
func (*CtpTrade) ReqOrderOpen ¶
开仓
func (*CtpTrade) ReqQryInstrument ¶
请求查询合约
func (*CtpTrade) ReqQryInvestorPosition ¶
请求查询投资者持仓(汇总)
func (*CtpTrade) ReqSettlementInfoConfirm ¶
投资者结算单确认
Click to show internal directories.
Click to hide internal directories.