Documentation ¶
Index ¶
- Variables
- func MapSortByKey(mapValue map[string]string) map[string]string
- type Account
- type AccountsData
- type AccountsReturn
- type Balance
- type BalanceReturn
- type DepthlListener
- type DetailListener
- type Huobi
- func (h *Huobi) ApplyLoan(symbol, currency string, amount float64) (err error)
- func (h *Huobi) CloseWebsocket() error
- func (h *Huobi) GetAccountBalance() ([]proto.AccountBalance, error)
- func (h *Huobi) GetAccounts() (AccountsReturn, error)
- func (h *Huobi) GetExchangeType() string
- func (h *Huobi) GetKLines(symbol, period string, size int) (kl RespGetKLines, err error)
- func (h *Huobi) GetMarginBalances(baseSym string) ([]MarginBalance, error)
- func (h *Huobi) GetMarginLoanOrders(params map[string]string) ([]LoanOrder, error)
- func (h *Huobi) GetOpenOrders(params *proto.OrdersParams) ([]proto.Order, error)
- func (h *Huobi) GetOrderInfo(params *proto.OrderInfoParams) (*proto.Order, error)
- func (h *Huobi) GetOrders(params *proto.OrdersParams) ([]proto.Order, error)
- func (h *Huobi) GetPointOrders() (*proto.Order, error)
- func (h *Huobi) GetSymbols() (descs []SymbolDesc, err error)
- func (h *Huobi) GetTickers() (tickerMap map[string]*TickData, err error)
- func (h *Huobi) MarginIO(symbol, currency string, dirIn bool, amount float64) error
- func (h *Huobi) OpenWebsocket() error
- func (h *Huobi) OrderCancel(params *proto.OrderCancelParams) error
- func (h *Huobi) OrderPlace(params *proto.OrderPlaceParams) (*proto.OrderPlaceReturn, error)
- func (h *Huobi) RepayLoan(loanID int, amount string) (err error)
- func (h *Huobi) SetDepthlListener(listener DepthlListener)
- func (h *Huobi) SetDetailListener(listener DetailListener)
- func (h *Huobi) SetKLineUpListener(listener KLineUpListener)
- func (h *Huobi) SetOrderListener(listener OrderListener)
- func (h *Huobi) SubscribeDepth(symbols ...string)
- func (h *Huobi) SubscribeDetail(symbols ...string) (err error)
- func (h *Huobi) SubscribeKLine(period string, symbols ...string) error
- func (h *Huobi) SubscribeOrder(symbols ...string) (err error)
- type KLine
- type KLineUpListener
- type KLineUpdate
- type Listener
- type LoanOrder
- type LoanOrderResp
- type MarginBalance
- type MarginBalanceItem
- type MarginBalanceResp
- type Market
- func (m *Market) Close() error
- func (m *Market) Loop()
- func (m *Market) ReConnect() (err error)
- func (m *Market) Request(req string) (*simplejson.Json, error)
- func (m *Market) Subscribe(topic string, listener Listener) error
- func (m *Market) SubscribeEx(topic string, data interface{}, listener Listener) error
- func (m *Market) Unsubscribe(topic string)
- type MarketDepth
- type MarketTradeDetail
- type OpenOrder
- type OpenOrdersReturn
- type Order
- type OrderListener
- type OrderReturn
- type OrderUpdate
- type OrderUpdateData
- type OrdersRequestParams
- type OrdersReturn
- type PlaceRequestParams
- type PlaceReturn
- type RespGetKLines
- type SubAccount
- type SymbolDesc
- type TickData
Constants ¶
This section is empty.
Variables ¶
var ConnectionClosedError = fmt.Errorf("websocket connection closed")
ConnectionClosedError Websocket未连接错误
var Endpoint = "wss://api.huobi.pro/ws"
Endpoint 行情的Websocket入口
Functions ¶
Types ¶
type AccountsData ¶
type AccountsReturn ¶
type AccountsReturn struct { Status string `json:"status"` // 请求状态 Data []AccountsData `json:"data"` // 用户数据 ErrCode string `json:"err-code"` ErrMsg string `json:"err-msg"` }
type Balance ¶
type Balance struct { ID int64 `json:"id"` // 账户ID State string `json:"state"` // 账户状态, working: 正常, lock: 账户被锁定 Type string `json:"type"` // 账户类型, spot: 现货账户 List []SubAccount `json:"list"` // 子账户数组 UserID int64 `json:"user-id"` }
type BalanceReturn ¶
type DetailListener ¶
type DetailListener func(symbol string, detail *MarketTradeDetail)
Listener 订阅事件监听器
type Huobi ¶
type Huobi struct {
// contains filtered or unexported fields
}
func (*Huobi) CloseWebsocket ¶
func (*Huobi) GetAccountBalance ¶
func (h *Huobi) GetAccountBalance() ([]proto.AccountBalance, error)
GetAccountBalance : 根据账户ID查询账户余额 return: BalanceReturn对象
func (*Huobi) GetAccounts ¶
func (h *Huobi) GetAccounts() (AccountsReturn, error)
GetAccounts : 查询当前用户的所有账户, 根据包含的私钥查询 return: AccountsReturn对象
func (*Huobi) GetExchangeType ¶
func (*Huobi) GetKLines ¶
func (h *Huobi) GetKLines(symbol, period string, size int) (kl RespGetKLines, err error)
查询当前用户的K线数据
func (*Huobi) GetMarginBalances ¶
func (h *Huobi) GetMarginBalances(baseSym string) ([]MarginBalance, error)
GetMarginBalances : 根据账户ID查询账户余额
func (*Huobi) GetMarginLoanOrders ¶
GetMarginLoanOrders : 参数名称 是否必须 类型 描述 默认值 取值范围 symbol true string 交易对 start-date false string 查询开始日期, 日期格式yyyy-mm-dd end-date false string 查询结束日期, 日期格式yyyy-mm-dd states false string 状态 from false string 查询起始 ID direct false string 查询方向 prev 向前,next 向后 size false string 查询记录大小 只需要"symbol":"xxxxxx"和 "states":"accrual", 其他应该都不需要
func (*Huobi) GetOpenOrders ¶
GetOpenOrders :
func (*Huobi) GetOrderInfo ¶
查询订单详情 strOrderID: 订单ID return: OrderReturn对象
func (*Huobi) GetPointOrders ¶
查询订单详情 strOrderID: 订单ID return: OrderReturn对象
func (*Huobi) GetSymbols ¶
func (h *Huobi) GetSymbols() (descs []SymbolDesc, err error)
GetSymbols :
func (*Huobi) GetTickers ¶
GetTickers :
func (*Huobi) OpenWebsocket ¶
func (*Huobi) OrderCancel ¶
func (h *Huobi) OrderCancel(params *proto.OrderCancelParams) error
OrderCancel : 申请撤销一个订单请求 strOrderID: 订单ID return: PlaceReturn对象
func (*Huobi) OrderPlace ¶
func (h *Huobi) OrderPlace(params *proto.OrderPlaceParams) (*proto.OrderPlaceReturn, error)
OrderPlace :下单 placeRequestParams: 下单信息 return: OrderID
func (*Huobi) SetDepthlListener ¶
func (h *Huobi) SetDepthlListener(listener DepthlListener)
func (*Huobi) SetDetailListener ¶
func (h *Huobi) SetDetailListener(listener DetailListener)
func (*Huobi) SetKLineUpListener ¶
func (h *Huobi) SetKLineUpListener(listener KLineUpListener)
func (*Huobi) SetOrderListener ¶
func (h *Huobi) SetOrderListener(listener OrderListener)
func (*Huobi) SubscribeDepth ¶
func (*Huobi) SubscribeDetail ¶
func (*Huobi) SubscribeKLine ¶
SubscribeKLine :
func (*Huobi) SubscribeOrder ¶
SubscribeOrder :
type KLineUpListener ¶
type KLineUpListener func(symbol string, kline *KLineUpdate)
KLineUpListener :
type KLineUpdate ¶
type LoanOrder ¶
type LoanOrder struct { AccountID int `json:"account-id"` AccruedAt int `json:"accrued-at"` CreatedAt int `json:"created-at"` Currency string `json:"currency"` ID int `json:"id"` InterestAmount string `json:"interest-amount"` InterestBalance float64 `json:"interest-balance,string"` InterestRate string `json:"interest-rate"` LoanAmount string `json:"loan-amount"` LoanBalance float64 `json:"loan-balance,string"` State string `json:"state"` Symbol string `json:"symbol"` UserID int `json:"user-id"` }
LoanOrder :
type LoanOrderResp ¶
LoanOrderResp :
type MarginBalance ¶
type MarginBalance struct { FlPrice string `json:"fl-price"` FlType string `json:"fl-type"` ID int `json:"id"` List []MarginBalanceItem `json:"list"` RiskRate string `json:"risk-rate"` State string `json:"state"` Symbol string `json:"symbol"` Type string `json:"type"` }
MarginBalance :
func (*MarginBalance) FindMBItem ¶
func (mb *MarginBalance) FindMBItem(currency, tp string) *MarginBalanceItem
FindMBItem :
type MarginBalanceItem ¶
type MarginBalanceItem struct { Balance float64 `json:"balance,string"` Currency string `json:"currency"` Type string `json:"type"` }
MarginBalanceItem :
type MarginBalanceResp ¶
type MarginBalanceResp struct { Balances []MarginBalance `json:"data"` Status string `json:"status"` }
MarginBalanceResp :
type Market ¶
type Market struct { // 主动发送心跳的时间间隔,默认5秒 HeartbeatInterval time.Duration // 接收消息超时时间,默认10秒 ReceiveTimeout time.Duration // contains filtered or unexported fields }
func (*Market) SubscribeEx ¶
SubscribeEx : 订阅
type MarketDepth ¶
type MarketTradeDetail ¶
type MarketTradeDetail struct { Ch string `json:"ch"` Tick struct { Data []TickData `json:"data"` } `json:"tick"` }
MarketTradeDetail :
func (*MarketTradeDetail) String ¶
func (m *MarketTradeDetail) String() string
type OpenOrder ¶
type OpenOrder struct { ID int `json:"id"` Symbol string `json:"symbol"` AccountID int `json:"account-id"` Amount float64 `json:"amount,string"` Price float64 `json:"price,string"` CreatedSec int64 `json:"created-at"` Type string `json:"type"` FilledAmount float64 `json:"filled-amount,string"` FilledCashAmount float64 `json:"filled-cash-amount,string"` FilledFees float64 `json:"filled-fees,string"` Source string `json:"source"` State string `json:"state"` }
type OpenOrdersReturn ¶
type OrderListener ¶
type OrderListener func(symbol string, od *OrderUpdate)
OrderListener : 订阅事件监听器
type OrderReturn ¶
type OrderUpdate ¶
type OrderUpdate struct { OP string `json:"op"` Topic string `json:"topic"` Order OrderUpdateData `json:"data"` // contains filtered or unexported fields }
OrderUpdate :
type OrderUpdateData ¶
type OrderUpdateData struct { AccountID int `json:"account-id"` CreatedAt int `json:"created-at"` FilledAmount string `json:"filled-amount"` FilledCashAmount string `json:"filled-cash-amount"` FilledFees string `json:"filled-fees"` OrderAmount string `json:"order-amount"` OrderID int `json:"order-id"` OrderPrice string `json:"order-price"` OrderSource string `json:"order-source"` OrderState string `json:"order-state"` OrderType string `json:"order-type"` Price string `json:"price"` Role string `json:"role"` SeqID int `json:"seq-id"` Symbol string `json:"symbol"` UnfilledAmount string `json:"unfilled-amount"` }
OrderUpdateData :
type OrdersRequestParams ¶
type OrdersReturn ¶
type PlaceRequestParams ¶
type PlaceRequestParams struct { AccountID string `json:"account-id"` // 账户ID Amount string `json:"amount"` // 限价表示下单数量, 市价买单时表示买多少钱, 市价卖单时表示卖多少币 Price string `json:"price"` // 下单价格, 市价单不传该参数 Source string `json:"source"` // 订单来源, api: API调用, margin-api: 借贷资产交易 Symbol string `json:"symbol"` // 交易对, btcusdt, bccbtc...... Type string `json:"type"` // 订单类型, buy-market: 市价买, sell-market: 市价卖, buy-limit: 限价买, sell-limit: 限价卖 }
type PlaceReturn ¶
type RespGetKLines ¶
type SubAccount ¶
type SubAccount struct { Currency string `json:"currency"` // 币种 Balance float64 `json:"balance,string"` // 结余 Type string `json:"type"` // 类型, trade: 交易余额, frozen: 冻结余额 }
子账户结构
type SymbolDesc ¶
type SymbolDesc struct { BaseCurrency string `json:"base-currency"` QuoteCurrency string `json:"quote-currency"` PricePrecision int `json:"price-precision"` AmountPrecision int `json:"amount-precision"` SymbolPartition string `json:"symbol-partition"` Symbol string `json:"symbol"` }
SymbolDesc :