Documentation
¶
Overview ¶
Package gotdx 通用行情订阅工厂:对任意数据源建立"轮询 diff 推送"订阅。
工厂与具体的查询方法解耦:调用方提供拉取函数(`Fetch`)与可选的变化判定 (`Changed`),工厂负责按间隔轮询、快照对比与变化回调,因此 K 线、分时、逐笔、 指数、扩展市场等所有查询能力都可以用同一套订阅语义接入,无需为每种数据单独 实现推送循环。
基座能力:
- 高吞吐:相同 `Key` 的订阅合并到同一个轮询任务,一次拉取服务多个处理函数, 避免对服务器重复轮询;不同数据源的任务并行拉取。
- 高性能:轮询间隔每轮实时读取,间隔缩小无需重建任务循环;任务状态 (快照、处理函数列表)按锁分区管理,回调期间订阅增删不影响本次推送。
- 安全:拉取与回调均做异常隔离,单个订阅 panic 不影响其他订阅与进程;取消、 客户端关闭、工厂关闭均可及时收敛轮询循环,不泄漏 goroutine。
Package gotdx 是通达信行情协议的 Go 客户端库,覆盖主行情、扩展市场、MAC 板块与统一行情、F10 与文件接口。
本包提供两套互补的调用入口:
- 高层统一接口:`Stock`*、`Ex`*、`MAC`*、`Goods`* 系列方法,将协议细节封装为简洁的 Go 调用, 适合跨市场监控与数据抓取;
- 底层协议接口:`Get`*、`ExGet`*、`MACGet`* 系列方法,直接暴露请求构造与响应解码, 适合需要控制协议细节的场景。
客户端通过 `New` 构造,并以 `Option` 配置主站、扩展站、MAC 站地址、地址池、超时与重试行为; 内置常用站点地址列表并支持 TCP 测速自动选择最快节点。`Client` 的方法可并发调用,内部串行化 同一连接的请求收发。
市场与周期等共享枚举定义在 `types` 子包,协议请求与响应定义在 `proto` 子包; 仓库还附带可直接运行的示例(`examples`)与可视化查询工具(`cmd/webviewer`)。
Index ¶
- Constants
- Variables
- func BrokerHostAddresses() []string
- func DefaultMACBoardMembersQuotesFieldBitmap() [20]byte
- func DefaultMACSymbolQuotesFieldBitmap() [20]byte
- func ExHostAddresses() []string
- func FullMACBoardMembersQuotesFieldBitmap() [20]byte
- func FullMACSymbolQuotesFieldBitmap() [20]byte
- func ICFQSHostAddresses() []string
- func MACBoardMembersQuotesFieldBitmapFromBits(bits ...int) [20]byte
- func MACBoardMembersQuotesRequestBitmap(fieldBitmap [20]byte, filters ...MACFilterType) [20]byte
- func MACExHostAddresses() []string
- func MACFieldBitmap(selectors ...MACFieldSelector) [20]byte
- func MACFilterFlags(filters ...MACFilterType) uint8
- func MACHostAddresses() []string
- func MACSymbolQuotesFieldBitmapFromBits(bits ...int) [20]byte
- func MainHostAddresses() []string
- type BlockFlatItem
- type BlockGroup
- type Client
- func (client *Client) Connect() (*proto.Hello1Reply, error)
- func (client *Client) ConnectEx() (*proto.ExLoginReply, error)
- func (client *Client) ConnectMAC() error
- func (client *Client) CurrentAddress() string
- func (client *Client) Disconnect() error
- func (client *Client) DownloadFile(filename string, start uint32, size uint32) (*proto.DownloadFileReply, error)
- func (client *Client) DownloadFullFile(filename string, size uint32) ([]byte, error)
- func (client *Client) ExBoardList(boardType uint16, start uint16, pageSize uint16) ([]proto.ExBoardListItem, error)
- func (client *Client) ExCategoryList() ([]proto.ExCategoryItem, error)
- func (client *Client) ExChartSampling(category uint8, code string) ([]float64, error)
- func (client *Client) ExCount() (uint32, error)
- func (client *Client) ExDownloadFile(filename string, start uint32, size uint32) (*proto.DownloadFileReply, error)
- func (client *Client) ExDownloadFullFile(filename string, size uint32) ([]byte, error)
- func (client *Client) ExExperiment2487(category uint8, code string) (*proto.ExExperiment2487Reply, error)
- func (client *Client) ExExperiment2488(category uint8, code string, mode uint16) ([]proto.ExExperiment2488Item, error)
- func (client *Client) ExGetBoardList(boardType uint16, start uint16, pageSize uint16) (*proto.ExGetBoardListReply, error)
- func (client *Client) ExGetCategoryList() (*proto.ExGetCategoryListReply, error)
- func (client *Client) ExGetChartSampling(category uint8, code string) (*proto.ExGetChartSamplingReply, error)
- func (client *Client) ExGetCount() (*proto.ExGetCountReply, error)
- func (client *Client) ExGetExperiment2487(category uint8, code string) (*proto.ExExperiment2487Reply, error)
- func (client *Client) ExGetExperiment2488(category uint8, code string, mode uint16) (*proto.ExExperiment2488Reply, error)
- func (client *Client) ExGetFileMeta(filename string) (*proto.GetFileMetaReply, error)
- func (client *Client) ExGetHistoryTickChart(date uint32, category uint8, code string) (*proto.ExGetHistoryTickChartReply, error)
- func (client *Client) ExGetHistoryTransaction(date uint32, category uint8, code string) (*proto.ExGetHistoryTransactionReply, error)
- func (client *Client) ExGetKLine(category uint8, code string, period uint16, start uint32, count uint16, ...) (*proto.ExGetKLineReply, error)
- func (client *Client) ExGetKLine2(category uint8, code string, period uint16, start uint32, count uint32, ...) (*proto.ExGetKLine2Reply, error)
- func (client *Client) ExGetList(start uint32, count uint16) (*proto.ExGetListReply, error)
- func (client *Client) ExGetListExtra(a uint16, b uint16, count uint16) (*proto.ExGetListExtraReply, error)
- func (client *Client) ExGetMapping2562(market uint16, start uint32, count uint32) (*proto.ExMapping2562Reply, error)
- func (client *Client) ExGetQuote(category uint8, code string) (*proto.ExGetQuoteReply, error)
- func (client *Client) ExGetQuotes(categories []uint8, codes []string) (*proto.ExGetQuotesReply, error)
- func (client *Client) ExGetQuotes2(categories []uint8, codes []string) (*proto.ExGetQuotesReply, error)
- func (client *Client) ExGetQuotesList(category uint8, start uint16, count uint16, sortType uint16, reverse bool) (*proto.ExGetQuotesListReply, error)
- func (client *Client) ExGetTable() (string, error)
- func (client *Client) ExGetTableDetail() (string, error)
- func (client *Client) ExGetTickChart(category uint8, code string) (*proto.ExGetTickChartReply, error)
- func (client *Client) ExHistoryTransaction(date uint32, category uint8, code string) ([]proto.ExHistoryTransactionItem, error)
- func (client *Client) ExKLine(category uint8, code string, period uint16, start uint32, count uint16, ...) ([]proto.ExKLineItem, error)
- func (client *Client) ExKLine2(category uint8, code string, period uint16, start uint32, count uint32, ...) ([]proto.ExKLineItem, error)
- func (client *Client) ExList(start uint32, count uint16) ([]proto.ExListItem, error)
- func (client *Client) ExListExtra(a uint16, b uint16, count uint16) ([]proto.ExExtraListItem, error)
- func (client *Client) ExMapping2562(market uint16, start uint32, count uint32) ([]proto.ExMapping2562Item, error)
- func (client *Client) ExQuote(category uint8, code string) (*proto.ExQuoteItem, error)
- func (client *Client) ExQuotes(categories []uint8, codes []string) ([]proto.ExQuoteItem, error)
- func (client *Client) ExQuotes2(categories []uint8, codes []string) ([]proto.ExQuoteItem, error)
- func (client *Client) ExQuotesList(category uint8, start uint16, count uint16, sortType uint16, reverse bool) ([]proto.ExQuoteItem, error)
- func (client *Client) ExTable() (string, error)
- func (client *Client) ExTableDetail() (string, error)
- func (client *Client) ExTickChart(category uint8, code string, date uint32) ([]proto.ExTickChartData, error)
- func (client *Client) FastestHost() (HostProbeResult, error)
- func (client *Client) GetAnnouncement() (*proto.AnnouncementReply, error)
- func (client *Client) GetAuction(market uint8, code string, start uint32, count uint32) (*proto.GetAuctionReply, error)
- func (client *Client) GetBlockFile(filename string) ([]byte, error)
- func (client *Client) GetCSVFile(filename string) ([][]string, error)
- func (client *Client) GetChartSampling(market uint8, code string) (*proto.GetChartSamplingReply, error)
- func (client *Client) GetClient26AC() (*proto.RawDataReply, error)
- func (client *Client) GetClient26AD() (*proto.RawDataReply, error)
- func (client *Client) GetClient26AE() (*proto.RawDataReply, error)
- func (client *Client) GetClient26B1() (*proto.RawDataReply, error)
- func (client *Client) GetClient264B() (*proto.RawDataReply, error)
- func (client *Client) GetCompanyCategories(market uint8, code string) (*proto.GetCompanyCategoryReply, error)
- func (client *Client) GetCompanyContent(market uint8, code string, filename string, start uint32, length uint32) (*proto.GetCompanyContentReply, error)
- func (client *Client) GetCompanyInfo(market uint8, code string) (*CompanyInfoBundle, error)
- func (client *Client) GetExServerInfo() (*proto.ExServerInfoReply, error)
- func (client *Client) GetExchangeAnnouncement() (*proto.ExchangeAnnouncementReply, error)
- func (client *Client) GetFileMeta(filename string) (*proto.GetFileMetaReply, error)
- func (client *Client) GetFinanceInfo(market uint8, code string) (*proto.GetFinanceInfoReply, error)
- func (client *Client) GetGroupedBlockFile(filename string) ([]BlockGroup, error)
- func (client *Client) GetHistoryMinuteTimeData(date uint32, market uint8, code string) (*proto.GetHistoryMinuteTimeDataReply, error)
- func (client *Client) GetHistoryOrders(date uint32, market uint8, code string) (*proto.GetHistoryOrdersReply, error)
- func (client *Client) GetHistoryTickChart(date uint32, market uint8, code string) (*proto.GetHistoryMinuteTimeDataReply, error)
- func (client *Client) GetHistoryTransactionData(date uint32, market uint8, code string, start uint16, count uint16) (*proto.GetHistoryTransactionDataReply, error)
- func (client *Client) GetHistoryTransactionDataWithTrans(date uint32, market uint8, code string, start uint16, count uint16) (*proto.GetHistoryTransactionDataWithTransReply, error)
- func (client *Client) GetIndexBars(category uint16, market uint8, code string, start uint16, count uint16) (*proto.GetIndexBarsReply, error)
- func (client *Client) GetIndexInfo(market uint8, code string) (*proto.GetIndexInfoReply, error)
- func (client *Client) GetIndexMomentum(market uint8, code string) (*proto.GetIndexMomentumReply, error)
- func (client *Client) GetKLine(category uint16, market uint8, code string, start uint16, count uint16, ...) (*proto.GetSecurityBarsReply, error)
- func (client *Client) GetMACAuction(market uint8, code string, start uint32, count uint32) (*proto.MACAuctionReply, error)
- func (client *Client) GetMACBoardCount(boardType uint16) (*proto.MACBoardCountReply, error)
- func (client *Client) GetMACBoardList(boardType uint16, start uint16, pageSize uint16) (*proto.MACBoardListReply, error)
- func (client *Client) GetMACBoardMembers(boardSymbol string, sortType uint16, start uint32, pageSize uint8, ...) (*proto.MACBoardMembersReply, error)
- func (client *Client) GetMACBoardMembersQuotes(boardSymbol string, sortType uint16, start uint32, pageSize uint8, ...) (*proto.MACBoardMembersQuotesReply, error)
- func (client *Client) GetMACBoardMembersQuotesDynamic(boardSymbol string, sortType uint16, start uint32, pageSize uint8, ...) (*proto.MACBoardMembersQuotesDynamicReply, error)
- func (client *Client) GetMACBoardMembersQuotesDynamicWithFilter(boardSymbol string, sortType uint16, start uint32, pageSize uint8, ...) (*proto.MACBoardMembersQuotesDynamicReply, error)
- func (client *Client) GetMACCapitalFlow(market uint8, code string) (*proto.MACCapitalFlowReply, error)
- func (client *Client) GetMACFileDownload(filename string, index uint32, offset uint32, size uint32) (*proto.MACFileDownloadReply, error)
- func (client *Client) GetMACFileList(filename string, offset uint32) (*proto.MACFileListReply, error)
- func (client *Client) GetMACKLineOffset(offset uint32, count uint32) (*proto.MACKLineOffsetReply, error)
- func (client *Client) GetMACMarketMonitor(market uint8, start uint16, count uint16) (*proto.MACMarketMonitorReply, error)
- func (client *Client) GetMACQuotes(market uint8, code string) (*proto.MACQuotesReply, error)
- func (client *Client) GetMACQuotesWithDate(market uint8, code string, queryDate uint32) (*proto.MACQuotesReply, error)
- func (client *Client) GetMACServerInfo() (*proto.MACServerInfoReply, error)
- func (client *Client) GetMACSymbolBars(market uint8, code string, period uint16, times uint16, start uint32, ...) (*proto.MACSymbolBarsReply, error)
- func (client *Client) GetMACSymbolBelongBoard(market uint8, symbol string) (*proto.MACSymbolBelongBoardReply, error)
- func (client *Client) GetMACSymbolInfo(market uint8, code string) (*proto.MACSymbolInfoReply, error)
- func (client *Client) GetMACSymbolQuotes(markets []uint8, codes []string, fieldBitmap [20]byte) (*proto.MACSymbolQuotesReply, error)
- func (client *Client) GetMACTickCharts(market uint8, code string, queryDate uint32, days uint16) (*proto.MACTickChartsReply, error)
- func (client *Client) GetMACTransactions(market uint8, code string, start uint32, count uint16) (*proto.MACTransactionsReply, error)
- func (client *Client) GetMACTransactionsWithDate(market uint8, code string, start uint32, count uint16, queryDate uint32) (*proto.MACTransactionsReply, error)
- func (client *Client) GetMinuteTimeData(market uint8, code string) (*proto.GetMinuteTimeDataReply, error)
- func (client *Client) GetParsedBlockFile(filename string) ([]BlockFlatItem, error)
- func (client *Client) GetQuotes(markets []uint8, codes []string) (*proto.GetQuotesReply, error)
- func (client *Client) GetQuotesDetail(markets []uint8, codes []string) (*proto.GetSecurityQuotesReply, error)
- func (client *Client) GetQuotesEncrypt(markets []uint8, codes []string) (*proto.GetQuotesEncryptReply, error)
- func (client *Client) GetQuotesList(category uint8, start uint16, count uint16, sortType uint16, reverse bool, ...) (*proto.GetQuotesListReply, error)
- func (client *Client) GetSecurityBars(category uint16, market uint8, code string, start uint16, count uint16) (*proto.GetSecurityBarsReply, error)
- func (client *Client) GetSecurityBarsOffset(category uint16, market uint8, code string, start uint16, count uint16, ...) (*proto.GetSecurityBarsOffsetReply, error)
- func (client *Client) GetSecurityCount(market uint8) (*proto.GetSecurityCountReply, error)
- func (client *Client) GetSecurityFeature452(start uint32, count uint32) (*proto.GetSecurityFeature452Reply, error)
- func (client *Client) GetSecurityList(market uint8, start uint16) (*proto.GetSecurityListReply, error)
- func (client *Client) GetSecurityListOld(market uint8, start uint16) (*proto.GetSecurityListOldReply, error)
- func (client *Client) GetSecurityListRange(market uint8, start uint32, count uint32) (*proto.GetSecurityListReply, error)
- func (client *Client) GetSecurityQuotes(markets []uint8, codes []string) (*proto.GetSecurityQuotesReply, error)
- func (client *Client) GetServerHeartbeat() (*proto.HeartBeatReply, error)
- func (client *Client) GetServerInfo() (*proto.InfoReply, error)
- func (client *Client) GetTableFile(filename string) ([][]string, error)
- func (client *Client) GetTickChart(market uint8, code string, start uint16, count uint16) (*proto.GetMinuteTimeDataReply, error)
- func (client *Client) GetTodoB() (*proto.RawDataReply, error)
- func (client *Client) GetTodoFDE() (*proto.RawDataReply, error)
- func (client *Client) GetTopBoard(category uint8, size uint8) (*proto.GetTopBoardReply, error)
- func (client *Client) GetTransactionData(market uint8, code string, start uint16, count uint16) (*proto.GetTransactionDataReply, error)
- func (client *Client) GetUnusual(market uint8, start uint32, count uint32) (*proto.GetUnusualReply, error)
- func (client *Client) GetVolumeProfile(market uint8, code string) (*proto.GetVolumeProfileReply, error)
- func (client *Client) GetXDXRInfo(market uint8, code string) (*proto.GetXDXRInfoReply, error)
- func (client *Client) GoodsCategoryList() ([]proto.ExCategoryItem, error)
- func (client *Client) GoodsChartSampling(market uint8, code string) ([]float64, error)
- func (client *Client) GoodsCount() (uint32, error)
- func (client *Client) GoodsHistoryTransaction(market uint8, code string, queryDate uint32, count uint32) ([]proto.MACTransactionItem, error)
- func (client *Client) GoodsKLine(market uint8, code string, period uint16, start uint32, count uint32, ...) ([]proto.MACSymbolBar, error)
- func (client *Client) GoodsList(start uint32, count uint16) ([]proto.ExListItem, error)
- func (client *Client) GoodsQuote(market uint8, code string) (*proto.ExQuoteItem, error)
- func (client *Client) GoodsQuotes(markets []uint8, codes []string) ([]proto.ExQuoteItem, error)
- func (client *Client) GoodsQuotesList(market uint8, start uint16, count uint16, sortType uint16, reverse bool) ([]proto.ExQuoteItem, error)
- func (client *Client) GoodsTickChart(market uint8, code string, queryDate uint32) ([]proto.MACQuoteChartItem, error)
- func (client *Client) GoodsVarieties(market uint16, start uint32, count uint32) ([]proto.ExMapping2562Item, error)
- func (client *Client) MACAuction(market uint8, code string, start uint32, count uint32) ([]proto.MACAuctionItem, error)
- func (client *Client) MACBoardCount(boardType uint16) (uint16, error)
- func (client *Client) MACBoardList(boardType uint16, count uint32) ([]proto.MACBoardListItem, error)
- func (client *Client) MACBoardMembers(boardSymbol string, count uint32) ([]proto.MACBoardMemberItem, error)
- func (client *Client) MACBoardMembersQuotes(boardSymbol string, count uint32) ([]proto.MACBoardMemberQuoteItem, error)
- func (client *Client) MACBoardMembersQuotesDynamic(boardSymbol string, count uint32, sortType uint16, sortOrder uint8, ...) (*proto.MACBoardMembersQuotesDynamicReply, error)
- func (client *Client) MACBoardMembersQuotesDynamicWithFilter(boardSymbol string, count uint32, sortType uint16, sortOrder uint8, ...) (*proto.MACBoardMembersQuotesDynamicReply, error)
- func (client *Client) MACBoardMembersQuotesWithSort(boardSymbol string, count uint32, sortType uint16, sortOrder uint8) ([]proto.MACBoardMemberQuoteItem, error)
- func (client *Client) MACBoardMembersWithSort(boardSymbol string, count uint32, sortType uint16, sortOrder uint16) ([]proto.MACBoardMemberItem, error)
- func (client *Client) MACCapitalFlow(market uint8, code string) (*proto.MACCapitalFlowReply, error)
- func (client *Client) MACDownloadFullFile(filename string, index uint32, size uint32) ([]byte, error)
- func (client *Client) MACFileList(filename string, offset uint32) (*proto.MACFileListReply, error)
- func (client *Client) MACKLineOffset(offset uint32, count uint32) (*proto.MACKLineOffsetReply, error)
- func (client *Client) MACMarketMonitor(market uint8, start uint32, count uint32) ([]proto.MACMarketMonitorItem, error)
- func (client *Client) MACQuotes(market uint8, code string) (*proto.MACQuotesReply, error)
- func (client *Client) MACQuotesWithDate(market uint8, code string, queryDate uint32) (*proto.MACQuotesReply, error)
- func (client *Client) MACServerInfo() (*proto.MACServerInfoReply, error)
- func (client *Client) MACSymbolBars(market uint8, code string, period uint16, times uint16, start uint32, ...) ([]proto.MACSymbolBar, error)
- func (client *Client) MACSymbolBelongBoard(symbol string, market uint8) ([]proto.MACBelongBoardItem, error)
- func (client *Client) MACSymbolInfo(market uint8, code string) (*proto.MACSymbolInfoReply, error)
- func (client *Client) MACSymbolQuotes(markets []uint8, codes []string, fieldBitmap [20]byte) (*proto.MACSymbolQuotesReply, error)
- func (client *Client) MACTickCharts(market uint8, code string, queryDate uint32, days uint16) (*proto.MACTickChartsReply, error)
- func (client *Client) MACTransactions(market uint8, code string, start uint32, count uint32) ([]proto.MACTransactionItem, error)
- func (client *Client) MACTransactionsWithDate(market uint8, code string, start uint32, count uint32, queryDate uint32) ([]proto.MACTransactionItem, error)
- func (client *Client) MainClient26AC() (*proto.RawDataReply, error)
- func (client *Client) MainClient26AD() (*proto.RawDataReply, error)
- func (client *Client) MainClient26AE() (*proto.RawDataReply, error)
- func (client *Client) MainClient26B1() (*proto.RawDataReply, error)
- func (client *Client) MainClient264B() (*proto.RawDataReply, error)
- func (client *Client) MainTodoB() (*proto.RawDataReply, error)
- func (client *Client) MainTodoFDE() (*proto.RawDataReply, error)
- func (client *Client) ProbeHosts() []HostProbeResult
- func (client *Client) StockAll(market uint8) ([]proto.Security, error)
- func (client *Client) StockAuction(market uint8, code string, start uint32, count uint32) ([]proto.AuctionData, error)
- func (client *Client) StockBlock(filename string) ([]BlockFlatItem, error)
- func (client *Client) StockChartSampling(market uint8, code string) ([]float64, error)
- func (client *Client) StockCount(market uint8) (uint16, error)
- func (client *Client) StockF10(market uint8, code string) (*CompanyInfoBundle, error)
- func (client *Client) StockFeature452(start uint32, count uint32) ([]proto.SecurityFeature452Item, error)
- func (client *Client) StockFullAuction(market uint8, code string) ([]proto.AuctionData, error)
- func (client *Client) StockFullKLine(category uint16, market uint8, code string, times uint16, adjust uint16, ...) ([]proto.SecurityBar, error)
- func (client *Client) StockFullTransaction(market uint8, code string) ([]proto.TransactionData, error)
- func (client *Client) StockHistoryFullTransaction(date uint32, market uint8, code string) ([]proto.HistoryTransactionData, error)
- func (client *Client) StockHistoryFullTransactionWithTrans(date uint32, market uint8, code string) ([]proto.HistoryTransactionDataWithTrans, error)
- func (client *Client) StockHistoryOrders(date uint32, market uint8, code string) ([]proto.HistoryOrderData, error)
- func (client *Client) StockHistoryTickChart(date uint32, market uint8, code string) ([]proto.HistoryMinuteTimeData, error)
- func (client *Client) StockHistoryTransaction(date uint32, market uint8, code string, start uint16, count uint16) ([]proto.HistoryTransactionData, error)
- func (client *Client) StockHistoryTransactionWithTrans(date uint32, market uint8, code string, start uint16, count uint16) ([]proto.HistoryTransactionDataWithTrans, error)
- func (client *Client) StockIndexInfo(market uint8, code string) (*proto.GetIndexInfoReply, error)
- func (client *Client) StockIndexMomentum(market uint8, code string) ([]int, error)
- func (client *Client) StockKLine(category uint16, market uint8, code string, start uint16, count uint16, ...) ([]proto.SecurityBar, error)
- func (client *Client) StockKLine930(category uint16, market uint8, code string, reply *proto.GetSecurityBarsReply)
- func (client *Client) StockKLineOffset(category uint16, market uint8, code string, start uint16, count uint16, ...) ([]proto.SecurityBar, error)
- func (client *Client) StockList(market uint8, start uint32, count uint32) ([]proto.Security, error)
- func (client *Client) StockListOld(market uint8, start uint16) ([]proto.Security, error)
- func (client *Client) StockQuotes(markets []uint8, codes []string) ([]proto.QuoteListItem, error)
- func (client *Client) StockQuotesDetail(markets []uint8, codes []string) ([]proto.SecurityQuote, error)
- func (client *Client) StockQuotesEncrypt(markets []uint8, codes []string) ([]proto.EncryptedQuoteItem, error)
- func (client *Client) StockQuotesList(category uint8, start uint16, count uint16, sortType uint16, reverse bool, ...) ([]proto.QuoteListItem, error)
- func (client *Client) StockTickChart(market uint8, code string, start uint16, count uint16) ([]proto.MinuteTimeData, error)
- func (client *Client) StockTopBoard(category uint8, size uint8) (*proto.GetTopBoardReply, error)
- func (client *Client) StockTransaction(market uint8, code string, start uint16, count uint16) ([]proto.TransactionData, error)
- func (client *Client) StockUnusual(market uint8, start uint32, count uint32) ([]proto.UnusualData, error)
- func (client *Client) StockVolumeProfile(market uint8, code string) (*proto.GetVolumeProfileReply, error)
- func (client *Client) Subscriber() *Subscriber
- type CompanyInfoBundle
- type CompanyInfoSection
- type HostInfo
- type HostProbeResult
- func FastestAddress(addresses []string, timeout time.Duration) (HostProbeResult, error)
- func FastestHost(hosts []HostInfo, timeout time.Duration) (HostProbeResult, error)
- func ProbeAddresses(addresses []string, timeout time.Duration) []HostProbeResult
- func ProbeHosts(hosts []HostInfo, timeout time.Duration) []HostProbeResult
- type ICFQSClient
- func (client *ICFQSClient) ICFQSEventsRaw(ctx context.Context) (map[string]any, error)
- func (client *ICFQSClient) ICFQSHotTopicsRaw(ctx context.Context) (map[string]any, error)
- func (client *ICFQSClient) ICFQSLHBDetailRaw(ctx context.Context, symbol string, startDate string, endDate string) (map[string]any, error)
- func (client *ICFQSClient) ICFQSMRFPLatestDateRaw(ctx context.Context) (map[string]any, error)
- func (client *ICFQSClient) ICFQSMRFPRaw(ctx context.Context, reviewType string, date string, limit int) (map[string]any, error)
- func (client *ICFQSClient) ICFQSNewTopicsRaw(ctx context.Context) (map[string]any, error)
- func (client *ICFQSClient) ICFQSQuotesBatchRaw(ctx context.Context, codes []ICFQSCode, wantColumns []string) (map[string]any, error)
- func (client *ICFQSClient) ICFQSSearchTopicsRaw(ctx context.Context, keyword string) (map[string]any, error)
- func (client *ICFQSClient) ICFQSTopTopicsRaw(ctx context.Context, topN int) (map[string]any, error)
- func (client *ICFQSClient) ICFQSTopicDetailRaw(ctx context.Context, code string, setcode string) (map[string]any, error)
- func (client *ICFQSClient) ICFQSTopicKLineRaw(ctx context.Context, code string, setcode string) (map[string]any, error)
- func (client *ICFQSClient) ICFQSTopicListRaw(ctx context.Context, category string, setcode string, page int) (map[string]any, error)
- func (client *ICFQSClient) ICFQSTopicQuotesRaw(ctx context.Context, codes []ICFQSCode) (map[string]any, error)
- func (client *ICFQSClient) ICFQSTopicRotationRaw(ctx context.Context, dataNum int, dataType int, dataDate int, themeType string) (map[string]any, error)
- func (client *ICFQSClient) ICFQSTopicStocksRaw(ctx context.Context, code string, setcode string, page int, size int) (map[string]any, error)
- func (client *ICFQSClient) ICFQSYYBDetailRaw(ctx context.Context, yybName string, startDate string, endDate string) (map[string]any, error)
- func (client *ICFQSClient) ICFQSYZDetailRaw(ctx context.Context, code string, startDate string, endDate string) (map[string]any, error)
- func (client *ICFQSClient) PostJSON(ctx context.Context, entry string, body any) (map[string]any, error)
- func (client *ICFQSClient) PostTQL(ctx context.Context, entry string, params []any) (map[string]any, error)
- type ICFQSCode
- type ICFQSOption
- type ICFQSTable
- type MACFieldBit
- type MACFieldSelector
- type MACFilterType
- type MACPresetField
- type MACSortOrder
- type MACSortType
- type Option
- func WithEmptyNodeSwitchDisabled(disabled bool) Option
- func WithExTCPAddress(tcpAddress string) Option
- func WithExTCPAddressPool(ips ...string) Option
- func WithFuturesCalendarPath(path string) Option
- func WithGuardConfig(failThreshold int, openTimeout time.Duration) Option
- func WithGuardDisabled(disabled bool) Option
- func WithMacExTCPAddress(tcpAddress string) Option
- func WithMacExTCPAddressPool(ips ...string) Option
- func WithMacTCPAddress(tcpAddress string) Option
- func WithMacTCPAddressPool(ips ...string) Option
- func WithPoolSize(poolSize int) Option
- func WithSingleConnectionMode() Option
- func WithTCPAddress(tcpAddress string) Option
- func WithTCPAddressPool(ips ...string) Option
- func WithTimeoutSec(timeoutSec int) Option
- type Options
- type SubscribeSource
- type Subscriber
Constants ¶
const ( // DefaultGoodsHistoryTransactionCount 是 GoodsHistoryTransaction 的 `count` 为 0 时使用的 // 默认历史成交条数,取值 2000。 DefaultGoodsHistoryTransactionCount uint32 = 2000 // MaxGoodsVarietiesCount 是 GoodsVarieties 单次请求允许的最大品种条数,取值 1000; // 请求 `count` 超过该上限时在本地直接返回参数错误,不再发送协议请求。 MaxGoodsVarietiesCount uint32 = 1000 )
const ( // DefaultMACBoardListCount 为 `MACBoardList` 未指定 `count` 时默认拉取的板块总数上限。 DefaultMACBoardListCount = 10000 // DefaultMACBoardPageSize 为板块列表单页默认条数(`GetMACBoardList` 的 `pageSize` 默认值)。 DefaultMACBoardPageSize uint16 = 150 // DefaultMACBoardStockCount 为板块成分股/成分报价未指定 `count` 时默认拉取的条目总数上限。 DefaultMACBoardStockCount uint32 = 10000 // DefaultMACBoardStockPage 为板块成分股/成分报价单页默认条数(`pageSize` 默认值)。 DefaultMACBoardStockPage uint8 = 80 // DefaultMACSymbolBarsCount 为 MAC 证券 K 线参考默认请求条数;当前自动分页按 `DefaultMACSymbolBarsPage` 逐页拉取。 DefaultMACSymbolBarsCount uint32 = 800 // DefaultMACSymbolBarsPage 为 MAC 证券 K 线自动分页的单页默认条数。 DefaultMACSymbolBarsPage uint16 = 700 // DefaultMACTransactionsCount 为分时成交未指定 `count` 时默认拉取的成交记录上限。 DefaultMACTransactionsCount uint32 = 1000 // DefaultMACTransactionsPage 为分时成交自动分页的单页默认条数。 DefaultMACTransactionsPage uint16 = 1000 // DefaultMACAuctionCount 为竞价数据未指定 `count` 时默认拉取的竞价记录上限。 DefaultMACAuctionCount uint32 = 500 // DefaultMACAuctionPage 为竞价数据自动分页的单页默认条数。 DefaultMACAuctionPage uint32 = 500 // DefaultMACMarketMonitorCount 为市场监控未指定 `count` 时默认拉取的异动记录上限。 DefaultMACMarketMonitorCount uint32 = 600 // DefaultMACMarketMonitorPage 为市场监控自动分页的单页默认条数。 DefaultMACMarketMonitorPage uint16 = 600 // DefaultMACKLineOffsetCount 为偏移 K 线查询未指定 `count` 时使用的默认条数。 DefaultMACKLineOffsetCount uint32 = 128000 )
以下常量定义 MAC 协议各查询的默认获取条数与分页大小:`Count` 类常量为调用方未指定获取总数时 使用的默认上限,`Page` 类常量为自动分页时单页默认条数。
const ( // DefaultICFQSAddress 为 `NewICFQS` 使用的默认固定入口地址,格式为 `host:port`。 DefaultICFQSAddress = "121.37.193.4:7615" // DefaultICFQSHotAddress 为 `NewICFQSHot` 使用的热门话题站点域名,格式为 `host:port`。 DefaultICFQSHotAddress = "hot.icfqs.com:7615" )
ICFQS TQLEX 服务默认地址常量。
Variables ¶
var ErrCircuitOpen = errors.New("circuit open")
ErrCircuitOpen 表示请求被熔断拒绝:冷却期内 `execute` 直接快速失败返回该错误, 不再发起网络请求;熔断恢复后自动回到正常路径。能力层可据此降级展示。
var ErrMarketCodeCount = errors.New("market code count error")
ErrMarketCodeCount 表示批量请求时传入的市场(或分类)列表与证券代码列表长度不一致,由 `makeStocks`、`makeExStocks` 在配对前校验长度时返回。
var ErrNoReachableHosts = errors.New("no reachable hosts")
ErrNoReachableHosts 表示本次探测的所有主机 TCP 拨号均失败,没有任何可达节点; 由 `FastestHost`、`FastestAddress` 在筛选最快主机时返回。
Functions ¶
func BrokerHostAddresses ¶
func BrokerHostAddresses() []string
BrokerHostAddresses 返回内置券商服务器的 `host:port` 地址列表副本;列表顺序与 `BrokerHosts` 一致,返回切片可由调用方自由修改。
func DefaultMACBoardMembersQuotesFieldBitmap ¶
func DefaultMACBoardMembersQuotesFieldBitmap() [20]byte
DefaultMACBoardMembersQuotesFieldBitmap 返回成分股动态字段报价接口使用的默认字段位图。
该函数无参数;返回固定的 20 字节字面量,置 1 的位对应默认启用的动态字段,不返回错误。 调用方可在此基础上按需增删字段位。
func DefaultMACSymbolQuotesFieldBitmap ¶
func DefaultMACSymbolQuotesFieldBitmap() [20]byte
DefaultMACSymbolQuotesFieldBitmap 返回个股批量报价接口使用的默认字段位图。该函数无参数, 返回与成分股报价一致的默认位图副本,不返回错误。
func ExHostAddresses ¶
func ExHostAddresses() []string
ExHostAddresses 返回内置扩展行情服务器的 `host:port` 地址列表副本;列表顺序与 `ExHosts` 一致,返回切片可由调用方自由修改。
func FullMACBoardMembersQuotesFieldBitmap ¶
func FullMACBoardMembersQuotesFieldBitmap() [20]byte
FullMACBoardMembersQuotesFieldBitmap 返回 20 字节全部置 1 的全字段位图,适合实验性 全字段请求。该函数无参数,返回独立位图副本,不返回错误。
func FullMACSymbolQuotesFieldBitmap ¶
func FullMACSymbolQuotesFieldBitmap() [20]byte
FullMACSymbolQuotesFieldBitmap 返回个股批量报价接口使用的全字段位图。该函数无参数, 返回全部位置 1 的独立位图副本,不返回错误。
func ICFQSHostAddresses ¶
func ICFQSHostAddresses() []string
ICFQSHostAddresses 返回内置 ICFQS 资讯行情服务器的 `host:port` 地址列表副本;列表顺序与 `ICFQSHosts` 一致,返回切片可由调用方自由修改。
func MACBoardMembersQuotesFieldBitmapFromBits ¶
MACBoardMembersQuotesFieldBitmapFromBits 按传入的位号列表组装 20 字节字段位图。
参数 `bits` 为可变长位号列表,有效取值 0–159,对应 20 字节位图的各个二进制位;负数或超出 0–159 范围的位号会被忽略,不会产生越界写入。返回组装完成的独立位图副本,不返回错误。
func MACBoardMembersQuotesRequestBitmap ¶
func MACBoardMembersQuotesRequestBitmap(fieldBitmap [20]byte, filters ...MACFilterType) [20]byte
MACBoardMembersQuotesRequestBitmap 在动态字段位图基础上拼装成分股动态字段请求位图: 第 17 字节写入合并后的排除条件掩码,第 19 字节置扩展控制位,其余字段位保持不变。
参数 `fieldBitmap` 为 20 字节动态字段位图;参数 `filters` 为可变长排除条件,可传零个或多个。 入参位图按值复制后修改,不会影响调用方传入的原位图;返回拼装完成的独立位图副本,不返回错误。
func MACExHostAddresses ¶
func MACExHostAddresses() []string
MACExHostAddresses 返回内置 MAC 扩展行情服务器的 `host:port` 地址列表副本;列表顺序与 `MACExHosts` 一致,返回切片可由调用方自由修改。
func MACFieldBitmap ¶
func MACFieldBitmap(selectors ...MACFieldSelector) [20]byte
MACFieldBitmap 根据传入的字段位与预设组合构造 20 字节 MAC 动态字段位图。
参数 `selectors` 为可变长选择项,可传入单个字段位(`MACFieldBit`)或字段预设(`MACPresetField`), 按传入顺序依次叠加置位;值为 `nil` 的选择项会被跳过。返回独立的 20 字节位图副本,置 1 的位 对应请求启用的动态字段,调用方可自由修改;函数不持有共享状态,可并发调用,不返回错误。
func MACFilterFlags ¶
func MACFilterFlags(filters ...MACFilterType) uint8
MACFilterFlags 将多个排除条件合并为一个协议位图字节。
参数 `filters` 为可变长排除条件,可传入零个或多个 `MACFilter*` 条件;各条件本身即 2 的幂位掩码, 按位或叠加后得到可放入请求过滤字节的组合值。不传条件时返回 0(不排除任何标的);函数不返回错误。
func MACHostAddresses ¶
func MACHostAddresses() []string
MACHostAddresses 返回内置 MAC 主行情服务器的 `host:port` 地址列表副本;列表顺序与 `MACHosts` 一致,返回切片可由调用方自由修改。
func MACSymbolQuotesFieldBitmapFromBits ¶
MACSymbolQuotesFieldBitmapFromBits 按传入的位号列表组装个股批量报价通用位图。
参数 `bits` 为可变长位号列表,有效取值 0–159,越界位号会被忽略;返回独立位图副本,不返回错误。
func MainHostAddresses ¶
func MainHostAddresses() []string
MainHostAddresses 返回内置主行情服务器的 `host:port` 地址列表副本;列表顺序与 `MainHosts` 一致,返回切片可由调用方自由修改。
Types ¶
type BlockFlatItem ¶
type BlockFlatItem struct {
BlockName string // 所属板块名称,9 字节槽位 GBK 解码后的 UTF-8 字符串,尾部空字节已剔除
BlockType uint16 // 板块类型代码,2 字节原始值,取值对照 `types.BoardType*` 常量
CodeIndex int // 成分股在所属板块内的序号,从 0 开始递增
Code string // 成分股证券代码,7 字节槽位 GBK 解码后的字符串,尾部空字节已剔除
}
BlockFlatItem 表示板块文件中一只成分股的扁平记录,将所属板块名称、板块类型、板块内序号与 股票代码平铺为一条,便于按股票维度遍历成分股列表。
该结构体仅承载解析结果,由解析函数构造,调用方一般不需要直接设置字段零值。
func ParseBlockFlat ¶
func ParseBlockFlat(data []byte) ([]BlockFlatItem, error)
ParseBlockFlat 解析板块文件二进制数据,将每个板块下的成分股逐条展开为扁平条目列表。
参数 `data` 为下载完成的板块文件完整字节内容,长度至少为 386 字节(384 字节固定文件头加 2 字节板块总数);函数不会保留对该切片的引用。文件采用 GBK 编码与定长成员区布局。
解析成功时返回扁平条目切片,错误返回 `nil`;输入长度不足、槽头或成员代码剩余字节不足时 返回错误,避免越界读取。
type BlockGroup ¶
type BlockGroup struct {
BlockName string // 板块名称,9 字节槽位 GBK 解码后的 UTF-8 字符串,尾部空字节已剔除
BlockType uint16 // 板块类型代码,2 字节原始值,取值对照 `types.BoardType*` 常量
StockCount int // 板块成员数量,来自槽头 2 字节成员数字段
Codes []string // 成员证券代码列表,每个为 7 字节 GBK 解码字符串;切片由解析函数分配并持有所有权
}
BlockGroup 表示按板块聚合后的一组成分股,记录板块名称、板块类型、成员数量与成员代码列表, 便于按板块维度查看该板块包含哪些股票。
该结构体仅承载解析结果,由解析函数构造,调用方一般不需要直接设置字段零值。
func ParseBlockGroups ¶
func ParseBlockGroups(data []byte) ([]BlockGroup, error)
ParseBlockGroups 解析板块文件二进制数据,按板块分组返回成分股代码列表。
参数 `data` 为下载完成的板块文件完整字节内容,长度至少为 386 字节;文件布局与解析步骤同 `ParseBlockFlat`,区别在于成员代码聚合进对应 `BlockGroup`,而不是展开成扁平条目。
解析成功时返回板块分组切片,错误返回 `nil`;输入长度不足或槽头、成员代码剩余字节不足时 返回错误。
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client 是通达信行情协议客户端,封装 TCP 连接池、握手、协议收发以及主站、扩展站、MAC 站的高层接口。
Client 须由 `New`、`NewEx`、`NewMAC`、`NewMACEx` 构造,零值不可用;各方法可并发调用,请求 按轮询分散到池内各连接:连接之间并行、单连接上的请求由该连接内部串行化,调用方无需自行加锁。
func New ¶
New 创建连接通达信主行情服务器的客户端。
参数 `opts` 为按顺序覆盖内置默认配置的函数式选项,后传入的选项优先生效;不传选项时使用内置 主站地址池、默认超时与重试次数。返回的 `Client` 零值不可用,须由 `New` 系列构造;其方法可 并发调用,同一连接上的请求由客户端内部串行化。
func NewEx ¶
NewEx 创建连接通达信扩展行情服务器(港股、美股、期货等)的客户端。
参数 `opts` 为按顺序覆盖内置默认配置的函数式选项,后传入的选项优先生效;不传选项时使用内置 扩展站地址池与默认超时。返回的 `Client` 零值不可用,方法可并发调用。
func NewMAC ¶
NewMAC 创建连接 MAC 行情主站的客户端。
参数 `opts` 为按顺序覆盖内置默认配置的函数式选项,后传入的选项优先生效;不传选项时使用内置 MAC 主站地址池与默认超时。返回的 `Client` 零值不可用,方法可并发调用。
func NewMACEx ¶
NewMACEx 创建连接 MAC 扩展行情服务器的客户端。
参数 `opts` 为按顺序覆盖内置默认配置的函数式选项,后传入的选项优先生效;不传选项时使用内置 MAC 扩展站地址池与默认超时。返回的 `Client` 零值不可用,方法可并发调用。
func (*Client) Connect ¶
func (client *Client) Connect() (*proto.Hello1Reply, error)
Connect 连接通达信主行情服务器并完成 `Hello1` 握手。
本方法无业务入参;按候选地址顺序逐个拨号,握手成功后返回主站握手应答 `*proto.Hello1Reply`;全部 候选地址拨号或握手失败时返回最后一次错误,应答为 `nil`。扩展站客户端会复用内嵌主站连接完成本次 握手。
func (*Client) ConnectEx ¶
func (client *Client) ConnectEx() (*proto.ExLoginReply, error)
ConnectEx 连接扩展市场服务器并完成登录握手。
本方法无业务入参;按候选地址顺序逐个拨号,登录成功后返回扩展站登录应答 `*proto.ExLoginReply`; 全部候选地址拨号或登录失败时返回最后一次错误,应答为 `nil`。主站客户端会复用内嵌扩展站连接完成 本次登录。
func (*Client) ConnectMAC ¶
ConnectMAC 连接 MAC 行情主站。
本方法无业务入参;已建立连接池时直接复用现有池;方法加锁避免并发重复拨号。MAC 站无握手协议, 拨号即视为连接成功;全部候选地址拨号失败返回最后一次错误,成功返回 `nil`。
func (*Client) CurrentAddress ¶
CurrentAddress 返回当前池内首条连接实际连通的服务器 `host:port` 地址。
本方法无业务入参;客户端指针或内部选项为空时返回空字符串;已建立连接池时返回首条连接的 实际地址;池内无空闲连接(全部借出待归还)时返回最近一次入池连接的实际地址,未拨号时 返回配置的单点地址。
func (*Client) Disconnect ¶
Disconnect 关闭连接池与补建循环,并级联关闭关联的内嵌主站、扩展站连接。
本方法无业务入参;返回关闭过程中遇到的首个错误,后续内嵌连接的关闭错误不会覆盖先出现的错误; 已关闭的内嵌连接会跳过重复关闭。关闭后客户端不可再借出连接,需重新 `Connect` 建池。
func (*Client) DownloadFile ¶
func (client *Client) DownloadFile(filename string, start uint32, size uint32) (*proto.DownloadFileReply, error)
DownloadFile 从 `start` 字节偏移下载 `size` 字节的主站文件片段,返回本次片段的原始字节与 实际返回长度。
`filename` 为远端文件名,内部按 300 字节定长编码、尾部补零;`start` 为分块起始偏移, 单位字节,0 表示从文件头开始;`size` 为本次请求字节数。服务端返回片段大小为 0 表示文件 已取完;连接或协议执行失败时返回错误。
func (*Client) DownloadFullFile ¶
DownloadFullFile 按固定块大小循环下载完整文件。
参数 `filename` 为服务端协议文件名;参数 `size` 为目标总大小(字节),传 0 时先拉取文件元信息 中的大小作为下载上限,元信息获取失败则仅依靠空块结束循环。服务器返回空块,或已下载字节达到 `size` 时结束;返回拼接后的完整文件字节。任一协议请求失败即返回 `nil` 与该错误。
func (*Client) ExBoardList ¶
func (client *Client) ExBoardList(boardType uint16, start uint16, pageSize uint16) ([]proto.ExBoardListItem, error)
ExBoardList 分页获取扩展市场板块列表。
参数 `boardType` 为板块类型代码,取值见 `types.ExBoardType*`;参数 `start` 为起始偏移序号,从 0 开始; 参数 `pageSize` 为本页条数,传 0 时由协议构造器使用默认值 300。返回本页板块条目列表,连接或协议 失败时返回 `nil` 与对应错误。
func (*Client) ExCategoryList ¶
func (client *Client) ExCategoryList() ([]proto.ExCategoryItem, error)
ExCategoryList 获取扩展市场分类(港股、美股、期货等)列表,无业务入参;返回分类条目列表,连接或 协议失败时返回 `nil` 与对应错误。
func (*Client) ExChartSampling ¶
ExChartSampling 获取扩展市场分时缩略采样价格序列,用于绘制行情缩略图。
参数 `category` 为扩展市场类别代码;参数 `code` 为扩展站证券代码。返回按时间顺序排列的采样价格 浮点序列,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) ExDownloadFile ¶
func (client *Client) ExDownloadFile(filename string, start uint32, size uint32) (*proto.DownloadFileReply, error)
ExDownloadFile 从 `start` 字节偏移下载 `size` 字节的扩展市场文件片段,返回本次片段的数据 与实际返回字节数。
`filename` 为远端文件名,内部按 40 字节定长编码、尾部补零;`start` 为分块起始偏移, 单位字节,0 表示从文件头开始;`size` 为本次请求字节数。服务端返回片段大小为 0 表示 文件已取完;连接或协议执行失败时返回错误。
func (*Client) ExDownloadFullFile ¶
ExDownloadFullFile 循环分块下载完整的扩展市场文件,返回拼接后的全部文件字节。
`filename` 为远端文件名;`size` 为期望下载总字节数,传 0 时先通过 `ExGetFileMeta` 获取 总大小;每块按 `types.DefaultDownloadSize` 字节请求,服务器返回空块或累计下载量达到 `size` 即结束。任一片段下载失败时整体返回错误。
func (*Client) ExExperiment2487 ¶
func (client *Client) ExExperiment2487(category uint8, code string) (*proto.ExExperiment2487Reply, error)
ExExperiment2487 获取试验协议 `0x2487` 的单品种行情原始响应。
参数 `category` 为扩展市场类别代码;参数 `code` 为扩展站证券代码。返回试验协议应答,连接或协议 失败时返回 `nil` 与对应错误;试验协议字段口径以服务端返回为准。
func (*Client) ExExperiment2488 ¶
func (client *Client) ExExperiment2488(category uint8, code string, mode uint16) ([]proto.ExExperiment2488Item, error)
ExExperiment2488 获取试验协议 `0x2488` 的数据记录。
参数 `category` 为扩展市场类别代码;参数 `code` 为扩展站证券代码;参数 `mode` 为协议模式编号,其 取值含义与响应各字段语义待确认。返回试验记录列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) ExGetBoardList ¶
func (client *Client) ExGetBoardList(boardType uint16, start uint16, pageSize uint16) (*proto.ExGetBoardListReply, error)
ExGetBoardList 按板块类型分页拉取扩展市场板块榜单,返回各板块行情条目。
`boardType` 为板块类型编号,取值由服务端分类约定;`start` 为起始偏移条数,从 0 开始 计数;`pageSize` 为每页条数,传 0 时由协议按默认值处理。连接或协议执行失败时返回错误。
func (*Client) ExGetCategoryList ¶
func (client *Client) ExGetCategoryList() (*proto.ExGetCategoryListReply, error)
ExGetCategoryList 查询扩展市场的品种分类列表,返回各分类编号、名称与品种计数。
该请求不携带业务参数;连接或协议执行失败时返回错误。
func (*Client) ExGetChartSampling ¶
func (client *Client) ExGetChartSampling(category uint8, code string) (*proto.ExGetChartSamplingReply, error)
ExGetChartSampling 查询扩展市场标的的分时缩略采样价格序列,返回服务端压缩后的采样价格点。
`category` 为扩展市场类别编号;`code` 为标的代码,内部按 22 字节定长编码、尾部补零。 连接或协议执行失败时返回错误。
func (*Client) ExGetCount ¶
func (client *Client) ExGetCount() (*proto.ExGetCountReply, error)
ExGetCount 查询扩展市场内可交易标的的总数,返回应答中的 `Count` 即品种总数。
该请求不携带业务参数;连接或协议执行失败时返回错误。
func (*Client) ExGetExperiment2487 ¶
func (client *Client) ExGetExperiment2487(category uint8, code string) (*proto.ExExperiment2487Reply, error)
ExGetExperiment2487 调用扩展市场试验报价协议 `0x2487` 查询单个标的行情。
`category` 为扩展市场类别编号;`code` 为标的代码,内部按 23 字节定长编码、尾部补零。 协议部分字段语义待确认;连接或协议执行失败时返回错误。
func (*Client) ExGetExperiment2488 ¶
func (client *Client) ExGetExperiment2488(category uint8, code string, mode uint16) (*proto.ExExperiment2488Reply, error)
ExGetExperiment2488 调用扩展市场试验报价协议 `0x2488` 查询多组试验行情。
`category` 为扩展市场类别编号;`code` 为标的代码,内部按 23 字节定长编码、尾部补零; `mode` 为查询模式,取值口径语义待确认。协议部分字段语义待确认;连接或协议执行失败时 返回错误。
func (*Client) ExGetFileMeta ¶
func (client *Client) ExGetFileMeta(filename string) (*proto.GetFileMetaReply, error)
ExGetFileMeta 查询扩展市场文件的元信息,返回文件大小、哈希校验值等字段。
`filename` 为远端文件名,内部按 40 字节定长编码、尾部补零。连接或协议执行失败时返回 错误。
func (*Client) ExGetHistoryTickChart ¶
func (client *Client) ExGetHistoryTickChart(date uint32, category uint8, code string) (*proto.ExGetHistoryTickChartReply, error)
ExGetHistoryTickChart 查询指定交易日的扩展市场历史分时图,返回当日各分钟采样点与均价。
`date` 为交易日期,按 `YYYYMMDD` 八位正整数传入;`category` 为扩展市场类别编号; `code` 为标的代码,内部按 23 字节定长编码、尾部补零。连接或协议执行失败时返回错误。
func (*Client) ExGetHistoryTransaction ¶
func (client *Client) ExGetHistoryTransaction(date uint32, category uint8, code string) (*proto.ExGetHistoryTransactionReply, error)
ExGetHistoryTransaction 查询指定交易日的扩展市场历史逐笔成交,返回按时间排列的成交条目。
`date` 为交易日期,按 `YYYYMMDD` 八位正整数传入;`category` 为扩展市场类别编号; `code` 为标的代码,内部按 43 字节定长编码、尾部补零。连接或协议执行失败时返回错误。
部分扩展站对较早日期数据不全时,执行层(`execute`)会自动换节点重试,本方法保持 单次执行语义不变。
func (*Client) ExGetKLine ¶
func (client *Client) ExGetKLine(category uint8, code string, period uint16, start uint32, count uint16, times uint16) (*proto.ExGetKLineReply, error)
ExGetKLine 查询扩展市场标的 K 线序列,返回按时间顺序排列的开高低收、成交量与成交额条目。
`category` 为扩展市场类别编号;`code` 为标的代码,内部按 9 字节定长编码、尾部补零; `period` 为 K 线周期类别,取值由扩展服务端周期表约定;`start` 为起始偏移条数,0 表示 从最新一根向前取数;`count` 为请求条数;`times` 为周期倍数,传 0 时按 1 处理。连接或 协议执行失败时返回错误。
func (*Client) ExGetKLine2 ¶
func (client *Client) ExGetKLine2(category uint8, code string, period uint16, start uint32, count uint32, times uint16) (*proto.ExGetKLine2Reply, error)
ExGetKLine2 调用扩展市场 K 线协议 `0x2489` 查询 K 线序列,返回按时间顺序排列的开高低收、 成交量与成交额条目。
`category` 为扩展市场类别编号;`code` 为标的代码,内部按 23 字节定长编码、尾部补零; `period` 为 K 线周期类别,取值由扩展服务端周期表约定;`start` 为起始偏移条数,0 表示从最新 一根向前取数;`count` 为请求条数(`uint32`);`times` 为周期倍数,传 0 时按 1 处理。连接或 协议执行失败时返回错误。
func (*Client) ExGetList ¶
ExGetList 从 `start` 偏移开始拉取 `count` 条扩展市场标的列表,返回代码、名称等标的条目。
`start` 为起始偏移条数,从 0 开始计数;`count` 为请求条数,传 0 时使用默认条数 `types.DefaultExListCount`。连接或协议执行失败时返回错误。
func (*Client) ExGetListExtra ¶
func (client *Client) ExGetListExtra(a uint16, b uint16, count uint16) (*proto.ExGetListExtraReply, error)
ExGetListExtra 调用扩展市场试验协议拉取标的列表。
参数 `a`、`b` 的具体含义语义待确认;`count` 为请求条数。连接或协议执行失败时返回错误。
func (*Client) ExGetMapping2562 ¶
func (client *Client) ExGetMapping2562(market uint16, start uint32, count uint32) (*proto.ExMapping2562Reply, error)
ExGetMapping2562 查询扩展市场代码映射表,返回分页后的代码映射条目。
`market` 为市场代码;`start` 为起始偏移条数,从 0 开始计数;`count` 为请求条数,传 0 时 由协议按默认 600 条处理。部分映射字段语义待确认;连接或协议执行失败时返回错误。
func (*Client) ExGetQuote ¶
ExGetQuote 查询单个扩展市场标的的最新行情,返回该品种的行情快照条目。
`category` 为扩展市场类别编号(区别于主站市场代码);`code` 为标的代码,内部按 9 字节 定长编码、尾部补零。连接或协议执行失败时返回错误。
func (*Client) ExGetQuotes ¶
func (client *Client) ExGetQuotes(categories []uint8, codes []string) (*proto.ExGetQuotesReply, error)
ExGetQuotes 批量查询扩展市场标的行情,返回各品种的行情快照条目。
`categories` 与 `codes` 等长,按下标一一配对;`categories` 元素为扩展市场类别编号, `codes` 元素为标的代码。两切片长度不一致时返回 `ErrMarketCodeCount`;连接或协议执行 失败时返回错误。
func (*Client) ExGetQuotes2 ¶
func (client *Client) ExGetQuotes2(categories []uint8, codes []string) (*proto.ExGetQuotesReply, error)
ExGetQuotes2 批量查询扩展市场行情,使用与 `pytdx2` 第二种批量接口对应的协议,返回各品种 行情快照条目。
`categories` 与 `codes` 等长,按下标一一配对;`categories` 元素为扩展市场类别编号, `codes` 元素为标的代码。两切片长度不一致时返回 `ErrMarketCodeCount`;连接或协议执行 失败时返回错误。
func (*Client) ExGetQuotesList ¶
func (client *Client) ExGetQuotesList(category uint8, start uint16, count uint16, sortType uint16, reverse bool) (*proto.ExGetQuotesListReply, error)
ExGetQuotesList 按分类拉取排序后的扩展市场行情列表,返回排序后的品种行情快照条目。
`category` 为扩展市场品种分类编号;`start` 为起始偏移条数,从 0 开始计数;`count` 为 请求条数,传 0 时使用默认条数 `types.DefaultExQuotesCount`;`sortType` 为排序字段编号; `reverse` 为 `true` 时按降序排列、`false` 时按升序排列。连接或协议执行失败时返回错误。
func (*Client) ExGetTable ¶
ExGetTable 分页拉取并拼接扩展市场普通表格文件的全部文本内容,返回合并后的完整文本。
该请求不携带业务参数;任一分块拉取失败时整体返回错误。
func (*Client) ExGetTableDetail ¶
ExGetTableDetail 分页拉取并拼接扩展市场详细表格文件的全部文本内容,返回合并后的完整文本。
该请求不携带业务参数;任一分块拉取失败时整体返回错误。
func (*Client) ExGetTickChart ¶
func (client *Client) ExGetTickChart(category uint8, code string) (*proto.ExGetTickChartReply, error)
ExGetTickChart 查询扩展市场标的的当日分时图,返回各分钟的现价、均价与成交量采样点。
`category` 为扩展市场类别编号;`code` 为标的代码,内部按 23 字节定长编码、尾部补零。 连接或协议执行失败时返回错误。
func (*Client) ExHistoryTransaction ¶
func (client *Client) ExHistoryTransaction(date uint32, category uint8, code string) ([]proto.ExHistoryTransactionItem, error)
ExHistoryTransaction 获取扩展市场指定日期的历史成交明细。
参数 `date` 为目标交易日,按 `YYYYMMDD` 打包成整数;参数 `category` 为扩展市场类别代码;参数 `code` 为扩展站证券代码。返回历史成交条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) ExKLine ¶
func (client *Client) ExKLine(category uint8, code string, period uint16, start uint32, count uint16, times uint16) ([]proto.ExKLineItem, error)
ExKLine 获取扩展市场证券 K 线数据。
参数 `category` 为扩展市场类别代码;参数 `code` 为扩展站证券代码;参数 `period` 为 K 线周期类别, 取值由服务端周期表约定;参数 `start` 为起始偏移条数,从 0 开始,0 表示从最新一根向前取数;参数 `count` 为请求 K 线条数;参数 `times` 为周期倍数,传 0 时按 1 处理。返回 K 线条目列表,连接或协议 失败时返回 `nil` 与对应错误。
func (*Client) ExKLine2 ¶
func (client *Client) ExKLine2(category uint8, code string, period uint16, start uint32, count uint32, times uint16) ([]proto.ExKLineItem, error)
ExKLine2 使用第二套 K 线协议获取扩展市场证券 K 线数据。
参数 `category` 为扩展市场类别代码;参数 `code` 为扩展站证券代码;参数 `period` 为 K 线周期类别; 参数 `start` 为起始偏移条数,从 0 开始;参数 `count` 为请求 K 线条数,传 0 时由协议构造器使用默认值 800;参数 `times` 为周期倍数,传 0 时按 1 处理。返回 K 线条目列表,连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) ExList ¶
ExList 分页获取扩展市场证券列表。
参数 `start` 为起始偏移序号,从 0 开始;参数 `count` 为本页请求条数。返回本页证券条目列表,连接或 协议失败时返回 `nil` 与对应错误。
func (*Client) ExListExtra ¶
func (client *Client) ExListExtra(a uint16, b uint16, count uint16) ([]proto.ExExtraListItem, error)
ExListExtra 获取扩展市场附加列表记录。
参数 `count` 为本页请求条数;参数 `a`、`b` 为协议附加定位参数,其确切语义待确认。返回附加列表 条目,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) ExMapping2562 ¶
func (client *Client) ExMapping2562(market uint16, start uint32, count uint32) ([]proto.ExMapping2562Item, error)
ExMapping2562 获取试验协议 `0x2562` 的映射记录。
参数 `market` 为市场代码;参数 `start` 为起始偏移序号,从 0 开始;参数 `count` 为请求条数,传 0 时 由协议构造器使用默认值 600。响应除名称与序号外多数字段含义语义待确认;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) ExQuote ¶
ExQuote 获取单只扩展证券的行情报价。
参数 `category` 为扩展市场类别代码,取值见 `types.ExMarket*` 与 `types.ExCategory*`;参数 `code` 为 扩展站证券代码。返回报价条目指针,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) ExQuotes ¶
ExQuotes 批量获取扩展市场行情报价。
参数 `categories` 为扩展市场类别序列,取值见 `types.ExMarket*` 与 `types.ExCategory*`;参数 `codes` 为证券代码序列,与 `categories` 按下标一一对应,较短列表作为配对上限。返回批量报价条目列表,连接 或协议失败时返回 `nil` 与对应错误。
func (*Client) ExQuotes2 ¶
ExQuotes2 使用第二套批量报价协议获取扩展市场行情报价。
参数 `categories` 为扩展市场类别序列;参数 `codes` 为证券代码序列,与 `categories` 按下标一一对应。 返回批量报价条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) ExQuotesList ¶
func (client *Client) ExQuotesList(category uint8, start uint16, count uint16, sortType uint16, reverse bool) ([]proto.ExQuoteItem, error)
ExQuotesList 分页获取扩展市场排序行情列表。
参数 `category` 为扩展市场类别代码,取值见 `types.ExMarket*` 与 `types.ExCategory*`;参数 `start` 为 起始偏移序号,从 0 开始;参数 `count` 为本页请求条数;参数 `sortType` 为排序字段编号;参数 `reverse` 为 `true` 表示降序、`false` 表示升序。返回排序后的报价条目列表,连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) ExTableDetail ¶
ExTableDetail 获取扩展市场表格明细文件的文本内容,无业务入参;返回解码后的明细文本,连接或协议 失败时返回空字符串与对应错误。
func (*Client) ExTickChart ¶
func (client *Client) ExTickChart(category uint8, code string, date uint32) ([]proto.ExTickChartData, error)
ExTickChart 获取扩展市场分时图。
参数 `category` 为扩展市场类别代码;参数 `code` 为扩展站证券代码;参数 `date` 为目标交易日,按 `YYYYMMDD` 打包,传 0 时取当日分时,否则走历史分时协议取指定日期。返回分时条目列表,连接或协议 失败时返回 `nil` 与对应错误。
func (*Client) FastestHost ¶
func (client *Client) FastestHost() (HostProbeResult, error)
FastestHost 返回已配置地址中延迟最低且可达的一条探测结果。
本方法无业务入参;全部地址不可达,或客户端指针、内部选项为空时返回零值 `HostProbeResult` 与 `ErrNoReachableHosts` 错误;探测使用当前配置的连接超时。
func (*Client) GetAnnouncement ¶
func (client *Client) GetAnnouncement() (*proto.AnnouncementReply, error)
GetAnnouncement 拉取行情服务商公告,返回标题、作者、正文与失效日期;公告无内容时应答中 `HasContent` 为 `false`。
该请求不携带业务参数;连接或协议执行失败时返回错误。
func (*Client) GetAuction ¶
func (client *Client) GetAuction(market uint8, code string, start uint32, count uint32) (*proto.GetAuctionReply, error)
GetAuction 查询指定证券的集合竞价记录,返回竞价时间、价格与量能明细列表。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零;`start` 为起始偏移条数,从 0 开始计数;`count` 为请求明细条数, 传 0 时按默认 500 条处理。连接或协议执行失败时返回错误。
func (*Client) GetBlockFile ¶
GetBlockFile 下载并返回指定板块文件的完整字节内容。
参数 `filename` 为服务端板块文件名;先取文件元信息获得大小,再按块下载。元信息获取失败或分块 下载失败时返回 `nil` 与对应错误。
func (*Client) GetCSVFile ¶
GetCSVFile 下载并解析指定 CSV 文件,返回二维字符串表格;每行允许字段数不一致。
参数 `filename` 为服务端 CSV 文件名;下载或解析失败时返回 `nil` 与对应错误。
func (*Client) GetChartSampling ¶
func (client *Client) GetChartSampling(market uint8, code string) (*proto.GetChartSamplingReply, error)
GetChartSampling 查询指定证券的分时缩略采样价格序列,返回服务端压缩后的采样价格点。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零。连接或协议执行失败时返回错误。
func (*Client) GetClient26AC ¶
func (client *Client) GetClient26AC() (*proto.RawDataReply, error)
GetClient26AC 发送客户端信息协议 `0x26ac`,返回未做字段解析的原始响应; 该协议语义待确认,仅用于协议探测。
func (*Client) GetClient26AD ¶
func (client *Client) GetClient26AD() (*proto.RawDataReply, error)
GetClient26AD 发送客户端信息协议 `0x26ad`,返回未做字段解析的原始响应; 该协议语义待确认,仅用于协议探测。
func (*Client) GetClient26AE ¶
func (client *Client) GetClient26AE() (*proto.RawDataReply, error)
GetClient26AE 发送客户端信息协议 `0x26ae`,返回未做字段解析的原始响应; 该协议语义待确认,仅用于协议探测。
func (*Client) GetClient26B1 ¶
func (client *Client) GetClient26B1() (*proto.RawDataReply, error)
GetClient26B1 发送客户端信息协议 `0x26b1`,返回未做字段解析的原始响应; 该协议语义待确认,仅用于协议探测。
func (*Client) GetClient264B ¶
func (client *Client) GetClient264B() (*proto.RawDataReply, error)
GetClient264B 发送客户端信息协议 `0x264b`,返回未做字段解析的原始响应; 该协议语义待确认,仅用于协议探测。
func (*Client) GetCompanyCategories ¶
func (client *Client) GetCompanyCategories(market uint8, code string) (*proto.GetCompanyCategoryReply, error)
GetCompanyCategories 查询指定证券的 F10 公司信息章节目录,返回各章节的名称、对应文件名、 文件内起始偏移与正文长度。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零。返回目录条目的 `Filename`、`Start`、`Length` 必须原样传给 `GetCompanyContent` 逐章拉取正文;连接或协议执行失败时返回错误。
func (*Client) GetCompanyContent ¶
func (client *Client) GetCompanyContent(market uint8, code string, filename string, start uint32, length uint32) (*proto.GetCompanyContentReply, error)
GetCompanyContent 按目录条目拉取指定证券的 F10 章节正文,返回该区间的解码文本与实际长度。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零;`filename`、`start`、`length` 必须取自 `GetCompanyCategories` 返回的 目录条目,`filename` 内部按 80 字节定长编码、尾部补零,`start` 为文件内起始偏移(字节), `length` 为本次请求的正文字节数。连接或协议执行失败时返回错误。
func (*Client) GetCompanyInfo ¶
func (client *Client) GetCompanyInfo(market uint8, code string) (*CompanyInfoBundle, error)
GetCompanyInfo 聚合获取指定证券的公司信息,包含 F10 章节、除权除息记录与财务信息。
参数 `market` 为市场代码,取值见 `types.Market*` 常量;参数 `code` 为六位证券代码。先按目录逐项 拉取章节正文,任一章节拉取失败即作为硬性错误直接返回;除权除息与财务信息为尽力而为,拉取失败时 保留已取到的章节,对应字段保持 `nil` 或空切片。
func (*Client) GetExServerInfo ¶
func (client *Client) GetExServerInfo() (*proto.ExServerInfoReply, error)
GetExServerInfo 拉取扩展行情服务器信息,返回扩展站服务端标识与状态字段。
该请求不携带业务参数;扩展站未连接、协议收发或响应解析失败时返回错误。
func (*Client) GetExchangeAnnouncement ¶
func (client *Client) GetExchangeAnnouncement() (*proto.ExchangeAnnouncementReply, error)
GetExchangeAnnouncement 拉取交易所公告内容,返回公告版本号与已解码的公告正文。
该请求不携带业务参数;连接未建立、协议收发或响应负载为空时返回错误。
func (*Client) GetFileMeta ¶
func (client *Client) GetFileMeta(filename string) (*proto.GetFileMetaReply, error)
GetFileMeta 查询主站文件的元信息,返回文件大小、哈希校验值等字段;部分未确认字段保留 原始数值。
`filename` 为远端文件名,内部按 40 字节定长编码、尾部补零。连接或协议执行失败时返回 错误。
func (*Client) GetFinanceInfo ¶
GetFinanceInfo 查询指定证券的财务概况,返回流通股本、省份、行业、每股指标、资产负债与 利润等字段。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零。连接或协议执行失败时返回错误。
func (*Client) GetGroupedBlockFile ¶
func (client *Client) GetGroupedBlockFile(filename string) ([]BlockGroup, error)
GetGroupedBlockFile 下载指定板块文件并按板块分组解析为成分股代码列表。
参数 `filename` 为服务端板块文件名;先通过 `GetBlockFile` 下载完整文件内容,再交给 `ParseBlockGroups` 解析。下载失败时直接返回底层错误;文件内容不合法时返回解析错误;解析成功 返回板块分组切片,错误为 `nil`。
func (*Client) GetHistoryMinuteTimeData ¶
func (client *Client) GetHistoryMinuteTimeData(date uint32, market uint8, code string) (*proto.GetHistoryMinuteTimeDataReply, error)
GetHistoryMinuteTimeData 查询指定交易日的历史分时图数据,内部委托 `GetHistoryTickChart` 实现。
`date` 为交易日期,按 `YYYYMMDD` 八位正整数传入(如 `20240102`);`market` 为市场代码 (取值见 `types.Market*` 常量);`code` 为证券代码。连接或协议执行失败时返回错误。
func (*Client) GetHistoryOrders ¶
func (client *Client) GetHistoryOrders(date uint32, market uint8, code string) (*proto.GetHistoryOrdersReply, error)
GetHistoryOrders 查询指定交易日的历史委托档位记录,返回档位价格与挂单量列表。
`date` 为交易日期,按 `YYYYMMDD` 八位正整数传入;`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节定长编码、尾部补零。连接或 协议执行失败时返回错误。
func (*Client) GetHistoryTickChart ¶
func (client *Client) GetHistoryTickChart(date uint32, market uint8, code string) (*proto.GetHistoryMinuteTimeDataReply, error)
GetHistoryTickChart 查询指定交易日的历史分时图数据,返回当日分时价格、均价与成交量采样点。
`date` 为交易日期,按 `YYYYMMDD` 八位正整数传入;`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节定长编码、尾部补零。连接或 协议执行失败时返回错误。
func (*Client) GetHistoryTransactionData ¶
func (client *Client) GetHistoryTransactionData(date uint32, market uint8, code string, start uint16, count uint16) (*proto.GetHistoryTransactionDataReply, error)
GetHistoryTransactionData 查询指定交易日的历史分时逐笔成交,返回按时间排列的成交记录。
`date` 为交易日期,按 `YYYYMMDD` 八位正整数传入;`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节定长编码、尾部补零;`start` 为 起始偏移条数,从 0 开始计数;`count` 为请求条数。连接或协议执行失败时返回错误。
func (*Client) GetHistoryTransactionDataWithTrans ¶
func (client *Client) GetHistoryTransactionDataWithTrans(date uint32, market uint8, code string, start uint16, count uint16) (*proto.GetHistoryTransactionDataWithTransReply, error)
GetHistoryTransactionDataWithTrans 查询带买卖方向标识的历史分时逐笔成交,每条记录额外 携带主动买、主动卖或中性方向编码。
`date` 为交易日期,按 `YYYYMMDD` 八位正整数传入;`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节定长编码、尾部补零;`start` 为 起始偏移条数,从 0 开始计数;`count` 为请求条数。连接或协议执行失败时返回错误。
func (*Client) GetIndexBars ¶
func (client *Client) GetIndexBars(category uint16, market uint8, code string, start uint16, count uint16) (*proto.GetIndexBarsReply, error)
GetIndexBars 查询指数 K 线序列,固定周期倍数为 1、不复权。
`category` 为 K 线周期类型,取值 `types.KLINE_TYPE_*` 常量;`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为指数代码,内部按 6 字节定长编码、尾部补零;`start` 为 起始偏移条数,从 0 开始计数;`count` 为请求条数。连接或协议执行失败时返回错误。
func (*Client) GetIndexInfo ¶
GetIndexInfo 查询指定指数的实时概况,返回点位、涨跌、成交及上涨下跌家数与档位分布。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为指数代码,内部按 6 字节 定长编码、尾部补零。连接或协议执行失败时返回错误。
func (*Client) GetIndexMomentum ¶
func (client *Client) GetIndexMomentum(market uint8, code string) (*proto.GetIndexMomentumReply, error)
GetIndexMomentum 查询指定指数的动量数据,返回累计动量值序列。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为指数代码,内部按 6 字节 定长编码、尾部补零。连接或协议执行失败时返回错误。
func (*Client) GetKLine ¶
func (client *Client) GetKLine(category uint16, market uint8, code string, start uint16, count uint16, times uint16, adjust uint16) (*proto.GetSecurityBarsReply, error)
GetKLine 查询证券 K 线序列,返回按周期从早到晚排列的开高低收、成交量、成交额与时间条目。
`category` 为 K 线周期类型,取值 `types.KLINE_TYPE_*` 常量(如 `types.KLINE_TYPE_DAILY` 日 K、`types.KLINE_TYPE_5MIN` 五分钟 K);`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节定长编码、尾部补零;`start` 为起始偏移条数, 从 0 开始计数;`count` 为请求条数;`times` 为周期倍数,通常取 1;`adjust` 为复权方式, 取值 `types.AdjustNone`(0,不复权)、`types.AdjustQFQ`(1,前复权)、`types.AdjustHFQ` (2,后复权)。连接或协议执行失败时返回错误。
func (*Client) GetMACAuction ¶
func (client *Client) GetMACAuction(market uint8, code string, start uint32, count uint32) (*proto.MACAuctionReply, error)
GetMACAuction 获取 MAC 集合竞价数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `start` 为起始竞价 记录序号(分页偏移),从 0 开始;参数 `count` 为请求条数。返回竞价快照应答;协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACBoardCount ¶
func (client *Client) GetMACBoardCount(boardType uint16) (*proto.MACBoardCountReply, error)
GetMACBoardCount 查询指定类型板块的总数(底层协议接口)。
参数 `boardType` 为板块类型代码,取值见 `types.BoardType*` 常量;返回板块总数应答。连接或协议 收发、解析失败时返回 `nil` 与对应错误。
func (*Client) GetMACBoardList ¶
func (client *Client) GetMACBoardList(boardType uint16, start uint16, pageSize uint16) (*proto.MACBoardListReply, error)
GetMACBoardList 分页查询指定类型的板块列表(底层协议接口)。
参数 `boardType` 为板块类型代码,取值见 `types.BoardType*`;参数 `start` 为起始板块序号(分页偏移), 从 0 开始;参数 `pageSize` 为本页请求条数。返回本页板块列表应答;连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) GetMACBoardMembers ¶
func (client *Client) GetMACBoardMembers(boardSymbol string, sortType uint16, start uint32, pageSize uint8, sortOrder uint16) (*proto.MACBoardMembersReply, error)
GetMACBoardMembers 分页查询指定板块的成分股列表(底层协议接口)。
参数 `boardSymbol` 为板块符号,内部经协议映射为板块代码;参数 `sortType` 为排序字段编号,取值见 根包 `MACSortType*` 常量;参数 `start` 为起始成分股序号(分页偏移),从 0 开始;参数 `pageSize` 为 本页条数;参数 `sortOrder` 为排序方向编号(1 降序、2 升序、0 不指定)。板块符号映射失败或协议 失败时返回 `nil` 与对应错误。
func (*Client) GetMACBoardMembersQuotes ¶
func (client *Client) GetMACBoardMembersQuotes(boardSymbol string, sortType uint16, start uint32, pageSize uint8, sortOrder uint8) (*proto.MACBoardMembersQuotesReply, error)
GetMACBoardMembersQuotes 分页查询指定板块成分股的行情报价(底层协议接口)。
参数 `boardSymbol` 为板块符号,内部映射为板块代码;参数 `sortType` 为排序字段编号,取值见根包 `MACSortType*`;参数 `start` 为起始成分股序号(分页偏移),从 0 开始;参数 `pageSize` 为本页条数; 参数 `sortOrder` 为排序方向编号(1 降序、2 升序、0 不指定)。板块符号映射失败或协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACBoardMembersQuotesDynamic ¶
func (client *Client) GetMACBoardMembersQuotesDynamic(boardSymbol string, sortType uint16, start uint32, pageSize uint8, sortOrder uint8, fieldBitmap [20]byte) (*proto.MACBoardMembersQuotesDynamicReply, error)
GetMACBoardMembersQuotesDynamic 获取按位图动态解析的 MAC 板块成分报价。
参数 `boardSymbol` 为板块符号,内部映射为板块代码;`sortType` 为排序字段编号(见根包 `MACSortType*`);`start` 为起始成分股序号,从 0 开始;`pageSize` 为本页条数;`sortOrder` 为排序 方向编号(1 降序、2 升序、0 不指定);`fieldBitmap` 为 20 字节(160 位)字段位图,声明本次返回 哪些动态行情字段,传全零时使用内置默认位图。过滤条件固定为 0(不排除)。板块符号映射失败或协议 失败时返回 `nil` 与对应错误。
func (*Client) GetMACBoardMembersQuotesDynamicWithFilter ¶
func (client *Client) GetMACBoardMembersQuotesDynamicWithFilter(boardSymbol string, sortType uint16, start uint32, pageSize uint8, sortOrder uint8, fieldBitmap [20]byte, filter uint8) (*proto.MACBoardMembersQuotesDynamicReply, error)
GetMACBoardMembersQuotesDynamicWithFilter 获取按位图动态解析的 MAC 板块成分报价,并设置排除过滤位。
除 `filter` 外其余参数语义同 `GetMACBoardMembersQuotesDynamic`;参数 `filter` 为排除过滤位组合, 0 表示不排除,各过滤位编号见根包 `MACFilterType`。板块符号映射失败或协议失败时返回 `nil` 与 对应错误。
func (*Client) GetMACCapitalFlow ¶
func (client *Client) GetMACCapitalFlow(market uint8, code string) (*proto.MACCapitalFlowReply, error)
GetMACCapitalFlow 获取 MAC 个股资金流向(当日与五日资金指标)。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。返回资金流向应答;协议 失败时返回 `nil` 与对应错误。
func (*Client) GetMACFileDownload ¶
func (client *Client) GetMACFileDownload(filename string, index uint32, offset uint32, size uint32) (*proto.MACFileDownloadReply, error)
GetMACFileDownload 下载 MAC 文件片段。
参数 `filename` 为协议文件名,内部按定长 70 字节字段填充;参数 `index` 为分片序号,协议从 1 开始; 参数 `offset` 为本片段字节偏移;参数 `size` 为本片段请求字节数,传 0 时由协议构造器使用默认大小。 返回分片序号、本分片大小与文件原始字节;协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACFileList ¶
func (client *Client) GetMACFileList(filename string, offset uint32) (*proto.MACFileListReply, error)
GetMACFileList 获取 MAC 文件列表/元信息(大小、状态标志与哈希)。
参数 `filename` 为协议文件名,内部按定长 70 字节字段填充;参数 `offset` 为协议起始偏移,口径 语义待确认。返回文件元信息应答;协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACKLineOffset ¶
func (client *Client) GetMACKLineOffset(offset uint32, count uint32) (*proto.MACKLineOffsetReply, error)
GetMACKLineOffset 获取 MAC K 线偏移信息(K 线总数与本次返回条数)。
参数 `offset` 为起始 K 线条数偏移,从 0 开始;参数 `count` 为期望查询条数,传 0 时由协议构造器 使用默认值 128000。返回偏移信息应答;协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACMarketMonitor ¶
func (client *Client) GetMACMarketMonitor(market uint8, start uint16, count uint16) (*proto.MACMarketMonitorReply, error)
GetMACMarketMonitor 获取 MAC 市场监控(异动)数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `start` 为起始记录序号(分页偏移),从 0 开始;参数 `count` 为请求异动条数。返回异动记录应答;协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACQuotes ¶
GetMACQuotes 获取 MAC 单只标的最新交易日的快照与分时采样。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。等价于 `GetMACQuotesWithDate(market, code, 0)`,即查询最新交易日;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACQuotesWithDate ¶
func (client *Client) GetMACQuotesWithDate(market uint8, code string, queryDate uint32) (*proto.MACQuotesReply, error)
GetMACQuotesWithDate 获取 MAC 单只标的快照与分时采样,并可指定查询日期。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `queryDate` 为查询 交易日,按 `YYYYMMDD` 打包成整数,传 0 表示取最新交易日。返回快照与分时采样应答;协议失败时 返回 `nil` 与对应错误。
func (*Client) GetMACServerInfo ¶
func (client *Client) GetMACServerInfo() (*proto.MACServerInfoReply, error)
GetMACServerInfo 获取 MAC 服务端交易日时段与状态信息,无业务入参;返回服务端状态应答,协议 失败时返回 `nil` 与对应错误。
func (*Client) GetMACSymbolBars ¶
func (client *Client) GetMACSymbolBars(market uint8, code string, period uint16, times uint16, start uint32, count uint16, adjust uint16) (*proto.MACSymbolBarsReply, error)
GetMACSymbolBars 查询 MAC 证券 K 线数据(底层协议接口)。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `period` 为 K 线周期 类别,取值见 `types.KLINE_TYPE_*`;参数 `times` 为周期倍数,传 0 时按 1 处理;参数 `start` 为起始 偏移条数,从 0 开始;参数 `count` 为请求条数;参数 `adjust` 为复权方式,取值为 `types.AdjustNone`、 `types.AdjustQFQ`、`types.AdjustHFQ`。返回 K 线应答;协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACSymbolBelongBoard ¶
func (client *Client) GetMACSymbolBelongBoard(market uint8, symbol string) (*proto.MACSymbolBelongBoardReply, error)
GetMACSymbolBelongBoard 查询指定证券所属的板块列表(底层协议接口)。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `symbol` 为证券代码。返回所属板块条目应答; 协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACSymbolInfo ¶
func (client *Client) GetMACSymbolInfo(market uint8, code string) (*proto.MACSymbolInfoReply, error)
GetMACSymbolInfo 获取 MAC 个股摘要(名称、价格、股本等静态与快照字段)。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。返回个股摘要应答;协议 失败时返回 `nil` 与对应错误。
func (*Client) GetMACSymbolQuotes ¶
func (client *Client) GetMACSymbolQuotes(markets []uint8, codes []string, fieldBitmap [20]byte) (*proto.MACSymbolQuotesReply, error)
GetMACSymbolQuotes 获取 MAC 按位图批量股票报价。
参数 `markets` 为市场代码序列,取值见 `types.Market*`;参数 `codes` 为证券代码序列,与 `markets` 按下标一一对应;参数 `fieldBitmap` 为 20 字节(160 位)字段位图,声明每只标的返回哪些动态字段, 传全零时使用内置默认位图。两个列表长度不一致时返回 `ErrMarketCodeCount` 错误;连接或协议失败时 返回 `nil` 与对应错误。
func (*Client) GetMACTickCharts ¶
func (client *Client) GetMACTickCharts(market uint8, code string, queryDate uint32, days uint16) (*proto.MACTickChartsReply, error)
GetMACTickCharts 获取 MAC 多日分时数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `queryDate` 为查询 基准交易日,按 `YYYYMMDD` 打包成整数,传 0 表示取最新交易日;参数 `days` 为需要返回的交易日天数, 从基准日向前取数,传 0 时由协议构造器使用默认值 5,服务端返回的多余交易日会按该值裁剪。返回 `*proto.MACTickChartsReply`,内含标的标识、交易日计数、逐日分时序列与汇总行情;连接或协议收发、 解析失败时返回 `nil` 与对应错误。
func (*Client) GetMACTransactions ¶
func (client *Client) GetMACTransactions(market uint8, code string, start uint32, count uint16) (*proto.MACTransactionsReply, error)
GetMACTransactions 获取 MAC 最新交易日的分时成交明细。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `start` 为起始成交 序号(分页偏移),从 0 开始;参数 `count` 为请求成交条数。等价于 `GetMACTransactionsWithDate(market, code, start, count, 0)`,即查询最新交易日;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) GetMACTransactionsWithDate ¶
func (client *Client) GetMACTransactionsWithDate(market uint8, code string, start uint32, count uint16, queryDate uint32) (*proto.MACTransactionsReply, error)
GetMACTransactionsWithDate 获取 MAC 分时成交,并可指定查询日期。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `queryDate` 为查询 交易日,按 `YYYYMMDD` 打包,传 0 表示最新交易日;参数 `start` 为起始成交序号(分页偏移),从 0 开始;参数 `count` 为请求成交条数。返回成交明细应答;协议失败时返回 `nil` 与对应错误。
func (*Client) GetMinuteTimeData ¶
func (client *Client) GetMinuteTimeData(market uint8, code string) (*proto.GetMinuteTimeDataReply, error)
GetMinuteTimeData 查询当日分时图数据,从第 0 点开始按默认条数 `types.DefaultTickChartCount` 拉取。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零。返回应答中的 `List` 为当日分时价格、均价与成交量采样点;连接或 协议执行失败时返回错误。
func (*Client) GetParsedBlockFile ¶
func (client *Client) GetParsedBlockFile(filename string) ([]BlockFlatItem, error)
GetParsedBlockFile 下载指定板块文件并解析为扁平成分股条目列表。
参数 `filename` 为服务端板块文件名;先通过 `GetBlockFile` 下载完整文件内容,再交给 `ParseBlockFlat` 解析。下载失败时直接返回底层错误;文件内容不合法时返回解析错误;解析成功 返回扁平条目切片,错误为 `nil`。
func (*Client) GetQuotes ¶
GetQuotes 批量查询证券行情快照,返回每只证券的最新行情条目。
`markets` 与 `codes` 等长,按下标一一配对;`markets` 元素为市场代码(取值见 `types.Market*` 常量),`codes` 元素为证券代码。两切片长度不一致时返回 `ErrMarketCodeCount`;连接或协议执行失败时返回错误。
func (*Client) GetQuotesDetail ¶
func (client *Client) GetQuotesDetail(markets []uint8, codes []string) (*proto.GetSecurityQuotesReply, error)
GetQuotesDetail 批量查询详细行情报价,返回每只证券的最新价、开盘价、最高价、最低价、 成交量、成交额与换手率等盘口字段。
`markets` 与 `codes` 等长,按下标一一配对;`markets` 元素为市场代码(取值见 `types.Market*` 常量),`codes` 元素为证券代码。两切片长度不一致时返回 `ErrMarketCodeCount`;连接或协议执行失败时返回错误。
func (*Client) GetQuotesEncrypt ¶
func (client *Client) GetQuotesEncrypt(markets []uint8, codes []string) (*proto.GetQuotesEncryptReply, error)
GetQuotesEncrypt 批量查询加密通道行情快照,返回加密协议解析后的每只证券行情条目。
`markets` 与 `codes` 等长,按下标一一配对;`markets` 元素为市场代码(取值见 `types.Market*` 常量),`codes` 元素为证券代码。两切片长度不一致时返回 `ErrMarketCodeCount`;连接或协议执行失败时返回错误。
func (*Client) GetQuotesList ¶
func (client *Client) GetQuotesList(category uint8, start uint16, count uint16, sortType uint16, reverse bool, filter uint16) (*proto.GetQuotesListReply, error)
GetQuotesList 按分类拉取排序后的行情快照列表,返回排序后的证券快照条目。
`category` 为板块或市场分类编号;`start` 为起始偏移条数,从 0 开始按页递增;`count` 为请求条数;`sortType` 为排序字段,取值 `types.Sort*` 常量;`reverse` 为 `true` 时按降序 排列、`false` 时按升序排列(按代码排序时不区分升降序);`filter` 为可按位组合的筛选 条件,取值 `types.Filter*` 常量。连接或协议执行失败时返回错误。
func (*Client) GetSecurityBars ¶
func (client *Client) GetSecurityBars(category uint16, market uint8, code string, start uint16, count uint16) (*proto.GetSecurityBarsReply, error)
GetSecurityBars 查询股票 K 线,固定周期倍数为 1、不复权,返回开高低收、成交量、成交额与 时间条目。
`category` 为 K 线周期类型,取值 `types.KLINE_TYPE_*` 常量;`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节定长编码、尾部补零;`start` 为起始 偏移条数,从 0 开始计数;`count` 为请求条数。连接或协议执行失败时返回错误。
func (*Client) GetSecurityBarsOffset ¶
func (client *Client) GetSecurityBarsOffset(category uint16, market uint8, code string, start uint16, count uint16, times uint16, adjust uint16) (*proto.GetSecurityBarsOffsetReply, error)
GetSecurityBarsOffset 使用偏移量协议查询证券 K 线,返回由独立偏移协议响应结构承载的 开高低收、成交量、成交额与时间条目。
`category` 为 K 线周期类型,取值 `types.KLINE_TYPE_*` 常量;`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节定长编码、尾部补零;`start` 为起始 偏移条数,从 0 开始计数;`count` 为请求条数;`times` 为周期倍数,通常取 1;`adjust` 为复权 方式,取值 `types.AdjustNone`、`types.AdjustQFQ`、`types.AdjustHFQ`。连接或协议执行失败时 返回错误。
func (*Client) GetSecurityCount ¶
func (client *Client) GetSecurityCount(market uint8) (*proto.GetSecurityCountReply, error)
GetSecurityCount 查询指定市场内的证券总数,通常在分页拉取证券列表前调用以计算分页范围。
`market` 为市场代码,取值 `types.MarketSZ`(0,深圳)、`types.MarketSH`(1,上海)、 `types.MarketBJ`(2,北京)、`types.MarketHK`(3,香港)、`types.MarketUSA`(4,美国)。 返回应答中的 `Count` 即该市场证券总数;连接未建立、协议收发或响应解析失败时返回错误。
func (*Client) GetSecurityFeature452 ¶
func (client *Client) GetSecurityFeature452(start uint32, count uint32) (*proto.GetSecurityFeature452Reply, error)
GetSecurityFeature452 按 `start` 偏移与 `count` 条数批量获取证券扩展信息。
`start` 为起始偏移条数,从 0 开始计数;`count` 为请求条数。返回条目中 `P1`、`P2` 字段的具体业务含义语义待确认;连接或协议执行失败时返回错误。
func (*Client) GetSecurityList ¶
func (client *Client) GetSecurityList(market uint8, start uint16) (*proto.GetSecurityListReply, error)
GetSecurityList 从 `start` 偏移开始,按默认条数 `types.DefaultSecurityListCount` 拉取指定市场内的证券代码与名称列表。
`market` 为市场代码(取值见 `types.Market*` 常量);`start` 为起始偏移条数,从 0 开始 计数。返回应答中的 `List` 为分页后的证券条目;连接或协议执行失败时返回错误。
func (*Client) GetSecurityListOld ¶
func (client *Client) GetSecurityListOld(market uint8, start uint16) (*proto.GetSecurityListOldReply, error)
GetSecurityListOld 使用旧版协议从 `start` 偏移开始拉取指定市场内的证券代码与名称列表。
`market` 为市场代码(取值见 `types.Market*` 常量);`start` 为起始偏移条数,从 0 开始 计数。连接或协议执行失败时返回错误。
func (*Client) GetSecurityListRange ¶
func (client *Client) GetSecurityListRange(market uint8, start uint32, count uint32) (*proto.GetSecurityListReply, error)
GetSecurityListRange 从 `start` 偏移开始拉取 `count` 条指定市场内的证券代码与名称列表。
`market` 为市场代码(取值见 `types.Market*` 常量);`start` 为起始偏移条数,从 0 开始 计数;`count` 为本次请求条数。连接或协议执行失败时返回错误。
func (*Client) GetSecurityQuotes ¶
func (client *Client) GetSecurityQuotes(markets []uint8, codes []string) (*proto.GetSecurityQuotesReply, error)
GetSecurityQuotes 批量查询证券盘口报价,内部委托 `GetQuotesDetail` 实现。
`markets` 与 `codes` 等长,按下标一一配对发送;`markets` 元素为市场代码(取值见 `types.Market*` 常量),`codes` 元素为证券代码。两切片长度不一致时返回 `ErrMarketCodeCount`;连接或协议执行失败时返回错误。
func (*Client) GetServerHeartbeat ¶
func (client *Client) GetServerHeartbeat() (*proto.HeartBeatReply, error)
GetServerHeartbeat 发送心跳请求并返回服务端应答,用于维持长连接活性;应答中记录服务端 返回的打包日期整数。
该请求不携带业务参数;连接或协议执行失败时返回错误。
func (*Client) GetServerInfo ¶
GetServerInfo 拉取主站服务信息,返回网络时延、服务端时间、服务端文案、签名与标识等字段。
该请求不携带业务参数;连接或协议执行失败时返回错误。
func (*Client) GetTableFile ¶
GetTableFile 下载并解析以竖线 `|` 分隔的表格文件,返回二维字符串表格;每个内层切片对应一行, 元素为该行各列文本,空行被跳过。
参数 `filename` 为服务端表格文件名;下载失败时返回 `nil` 与该错误。
func (*Client) GetTickChart ¶
func (client *Client) GetTickChart(market uint8, code string, start uint16, count uint16) (*proto.GetMinuteTimeDataReply, error)
GetTickChart 查询当日分时图数据,返回分时价格、均价与成交量采样点序列。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零;`start` 为分时点起始偏移,从 0 开始计数;`count` 为请求点数。 连接或协议执行失败时返回错误。
func (*Client) GetTodoB ¶
func (client *Client) GetTodoB() (*proto.RawDataReply, error)
GetTodoB 发送主站试验协议 `0x000b`,返回未做字段解析的原始响应; 该协议语义待确认,仅用于协议探测。
func (*Client) GetTodoFDE ¶
func (client *Client) GetTodoFDE() (*proto.RawDataReply, error)
GetTodoFDE 发送主站试验协议 `0x0fde`,返回未做字段解析的原始响应; 该协议语义待确认,仅用于协议探测。
func (*Client) GetTopBoard ¶
GetTopBoard 查询分类排行榜,返回各榜单按排序字段排列的条目集合。
`category` 为榜单分类编号;`size` 为每个榜单返回的条目数量。连接或协议执行失败时返回错误。
func (*Client) GetTransactionData ¶
func (client *Client) GetTransactionData(market uint8, code string, start uint16, count uint16) (*proto.GetTransactionDataReply, error)
GetTransactionData 查询当日分时逐笔成交,返回当日按时间排列的逐笔成交记录。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零;`start` 为起始偏移条数,从 0 开始计数;`count` 为请求条数。 连接或协议执行失败时返回错误。
func (*Client) GetUnusual ¶
func (client *Client) GetUnusual(market uint8, start uint32, count uint32) (*proto.GetUnusualReply, error)
GetUnusual 查询异动监控(主力监控)记录,返回异动事件明细列表。
`market` 为市场代码(取值见 `types.Market*` 常量);`start` 为起始偏移条数,从 0 开始 计数;`count` 为请求条数,传 0 时按默认 600 条处理。连接或协议执行失败时返回错误。
func (*Client) GetVolumeProfile ¶
func (client *Client) GetVolumeProfile(market uint8, code string) (*proto.GetVolumeProfileReply, error)
GetVolumeProfile 查询指定证券的价位成交分布(量价分布),响应前段附带一份盘口快照。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零。连接或协议执行失败时返回错误。
func (*Client) GetXDXRInfo ¶
GetXDXRInfo 查询指定证券的除权除息历史记录,返回按日期倒序排列的权益变动条目。
`market` 为市场代码(取值见 `types.Market*` 常量);`code` 为证券代码,内部按 6 字节 定长编码、尾部补零。连接或协议执行失败时返回错误。
func (*Client) GoodsCategoryList ¶
func (client *Client) GoodsCategoryList() ([]proto.ExCategoryItem, error)
GoodsCategoryList 查询扩展市场商品分类列表,内部委托 `ExCategoryList` 实现,返回各分类条目。
该请求不携带业务参数;连接或协议执行失败时返回错误。
func (*Client) GoodsChartSampling ¶
GoodsChartSampling 查询扩展市场商品分时缩略采样价格序列,内部委托 `ExChartSampling` 实现, 返回压缩后的采样价格浮点序列。
`market` 为扩展市场类别编号;`code` 为商品代码。连接或协议执行失败时返回错误。
func (*Client) GoodsCount ¶
GoodsCount 查询扩展市场商品总数,内部委托 `ExCount` 实现,返回品种总数。
该请求不携带业务参数;连接或协议执行失败时返回错误。
func (*Client) GoodsHistoryTransaction ¶
func (client *Client) GoodsHistoryTransaction(market uint8, code string, queryDate uint32, count uint32) ([]proto.MACTransactionItem, error)
GoodsHistoryTransaction 查询扩展市场商品历史成交,内部委托 `MACTransactionsWithDate` 实现, 返回按时间排列的逐笔成交条目。
`market` 为市场代码;`code` 为商品代码;`queryDate` 为交易日期,按 `YYYYMMDD` 八位正 整数传入;`count` 为请求成交条数,传 0 时取 `DefaultGoodsHistoryTransactionCount` 条。 连接或协议执行失败时返回错误。
func (*Client) GoodsKLine ¶
func (client *Client) GoodsKLine(market uint8, code string, period uint16, start uint32, count uint32, times uint16, adjust uint16) ([]proto.MACSymbolBar, error)
GoodsKLine 查询扩展市场商品 MAC K 线,内部委托 `MACSymbolBars` 实现,返回 K 线条目序列。
`market` 为市场代码;`code` 为商品代码;`period` 为 K 线周期类别;`start` 为起始偏移条数, 从 0 开始计数;`count` 为请求条数;`times` 为周期倍数,通常取 1;`adjust` 为复权方式, 取值 `types.AdjustNone`、`types.AdjustQFQ`、`types.AdjustHFQ`。连接或协议执行失败时 返回错误。
func (*Client) GoodsList ¶
GoodsList 从 `start` 偏移开始拉取扩展市场商品列表,内部委托 `ExList` 实现。
`start` 为起始偏移条数,从 0 开始计数;`count` 为请求条数,传 0 时由扩展协议按默认条数 处理。连接或协议执行失败时返回错误。
func (*Client) GoodsQuote ¶
GoodsQuote 查询单个扩展市场商品报价,内部委托 `ExQuote` 实现,返回该商品的行情快照条目。
`market` 为扩展市场类别编号;`code` 为商品代码。连接或协议执行失败时返回错误。
func (*Client) GoodsQuotes ¶
GoodsQuotes 批量查询扩展市场商品报价,内部委托 `ExQuotes` 实现。
`markets` 与 `codes` 等长,按下标一一配对;两切片长度不一致时返回 `ErrMarketCodeCount`; 连接或协议执行失败时返回错误。
func (*Client) GoodsQuotesList ¶
func (client *Client) GoodsQuotesList(market uint8, start uint16, count uint16, sortType uint16, reverse bool) ([]proto.ExQuoteItem, error)
GoodsQuotesList 查询扩展市场商品排序行情列表,内部委托 `ExQuotesList` 实现。
`market` 为扩展市场类别编号;`start` 为起始偏移条数,从 0 开始计数;`count` 为请求条数, 传 0 时按扩展协议默认条数处理;`sortType` 为排序字段编号;`reverse` 为 `true` 时降序、 `false` 时升序。连接或协议执行失败时返回错误。
func (*Client) GoodsTickChart ¶
func (client *Client) GoodsTickChart(market uint8, code string, queryDate uint32) ([]proto.MACQuoteChartItem, error)
GoodsTickChart 查询扩展市场商品分时图,内部委托 `MACQuotesWithDate` 实现,返回分时图表数据点。
`market` 为市场代码;`code` 为商品代码;`queryDate` 为查询日期,按 `YYYYMMDD` 八位正 整数传入,传 0 时返回实时分时,否则返回指定交易日的历史分时。连接或协议执行失败时 返回错误。
func (*Client) GoodsVarieties ¶
func (client *Client) GoodsVarieties(market uint16, start uint32, count uint32) ([]proto.ExMapping2562Item, error)
GoodsVarieties 查询扩展市场品种列表,内部委托 `ExMapping2562` 实现。
`market` 为市场代码;`start` 为起始偏移条数,从 0 开始计数;`count` 为请求条数,超过 `MaxGoodsVarietiesCount` 时在本地返回参数错误。连接或协议执行失败时返回错误。
func (*Client) MACAuction ¶
func (client *Client) MACAuction(market uint8, code string, start uint32, count uint32) ([]proto.MACAuctionItem, error)
MACAuction 连接 MAC 主站并自动分页获取集合竞价数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `start` 为起始竞价 记录序号(分页偏移),从 0 开始;参数 `count` 为期望竞价条数上限,传 0 时使用 `DefaultMACAuctionCount`;分页单页大小取 `DefaultMACAuctionPage`,末页自动收缩。返回合并后的竞价 快照列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACBoardCount ¶
MACBoardCount 连接 MAC 主站并返回指定类型板块的总数。
参数 `boardType` 为板块类型代码,取值见 `types.BoardType*`;返回服务端板块总数。连接失败或协议 失败时返回 0 与对应错误。
func (*Client) MACBoardList ¶
func (client *Client) MACBoardList(boardType uint16, count uint32) ([]proto.MACBoardListItem, error)
MACBoardList 连接 MAC 主站并自动分页拉取板块列表。
参数 `boardType` 为板块类型代码,取值见 `types.BoardType*`;参数 `count` 为期望获取的板块总数上限, 传 0 时使用默认上限 `DefaultMACBoardListCount`;分页单页大小取 `DefaultMACBoardPageSize`,末页 自动收缩。返回合并后的板块条目列表;连接或任一页协议失败时返回 `nil` 与对应错误。
func (*Client) MACBoardMembers ¶
func (client *Client) MACBoardMembers(boardSymbol string, count uint32) ([]proto.MACBoardMemberItem, error)
MACBoardMembers 连接 MAC 主站并自动分页拉取板块成分股(使用默认排序)。
参数 `boardSymbol` 为板块符号;参数 `count` 为期望获取的成分股总数上限,传 0 时使用默认上限 `DefaultMACBoardStockCount`。等价于以默认排序字段与方向调用 `MACBoardMembersWithSort`;连接或协议 失败时返回 `nil` 与对应错误。
func (*Client) MACBoardMembersQuotes ¶
func (client *Client) MACBoardMembersQuotes(boardSymbol string, count uint32) ([]proto.MACBoardMemberQuoteItem, error)
MACBoardMembersQuotes 连接 MAC 主站并自动分页拉取板块成分股行情报价(使用默认排序)。
参数 `boardSymbol` 为板块符号;参数 `count` 为期望获取的报价条目总数上限,传 0 时使用默认上限 `DefaultMACBoardStockCount`。等价于以默认排序字段与方向调用 `MACBoardMembersQuotesWithSort`;连接或 协议失败时返回 `nil` 与对应错误。
func (*Client) MACBoardMembersQuotesDynamic ¶
func (client *Client) MACBoardMembersQuotesDynamic(boardSymbol string, count uint32, sortType uint16, sortOrder uint8, fieldBitmap [20]byte) (*proto.MACBoardMembersQuotesDynamicReply, error)
MACBoardMembersQuotesDynamic 连接 MAC 主站并自动分页拉取按位图动态解析的板块成分报价。
参数 `boardSymbol` 为板块符号;参数 `count` 为期望获取的条目总数上限,传 0 时使用 `DefaultMACBoardStockCount`;参数 `sortType` 为排序字段编号;参数 `sortOrder` 为排序方向编号;参数 `fieldBitmap` 为 20 字节字段位图,声明返回哪些动态字段。等价于不带排除过滤条件调用 `MACBoardMembersQuotesDynamicWithFilter`;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACBoardMembersQuotesDynamicWithFilter ¶
func (client *Client) MACBoardMembersQuotesDynamicWithFilter(boardSymbol string, count uint32, sortType uint16, sortOrder uint8, fieldBitmap [20]byte, filters ...MACFilterType) (*proto.MACBoardMembersQuotesDynamicReply, error)
MACBoardMembersQuotesDynamicWithFilter 连接 MAC 主站并自动分页拉取按位图动态解析的板块成分报价, 并支持排除过滤条件。
参数 `boardSymbol` 为板块符号;参数 `count` 为期望获取的条目总数上限,传 0 时使用 `DefaultMACBoardStockCount`;参数 `sortType` 为排序字段编号,取值见根包 `MACSortType*`;参数 `sortOrder` 为排序方向编号;参数 `fieldBitmap` 为 20 字节字段位图,跨页必须保持一致;参数 `filters` 为可变排除过滤位,由 `MACFilterFlags` 合并为单个过滤字节。跨页位图不一致属于协议异常,直接返回 错误;一页都未取到时返回使用默认位图的空应答。
func (*Client) MACBoardMembersQuotesWithSort ¶
func (client *Client) MACBoardMembersQuotesWithSort(boardSymbol string, count uint32, sortType uint16, sortOrder uint8) ([]proto.MACBoardMemberQuoteItem, error)
MACBoardMembersQuotesWithSort 连接 MAC 主站并自动分页拉取板块成分报价,透传排序参数。
参数 `boardSymbol` 为板块符号;参数 `count` 为期望获取的报价条目总数上限,传 0 时使用 `DefaultMACBoardStockCount`;参数 `sortType` 为排序字段编号,取值见根包 `MACSortType*`;参数 `sortOrder` 为排序方向编号(1 降序、2 升序、0 不指定)。分页单页大小取 `DefaultMACBoardStockPage`, 末页自动收缩;返回合并后的报价列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACBoardMembersWithSort ¶
func (client *Client) MACBoardMembersWithSort(boardSymbol string, count uint32, sortType uint16, sortOrder uint16) ([]proto.MACBoardMemberItem, error)
MACBoardMembersWithSort 连接 MAC 主站并自动分页拉取板块成分股,透传排序参数。
参数 `boardSymbol` 为板块符号,内部映射为板块代码;参数 `count` 为期望获取的成分股总数上限,传 0 时使用 `DefaultMACBoardStockCount`;参数 `sortType` 为排序字段编号,取值见根包 `MACSortType*`; 参数 `sortOrder` 为排序方向编号(1 降序、2 升序、0 不指定)。分页单页大小取 `DefaultMACBoardStockPage`,末页自动收缩;返回合并后的成分股列表,连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) MACCapitalFlow ¶
MACCapitalFlow 连接 MAC 主站并获取个股资金流向。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACDownloadFullFile ¶
func (client *Client) MACDownloadFullFile(filename string, index uint32, size uint32) ([]byte, error)
MACDownloadFullFile 连接 MAC 主站并按固定块大小循环下载完整 MAC 文件。
参数 `filename` 为协议文件名;参数 `index` 为文件分片序号,协议从 1 开始,传 0 时归一化为 1;参数 `size` 为目标总大小(字节),传 0 时先取文件元信息中的大小作为下载上限。服务器返回空块或已下载 字节达到 `size` 时结束;返回拼接后的完整文件字节,连接或分块协议失败时返回 `nil` 与对应错误。
func (*Client) MACFileList ¶
MACFileList 连接 MAC 主站并获取 MAC 文件列表/元信息。
参数 `filename` 为协议文件名,内部按定长 70 字节字段填充;参数 `offset` 为协议起始偏移,口径语义 待确认。返回文件元信息应答;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACKLineOffset ¶
func (client *Client) MACKLineOffset(offset uint32, count uint32) (*proto.MACKLineOffsetReply, error)
MACKLineOffset 连接 MAC 主站并获取 K 线偏移信息(K 线总数与本次返回条数)。
参数 `offset` 为起始 K 线条数偏移,从 0 开始;参数 `count` 为期望查询条数,传 0 时使用默认值 `DefaultMACKLineOffsetCount`。连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACMarketMonitor ¶
func (client *Client) MACMarketMonitor(market uint8, start uint32, count uint32) ([]proto.MACMarketMonitorItem, error)
MACMarketMonitor 连接 MAC 主站并自动分页获取市场监控(异动)数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `start` 为起始记录序号,从 0 开始,超过 `uint16` 上界(65535)时直接返回错误;参数 `count` 为期望异动条数上限,传 0 时使用 `DefaultMACMarketMonitorCount`;分页单页大小取 `DefaultMACMarketMonitorPage`,翻页过程中再次 校验偏移不越界。返回合并后的异动条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACQuotes ¶
MACQuotes 连接 MAC 主站并获取单只标的最新交易日的行情快照与分时采样。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。等价于 `MACQuotesWithDate(market, code, 0)`;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACQuotesWithDate ¶
func (client *Client) MACQuotesWithDate(market uint8, code string, queryDate uint32) (*proto.MACQuotesReply, error)
MACQuotesWithDate 连接 MAC 主站并获取单只标的行情快照与分时采样,可指定查询日期。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `queryDate` 为查询 交易日,按 `YYYYMMDD` 打包,传 0 表示最新交易日。连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACServerInfo ¶
func (client *Client) MACServerInfo() (*proto.MACServerInfoReply, error)
MACServerInfo 连接 MAC 主站并获取服务端交易日时段与状态信息,无业务入参;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACSymbolBars ¶
func (client *Client) MACSymbolBars(market uint8, code string, period uint16, times uint16, start uint32, count uint32, adjust uint16) ([]proto.MACSymbolBar, error)
MACSymbolBars 连接 MAC 主站、自动分页拉取证券 K 线,并补齐换手率、转换期货自然时间。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `period` 为 K 线周期 类别,取值见 `types.KLINE_TYPE_*`;参数 `times` 为周期倍数,传 0 时按 1 处理;参数 `start` 为起始 偏移条数,从 0 开始;参数 `count` 为期望 K 线条数;参数 `adjust` 为复权方式,取值为 `types.AdjustNone`、`types.AdjustQFQ`、`types.AdjustHFQ`。分页单页大小取 `DefaultMACSymbolBarsPage`, 末页自动收缩;合并后按流通股本回填换手率,并按配置的期货交易日历把期货 K 线时间换算为自然时间。 连接、协议或日历转换失败时返回 `nil` 与对应错误。
func (*Client) MACSymbolBelongBoard ¶
func (client *Client) MACSymbolBelongBoard(symbol string, market uint8) ([]proto.MACBelongBoardItem, error)
MACSymbolBelongBoard 连接 MAC 主站并查询指定证券所属的板块列表。
参数 `symbol` 为证券代码;参数 `market` 为市场代码,取值见 `types.Market*`。返回所属板块条目列表; 连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACSymbolInfo ¶
MACSymbolInfo 连接 MAC 主站并获取个股摘要。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACSymbolQuotes ¶
func (client *Client) MACSymbolQuotes(markets []uint8, codes []string, fieldBitmap [20]byte) (*proto.MACSymbolQuotesReply, error)
MACSymbolQuotes 连接 MAC 主站并按位图批量获取股票报价。
参数 `markets` 为市场代码序列,取值见 `types.Market*`;参数 `codes` 为证券代码序列,与 `markets` 按下标一一对应;参数 `fieldBitmap` 为 20 字节字段位图,声明每只标的返回哪些动态字段,传全零时 使用内置默认位图。两个列表长度不一致时返回 `ErrMarketCodeCount`;连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) MACTickCharts ¶
func (client *Client) MACTickCharts(market uint8, code string, queryDate uint32, days uint16) (*proto.MACTickChartsReply, error)
MACTickCharts 连接 MAC 主站并获取多日分时数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `queryDate` 为查询 基准交易日,按 `YYYYMMDD` 打包成整数,传 0 表示取最新交易日;参数 `days` 为需要返回的交易日天数, 从基准日向前取数,传 0 时由协议构造器使用默认值 5,服务端返回的多余交易日会按该值裁剪。返回 `*proto.MACTickChartsReply`,内含标的标识、交易日计数、逐日分时序列与汇总行情;连接或协议失败时 返回 `nil` 与对应错误。
func (*Client) MACTransactions ¶
func (client *Client) MACTransactions(market uint8, code string, start uint32, count uint32) ([]proto.MACTransactionItem, error)
MACTransactions 连接 MAC 主站并自动分页获取最新交易日的分时成交明细。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `start` 为起始成交 序号(分页偏移),从 0 开始;参数 `count` 为期望成交条数上限,传 0 时使用默认上限 `DefaultMACTransactionsCount`。等价于 `MACTransactionsWithDate(market, code, start, count, 0)`; 连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MACTransactionsWithDate ¶
func (client *Client) MACTransactionsWithDate(market uint8, code string, start uint32, count uint32, queryDate uint32) ([]proto.MACTransactionItem, error)
MACTransactionsWithDate 连接 MAC 主站并自动分页获取分时成交明细,可指定查询日期。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `queryDate` 为查询 交易日,按 `YYYYMMDD` 打包,传 0 表示最新交易日;参数 `start` 为起始成交序号(分页偏移),从 0 开始;参数 `count` 为期望成交条数上限,传 0 时使用 `DefaultMACTransactionsCount`;分页单页大小取 `DefaultMACTransactionsPage`,末页自动收缩。返回合并后的成交明细,连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) MainClient26AC ¶
func (client *Client) MainClient26AC() (*proto.RawDataReply, error)
MainClient26AC 获取客户端信息协议 `0x26ac` 的原始响应,无业务入参;连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) MainClient26AD ¶
func (client *Client) MainClient26AD() (*proto.RawDataReply, error)
MainClient26AD 获取客户端信息协议 `0x26ad` 的原始响应,无业务入参;连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) MainClient26AE ¶
func (client *Client) MainClient26AE() (*proto.RawDataReply, error)
MainClient26AE 获取客户端信息协议 `0x26ae` 的原始响应,无业务入参;连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) MainClient26B1 ¶
func (client *Client) MainClient26B1() (*proto.RawDataReply, error)
MainClient26B1 获取客户端信息协议 `0x26b1` 的原始响应,无业务入参;连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) MainClient264B ¶
func (client *Client) MainClient264B() (*proto.RawDataReply, error)
MainClient264B 获取客户端信息协议 `0x264b` 的原始响应,无业务入参;连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) MainTodoB ¶
func (client *Client) MainTodoB() (*proto.RawDataReply, error)
MainTodoB 获取主站试验协议 `0x000b` 的原始响应,无业务入参;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) MainTodoFDE ¶
func (client *Client) MainTodoFDE() (*proto.RawDataReply, error)
MainTodoFDE 获取主站试验协议 `0x0fde` 的原始响应,无业务入参;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) ProbeHosts ¶
func (client *Client) ProbeHosts() []HostProbeResult
ProbeHosts 并发探测客户端已配置的全部地址,返回按可达性优先、同可达时延迟从低到高排序的 探测结果;每条结果含地址、可达标志与拨号往返耗时,不可达条目同时携带失败原因。
本方法无业务入参;客户端指针或内部选项为空时返回 `nil`;探测使用当前配置的连接超时。
func (*Client) StockAll ¶
StockAll 自动分页拉取指定市场内的全部证券列表。
参数 `market` 为市场代码,取值见 `types.Market*`;按固定分页大小循环翻页,直到返回条数不足一页。 返回合并后的全部证券条目,连接或任一页协议失败时返回 `nil` 与对应错误。
func (*Client) StockAuction ¶
func (client *Client) StockAuction(market uint8, code string, start uint32, count uint32) ([]proto.AuctionData, error)
StockAuction 获取集合竞价数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `start` 为起始竞价 序号,从 0 开始;参数 `count` 为本页请求条数。返回竞价快照条目列表,连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) StockBlock ¶
func (client *Client) StockBlock(filename string) ([]BlockFlatItem, error)
StockBlock 下载并解析指定板块文件,返回扁平化后的板块条目列表。
参数 `filename` 为服务端板块文件名;下载或解析失败时返回 `nil` 与对应错误。
func (*Client) StockChartSampling ¶
StockChartSampling 获取分时缩略采样价格序列,用于绘制行情缩略图。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。返回按时间顺序排列的采样 价格浮点序列,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockCount ¶
StockCount 获取指定市场内的证券数目。
参数 `market` 为市场代码,取值见 `types.Market*` 常量;返回服务端统计的证券数量。连接或协议失败时 返回 0 与对应错误。
func (*Client) StockF10 ¶
func (client *Client) StockF10(market uint8, code string) (*CompanyInfoBundle, error)
StockF10 获取公司 F10 信息聚合结果(章节、除权除息与财务信息)。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。返回聚合信息包,章节拉取 失败即返回错误,除权除息与财务信息为尽力而为;连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockFeature452 ¶
func (client *Client) StockFeature452(start uint32, count uint32) ([]proto.SecurityFeature452Item, error)
StockFeature452 获取证券扩展特征信息(试验协议 `0x452`)。
参数 `start` 为起始偏移序号,从 0 开始;参数 `count` 为本页请求条数。返回特征条目列表,连接或协议 失败时返回 `nil` 与对应错误;试验协议各字段口径以服务端返回为准。
func (*Client) StockFullAuction ¶
StockFullAuction 自动分页拉取集合竞价全部数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。按固定分页大小向前翻页, 新页前置以保持时间顺序;返回合并后的全部竞价条目,连接或任一页协议失败时返回 `nil` 与对应错误。
func (*Client) StockFullKLine ¶
func (client *Client) StockFullKLine(category uint16, market uint8, code string, times uint16, adjust uint16, f func(kline proto.SecurityBar) bool) ([]proto.SecurityBar, error)
StockFullKLine 自动向前翻页拉取 K 线,直到回调命中某根 K 线或历史取完为止。
参数 `category` 为 K 线周期类别,取值见 `types.KLINE_TYPE_*`;参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `times` 为周期倍数;参数 `adjust` 为复权方式;参数 `f` 为逐条判定回调,返回 `true` 时保留命中位置及之前的全部 K 线并停止翻页。返回按时间顺序合并的 K 线 序列,已补齐 09:30 首线与换手率;连接、协议或回调执行失败时返回 `nil` 与对应错误。
func (*Client) StockFullTransaction ¶
func (client *Client) StockFullTransaction(market uint8, code string) ([]proto.TransactionData, error)
StockFullTransaction 自动分页拉取当日全部分时成交明细。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。按固定分页大小向前翻页, 新页前置以保持时间顺序;返回合并后的当日全部逐笔成交,连接或任一页协议失败时返回 `nil` 与对应 错误。
func (*Client) StockHistoryFullTransaction ¶
func (client *Client) StockHistoryFullTransaction(date uint32, market uint8, code string) ([]proto.HistoryTransactionData, error)
StockHistoryFullTransaction 自动分页拉取指定日期的全部分时成交明细。
参数 `date` 为目标交易日,按 `YYYYMMDD` 打包成整数;参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。按固定分页大小向前翻页,新页前置保持时间顺序;返回合并 后的该日全部逐笔成交,连接或任一页协议失败时返回 `nil` 与对应错误。
func (*Client) StockHistoryFullTransactionWithTrans ¶
func (client *Client) StockHistoryFullTransactionWithTrans(date uint32, market uint8, code string) ([]proto.HistoryTransactionDataWithTrans, error)
StockHistoryFullTransactionWithTrans 自动分页拉取带买卖方向的历史全部分时成交明细。
参数 `date` 为目标交易日,按 `YYYYMMDD` 打包成整数;参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。按固定分页大小向前翻页,新页前置保持时间顺序;返回合并后 的该日全部带方向逐笔成交,连接或任一页协议失败时返回 `nil` 与对应错误。
func (*Client) StockHistoryOrders ¶
func (client *Client) StockHistoryOrders(date uint32, market uint8, code string) ([]proto.HistoryOrderData, error)
StockHistoryOrders 获取指定日期的历史委托分布。
参数 `date` 为目标交易日,按 `YYYYMMDD` 打包成整数;参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。返回历史委托条目列表,连接或协议失败时返回 `nil` 与对应 错误。
func (*Client) StockHistoryTickChart ¶
func (client *Client) StockHistoryTickChart(date uint32, market uint8, code string) ([]proto.HistoryMinuteTimeData, error)
StockHistoryTickChart 获取指定日期的历史分时图数据。
参数 `date` 为目标交易日,按 `YYYYMMDD` 打包成整数;参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。返回该日历史分时条目列表,连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) StockHistoryTransaction ¶
func (client *Client) StockHistoryTransaction(date uint32, market uint8, code string, start uint16, count uint16) ([]proto.HistoryTransactionData, error)
StockHistoryTransaction 获取指定日期的历史分时成交明细。
参数 `date` 为目标交易日,按 `YYYYMMDD` 打包成整数;参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `start` 为起始成交序号,从 0 开始;参数 `count` 为本页 请求笔数。返回历史逐笔成交条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockHistoryTransactionWithTrans ¶
func (client *Client) StockHistoryTransactionWithTrans(date uint32, market uint8, code string, start uint16, count uint16) ([]proto.HistoryTransactionDataWithTrans, error)
StockHistoryTransactionWithTrans 获取带买卖方向的历史分时成交明细。
参数 `date` 为目标交易日,按 `YYYYMMDD` 打包成整数;参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `start` 为起始成交序号,从 0 开始;参数 `count` 为本页 请求笔数。返回带买卖方向的历史逐笔成交条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockIndexInfo ¶
StockIndexInfo 获取指数概况。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为指数代码。返回指数概况应答,连接或 协议失败时返回 `nil` 与对应错误。
func (*Client) StockIndexMomentum ¶
StockIndexMomentum 获取指数动量序列。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为指数代码。返回动量数值序列,连接或 协议失败时返回 `nil` 与对应错误。
func (*Client) StockKLine ¶
func (client *Client) StockKLine(category uint16, market uint8, code string, start uint16, count uint16, times uint16, adjust uint16) ([]proto.SecurityBar, error)
StockKLine 获取证券 K 线,自动修正 09:30 分时数据并按流通股本补齐换手率。
参数 `category` 为 K 线周期类别,取值见 `types.KLINE_TYPE_*` 常量;参数 `market` 为市场代码,取值 见 `types.Market*`;参数 `code` 为六位证券代码;参数 `start` 为起始偏移条数,从 0 开始;参数 `count` 为请求 K 线条数;参数 `times` 为周期倍数,零值按 1 处理;参数 `adjust` 为复权方式,取值 为 `types.AdjustNone`、`types.AdjustQFQ`、`types.AdjustHFQ`。返回换算价格与换手率后的 K 线条目, 连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockKLine930 ¶
func (client *Client) StockKLine930(category uint16, market uint8, code string, reply *proto.GetSecurityBarsReply)
StockKLine930 补齐 1 分钟分时中缺失的 09:30 首根 K 线;仅对 1 分钟与扩展 1 分钟周期生效。
参数 `category` 为 K 线周期类别,仅 `types.KLINE_TYPE_1MIN` 与 `types.KLINE_TYPE_EXHQ_1MIN` 触发 重建;参数 `market` 为市场代码,参数 `code` 为证券代码,用于回查逐笔成交;参数 `reply` 为待就地 修改的 K 线应答,重建后的首根线插入序列头部并同步更新 `Count`。服务器通常从 09:31 开始返回分钟线, 09:30 集合竞价首笔成交缺失;本方法依据当日或历史首笔逐笔成交重建该首根线,其开、高、低、收均为 首笔成交价。
func (*Client) StockKLineOffset ¶
func (client *Client) StockKLineOffset(category uint16, market uint8, code string, start uint16, count uint16, times uint16, adjust uint16) ([]proto.SecurityBar, error)
StockKLineOffset 使用偏移协议获取证券 K 线,并补齐 09:30 首线与换手率。
参数 `category` 为 K 线周期类别,取值见 `types.KLINE_TYPE_*`;参数 `market` 为市场代码;参数 `code` 为证券代码;参数 `start` 为起始偏移条数,从 0 开始;参数 `count` 为请求条数;参数 `times` 为周期 倍数;参数 `adjust` 为复权方式,取值为 `types.AdjustNone`、`types.AdjustQFQ`、`types.AdjustHFQ`。 返回换算价格与换手率后的 K 线条目,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockList ¶
StockList 分页获取指定市场内的证券代码与名称列表。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `start` 为起始偏移序号,从 0 开始;参数 `count` 为本页请求条数。返回本页证券条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockListOld ¶
StockListOld 使用旧版协议获取市场内证券列表。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `start` 为起始偏移序号,从 0 开始。返回本页 证券条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockQuotes ¶
StockQuotes 批量获取行情快照列表,自动修正小数位并补齐换手率。
参数 `markets` 为市场代码序列,取值见 `types.Market*`;参数 `codes` 为证券代码序列,与 `markets` 按 下标一一对应,较短列表作为配对上限。返回快照行情条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockQuotesDetail ¶
func (client *Client) StockQuotesDetail(markets []uint8, codes []string) ([]proto.SecurityQuote, error)
StockQuotesDetail 批量获取详细盘口行情,自动修正小数位并按流通股本补齐换手率。
参数 `markets` 为市场代码序列,取值见 `types.Market*`;参数 `codes` 为证券代码序列,与 `markets` 按 下标一一对应,较短列表作为配对上限。返回带五档买卖盘的详细行情列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockQuotesEncrypt ¶
func (client *Client) StockQuotesEncrypt(markets []uint8, codes []string) ([]proto.EncryptedQuoteItem, error)
StockQuotesEncrypt 获取加密行情报价列表。
参数 `markets` 为市场代码序列,取值见 `types.Market*`;参数 `codes` 为证券代码序列,与 `markets` 按 下标一一对应。返回加密报价条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockQuotesList ¶
func (client *Client) StockQuotesList(category uint8, start uint16, count uint16, sortType uint16, reverse bool, filter uint16) ([]proto.QuoteListItem, error)
StockQuotesList 获取排序后的行情列表,自动修正小数位并补齐换手率。
参数 `category` 为主站证券列表分类代码,取值见 `types.Category*`;参数 `start` 为起始偏移序号,从 0 开始;参数 `count` 为本页请求条数;参数 `sortType` 为排序字段编号,取值见 `types.Sort*`;参数 `reverse` 为 `true` 表示降序、`false` 表示升序;参数 `filter` 为筛选条件位图,可按位组合 `types.Filter*`。返回排序后的行情条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockTickChart ¶
func (client *Client) StockTickChart(market uint8, code string, start uint16, count uint16) ([]proto.MinuteTimeData, error)
StockTickChart 获取当日分时图数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `start` 为起始分时点 序号,从 0 开始;参数 `count` 为请求分时点数。返回当日分时条目列表,连接或协议失败时返回 `nil` 与 对应错误。
func (*Client) StockTopBoard ¶
StockTopBoard 获取主行情排行榜。
参数 `category` 为榜单分类代码;参数 `size` 为期望返回的榜单条目数量。返回排行榜应答,连接或协议 失败时返回 `nil` 与对应错误。
func (*Client) StockTransaction ¶
func (client *Client) StockTransaction(market uint8, code string, start uint16, count uint16) ([]proto.TransactionData, error)
StockTransaction 获取当日分时成交明细。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码;参数 `start` 为起始成交 序号,从 0 开始;参数 `count` 为本页请求笔数。返回当日逐笔成交条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockUnusual ¶
func (client *Client) StockUnusual(market uint8, start uint32, count uint32) ([]proto.UnusualData, error)
StockUnusual 获取主力监控异动数据。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `start` 为起始异动序号,从 0 开始;参数 `count` 为本页请求条数。返回异动条目列表,连接或协议失败时返回 `nil` 与对应错误。
func (*Client) StockVolumeProfile ¶
func (client *Client) StockVolumeProfile(market uint8, code string) (*proto.GetVolumeProfileReply, error)
StockVolumeProfile 获取成交分布与盘口快照,并按流通股本回填总换手率。
参数 `market` 为市场代码,取值见 `types.Market*`;参数 `code` 为证券代码。返回成交分布应答,连接或 协议失败时返回 `nil` 与对应错误。
func (*Client) Subscriber ¶
func (client *Client) Subscriber() *Subscriber
Subscriber 返回绑定当前客户端的通用订阅工厂:通过工厂可对报价、K 线、分时、 逐笔、指数、扩展市场等任意数据源建立订阅(见 `Subscriber.Subscribe`),客户端 `Disconnect` 或调用 `Close` 时工厂内全部订阅自动停止。
type CompanyInfoBundle ¶
type CompanyInfoBundle struct {
// Sections 为按目录顺序拉取到的 F10 章节列表;目录为空时该切片为空。
Sections []CompanyInfoSection
// XDXR 为除权除息记录列表;拉取失败时保持 `nil`,不影响章节结果。
XDXR []proto.XDXRItem
// Finance 为财务信息应答;拉取失败时保持 `nil`,不影响章节结果。
Finance *proto.GetFinanceInfoReply
}
CompanyInfoBundle 聚合返回的公司信息,包含 F10 章节、除权除息记录与财务信息。
type CompanyInfoSection ¶
type CompanyInfoSection struct {
// Name 为章节显示名称,取自公司信息目录中的章节标题。
Name string
// Content 为章节正文,GBK 解码后的纯文本内容。
Content string
}
CompanyInfoSection 表示 F10 公司信息中的一个章节。
type HostInfo ¶
type HostInfo struct {
Name string `json:"name"` // 站点显示名称,用于界面展示与探测结果标注
IP string `json:"ip"` // 服务器 IPv4 或主机名,连接层直接用于拨号
Port int `json:"port"` // 服务器端口号,取值范围 0 至 65535
}
HostInfo 表示一条内置通达信行情服务器条目,包含站点名称、IP 地址与端口。
该结构体为纯值类型,零值对应名称、IP 为空串、端口为 0;各站点列表函数返回的是内置 列表的浅拷贝,调用方修改返回切片或其中条目不会影响内置数据。
func BrokerHosts ¶
func BrokerHosts() []HostInfo
BrokerHosts 返回内置券商行情服务器列表的浅拷贝;该组站点为券商与上证云接入地址, 调用方修改返回切片不会影响内置列表。
func ExHosts ¶
func ExHosts() []HostInfo
ExHosts 返回内置扩展行情服务器列表的浅拷贝;该组站点用于期货、港股、美股等扩展行情 协议,默认端口 7727,调用方修改返回切片不会影响内置列表。
func ICFQSHosts ¶
func ICFQSHosts() []HostInfo
ICFQSHosts 返回内置 ICFQS 资讯行情服务器列表的浅拷贝;该组站点用于资讯行情协议, 默认端口 7615,调用方修改返回切片不会影响内置列表。
func MACExHosts ¶
func MACExHosts() []HostInfo
MACExHosts 返回内置 MAC 扩展行情服务器列表的浅拷贝;该组站点用于 MAC 扩展行情协议, 调用方修改返回切片不会影响内置列表。
func MACHosts ¶
func MACHosts() []HostInfo
MACHosts 返回内置 MAC 主行情服务器列表的浅拷贝;该组站点用于 MAC 主站协议, 调用方修改返回切片不会影响内置列表。
type HostProbeResult ¶
type HostProbeResult struct {
Name string `json:"name"` // 站点显示名称,地址无法回填名称时为空串
IP string `json:"ip"` // 服务器 IP 地址或主机名
Port int `json:"port"` // 服务器端口号;端口解析失败时保持 0
Address string `json:"address"` // `host:port` 形式地址,原样来自探测输入
Latency time.Duration `json:"latency"` // 拨号往返耗时,仅 `Reachable` 为 `true` 时有效
Reachable bool `json:"reachable"` // 是否 TCP 拨号成功
Error string `json:"error,omitempty"` // 拨号或地址解析失败原因,成功时为空串
}
HostProbeResult 记录一次 TCP 拨号探测的结果。
当 `Reachable` 为 `true` 时 `Latency` 为本次拨号测得的往返耗时;当 `Reachable` 为 `false` 时 `Latency` 无意义,`Error` 保存拨号失败原因的文本描述。零值表示未探测或不可达。
func FastestAddress ¶
func FastestAddress(addresses []string, timeout time.Duration) (HostProbeResult, error)
FastestAddress 返回给定地址列表中延迟最低的可达地址。
`addresses` 与 `timeout` 的含义同 `ProbeAddresses`。全部地址不可达时返回零值 `HostProbeResult` 与 `ErrNoReachableHosts`。
func FastestHost ¶
func FastestHost(hosts []HostInfo, timeout time.Duration) (HostProbeResult, error)
FastestHost 返回探测结果中延迟最低的可达主机条目。
`hosts` 与 `timeout` 的含义同 `ProbeHosts`;探测完成后取排序结果里第一个可达条目。全部主机 不可达时返回零值 `HostProbeResult` 与 `ErrNoReachableHosts`。
func ProbeAddresses ¶
func ProbeAddresses(addresses []string, timeout time.Duration) []HostProbeResult
ProbeAddresses 并发对给定 `host:port` 地址列表逐一发起 TCP 拨号探测,返回探测结果切片。
`addresses` 为待探测地址,格式由 `net.SplitHostPort` 解析;`timeout` 为单次拨号超时时间, 传非正数时回退到内置默认超时(2 秒)。排序规则同 `ProbeHosts`;输入为空切片时返回空切片。 探测不返回错误,失败原因记录在各结果条目的 `Error` 字段中。
func ProbeHosts ¶
func ProbeHosts(hosts []HostInfo, timeout time.Duration) []HostProbeResult
ProbeHosts 并发对给定主机条目逐一发起 TCP 拨号探测,返回探测结果切片。
`hosts` 为待探测主机条目;`timeout` 为单次拨号超时时间,传非正数时回退到内置默认超时 (2 秒)。返回结果先按可达性排序(可达条目在前),同为可达时再按往返延迟从低到高排序, 延迟相同按名称、地址字典序兜底;输入为空切片时返回空切片。探测不返回错误,失败原因记录 在各结果条目的 `Error` 字段中。
type ICFQSClient ¶
type ICFQSClient struct {
// contains filtered or unexported fields
}
ICFQSClient 是访问 ICFQS TQLEX 接口的轻量 HTTP 客户端;须由 `NewICFQS` 或 `NewICFQSHot` 构造, 零值不可用。客户端方法可并发调用,底层复用同一个 `http.Client`。
func NewICFQS ¶
func NewICFQS(opts ...ICFQSOption) *ICFQSClient
NewICFQS 创建访问默认 ICFQS 服务的 HTTP 客户端。
参数 `opts` 为按顺序覆盖默认地址、`http.Client`、超时等配置的函数式选项,后传入的选项优先生效; 不传选项时使用 `DefaultICFQSAddress` 与内置 2 秒超时。返回的客户端零值不可用,方法可并发调用。
func NewICFQSHot ¶
func NewICFQSHot(opts ...ICFQSOption) *ICFQSClient
NewICFQSHot 创建访问热门话题站点 `hot.icfqs.com` 的 ICFQS 客户端。
参数 `opts` 为按顺序覆盖默认配置的函数式选项;客户端先以 `DefaultICFQSHotAddress` 初始化,再依次 应用各选项,空选项被跳过。返回的客户端零值不可用。
func (*ICFQSClient) ICFQSEventsRaw ¶
ICFQSEventsRaw 查询题材事件,返回原始响应映射。
参数 `ctx` 为请求上下文;传输或解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSHotTopicsRaw ¶
ICFQSHotTopicsRaw 查询热门话题,返回原始响应映射。
参数 `ctx` 为请求上下文;传输或解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSLHBDetailRaw ¶
func (client *ICFQSClient) ICFQSLHBDetailRaw(ctx context.Context, symbol string, startDate string, endDate string) (map[string]any, error)
ICFQSLHBDetailRaw 查询个股龙虎榜明细,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `symbol` 为证券代码;参数 `startDate`、`endDate` 为查询区间起止日期 文本,日期格式由服务端约定。传输或响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSMRFPLatestDateRaw ¶
ICFQSMRFPLatestDateRaw 查询每日复盘数据可用的最新日期,返回原始响应映射。
参数 `ctx` 为请求上下文;传输或响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSMRFPRaw ¶
func (client *ICFQSClient) ICFQSMRFPRaw(ctx context.Context, reviewType string, date string, limit int) (map[string]any, error)
ICFQSMRFPRaw 按类型查询每日复盘数据,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `reviewType` 为复盘类型编号文本;参数 `date` 为查询日期文本,格式由 服务端约定;参数 `limit` 为返回条数上限,传非正数时使用默认值 30。传输或响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSNewTopicsRaw ¶
ICFQSNewTopicsRaw 查询最新题材话题,返回原始响应映射。
参数 `ctx` 为请求上下文;传输或解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSQuotesBatchRaw ¶
func (client *ICFQSClient) ICFQSQuotesBatchRaw(ctx context.Context, codes []ICFQSCode, wantColumns []string) (map[string]any, error)
ICFQSQuotesBatchRaw 批量查询股票行情快照,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `codes` 为待查询的市场/代码配对序列;参数 `wantColumns` 为期望返回的 行情列名序列,传空时默认返回收盘价 `CLOSE` 与最新价 `NOW`。传输或响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSSearchTopicsRaw ¶
func (client *ICFQSClient) ICFQSSearchTopicsRaw(ctx context.Context, keyword string) (map[string]any, error)
ICFQSSearchTopicsRaw 按关键词搜索话题,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `keyword` 为搜索关键词文本。传输或响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSTopTopicsRaw ¶
ICFQSTopTopicsRaw 查询排行前列的话题,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `topN` 为期望返回的排行话题数量,传非正数时使用默认数量 10。传输或 响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSTopicDetailRaw ¶
func (client *ICFQSClient) ICFQSTopicDetailRaw(ctx context.Context, code string, setcode string) (map[string]any, error)
ICFQSTopicDetailRaw 查询指定话题详情,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `code` 为话题代码;参数 `setcode` 为市场/分类编码。传输或响应解析失败 时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSTopicKLineRaw ¶
func (client *ICFQSClient) ICFQSTopicKLineRaw(ctx context.Context, code string, setcode string) (map[string]any, error)
ICFQSTopicKLineRaw 查询话题走势 K 线数据,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `code` 为话题代码;参数 `setcode` 为市场/分类编码。传输或响应解析失败 时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSTopicListRaw ¶
func (client *ICFQSClient) ICFQSTopicListRaw(ctx context.Context, category string, setcode string, page int) (map[string]any, error)
ICFQSTopicListRaw 分页查询话题列表,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `category` 为话题分类文本;参数 `setcode` 为市场/分类编码;参数 `page` 为页码,传非正数时从第 1 页开始。传输或响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSTopicQuotesRaw ¶
func (client *ICFQSClient) ICFQSTopicQuotesRaw(ctx context.Context, codes []ICFQSCode) (map[string]any, error)
ICFQSTopicQuotesRaw 批量查询话题成分股行情快照,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `codes` 为待查询的市场/代码配对序列,请求按序列顺序对齐。传输或 响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSTopicRotationRaw ¶
func (client *ICFQSClient) ICFQSTopicRotationRaw(ctx context.Context, dataNum int, dataType int, dataDate int, themeType string) (map[string]any, error)
ICFQSTopicRotationRaw 查询题材轮动数据,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `dataNum` 为返回条数,传 0 时使用默认值 1;参数 `dataType` 为数据类型 编号,传 0 时使用默认值 1;参数 `dataDate` 为日期类型编号,传 0 时使用默认值 2;参数 `themeType` 为 题材类型文本,传空串时使用默认值 `"0"`;各编号具体口径由服务端约定。传输或响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSTopicStocksRaw ¶
func (client *ICFQSClient) ICFQSTopicStocksRaw(ctx context.Context, code string, setcode string, page int, size int) (map[string]any, error)
ICFQSTopicStocksRaw 分页查询话题成分股,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `code` 为话题代码;参数 `setcode` 为市场/分类编码;参数 `page` 为页码, 传非正数时从第 1 页开始;参数 `size` 为本页条数,传非正数时使用默认值 20。传输或响应解析失败时 返回 `nil` 与错误。
func (*ICFQSClient) ICFQSYYBDetailRaw ¶
func (client *ICFQSClient) ICFQSYYBDetailRaw(ctx context.Context, yybName string, startDate string, endDate string) (map[string]any, error)
ICFQSYYBDetailRaw 查询营业部龙虎榜明细,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `yybName` 为营业部名称文本;参数 `startDate`、`endDate` 为查询区间起止 日期文本,日期格式由服务端约定。传输或响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) ICFQSYZDetailRaw ¶
func (client *ICFQSClient) ICFQSYZDetailRaw(ctx context.Context, code string, startDate string, endDate string) (map[string]any, error)
ICFQSYZDetailRaw 查询主力资金明细,返回原始响应映射。
参数 `ctx` 为请求上下文;参数 `code` 为证券代码;参数 `startDate`、`endDate` 为查询区间起止日期文本, 日期格式由服务端约定。传输或响应解析失败时返回 `nil` 与错误。
func (*ICFQSClient) PostJSON ¶
func (client *ICFQSClient) PostJSON(ctx context.Context, entry string, body any) (map[string]any, error)
PostJSON 向指定入口发送原始 JSON 请求体,并解码标准 JSON 响应。
参数 `ctx` 为请求上下文,为空时回退为后台上下文;参数 `entry` 为服务端入口标识;参数 `body` 为待 序列化为 JSON 的请求体。返回解码后的响应对象映射;请求序列化、HTTP 传输、状态码非 2xx 或响应体 不是合法 JSON 对象时返回 `nil` 与错误。
func (*ICFQSClient) PostTQL ¶
func (client *ICFQSClient) PostTQL(ctx context.Context, entry string, params []any) (map[string]any, error)
PostTQL 按 TQLEX 协议发送带 `Params` 与 `oauth_zzfw` 参数的请求,并解析返回的响应对象。
参数 `ctx` 为请求上下文,为空时回退为后台上下文;参数 `entry` 为服务端入口标识(如 `CWServ.ph_tdxdatacenter_zttz_zy`);参数 `params` 为按服务端约定顺序排列的请求参数序列。返回解析 后的响应对象映射;HTTP 传输、状态码非 2xx 或响应体无法解析为配对完整 JSON 对象时返回 `nil` 与错误。
type ICFQSCode ¶
type ICFQSCode struct {
// Setcode 为服务端市场/分类编码,具体取值口径由 ICFQS 服务端约定。
Setcode string `json:"setcode"`
// Code 为证券或话题代码字符串。
Code string `json:"code"`
}
ICFQSCode 表示 ICFQS HTTP 接口使用的市场/代码配对,批量行情请求时按位置与其他标的一一对应。
type ICFQSOption ¶
type ICFQSOption func(*ICFQSClient)
ICFQSOption 是用于修改 `ICFQSClient` 配置的函数式选项;闭包在 `NewICFQS` 或 `NewICFQSHot` 构造阶段 按传入顺序依次应用,后传入的选项优先生效。
func WithICFQSAddress ¶
func WithICFQSAddress(address string) ICFQSOption
WithICFQSAddress 设置 ICFQS 服务地址。
参数 `address` 为 `host:port` 形式地址或完整基础 URL;传入空串或纯空白时保持客户端原值不变。
func WithICFQSHTTPClient ¶
func WithICFQSHTTPClient(httpClient *http.Client) ICFQSOption
WithICFQSHTTPClient 设置该客户端使用的 `http.Client`。
参数 `httpClient` 为外部构造的 HTTP 客户端,可用于自定义连接池、代理与中间件;传入空指针时保持 客户端原值不变。
func WithICFQSTimeout ¶
func WithICFQSTimeout(timeout time.Duration) ICFQSOption
WithICFQSTimeout 设置 HTTP 请求超时时间。
参数 `timeout` 为整次请求(连接、发送、读取)的超时时长;传入非正数时保持客户端原值不变。
type ICFQSTable ¶
type ICFQSTable struct {
// Rows 为表格行集合,每行是以列名为键、单元值为值的映射;列数多于行值时缺失单元填 `nil`。
Rows []map[string]any `json:"rows"`
}
ICFQSTable 是 TQLEX 结果集以表格行列形式组织后的视图;列名取自结果集 `ColName` 或 `ColDes`。
func ICFQSFormatTables ¶
func ICFQSFormatTables(raw map[string]any) []ICFQSTable
ICFQSFormatTables 将结果集 `ResultSets` 转换为表格行集合,列名优先取 `ColName`,缺失时回退到 `ColDes` 中的 `Name` 字段。
参数 `raw` 为 `PostTQL` 或 `PostJSON` 返回的原始响应映射;不含 `ResultSets` 时返回空表格切片。
type MACFieldBit ¶
type MACFieldBit uint8
MACFieldBit 表示 MAC 动态字段位图中的单个字段位,底层为协议位号,有效范围为 0–159 (对应 20 字节位图的 160 个二进制位)。
位号与 `proto/mac_board_members_dynamic.go` 中的字段映射表一一对应;超出位图容量的位号 在置位时会被忽略,不会产生越界写入。
const ( MACFieldPreClose MACFieldBit = 0x0 // 昨收盘价,上一交易日收盘价格 MACFieldOpen MACFieldBit = 0x1 // 今日开盘价 MACFieldHigh MACFieldBit = 0x2 // 今日最高价 MACFieldLow MACFieldBit = 0x3 // 今日最低价 MACFieldClose MACFieldBit = 0x4 // 今日收盘价 MACFieldVol MACFieldBit = 0x5 // 今日成交量,单位股 MACFieldVolRatio MACFieldBit = 0x6 // 量比,当前成交活跃度与近期均量之比 MACFieldAmount MACFieldBit = 0x7 // 今日成交总金额,单位元 MACFieldInsideVolume MACFieldBit = 0x8 // 内盘成交量,主动卖出方向成交的股数 MACFieldOutsideVolume MACFieldBit = 0x9 // 外盘成交量,主动买入方向成交的股数 MACFieldEPS MACFieldBit = 0xc // 每股收益,净利润除以总股本 MACFieldNetAssets MACFieldBit = 0xd // 每股净资产 MACFieldSecurityTypePrice MACFieldBit = 0xe // 证券类型价(别名 action_price,语义待确认) MACFieldTotalMarketCapAb MACFieldBit = 0xf // A/B 股总市值 MACFieldPEDynamic MACFieldBit = 0x10 // 动态市盈率 MACFieldBidPrice MACFieldBit = 0x11 // 买一报价 MACFieldAskPrice MACFieldBit = 0x12 // 卖一报价 MACFieldServerUpdateDate MACFieldBit = 0x13 // 行情服务器更新日期,格式 YYYYMMDD MACFieldServerUpdateTime MACFieldBit = 0x14 // 行情服务器更新时间,格式 HHMMSS MACFieldLotSizeInfo MACFieldBit = 0x15 // 每手相关信息(映射表标注未确定,语义待确认) MACFieldBoardStrength MACFieldBit = 0x16 // 板块强度,板块内上涨与下跌家数之差 MACFieldDividendYield MACFieldBit = 0x17 // 每股股息,单位元 MACFieldBidVolume MACFieldBit = 0x18 // 买一挂单量 MACFieldAskVolume MACFieldBit = 0x19 // 卖一挂单量 MACFieldLastVolume MACFieldBit = 0x1a // 最新一笔成交量,即现量 MACFieldTurnover MACFieldBit = 0x1b // 换手率 MACFieldIndustry MACFieldBit = 0x1c // 行业分类代码 MACFieldIndustryChangeUp MACFieldBit = 0x1d // 所属行业涨跌幅 MACFieldStockTagFlags MACFieldBit = 0x1e // 股票标签位图,多个标签按位组合 MACFieldDecimalPoint MACFieldBit = 0x1f // 价格数据精度,记录小数位标志 MACFieldBuyPriceLimit MACFieldBit = 0x20 // 涨停价 MACFieldSellPriceLimit MACFieldBit = 0x21 // 跌停价 MACFieldPriceDecimalInfo MACFieldBit = 0x22 // 价格精度标志(语义待确认) MACFieldLotSize MACFieldBit = 0x23 // 所属地区板块(A 股)/ 每手股数(港股),含义随品种双义 MACFieldPreIOPV MACFieldBit = 0x24 // 昨日基金份额参考净值,即昨 IOPV MACFieldSpeedPct MACFieldBit = 0x25 // 涨速,单位时间内价格变动幅度 MACFieldAvgPrice MACFieldBit = 0x26 // 成交均价,成交额除以成交量 MACFieldIOPV MACFieldBit = 0x27 // 基金份额参考净值(IOPV) MACFieldPETTMVolRelated MACFieldBit = 0x28 // 前参考价,美股品种适用 MACFieldExPricePlaceholder MACFieldBit = 0x29 // 前金额参考占位(别名 close_placeholder) MACFieldOperatingRevenue MACFieldBit = 0x2a // 营业收入,单位万元 MACFieldFlagKCB MACFieldBit = 0x2b // 科创板标志位 MACFieldFlagBJ MACFieldBit = 0x2c // 北交所标志位 MACFieldCirculatingCapitalZ MACFieldBit = 0x2d // 流通股本 Z,单位万股(语义待确认) MACFieldAfterHoursVolume MACFieldBit = 0x2e // 盘后成交量 MACFieldPETTM MACFieldBit = 0x30 // 滚动市盈率(PE TTM) MACFieldPEStatic MACFieldBit = 0x31 // 静态市盈率 MACFieldIndexMetric MACFieldBit = 0x37 // 指数指标值 MACFieldMainNetAmount MACFieldBit = 0x38 // 今日主力净流入金额 MACFieldBidAskRatio MACFieldBit = 0x39 // 委比,买卖盘挂单力量对比 MACFieldNonIndexFlag MACFieldBit = 0x3a // 非指数标志位 MACFieldChange20DPct MACFieldBit = 0x3b // 近 20 日涨幅百分比 MACFieldYTDPct MACFieldBit = 0x3c // 年初至今涨幅百分比 MACFieldStockClassCode MACFieldBit = 0x3e // 证券子分类代码 MACFieldPercentBase MACFieldBit = 0x3f // 百分比基底(语义待确认) MACFieldMTDPct MACFieldBit = 0x40 // 月初至今涨幅百分比 MACFieldChange1yPct MACFieldBit = 0x41 // 近一年涨幅百分比 MACFieldPrevChangePct MACFieldBit = 0x42 // 昨日涨幅百分比 MACFieldChange3DPct MACFieldBit = 0x43 // 近 3 日涨幅百分比 MACFieldChange60DPct MACFieldBit = 0x44 // 近 60 日涨幅百分比 MACFieldChange5DPct MACFieldBit = 0x45 // 近 5 日涨幅百分比 MACFieldChange10DPct MACFieldBit = 0x46 // 近 10 日涨幅百分比 MACFieldPrev2ChangePct MACFieldBit = 0x47 // 前日涨幅百分比 MACFieldBid2Price MACFieldBit = 0x48 // 买二报价 MACFieldAsk2Price MACFieldBit = 0x49 // 卖二报价 MACFieldAHCode MACFieldBit = 0x4a // 对应 A/H 股代码,位数不足前面补 0 MACFieldUnknownCode MACFieldBit = 0x4b // 未知代码,少部分为 6 位数字(语义待确认) MACFieldOpenAmount MACFieldBit = 0x57 // 开盘金额,单位元 MACFieldAnnualLimitUpDays MACFieldBit = 0x58 // 年内涨停天数 MACFieldActivity MACFieldBit = 0x59 // 活跃度 MACFieldDividendYieldRate MACFieldBit = 0x5b // 股息率百分比 MACFieldConsecutiveUpDays MACFieldBit = 0x5c // 连续上涨天数 MACFieldLimitUpCount MACFieldBit = 0x5d // 板块为涨停家数;个股复用为买二量(别名 Bid2Volume) MACFieldLimitDownCount MACFieldBit = 0x5e // 板块为跌停家数;个股复用为卖二量(别名 Ask2Volume) MACFieldIndustrySub MACFieldBit = 0x5f // 行业二级分类代码 MACFieldAuctionBuyLimit MACFieldBit = 0x66 // 连续竞价买入上限价 MACFieldAuctionSellLimit MACFieldBit = 0x67 // 连续竞价卖出下限价 MACFieldVolSpeedPct MACFieldBit = 0x68 // 量涨速百分比 MACFieldShortTurnoverPct MACFieldBit = 0x69 // 短周期换手率百分比 MACFieldAmount2m MACFieldBit = 0x6a // 近 2 分钟成交金额,单位元 MACFieldMainNetAmountCopy MACFieldBit = 0x6b // 今日主力净流入金额副本 MACFieldMainNetRatio MACFieldBit = 0x6c // 主力净比百分比 MACFieldRetailNetAmount MACFieldBit = 0x6d // 散户单增比(映射表原文,语义待确认) MACFieldMainNet5mAmount MACFieldBit = 0x6e // 近 5 分钟主力净额 MACFieldMainNet3DAmount MACFieldBit = 0x6f // 近三日主力净额 MACFieldMainNet5DAmount MACFieldBit = 0x70 // 近五日主力净额 MACFieldMainNet10DAmount MACFieldBit = 0x71 // 近十日主买金额(映射表标注待确定) MACFieldMainBuyNetAmount MACFieldBit = 0x72 // 今日主买净额 MACFieldDDX MACFieldBit = 0x73 // 大单动向指标 DDX,具体计算口径语义待确认 MACFieldDDY MACFieldBit = 0x74 // 涨跌动因指标 DDY,具体计算口径语义待确认 MACFieldDDZ MACFieldBit = 0x75 // 大单差分指标 DDZ,具体计算口径语义待确认 MACFieldDDF MACFieldBit = 0x76 // DDF 资金指标,具体含义语义待确认 MACFieldStockFlagA MACFieldBit = 0x77 // 个股标志位 A MACFieldStockFlagB MACFieldBit = 0x78 // 个股标志位 B,为 A 的副本 MACFieldAuctionVolRatio MACFieldBit = 0x7a // 竞价昨比(映射表原文,语义待确认) MACFieldPrevAmount MACFieldBit = 0x7b // 昨日成交金额,单位元 MACFieldRecentIndicator MACFieldBit = 0x7d // 近日指标提示(语义待确认) MACFieldBid3Price MACFieldBit = 0x80 // 买三报价 MACFieldBid4Price MACFieldBit = 0x81 // 买四报价 MACFieldBid5Price MACFieldBit = 0x82 // 买五报价 MACFieldAsk3Price MACFieldBit = 0x83 // 卖三报价 MACFieldAsk4Price MACFieldBit = 0x84 // 卖四报价 MACFieldAsk5Price MACFieldBit = 0x85 // 卖五报价 MACFieldBid3Volume MACFieldBit = 0x86 // 买三挂单量 MACFieldBid4Volume MACFieldBit = 0x87 // 买四挂单量 MACFieldUpCount MACFieldBit = 0x88 // 板块为上涨家数;个股复用为买五量(别名 Bid5Volume) MACFieldAsk3Volume MACFieldBit = 0x89 // 卖三挂单量 MACFieldAsk4Volume MACFieldBit = 0x8a // 卖四挂单量 MACFieldDownCount MACFieldBit = 0x8b // 板块为下跌家数;个股复用为卖五量(别名 Ask5Volume) MACFieldBidAskDiff MACFieldBit = 0x8c // 委差,买盘与卖盘挂单量之差 MACFieldChangeUpType MACFieldBit = 0x8d // 封板状态 MACFieldSafetyScore MACFieldBit = 0x8e // 安全分(别名 ConstantNegOne) MACFieldHighlightCount MACFieldBit = 0x8f // 亮点数(别名 StockRating,个股评级) MACFieldChangeAt1000 MACFieldBit = 0x90 // 10:00 时点的日内涨幅百分比 MACFieldChangeAt1030 MACFieldBit = 0x91 // 10:30 时点的日内涨幅百分比 MACFieldChangeAt1100 MACFieldBit = 0x92 // 11:00 时点的日内涨幅百分比 MACFieldChangeAt1130 MACFieldBit = 0x93 // 11:30 时点的日内涨幅百分比 MACFieldChangeAt1330 MACFieldBit = 0x94 // 13:30 时点的日内涨幅百分比 MACFieldChangeAt1400 MACFieldBit = 0x95 // 14:00 时点的日内涨幅百分比 MACFieldChangeAt1430 MACFieldBit = 0x96 // 14:30 时点的日内涨幅百分比 MACFieldSomeBitmap MACFieldBit = MACFieldStockTagFlags // 历史遗留别名,等同 StockTagFlags MACFieldPreIPOV MACFieldBit = MACFieldPreIOPV // 历史遗留别名,等同 PreIOPV MACFieldIPOV MACFieldBit = MACFieldIOPV // 历史遗留别名,等同 IOPV MACFieldGEMStarInfo MACFieldBit = MACFieldAfterHoursVolume // 历史遗留别名,等同 AfterHoursVolume MACFieldDividendYieldPct MACFieldBit = MACFieldDividendYieldRate // 历史遗留别名,等同 DividendYieldRate MACFieldConstantNegOne MACFieldBit = MACFieldSafetyScore // 历史遗留别名,等同 SafetyScore MACFieldStockRating MACFieldBit = MACFieldHighlightCount // 历史遗留别名,等同 HighlightCount MACFieldBid2Volume MACFieldBit = MACFieldLimitUpCount // 历史遗留别名,等同 LimitUpCount MACFieldAsk2Volume MACFieldBit = MACFieldLimitDownCount // 历史遗留别名,等同 LimitDownCount MACFieldBid5Volume MACFieldBit = MACFieldUpCount // 历史遗留别名,等同 UpCount MACFieldAsk5Volume MACFieldBit = MACFieldDownCount // 历史遗留别名,等同 DownCount )
MACField* 位图字段:MAC 动态字段位图中可请求的行情字段,位号与 `proto/mac_board_members_dynamic.go` 的字段映射表一一对应;位图中置位后,服务端才会返回 对应字段。每个字段的具体含义、单位与特殊取值见各常量行尾注释。
标注“语义待确认”的字段协议含义未在映射表中确证,不应据此推断协议细节;块末若干常量为 历史遗留别名,指向同一字段位,保留以兼容旧调用,对应关系见各别名常量行尾注释。
type MACFieldSelector ¶
type MACFieldSelector interface {
// contains filtered or unexported methods
}
MACFieldSelector 是参与构造 MAC 动态字段位图的选择项接口。
单个字段位(`MACFieldBit`)与一组字段预设(`MACPresetField`)均实现该接口;调用方将 若干选择项传给 `MACFieldBitmap`,由其组合出最终位图。位图中被置位的字段才会在服务端 响应中返回。
type MACFilterType ¶
type MACFilterType uint8
MACFilterType 是 MAC 板块成分的排除条件,每个条件独占一个二进制位;多个条件按位或叠加后 写入请求位图的过滤字节,命中条件的标的将被排除。位定义见 `MACFilter*` 常量;取值 0 表示不 排除任何标的。
const ( MACFilterNew MACFilterType = 1 // 排除新股 MACFilterKCB MACFilterType = 2 // 排除科创板标的 MACFilterST MACFilterType = 4 // 排除风险警示(ST)标的 MACFilterGEM MACFilterType = 8 // 排除创业板标的 MACFilterHKConnect MACFilterType = 16 // 排除港股通标的 MACFilterBJ MACFilterType = 32 // 排除北交所标的 MACFilterApproval MACFilterType = 64 // 排除核准制标的 MACFilterRegistration MACFilterType = 128 // 排除注册制标的 )
MACFilter* 成分股排除条件位图,每个条件独占一个二进制位,可按位或叠加组合;命中任一条件的 标的将被排除出榜单。各条件对应的标的类别见常量行尾注释。
type MACPresetField ¶
type MACPresetField uint8
MACPresetField 表示一组常用 MAC 动态字段预设:一个预设编号对应一组固定字段位,调用方 无需逐位列举字段,即可通过 `MACFieldBitmap` 选中整组字段。
const ( MACPresetNone MACPresetField = 0 // 不选择任何字段,位图保持全零 MACPresetOHLC MACPresetField = 1 // 仅选中开盘、最高、最低、收盘四个价格字段 MACPresetBasic MACPresetField = 2 // 基础行情:开高低收、昨收、成交量 MACPresetQuote MACPresetField = 3 // 盘口报价:买一价、卖一价、买一量、卖一量、现量 MACPresetVolume MACPresetField = 4 // 量额换手:成交量、成交额、换手率、量比 MACPresetFundamental MACPresetField = 5 // 基本面:总股本、流通股本、每股收益、净资产 MACPresetEnhanced MACPresetField = 6 // 增强行情:开高低收、成交量、流通股本、活跃度 MACPresetAHCode MACPresetField = 7 // A/H 辅助信息:开高低收、成交量、A/H 代码、每手、行业 MACPresetBoardStats MACPresetField = 8 // 板块涨跌统计:涨停、跌停、上涨、下跌家数 MACPresetHandicap MACPresetField = 9 // 五档盘口:五档买卖报价与对应挂单量 MACPresetCommon MACPresetField = 10 // 常用字段集合,覆盖普通行情查询所需字段 MACPresetDebug MACPresetField = 11 // 调试用,将位图 160 位全部置 1 MACPresetAll MACPresetField = 12 // 选中全部已定义字段位 )
MACPreset* 常用字段预设:一次性选中一组 MAC 动态字段,便于直接构造字段位图。各预设包含的 具体字段组见各常量行尾注释。
type MACSortOrder ¶
type MACSortOrder uint8
MACSortOrder 是 MAC 板块成分榜单的排序方向编号,作为请求的排序方向参数传入,控制排序结果 按升序还是降序返回;编号定义见 `MACSortOrder*` 常量。取值 0 表示不指定方向,服务端默认回填 1(降序)。
const ( MACSortOrderNone MACSortOrder = 0 // 不指定排序方向;请求传 0 时服务端默认回填 1(降序) MACSortOrderDesc MACSortOrder = 1 // 降序,排序指标值大的标的排在前面 MACSortOrderAsc MACSortOrder = 2 // 升序,排序指标值小的标的排在前面 )
MACSortOrder* 排序方向编号,作为请求的排序方向参数传入;各编号方向语义见常量行尾注释。
type MACSortType ¶
type MACSortType uint16
MACSortType 是 MAC 板块成分榜单的排序字段编号,作为请求的排序字段参数传入,指定结果按 哪一项指标排序;取值为协议约定的排序字段代码,编号定义见 `MACSort*` 常量。取值 0 表示不 指定排序字段,服务端默认回填 14(`MACSortChangePct`,按涨跌幅排序)。
const ( MACSortCode MACSortType = 0x00 // 按证券代码排序 MACSortName MACSortType = 0x01 // 按证券名称排序 MACSortPrice MACSortType = 0x06 // 按最新价排序 MACSortVol MACSortType = 0x07 // 按成交量排序 MACSortAmount MACSortType = 0x08 // 按成交额排序 MACSortTotalAmount MACSortType = 0x0a // 按总成交额排序 MACSortLastVolume MACSortType = 0x0b // 按现量(最新一笔成交量)排序 MACSortChange MACSortType = 0x0c // 按涨跌额排序 MACSortIndustry MACSortType = 0x0d // 按所属行业排序 MACSortChangePct MACSortType = 0x0e // 按涨跌幅排序;排序字段传 0 时服务端默认回填此编号 MACSortAmplitudePct MACSortType = 0x0f // 按振幅排序 MACSortShortTurnoverPct MACSortType = 0xcc // 按短周期换手率排序 MACSortVolSpeedPct MACSortType = 0xd0 // 按量涨速排序 MACSortChange5DPct MACSortType = 0xd1 // 按近 5 日涨幅排序 MACSortChange10DPct MACSortType = 0xd2 // 按近 10 日涨幅排序 MACSortMainNetAmount MACSortType = 0xd4 // 按主力净流入金额排序 MACSortMainNetRatio MACSortType = 0xd7 // 按主力净比排序 MACSortAuctionLimitBuy MACSortType = 0x102 // 按连续竞价买入上限价排序 MACSortAuctionLimitSell MACSortType = 0x103 // 按连续竞价卖出下限价排序 MACSortLimitUpTime MACSortType = 0x108 // 按涨停时间排序 MACSortLimitDownTime MACSortType = 0x109 // 按跌停时间排序 MACSortDrawdownPct MACSortType = 0x11e // 按回撤幅度排序 MACSortAttackPct MACSortType = 0x11f // 按攻击幅度排序,具体语义待确认 MACSortYTDPct MACSortType = 0x121 // 按年初至今涨幅排序 MACSortConsecutiveUpDays MACSortType = 0x138 // 按连续上涨天数排序 MACSortChange3DPct MACSortType = 0x139 // 按近 3 日涨幅排序 MACSortDividendYieldRate MACSortType = 0x13a // 按股息率排序 MACSortChange20DPct MACSortType = 0x172 // 按近 20 日涨幅排序 MACSortChange60DPct MACSortType = 0x173 // 按近 60 日涨幅排序 MACSortPrevChangePct MACSortType = 0x17e // 按昨日涨幅排序 MACSortMTDPct MACSortType = 0x19c // 按月初至今涨幅排序 MACSortChange1YPct MACSortType = 0x19d // 按近一年涨幅排序 MACSortPETTM MACSortType = 0x3ee // 按滚动市盈率(PE TTM)排序 MACSortPEStatic MACSortType = 0x3ef // 按静态市盈率排序 )
MACSort* 板块成分排序字段编号,作为请求的排序字段参数传入,指定榜单按哪一项指标排序。 各编号对应的排序维度见常量行尾注释;请求排序字段传 0 时服务端默认回填 `MACSortChangePct`。
type Option ¶
type Option func(options *Options)
Option 是用于修改 `Options` 的函数式选项,返回闭包在合并阶段按顺序应用到配置上。
func WithEmptyNodeSwitchDisabled ¶
WithEmptyNodeSwitchDisabled 设置是否关闭空数据换节点。
参数 `disabled` 为 `true` 时,空数据应答直接返回首次结果,不再并行探测池内其他连接、 不累计节点空数据健康度;为 `false`(默认)时保持原有并行换节点行为。该选项与 `WithPoolSize` 相互独立,可单独关闭换节点而不改变池大小;单连接组合使用时优先选择 `WithSingleConnectionMode`。
func WithExTCPAddress ¶
WithExTCPAddress 设置扩展行情服务器地址,格式为 `host:port`。
func WithExTCPAddressPool ¶
WithExTCPAddressPool 设置扩展行情服务器地址池,连接时按顺序或测速结果依次尝试。
参数 `ips` 为 `host:port` 地址序列,整体替换原地址池;不传参数时清空地址池。
func WithFuturesCalendarPath ¶
WithFuturesCalendarPath 设置 MAC 期货 K 线自然时间转换使用的 `SQLite` 交易日历路径。
参数 `path` 为日历文件路径;传入空串时关闭期货自然时间转换,保留服务端原始交易时间。
func WithGuardConfig ¶
WithGuardConfig 设置熔断阈值与冷却时长。
参数 `failThreshold` 为同一命令码连续失败多少次打开熔断,非正数保持默认 5; 参数 `openTimeout` 为熔断打开后冷却多久放行单个试探请求,非正数保持默认 5 秒。 熔断按协议命令码分桶,互不影响。
func WithGuardDisabled ¶
WithGuardDisabled 设置是否关闭 `execute` 入口的熔断与防击穿保护。
参数 `disabled` 为 `true` 时关闭保护:请求直接走原有执行路径,不统计失败、 不合并并发;为 `false`(默认)时保持熔断+防击穿。适用于需要完全保留原始 行为(如自定义容错策略)的调用方。
func WithMacExTCPAddress ¶
WithMacExTCPAddress 设置 MAC 扩展行情服务器地址,格式为 `host:port`。
func WithMacExTCPAddressPool ¶
WithMacExTCPAddressPool 设置 MAC 扩展行情服务器地址池,连接时按顺序或测速结果依次尝试。
参数 `ips` 为 `host:port` 地址序列,整体替换原地址池;不传参数时清空地址池。
func WithMacTCPAddress ¶
WithMacTCPAddress 设置 MAC 主行情服务器地址,格式为 `host:port`。
func WithMacTCPAddressPool ¶
WithMacTCPAddressPool 设置 MAC 主行情服务器地址池,连接时按顺序或测速结果依次尝试。
参数 `ips` 为 `host:port` 地址序列,整体替换原地址池;不传参数时清空地址池。
func WithPoolSize ¶
WithPoolSize 设置连接池大小,即并行可用的 TCP 连接条数。
参数 `poolSize` 为目标连接条数;传入非正数时保持默认池大小。池内连接各自独立握手, 请求按轮询分散到各连接,连接之间并行、单连接内部串行。
func WithSingleConnectionMode ¶
func WithSingleConnectionMode() Option
WithSingleConnectionMode 开启显式单连接模式:把连接池大小设为 1,并关闭空数据换节点。
适用于单并发、追求窄尾延迟的调用方:全程复用一条长连接,获得接近老库固定单连接的稳定 延迟分布;断连自愈(心跳判死、后台补建、重平衡)仍然保留。默认关闭,不传该选项时保持 三连接池与空数据并行换节点行为。需要只关闭换节点、保留多连接池时改用 `WithEmptyNodeSwitchDisabled(true)`。
func WithTCPAddress ¶
WithTCPAddress 设置主行情服务器地址,格式为 `host:port`。
func WithTCPAddressPool ¶
WithTCPAddressPool 设置主行情服务器地址池,连接时按顺序或测速结果依次尝试。
参数 `ips` 为 `host:port` 地址序列,整体替换原地址池;不传参数(空序列)时清空地址池。
func WithTimeoutSec ¶
WithTimeoutSec 设置连接与读写超时时间,单位秒;传入非正数时保持默认超时。
type Options ¶
type Options struct {
TCPAddress string // 主行情服务器单点地址,格式为 `host:port`;空串时回退到主站地址池
TCPAddressPool []string // 主行情服务器地址池,连接时按顺序或测速结果依次尝试;空切片使用内置默认池
ExTCPAddress string // 扩展行情服务器单点地址,格式为 `host:port`;空串时回退到扩展站地址池
ExTCPAddressPool []string // 扩展行情服务器地址池;空切片使用内置默认池
MacTCPAddress string // MAC 主行情服务器单点地址,格式为 `host:port`;空串时回退到 MAC 主站地址池
MacTCPAddressPool []string // MAC 主行情服务器地址池;空切片使用内置默认池
MacExTCPAddress string // MAC 扩展行情服务器单点地址,格式为 `host:port`;空串时回退到 MAC 扩展站地址池
MacExTCPAddressPool []string // MAC 扩展行情服务器地址池;空切片使用内置默认池
MaxRetryTimes int // 单次请求写失败的重试次数;构造阶段由默认值 3 填充,连接流程中按该值重试
TimeoutSec int // 连接与读写共用的超时时间,单位秒;构造阶段由默认值 2 秒填充,非正数回退默认
PoolSize int // 连接池大小,即并行可用的 TCP 连接条数;构造阶段由默认值 3 填充,非正数回退默认
DisableEmptyNodeSwitch bool // 关闭空数据换节点:空应答直接返回首次结果,不并行探测其他连接;默认 `false` 保持池化换节点行为
GuardEnabled bool // 开启 `execute` 入口的熔断与防击穿保护;默认 `true`,四个入口全部数据查询统一受保护
GuardFailThreshold int // 熔断阈值:同一命令码连续失败多少次打开熔断;构造阶段由默认值 5 填充,非正数回退默认
GuardOpenTimeout time.Duration // 熔断冷却时长:打开后冷却多久放行单个试探请求;零或负数回退默认 5 秒
FuturesCalendarPath string // 期货交易日历 SQLite 路径;为空时不转换 MAC 期货自然时间
}
Options 保存客户端创建时使用的主站、扩展站、MAC 站地址与地址池、重试次数、超时等全部配置。
该结构体通常不直接构造:`New` 会先应用内置默认配置,再按传入顺序应用各 `Option` 覆盖 对应字段,后传入的选项优先生效。各字段的零值表示"沿用对应默认值",字段级并发读写 应在构造阶段完成,连接建立后不应再修改。
type SubscribeSource ¶
type SubscribeSource[T any] struct { Key string // 可选数据源标识,相同标识合并轮询 Fetch func() (T, error) // 拉取最新快照,返回错误时跳过本轮轮询 Changed func(old, new T) bool // 两次快照是否不同;`nil` 时使用深比较 }
SubscribeSource 描述一个可订阅的数据源。
`Key` 为可选的数据源标识:相同 `Key` 的订阅合并到同一个轮询任务,共享一次拉取 (同一 `Key` 下快照类型必须一致,轮询间隔取所有订阅的最小值);未指定 `Key` 时每次订阅独立轮询。`Fetch` 拉取最新快照,返回错误时跳过本轮轮询;`Changed` 判断两次快照是否不同(省略时默认深比较,即任何字段变化都视为变化)。
type Subscriber ¶
type Subscriber struct {
// contains filtered or unexported fields
}
Subscriber 是通用行情订阅工厂:绑定一个客户端连接,通过 `Subscribe` 对任意 数据源建立订阅;客户端 `Disconnect` 或调用 `Close` 时工厂内全部订阅自动停止。
func (*Subscriber) Close ¶
func (f *Subscriber) Close()
Close 停止工厂内全部订阅并释放轮询循环;之后仍可继续调用 `Subscribe` 建立新订阅。
func (*Subscriber) Subscribe ¶
func (f *Subscriber) Subscribe[T any](source SubscribeSource[T], interval time.Duration, handler func(T) bool) (cancel func(), err error)
Subscribe 对一个数据源建立订阅:注册后立即拉取一次并推送建立基线,此后按 `interval` 轮询拉取,快照发生变化时回调 `handler`。
参数 `source` 描述数据源(`Fetch` 必填,`Key` 可选用于合并订阅);`interval` 为轮询间隔,非正数时使用默认 3 秒;`handler` 接收变化后的最新快照,返回 `false` 即取消本次订阅。返回取消函数,调用后停止该订阅的轮询与推送。拉取失败 (网络波动或拉取函数 panic)自动跳过本轮并下轮重试,不中断订阅。
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package cache 为 gotdx 提供基于 `Redis` 的缓存层,对外方法与 gotdx.Client 同名同签名(仅首位新增 context.Context),并发安全。
|
Package cache 为 gotdx 提供基于 `Redis` 的缓存层,对外方法与 gotdx.Client 同名同签名(仅首位新增 context.Context),并发安全。 |
|
cmd
|
|
|
webviewer
command
Command webviewer 启动本地网页行情查看器:内嵌前端页面,通过 HTTP 接口转发 `gotdx` 主站、扩展站、MAC 与 ICFQS 等协议查询,并把响应整理为表格展示在浏览器中。
|
Command webviewer 启动本地网页行情查看器:内嵌前端页面,通过 HTTP 接口转发 `gotdx` 主站、扩展站、MAC 与 ICFQS 等协议查询,并把响应整理为表格展示在浏览器中。 |
|
Command gotdx-examples 是 `gotdx` 整组示例的快速入口:先查询沪深主行情快照,再查询扩展市场(美股)报价;其余专题能力见 `examples` 下各子目录。
|
Command gotdx-examples 是 `gotdx` 整组示例的快速入口:先查询沪深主行情快照,再查询扩展市场(美股)报价;其余专题能力见 `examples` 下各子目录。 |
|
ex_board_list
command
Command ex_board_list 演示通过 ExBoardList 拉取扩展市场行业板块列表,并逐行打印板块代码、名称与行情字段。
|
Command ex_board_list 演示通过 ExBoardList 拉取扩展市场行业板块列表,并逐行打印板块代码、名称与行情字段。 |
|
ex_category_list
command
Command ex_category_list 演示通过 ExCategoryList 拉取扩展市场分类(港股、美股、期货等)列表并逐行打印。
|
Command ex_category_list 演示通过 ExCategoryList 拉取扩展市场分类(港股、美股、期货等)列表并逐行打印。 |
|
ex_count
command
Command ex_count 演示通过 ExCount 获取扩展市场内的标的总数并打印。
|
Command ex_count 演示通过 ExCount 获取扩展市场内的标的总数并打印。 |
|
ex_experiment_2487
command
Command ex_experiment_2487 演示试验协议 `0x2487` 返回的单品种行情原始响应,以美股 `TSLA` 为例打印各字段与尾部十六进制片段。
|
Command ex_experiment_2487 演示试验协议 `0x2487` 返回的单品种行情原始响应,以美股 `TSLA` 为例打印各字段与尾部十六进制片段。 |
|
ex_experiment_2488
command
Command ex_experiment_2488 演示试验协议 `0x2488` 返回的数据记录,以美股 `TSLA` 为例逐条打印; 请求模式与各字段的确切语义待确认。
|
Command ex_experiment_2488 演示试验协议 `0x2488` 返回的数据记录,以美股 `TSLA` 为例逐条打印; 请求模式与各字段的确切语义待确认。 |
|
ex_history
command
Command ex_history 演示通过 ExHistoryTransaction 查询扩展市场指定交易日的历史成交明细,以美股 `TSLA` 为例仅打印前 20 条。
|
Command ex_history 演示通过 ExHistoryTransaction 查询扩展市场指定交易日的历史成交明细,以美股 `TSLA` 为例仅打印前 20 条。 |
|
ex_kline
command
Command ex_kline 演示通过 ExKLine 获取扩展市场证券 K 线,以美股 `TSLA` 日线为例打印最近 10 根 K 线。
|
Command ex_kline 演示通过 ExKLine 获取扩展市场证券 K 线,以美股 `TSLA` 日线为例打印最近 10 根 K 线。 |
|
ex_kline2
command
Command ex_kline2 演示第二套 K 线协议 ExKLine2 获取扩展市场证券 K 线,以美股 `TSLA` 日线为例打印最近 10 根。
|
Command ex_kline2 演示第二套 K 线协议 ExKLine2 获取扩展市场证券 K 线,以美股 `TSLA` 日线为例打印最近 10 根。 |
|
ex_list
command
Command ex_list 演示通过 ExList 分页获取扩展市场证券列表,从偏移 0 开始打印前 20 条。
|
Command ex_list 演示通过 ExList 分页获取扩展市场证券列表,从偏移 0 开始打印前 20 条。 |
|
ex_list_extra
command
Command ex_list_extra 演示通过 ExListExtra 获取扩展市场附加列表记录并逐条打印;前两个参数的确切语义待确认。
|
Command ex_list_extra 演示通过 ExListExtra 获取扩展市场附加列表记录并逐条打印;前两个参数的确切语义待确认。 |
|
ex_mapping_2562
command
Command ex_mapping_2562 演示试验协议 `0x2562` 返回的品种映射记录,以中金所期货类别为例打印前 10 条;多数字段含义语义待确认。
|
Command ex_mapping_2562 演示试验协议 `0x2562` 返回的品种映射记录,以中金所期货类别为例打印前 10 条;多数字段含义语义待确认。 |
|
ex_paged_list
command
Command ex_paged_list 演示先查询扩展市场标的总数,再按固定页大小循环分页拉取 ExList 列表, 直到取空或达到最大页数限制,并汇总实际拉取条数。
|
Command ex_paged_list 演示先查询扩展市场标的总数,再按固定页大小循环分页拉取 ExList 列表, 直到取空或达到最大页数限制,并汇总实际拉取条数。 |
|
ex_quote
command
Command ex_quote 演示通过 ExQuote 查询单只扩展证券的行情报价,以美股 `TSLA` 为例打印开高低收与均价等字段。
|
Command ex_quote 演示通过 ExQuote 查询单只扩展证券的行情报价,以美股 `TSLA` 为例打印开高低收与均价等字段。 |
|
ex_quotes
command
Command ex_quotes 演示通过 ExQuotes 批量查询扩展市场行情报价,同时取美股 `TSLA` 与港股主板 `09988` 两只标的。
|
Command ex_quotes 演示通过 ExQuotes 批量查询扩展市场行情报价,同时取美股 `TSLA` 与港股主板 `09988` 两只标的。 |
|
ex_quotes2
command
Command ex_quotes2 演示第二套批量报价协议 ExQuotes2,同时取美股 `TSLA` 与港股主板 `09988`,打印结算价与涨速字段。
|
Command ex_quotes2 演示第二套批量报价协议 ExQuotes2,同时取美股 `TSLA` 与港股主板 `09988`,打印结算价与涨速字段。 |
|
ex_quotes_list
command
Command ex_quotes_list 演示通过 ExQuotesList 分页获取扩展市场排序行情列表,美股类别下按代码排序取前 20 条。
|
Command ex_quotes_list 演示通过 ExQuotesList 分页获取扩展市场排序行情列表,美股类别下按代码排序取前 20 条。 |
|
ex_sampling
command
Command ex_sampling 演示通过 ExChartSampling 获取分时缩略采样价格序列,以美股 `TSLA` 为例打印前 20 个采样点。
|
Command ex_sampling 演示通过 ExChartSampling 获取分时缩略采样价格序列,以美股 `TSLA` 为例打印前 20 个采样点。 |
|
ex_server_info
command
Command ex_server_info 演示手动构造扩展行情客户端:先完成登录握手并打印服务器信息, 再分别查询当日分时与指定交易日历史分时,以美股 `TSLA` 为例。
|
Command ex_server_info 演示手动构造扩展行情客户端:先完成登录握手并打印服务器信息, 再分别查询当日分时与指定交易日历史分时,以美股 `TSLA` 为例。 |
|
ex_single_connection
command
Command ex_single_connection 演示显式单连接模式:连接池大小为 1 并关闭空数据换节点, 以美股 `TSLA` 历史成交明细为例,展示单并发场景下接近老库固定单连接的窄尾延迟行为。
|
Command ex_single_connection 演示显式单连接模式:连接池大小为 1 并关闭空数据换节点, 以美股 `TSLA` 历史成交明细为例,展示单并发场景下接近老库固定单连接的窄尾延迟行为。 |
|
ex_table
command
Command ex_table 演示通过 ExTable 拉取扩展市场表格文本,按换行拆分后打印前 10 个非空行。
|
Command ex_table 演示通过 ExTable 拉取扩展市场表格文本,按换行拆分后打印前 10 个非空行。 |
|
ex_table_detail
command
Command ex_table_detail 演示通过 ExTableDetail 拉取扩展市场表格明细文本,按逗号拆分后打印前 20 个非空条目。
|
Command ex_table_detail 演示通过 ExTableDetail 拉取扩展市场表格明细文本,按逗号拆分后打印前 20 个非空条目。 |
|
ex_tick
command
Command ex_tick 演示通过 ExTickChart 获取扩展市场分时图,日期传 0 表示取当日分时,以美股 `TSLA` 为例打印前 20 点。
|
Command ex_tick 演示通过 ExTickChart 获取扩展市场分时图,日期传 0 表示取当日分时,以美股 `TSLA` 为例打印前 20 点。 |
|
goods_overview
command
Command goods_overview 依次演示扩展市场商品的总数、列表、品种映射、批量报价与日 K 线接口, 串联展示商品类查询的常用调用顺序。
|
Command goods_overview 依次演示扩展市场商品的总数、列表、品种映射、批量报价与日 K 线接口, 串联展示商品类查询的常用调用顺序。 |
|
host_probe
command
Command host_probe 演示对内置主站、扩展站、MAC 主站与 MAC 扩展站四类服务器逐一做 TCP 探测, 打印可达性与延迟;最后通过自动选最快主机接口选出延迟最低的主站。
|
Command host_probe 演示对内置主站、扩展站、MAC 主站与 MAC 扩展站四类服务器逐一做 TCP 探测, 打印可达性与延迟;最后通过自动选最快主机接口选出延迟最低的主站。 |
|
icfqs_raw
command
Command icfqs_raw 演示 ICFQS 资讯行情接口:先取话题列表原始响应,再由 ICFQSFormatTables 转换为表格行, 打印第一张表的行数与前 5 行内容。
|
Command icfqs_raw 演示 ICFQS 资讯行情接口:先取话题列表原始响应,再由 ICFQSFormatTables 转换为表格行, 打印第一张表的行数与前 5 行内容。 |
|
internal/exampleutil
Package exampleutil 提供 `examples` 目录下各示例共用的客户端构造、内置主机地址与小工具函数, 屏蔽主站、扩展站、MAC 主站、MAC 扩展站之间的地址配置差异,使示例代码聚焦于协议调用本身。
|
Package exampleutil 提供 `examples` 目录下各示例共用的客户端构造、内置主机地址与小工具函数, 屏蔽主站、扩展站、MAC 主站、MAC 扩展站之间的地址配置差异,使示例代码聚焦于协议调用本身。 |
|
mac_auction
command
Command mac_auction 演示通过 MACAuction 获取 MAC 竞价数据,以深市 `000001` 为例打印竞价时间、价格与匹配/未匹配量。
|
Command mac_auction 演示通过 MACAuction 获取 MAC 竞价数据,以深市 `000001` 为例打印竞价时间、价格与匹配/未匹配量。 |
|
mac_board_list
command
Command mac_board_list 演示先查询全部类型板块的总数,再按该总数拉取 MAC 板块列表并逐行打印。
|
Command mac_board_list 演示先查询全部类型板块的总数,再按该总数拉取 MAC 板块列表并逐行打印。 |
|
mac_board_members
command
Command mac_board_members 演示 MACBoardMembersWithSort 获取板块 `880761` 的成分股列表, 按指定排序类型与顺序取前 20 只并打印代码、市场与名称。
|
Command mac_board_members 演示 MACBoardMembersWithSort 获取板块 `880761` 的成分股列表, 按指定排序类型与顺序取前 20 只并打印代码、市场与名称。 |
|
mac_board_members_quotes
command
Command mac_board_members_quotes 演示 MACBoardMembersQuotesWithSort 获取板块 `880761` 的成分股报价, 按指定排序类型与顺序取前 20 只并打印行情字段。
|
Command mac_board_members_quotes 演示 MACBoardMembersQuotesWithSort 获取板块 `880761` 的成分股报价, 按指定排序类型与顺序取前 20 只并打印行情字段。 |
|
mac_board_members_quotes_dynamic
command
Command mac_board_members_quotes_dynamic 演示按字段位图动态解析板块成分报价:在通用字段预设基础上 追加主力净流入占比与涨跌类型字段,按涨幅百分比降序排列并过滤 `ST` 标的,取板块 `880761` 前 10 只。
|
Command mac_board_members_quotes_dynamic 演示按字段位图动态解析板块成分报价:在通用字段预设基础上 追加主力净流入占比与涨跌类型字段,按涨幅百分比降序排列并过滤 `ST` 标的,取板块 `880761` 前 10 只。 |
|
mac_capital_flow
command
Command mac_capital_flow 演示通过 MACCapitalFlow 查询个股资金流向,以深市 `000001` 为例打印今日与五日主力、散户净流入。
|
Command mac_capital_flow 演示通过 MACCapitalFlow 查询个股资金流向,以深市 `000001` 为例打印今日与五日主力、散户净流入。 |
|
mac_file_query
command
Command mac_file_query 演示 MAC 文件两步操作:先查询 `StockInfo.dat` 的元信息(偏移、大小、标志、哈希), 再按元信息中的大小循环下载完整文件并打印字节数。
|
Command mac_file_query 演示 MAC 文件两步操作:先查询 `StockInfo.dat` 的元信息(偏移、大小、标志、哈希), 再按元信息中的大小循环下载完整文件并打印字节数。 |
|
mac_kline_offset
command
Command mac_kline_offset 演示通过 MACKLineOffset 获取 MAC K 线偏移信息,从偏移 0 开始按默认条数请求, 打印服务端返回的总数与本次返回条数。
|
Command mac_kline_offset 演示通过 MACKLineOffset 获取 MAC K 线偏移信息,从偏移 0 开始按默认条数请求, 打印服务端返回的总数与本次返回条数。 |
|
mac_market_monitor
command
Command mac_market_monitor 演示通过 MACMarketMonitor 获取市场异动监控数据,深市类别下从偏移 0 取前 20 条, 打印异动描述、数值与各原始字段。
|
Command mac_market_monitor 演示通过 MACMarketMonitor 获取市场异动监控数据,深市类别下从偏移 0 取前 20 条, 打印异动描述、数值与各原始字段。 |
|
mac_quotes
command
Command mac_quotes 演示通过 MAC 协议接口 `MACQuotes` 查询单只证券的实时报价及其分时图表数据并打印。
|
Command mac_quotes 演示通过 MAC 协议接口 `MACQuotes` 查询单只证券的实时报价及其分时图表数据并打印。 |
|
mac_server_info
command
Command mac_server_info 演示查询 MAC 行情服务器的交易日、会话与市场参数等基本信息并打印。
|
Command mac_server_info 演示查询 MAC 行情服务器的交易日、会话与市场参数等基本信息并打印。 |
|
mac_symbol_bars
command
Command mac_symbol_bars 演示通过 MAC 协议接口 `MACSymbolBars` 查询证券 K 线并逐根打印行情字段。
|
Command mac_symbol_bars 演示通过 MAC 协议接口 `MACSymbolBars` 查询证券 K 线并逐根打印行情字段。 |
|
mac_symbol_belong_board
command
Command mac_symbol_belong_board 演示查询证券所属板块列表,并打印板块类型、代码、名称与价格。
|
Command mac_symbol_belong_board 演示查询证券所属板块列表,并打印板块类型、代码、名称与价格。 |
|
mac_symbol_info
command
Command mac_symbol_info 演示通过 MAC 协议接口 `MACSymbolInfo` 查询单只证券的行情摘要信息并打印。
|
Command mac_symbol_info 演示通过 MAC 协议接口 `MACSymbolInfo` 查询单只证券的行情摘要信息并打印。 |
|
mac_symbol_quotes
command
Command mac_symbol_quotes 演示通过 MAC 协议批量查询沪深两只证券的动态报价并打印命中字段与取值。
|
Command mac_symbol_quotes 演示通过 MAC 协议批量查询沪深两只证券的动态报价并打印命中字段与取值。 |
|
mac_tick_charts
command
Command mac_tick_charts 演示通过 MAC 协议查询最近多个交易日的分时图及其逐时点价格并打印。
|
Command mac_tick_charts 演示通过 MAC 协议查询最近多个交易日的分时图及其逐时点价格并打印。 |
|
mac_transactions
command
Command mac_transactions 演示通过 MAC 协议查询证券逐笔成交明细,并打印时间、价格、数量与买卖方向。
|
Command mac_transactions 演示通过 MAC 协议查询证券逐笔成交明细,并打印时间、价格、数量与买卖方向。 |
|
main_experimental
command
Command main_experimental 演示主站若干语义未公开的试验协议:逐条发起请求,打印应答长度与原始十六进制预览。
|
Command main_experimental 演示主站若干语义未公开的试验协议:逐条发起请求,打印应答长度与原始十六进制预览。 |
|
stock_all
command
Command stock_all 演示一次性拉取深市、沪市、北交所全部证券代码,按普通股票类型过滤后打印代码与名称并统计数量。
|
Command stock_all 演示一次性拉取深市、沪市、北交所全部证券代码,按普通股票类型过滤后打印代码与名称并统计数量。 |
|
stock_batch_quotes
command
Command stock_batch_quotes 演示批量查询多只沪深证券的行情快照,并打印价格、涨跌额、成交量、涨速与换手率。
|
Command stock_batch_quotes 演示批量查询多只沪深证券的行情快照,并打印价格、涨跌额、成交量、涨速与换手率。 |
|
stock_block_raw
command
Command stock_block_raw 演示板块文件的元信息查询、分块下载与整包下载,并分别按扁平列表、按板块分组两种方式解析板块文件。
|
Command stock_block_raw 演示板块文件的元信息查询、分块下载与整包下载,并分别按扁平列表、按板块分组两种方式解析板块文件。 |
|
stock_block_raw_cache
command
Command stock_block_raw_cache 演示板块文件能力(`block.go` 导出方法)的缓存调用: 首次调用回源下载文件并解析、结果写入 `Redis`,二次调用直接命中缓存不再触碰行情源, 通过 `Stats` 观察命中/回源计数变化。
|
Command stock_block_raw_cache 演示板块文件能力(`block.go` 导出方法)的缓存调用: 首次调用回源下载文件并解析、结果写入 `Redis`,二次调用直接命中缓存不再触碰行情源, 通过 `Stats` 观察命中/回源计数变化。 |
|
stock_company_raw
command
Command stock_company_raw 演示公司资料分类、章节正文、财务摘要、除权除息记录以及聚合打包接口的原始结果获取与打印。
|
Command stock_company_raw 演示公司资料分类、章节正文、财务摘要、除权除息记录以及聚合打包接口的原始结果获取与打印。 |
|
stock_count
command
Command stock_count 演示分别查询深市、沪市、北交所三个市场的证券总数并打印。
|
Command stock_count 演示分别查询深市、沪市、北交所三个市场的证券总数并打印。 |
|
stock_f10_block
command
Command stock_f10_block 演示查询证券 F10 资料打包结果,并加载概念板块清单打印前若干条板块成分。
|
Command stock_f10_block 演示查询证券 F10 资料打包结果,并加载概念板块清单打印前若干条板块成分。 |
|
stock_feature_452
command
Command stock_feature_452 演示调用试验协议 `0x452` 拉取证券特征记录,并打印市场、代码与两个待确认语义的特征数值。
|
Command stock_feature_452 演示调用试验协议 `0x452` 拉取证券特征记录,并打印市场、代码与两个待确认语义的特征数值。 |
|
stock_history
command
Command stock_history 演示查询指定历史日期的历史分时图与历史逐笔成交两类数据,并分别打印字段。
|
Command stock_history 演示查询指定历史日期的历史分时图与历史逐笔成交两类数据,并分别打印字段。 |
|
stock_history_transaction_with_trans
command
Command stock_history_transaction_with_trans 演示查询指定历史日期带买卖方向标注的逐笔成交明细,并打印时间、价格、数量与方向。
|
Command stock_history_transaction_with_trans 演示查询指定历史日期带买卖方向标注的逐笔成交明细,并打印时间、价格、数量与方向。 |
|
stock_index_tools
command
Command stock_index_tools 演示指数实时信息、指数动量序列、指数 K 线以及分时采样价格四类指数相关接口的查询与打印。
|
Command stock_index_tools 演示指数实时信息、指数动量序列、指数 K 线以及分时采样价格四类指数相关接口的查询与打印。 |
|
stock_kline
command
Command stock_kline 演示通过统一接口 StockKLine 查询沪深市场 K 线并逐根打印字段。
|
Command stock_kline 演示通过统一接口 StockKLine 查询沪深市场 K 线并逐根打印字段。 |
|
stock_kline_offset
command
Command stock_kline_offset 演示通过偏移分页接口 `StockKLineOffset` 查询日 K 线,并逐根打印开高低收、成交量与换手率。
|
Command stock_kline_offset 演示通过偏移分页接口 `StockKLineOffset` 查询日 K 线,并逐根打印开高低收、成交量与换手率。 |
|
stock_list
command
Command stock_list 演示按市场、偏移与数量分页查询证券清单,并打印代码、名称、昨收价与成交量单位。
|
Command stock_list 演示按市场、偏移与数量分页查询证券清单,并打印代码、名称、昨收价与成交量单位。 |
|
stock_list_old
command
Command stock_list_old 演示使用旧版证券列表协议查询深市证券清单,并打印代码、名称、昨收价与成交量单位。
|
Command stock_list_old 演示使用旧版证券列表协议查询深市证券清单,并打印代码、名称、昨收价与成交量单位。 |
|
stock_lowlevel_quote
command
Command stock_lowlevel_quote 演示不经过统一封装,直接调用低层协议依次完成握手连接、证券计数、列表、快照、分时与逐笔查询。
|
Command stock_lowlevel_quote 演示不经过统一封装,直接调用低层协议依次完成握手连接、证券计数、列表、快照、分时与逐笔查询。 |
|
stock_market_watch
command
Command stock_market_watch 演示集合竞价、涨幅榜、异动提示与成交分布等市场监控数据的查询与打印。
|
Command stock_market_watch 演示集合竞价、涨幅榜、异动提示与成交分布等市场监控数据的查询与打印。 |
|
stock_paged_list
command
Command stock_paged_list 演示先查询市场证券总数,再按固定页大小逐页翻页遍历深市证券列表,并打印每页首尾证券。
|
Command stock_paged_list 演示先查询市场证券总数,再按固定页大小逐页翻页遍历深市证券列表,并打印每页首尾证券。 |
|
stock_quotes
command
Command stock_quotes 演示通过统一接口 `StockQuotesDetail` 批量查询沪深证券主行情快照,并打印时间、价格、成交量与换手率。
|
Command stock_quotes 演示通过统一接口 `StockQuotesDetail` 批量查询沪深证券主行情快照,并打印时间、价格、成交量与换手率。 |
|
stock_quotes_encrypt
command
Command stock_quotes_encrypt 演示加密行情快照协议批量查询沪深证券报价,并打印最新价、开高低收与买卖盘档位数量。
|
Command stock_quotes_encrypt 演示加密行情快照协议批量查询沪深证券报价,并打印最新价、开高低收与买卖盘档位数量。 |
|
stock_quotes_list
command
Command stock_quotes_list 演示按板块分类、排序方式与数量查询行情排行榜列表,并打印价格、涨跌额、成交额与换手率。
|
Command stock_quotes_list 演示按板块分类、排序方式与数量查询行情排行榜列表,并打印价格、涨跌额、成交额与换手率。 |
|
stock_server_info
command
Command stock_server_info 演示主站握手、服务器心跳、服务器信息、主站公告与交易所公告等服务端信息接口的查询与预览打印。
|
Command stock_server_info 演示主站握手、服务器心跳、服务器信息、主站公告与交易所公告等服务端信息接口的查询与预览打印。 |
|
stock_tick
command
Command stock_tick 演示查询证券当日分时图序列,并打印每个时点的价格、均价与累计成交量。
|
Command stock_tick 演示查询证券当日分时图序列,并打印每个时点的价格、均价与累计成交量。 |
|
stock_transaction
command
Command stock_transaction 演示查询证券当日逐笔成交明细,并打印时间、价格、笔数与买卖方向。
|
Command stock_transaction 演示查询证券当日逐笔成交明细,并打印时间、价格、笔数与买卖方向。 |
|
unified_watchlist
command
Command unified_watchlist 演示统一客户端在同一会话内同时查询 A 股行情、A 股 K 线、港股与美股报价以及扩展市场分时采样。
|
Command unified_watchlist 演示统一客户端在同一会话内同时查询 A 股行情、A 股 K 线、港股与美股报价以及扩展市场分时采样。 |
|
Package proto 实现通达信行情协议的请求构造与响应解码,是 `gotdx` 客户端的协议层。
|
Package proto 实现通达信行情协议的请求构造与响应解码,是 `gotdx` 客户端的协议层。 |
|
Package types 提供 `gotdx` 客户端与协议共用的共享类型、枚举常量与代码工具。
|
Package types 提供 `gotdx` 客户端与协议共用的共享类型、枚举常量与代码工具。 |
