ctp

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2026 License: BSD-3-Clause Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCtp

func NewCtp(cfg exchange.Config, cltName string) (e exchange.Exchange, err error)

Types

type Config

type Config struct {
	TdServer string
	MdServer string
	BrokerID string
	User     string
	Password string
	AppID    string
	AuthCode string
	KlineUrl string
}

type CtpExchange

type CtpExchange struct {
	// contains filtered or unexported fields
}

func NewCtpExchange

func NewCtpExchange(cfg exchange.Config, cltName string) (c *CtpExchange, err error)

func (*CtpExchange) CancelAllOrders

func (c *CtpExchange) CancelAllOrders() (orders []*Order, err error)

func (*CtpExchange) CancelOrder

func (c *CtpExchange) CancelOrder(old *Order) (order *Order, err error)

func (*CtpExchange) GetKline

func (c *CtpExchange) GetKline(symbol, bSize string, start, end time.Time) (data []*Candle, err error)

Kline get klines

func (*CtpExchange) HasInit

func (c *CtpExchange) HasInit() bool

func (*CtpExchange) Info

func (c *CtpExchange) Info() exchange.ExchangeInfo

func (*CtpExchange) ProcessOrder

func (c *CtpExchange) ProcessOrder(act TradeAction) (ret *Order, err error)

for trade ProcessOrder process order

func (*CtpExchange) Start

func (c *CtpExchange) Start() error

func (*CtpExchange) Stop

func (c *CtpExchange) Stop() error

func (*CtpExchange) Symbols

func (b *CtpExchange) Symbols() (symbols []Symbol, err error)

func (*CtpExchange) Watch

func (c *CtpExchange) Watch(param exchange.WatchParam, fn exchange.WatchFn) (err error)

type MdSpi

type MdSpi struct {
	// contains filtered or unexported fields
}

func NewMdSpi

func NewMdSpi(cfg *Config, api *ctp.CThostFtdcMdApi) (spi *MdSpi, err error)

func (*MdSpi) OnFrontConnected

func (s *MdSpi) OnFrontConnected()

func (*MdSpi) OnFrontDisconnected

func (s *MdSpi) OnFrontDisconnected(nReason int)

func (*MdSpi) OnHeartBeatWarning

func (s *MdSpi) OnHeartBeatWarning(nTimeLapse int)

func (*MdSpi) OnRspError

func (s *MdSpi) OnRspError(pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*MdSpi) OnRspQryMulticastInstrument

func (s *MdSpi) OnRspQryMulticastInstrument(pMulticastInstrument *ctp.CThostFtdcMulticastInstrumentField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*MdSpi) OnRspSubForQuoteRsp

func (s *MdSpi) OnRspSubForQuoteRsp(pSpecificInstrument *ctp.CThostFtdcSpecificInstrumentField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*MdSpi) OnRspSubMarketData

func (s *MdSpi) OnRspSubMarketData(pSpecificInstrument *ctp.CThostFtdcSpecificInstrumentField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*MdSpi) OnRspUnSubForQuoteRsp

func (s *MdSpi) OnRspUnSubForQuoteRsp(pSpecificInstrument *ctp.CThostFtdcSpecificInstrumentField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*MdSpi) OnRspUnSubMarketData

func (s *MdSpi) OnRspUnSubMarketData(pSpecificInstrument *ctp.CThostFtdcSpecificInstrumentField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*MdSpi) OnRspUserLogin

func (s *MdSpi) OnRspUserLogin(pRspUserLogin *ctp.CThostFtdcRspUserLoginField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*MdSpi) OnRspUserLogout

func (s *MdSpi) OnRspUserLogout(pUserLogout *ctp.CThostFtdcUserLogoutField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*MdSpi) OnRtnDepthMarketData

func (s *MdSpi) OnRtnDepthMarketData(pDepthMarketData *ctp.CThostFtdcDepthMarketDataField)

func (*MdSpi) OnRtnForQuoteRsp

func (s *MdSpi) OnRtnForQuoteRsp(pForQuoteRsp *ctp.CThostFtdcForQuoteRspField)

func (*MdSpi) SetMarketFn

func (s *MdSpi) SetMarketFn(fn func(*ctp.CThostFtdcDepthMarketDataField))

func (*MdSpi) WaitDisconnect

func (s *MdSpi) WaitDisconnect(closeChan chan bool)

func (*MdSpi) WaitLogin

func (s *MdSpi) WaitLogin(ctx context.Context) error

type TdSpi

type TdSpi struct {
	ctp.CThostFtdcTraderSpiBase
	// contains filtered or unexported fields
}

func NewTdSpi

func NewTdSpi(cfg *Config, api *ctp.CThostFtdcTraderApi) *TdSpi

func (*TdSpi) Connect

func (s *TdSpi) Connect(ctx context.Context) (err error)

func (*TdSpi) GetSymbols

func (s *TdSpi) GetSymbols() (symbols map[string]*ctp.CThostFtdcInstrumentField)

func (*TdSpi) OnErrRtnOrderAction

func (s *TdSpi) OnErrRtnOrderAction(pOrderAction *ctp.CThostFtdcOrderActionField, pRspInfo *ctp.CThostFtdcRspInfoField)

func (*TdSpi) OnErrRtnOrderInsert

