ctp

package module
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

README

ctp

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertToString added in v1.0.8

func ConvertToString(text string, srcCode string, tagCode string) string

func CurDirectory added in v1.0.8

func CurDirectory() string

func Decimal added in v1.0.8

func Decimal(f float64, n int) float64

float64 保留几位小数点

func DoPrint added in v1.0.8

func DoPrint(env, msg string)

func Float64ToString added in v1.0.8

func Float64ToString(f float64) string

float64 转 string

func IntToString added in v1.0.8

func IntToString(i int) string

int 转 string

func PathExists added in v1.0.8

func PathExists(path string) (bool, error)

func StringToFloat64 added in v1.0.8

func StringToFloat64(str string) float64

string 转 float64

func StringToInt added in v1.0.8

func StringToInt(str string) int

string 转 int

func TransInputOrder added in v1.0.8

func TransInputOrder(pOrder CThostFtdcInputOrderField) model.OrderInfo

报单响应

func TransOrderInfo added in v1.0.8

func TransOrderInfo(pOrder CThostFtdcOrderField) model.OrderInfo

获得报单结构体数据

func TransPositionInfo added in v1.0.8

func TransPositionInfo(mInstrumentInfo model.InstrumentInfo, pField CThostFtdcInvestorPositionField) model.Position

获得持仓结构体数据

func TrimSpace added in v1.0.8

func TrimSpace(str string) string

去掉左右两边空格

Types

type CBFuncName added in v1.0.8

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 Config added in v1.0.8

type Config struct {
	TradeFront []string
	QuoteFront []string
	BrokerID   string
	Password   string
	UserID     string
	AppID      string
	AuthCode   string
	Products   []string
}

type CtpQuote added in v1.0.8

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 NewCtpQuote added in v1.0.8

func NewCtpQuote(env string, cfg Config, sPath string) *CtpQuote

func (*CtpQuote) GetMdRequestId added in v1.0.8

func (q *CtpQuote) GetMdRequestId() int

获得行情请求编号

func (*CtpQuote) Handler added in v1.0.8

func (q *CtpQuote) Handler(name CBFuncName, data interface{})

func (*CtpQuote) IsError added in v1.0.8

func (q *CtpQuote) IsError(pRspInfo CThostFtdcRspInfoField) bool

行情系统错误通知

func (*CtpQuote) OnFrontConnected added in v1.0.8

func (q *CtpQuote) OnFrontConnected()

当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。

func (*CtpQuote) OnFrontDisconnected added in v1.0.8

func (q *CtpQuote) OnFrontDisconnected(nReason int)

当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 服务器已断线,该函数也会被调用。【api 会自动初始化程序,并重新登陆】

func (*CtpQuote) OnRspSubMarketData added in v1.0.8

