package okx import ( "sig-pub/pkg/config" "sig-pub/pkg/types" ) // kline type OkxExchange struct { conf config.OkxExchange channelCandle *ChannelCandle // K线频道 } func NewOkxExchange(conf config.OkxExchange) *OkxExchange { return &OkxExchange{ conf: conf, } } func (okx *OkxExchange) Init() (err error) { // TODO 多个 ChannelCandle 实例 OkxAggregate okx.channelCandle = NewChannelCandle("candle-0", okx.conf.HttpProxy) if err = okx.channelCandle.Init(); err != nil { return } return } func (okx *OkxExchange) ExhcangeType() types.Exchange { return types.ExchangeOKX } func (okx *OkxExchange) ConsumerKline() <-chan *types.ChannelKline { return okx.channelCandle.Consumer() } // 订阅产品k线行情 func (okx *OkxExchange) SubscribeKline(instIds ...string) (err error) { return okx.channelCandle.Subscribe(instIds...) } // 取消订阅产品k线行情 func (okx *OkxExchange) UnsubscribeKline(instIds ...string) (err error) { return okx.channelCandle.Unsubscribe(instIds...) }