func (s *TdSpi) OnErrRtnOrderInsert(pInputOrder *ctp.CThostFtdcInputOrderField, pRspInfo *ctp.CThostFtdcRspInfoField)

OnErrRtnOrderInsert 此接口仅在报单被 CTP 端拒绝时被调用用来进行报错。

func (*TdSpi) OnFrontConnected

func (s *TdSpi) OnFrontConnected()

func (*TdSpi) OnFrontDisconnected

func (s *TdSpi) OnFrontDisconnected(nReason int)

func (*TdSpi) OnRspAuthenticate

func (s *TdSpi) OnRspAuthenticate(pRspAuthenticateField *ctp.CThostFtdcRspAuthenticateField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*TdSpi) OnRspOrderAction

func (s *TdSpi) OnRspOrderAction(pInputOrderAction *ctp.CThostFtdcInputOrderActionField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*TdSpi) OnRspOrderInsert

func (s *TdSpi) OnRspOrderInsert(pInputOrder *ctp.CThostFtdcInputOrderField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

OnRspOrderInsert 报单录入请求响应,当执行ReqOrderInsert后有字段填写不对之类的CTP报错则通过此接口返回

func (*TdSpi) OnRspQryInstrument

func (s *TdSpi) OnRspQryInstrument(pInstrument *ctp.CThostFtdcInstrumentField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*TdSpi) OnRspQryInvestorPosition

func (s *TdSpi) OnRspQryInvestorPosition(pInvestorPosition *ctp.CThostFtdcInvestorPositionField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*TdSpi) OnRspQryInvestorPositionDetail

func (s *TdSpi) OnRspQryInvestorPositionDetail(pInvestorPositionDetail *ctp.CThostFtdcInvestorPositionDetailField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*TdSpi) OnRspQrySettlementInfo

func (s *TdSpi) OnRspQrySettlementInfo(pSettlementInfo *ctp.CThostFtdcSettlementInfoField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*TdSpi) OnRspQryTradingAccount

func (s *TdSpi) OnRspQryTradingAccount(pTradingAccount *ctp.CThostFtdcTradingAccountField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*TdSpi) OnRspSettlementInfoConfirm

func (s *TdSpi) OnRspSettlementInfoConfirm(pSettlementInfoConfirm *ctp.CThostFtdcSettlementInfoConfirmField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*TdSpi) OnRspUserLogin

func (s *TdSpi) OnRspUserLogin(pRspUserLogin *ctp.CThostFtdcRspUserLoginField, pRspInfo *ctp.CThostFtdcRspInfoField, nRequestID int, bIsLast bool)

func (*TdSpi) OnRtnInstrumentStatus

func (s *TdSpi) OnRtnInstrumentStatus(pInstrumentStatus *ctp.CThostFtdcInstrumentStatusField)

func (*TdSpi) OnRtnOrder

func (s *TdSpi) OnRtnOrder(pOrder *ctp.CThostFtdcOrderField)

{"BrokerID":"9999","InvestorID":"164347","InstrumentID":"al2201","OrderRef":"1","UserID":"164347","OrderPriceType":50,"Direction":48,"CombOffsetFlag":"0","CombHedgeFlag":"1","LimitPrice":18640,"VolumeTotalOriginal":1,"TimeCondition":51,"GTDDate":"","VolumeCondition":49,"MinVolume":1,"ContingentCondition":49,"StopPrice":0,"ForceCloseReason":48,"IsAutoSuspend":0,"BusinessUnit":"9999cac","RequestID":0,"OrderLocalID":" 12405","ExchangeID":"SHFE","ParticipantID":"9999","ClientID":"9999164327","ExchangeInstID":"al2201","TraderID":"9999cac","InstallID":1,"OrderSubmitStatus":48,"NotifySequence":0,"TradingDay":"20211117","SettlementID":1,"OrderSysID":" 29722","OrderSource":48,"OrderStatus":48,"OrderType":48,"VolumeTraded":1,"VolumeTotal":0,"InsertDate":"20211117","InsertTime":"00:08:49","ActiveTime":"","SuspendTime":"","UpdateTime":"","CancelTime":"","ActiveTraderID":"9999cac","ClearingPartID":"","SequenceNo":21573,"FrontID":1,"SessionID":2040216403,"UserProductInfo":"","StatusMsg":"全部成交报单已提交","UserForceClose":0,"ActiveUserID":"","BrokerOrderSeq":32344,"RelativeOrderSysID":"","ZCETotalTradedVolume":0,"IsSwapOrder":0,"BranchID":"","InvestUnitID":"","AccountID":"","CurrencyID":"","IPAddress":"","MacAddress":""}

func (*TdSpi) OnRtnTrade

func (s *TdSpi) OnRtnTrade(pTrade *ctp.CThostFtdcTradeField)

func (*TdSpi) SetOrderFn

func (s *TdSpi) SetOrderFn(fn func(*ctp.CThostFtdcOrderField))

func (*TdSpi) SetTradeFn

func (s *TdSpi) SetTradeFn(fn func(*ctp.CThostFtdcTradeField))

func (*TdSpi) WaitLogin

func (s *TdSpi) WaitLogin(ctx context.Context) (err error)

func (*TdSpi) WaitSymbols

func (s *TdSpi) WaitSymbols(ctx context.Context) (err error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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