func (q *CtpQuote) OnRspSubMarketData(pField CThostFtdcSpecificInstrumentField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

订阅行情应答

func (*CtpQuote) OnRspUnSubMarketData added in v1.0.8

func (q *CtpQuote) OnRspUnSubMarketData(pField CThostFtdcSpecificInstrumentField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

退订行情应答

func (*CtpQuote) OnRspUserLogin added in v1.0.8

func (q *CtpQuote) OnRspUserLogin(pRspUserLogin CThostFtdcRspUserLoginField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

登录请求响应

func (*CtpQuote) OnRtnDepthMarketData added in v1.0.8

func (q *CtpQuote) OnRtnDepthMarketData(pField CThostFtdcDepthMarketDataField)

深度行情通知

func (*CtpQuote) Register added in v1.0.8

func (q *CtpQuote) Register(name CBFuncName, cb func(interface{}))

func (*CtpQuote) ReqUserLogin added in v1.0.8

func (q *CtpQuote) ReqUserLogin()

行情用户登录

func (*CtpQuote) Start added in v1.0.8

func (q *CtpQuote) Start()

func (*CtpQuote) Stop added in v1.0.8

func (q *CtpQuote) Stop()

func (*CtpQuote) SubscribeMarketData added in v1.0.8

func (q *CtpQuote) SubscribeMarketData(InstrumentID []string) int

订阅行情

func (*CtpQuote) UnSubscribeMarketData added in v1.0.8

func (q *CtpQuote) UnSubscribeMarketData(InstrumentID []string) int

退订行情

type CtpTrade added in v1.0.8

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 NewCtpTrade added in v1.0.8

func NewCtpTrade(env string, cfg Config, sPath string) *CtpTrade

func (*CtpTrade) FreshAll added in v1.0.8

func (t *CtpTrade) FreshAll()

func (*CtpTrade) GetTraderRequestId added in v1.0.8

func (t *CtpTrade) GetTraderRequestId() int

获得交易请求编号

func (*CtpTrade) Handler added in v1.0.8

func (q *CtpTrade) Handler(name CBFuncName, data interface{})

func (*CtpTrade) IsError added in v1.0.8

func (t *CtpTrade) IsError(pRspInfo CThostFtdcRspInfoField) bool

func (*CtpTrade) OnErrRtnOrderAction added in v1.0.8

func (t *CtpTrade) OnErrRtnOrderAction(pField CThostFtdcOrderActionField, pRspInfo CThostFtdcRspInfoField)

报单操作错误回报

func (*CtpTrade) OnFrontConnected added in v1.0.8

func (t *CtpTrade) OnFrontConnected()

当客户端与交易后台建立起通信连接时(还未登录前),该方法被调用。

func (*CtpTrade) OnFrontDisconnected added in v1.0.8

func (t *CtpTrade) OnFrontDisconnected(nReason int)

当客户端与交易后台通信连接断开时,该方法被调用。当发生这个情况后,API会自动重新连接,客户端可不做处理。 服务器已断线,该函数也会被调用。【api 会自动初始化程序,并重新登陆】

func (*CtpTrade) OnHeartBeatWarning added in v1.0.8

func (t *CtpTrade) OnHeartBeatWarning(nTimeLapse int)

心跳超时警告。当长时间未收到报文时,该方法被调用。

func (*CtpTrade) OnRspAuthenticate added in v1.0.8

func (t *CtpTrade) OnRspAuthenticate(pField CThostFtdcRspAuthenticateField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

客户端认证响应

func (*CtpTrade) OnRspError added in v1.0.8

func (t *CtpTrade) OnRspError(pField CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

错误应答

func (*CtpTrade) OnRspOrderAction added in v1.0.8

func (t *CtpTrade) OnRspOrderAction(pField CThostFtdcInputOrderActionField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

报单操作请求响应

func (*CtpTrade) OnRspOrderInsert added in v1.0.8

func (t *CtpTrade) OnRspOrderInsert(pField CThostFtdcInputOrderField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

报单响应(综合交易平台交易核心返回的包含错误信息的报单响应)

func (*CtpTrade) OnRspQryInstrument added in v1.0.8

func (t *CtpTrade) OnRspQryInstrument(pField CThostFtdcInstrumentField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

请求查询合约响应

func (*CtpTrade) OnRspQryInvestorPosition added in v1.0.8

func (t *CtpTrade) OnRspQryInvestorPosition(pInvestorPosition CThostFtdcInvestorPositionField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

请求查询投资者持仓(汇总)响应

func (*CtpTrade) OnRspQryOrder added in v1.0.8

func (t *CtpTrade) OnRspQryOrder(pOrder CThostFtdcOrderField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

请求查询投资者报单响应

func (*CtpTrade) OnRspQryTradingAccount added in v1.0.8

func (t *CtpTrade) OnRspQryTradingAccount(pField CThostFtdcTradingAccountField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

请求查询资金账户响应

func (*CtpTrade) OnRspSettlementInfoConfirm added in v1.0.8

func (t *CtpTrade) OnRspSettlementInfoConfirm(pField CThostFtdcSettlementInfoConfirmField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

发送投资者结算单确认响应

func (*CtpTrade) OnRspUserLogin added in v1.0.8

func (t *CtpTrade) OnRspUserLogin(pField CThostFtdcRspUserLoginField, pRspInfo CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*CtpTrade) OnRtnOrder added in v1.0.8

func (t *CtpTrade) OnRtnOrder(pOrder CThostFtdcOrderField)

报单通知(委托单)

func (*CtpTrade) OnRtnTrade added in v1.0.8

func (t *CtpTrade) OnRtnTrade(pTrade CThostFtdcTradeField)

成交通知(委托单在交易所成交了)

func (*CtpTrade) OrderCancel added in v1.0.8

func (t *CtpTrade) OrderCancel(instID string, OrderSysID string) int

撤消报单

func (*CtpTrade) Register added in v1.0.8

func (t *CtpTrade) Register(name CBFuncName, cb func(interface{}))

func (*CtpTrade) ReqAuthenticate added in v1.0.8

func (t *CtpTrade) ReqAuthenticate()

客户端认证

func (*CtpTrade) ReqOrderClose added in v1.0.8

func (t *CtpTrade) ReqOrderClose(instId string, dir byte, price float64, volume int) int

平仓

func (*CtpTrade) ReqOrderOpen added in v1.0.8

func (t *CtpTrade) ReqOrderOpen(instrument string, dir byte, price float64, volume int) int

开仓

func (*CtpTrade) ReqQryInstrument added in v1.0.8

func (t *CtpTrade) ReqQryInstrument(instId, exchangeId, productId string) int

请求查询合约

func (*CtpTrade) ReqQryInvestorPosition added in v1.0.8

func (t *CtpTrade) ReqQryInvestorPosition() int

请求查询投资者持仓(汇总)

func (*CtpTrade) ReqQryOrder added in v1.0.8

func (t *CtpTrade) ReqQryOrder() int

请求查询投资者报单(委托单)

func (*CtpTrade) ReqQryTradingAccount added in v1.0.8

func (t *CtpTrade) ReqQryTradingAccount() int

请求查询资金账户

func (*CtpTrade) ReqSettlementInfoConfirm added in v1.0.8

func (t *CtpTrade) ReqSettlementInfoConfirm() int

投资者结算单确认

func (*CtpTrade) ReqUserLogin added in v1.0.8

func (t *CtpTrade) ReqUserLogin()

用户登录请求

func (*CtpTrade) Start added in v1.0.8

func (t *CtpTrade) Start()

func (*CtpTrade) Stop added in v1.0.8

func (q *CtpTrade) Stop()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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