huobi

package
v0.0.0-...-05b626a Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2018 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ConnectionClosedError = fmt.Errorf("websocket connection closed")

ConnectionClosedError Websocket未连接错误

View Source
var Endpoint = "wss://api.huobi.pro/ws"

Endpoint 行情的Websocket入口

View Source
var SafeWebSocketDestroyError = fmt.Errorf("connection destroy by user")

Functions

func MapSortByKey

func MapSortByKey(mapValue map[string]string) map[string]string

对Map按着ASCII码进行排序 mapValue: 需要进行排序的map return: 排序后的map

Types

type Account

type Account struct {
	ID     int64
	Type   string
	State  string
	UserID int64
}

type AccountsData

type AccountsData struct {
	ID     int64  `json:"id"`      // Account ID
	Type   string `json:"type"`    // 账户类型, spot: 现货账户
	State  string `json:"state"`   // 账户状态, working: 正常, lock: 账户被锁定
	UserID int64  `json:"user-id"` // 用户ID
}

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 BalanceReturn struct {
	Status  string  `json:"status"` // 请求状态
	Data    Balance `json:"data"`   // 账户余额
	ErrCode string  `json:"err-code"`
	ErrMsg  string  `json:"err-msg"`
}

type DepthlListener

type DepthlListener = func(symbol string, depth *MarketDepth)

Listener 订阅事件监听器

type DetailListener

type DetailListener = func(symbol string, detail *MarketTradeDetail)

Listener 订阅事件监听器

type Huobi

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

func NewHuobi

func NewHuobi(accesskey, secretkey string) (*Huobi, error)

func (*Huobi) GetAccountBalance

func (h *Huobi) GetAccountBalance() (*Balance, error)

根据账户ID查询账户余额 return: BalanceReturn对象

func (*Huobi) GetAccounts

func (h *Huobi) GetAccounts() AccountsReturn

查询当前用户的所有账户, 根据包含的私钥查询 return: AccountsReturn对象

func (*Huobi) GetExchangeName

func (h *Huobi) GetExchangeName() string

func (*Huobi) GetOrderInfo

func (h *Huobi) GetOrderInfo(strOrderID string) (*Order, error)

查询订单详情 strOrderID: 订单ID return: OrderReturn对象

func (*Huobi) GetOrders

func (h *Huobi) GetOrders(params OrdersRequestParams) ([]Order, error)

func (*Huobi) Place

func (h *Huobi) Place(amount, price float64, symbol, typ string) (string, error)

下单 placeRequestParams: 下单信息 return: PlaceReturn对象

func (*Huobi) SetDepthlListener

func (h *Huobi) SetDepthlListener(listener DepthlListener)

func (*Huobi) SetDetailListener

func (h *Huobi) SetDetailListener(listener DetailListener)

func (*Huobi) SubmitCancel

func (h *Huobi) SubmitCancel(strOrderID string) error

申请撤销一个订单请求 strOrderID: 订单ID return: PlaceReturn对象

func (*Huobi) SubscribeDepth

func (h *Huobi) SubscribeDepth(symbols ...string)

func (*Huobi) SubscribeDetail

func (h *Huobi) SubscribeDetail(symbols ...string)

type Listener

type Listener = func(topic string, json *simplejson.Json)

Listener 订阅事件监听器

type Market

type Market struct {

	// 主动发送心跳的时间间隔,默认5秒
	HeartbeatInterval time.Duration
	// 接收消息超时时间,默认10秒
	ReceiveTimeout time.Duration
	// contains filtered or unexported fields
}

func NewMarket

func NewMarket() (m *Market, err error)

NewMarket 创建Market实例

func (*Market) Close

func (m *Market) Close() error

Close 关闭连接

func (*Market) Loop

func (m *Market) Loop()

Loop 进入循环

func (*Market) ReConnect

func (m *Market) ReConnect() (err error)

ReConnect 重新连接

func (*Market) Request

func (m *Market) Request(req string) (*simplejson.Json, error)

Request 请求行情信息

func (*Market) Subscribe

func (m *Market) Subscribe(topic string, listener Listener) error

Subscribe 订阅

func (*Market) Unsubscribe

func (m *Market) Unsubscribe(topic string)

Unsubscribe 取消订阅

type MarketDepth

type MarketDepth struct {
	Ch   string `json:"ch"`
	Tick struct {
		Asks [][]float64 `json:"asks"`
		Bids [][]float64 `json:"bids"`
		TS   int64       `json:"ts"`
	} `json:"tick"`
}

type MarketTradeDetail

type MarketTradeDetail struct {
	Ch   string `json:"ch"`
	Tick struct {
		Data []struct {
			Amount    float64 `json:"amount"`
			Direction string  `json:"direction"`
			Price     float64 `json:"price"`
			TS        int64   `json:"ts"`
		} `json:"data"`
	} `json:"tick"`
}

func (*MarketTradeDetail) String

func (m *MarketTradeDetail) String() string

type Order

type Order struct {
	ID          int64  `json:"id"`
	Symbol      string `json:"symbol"`
	State       string `json:"state"`
	Amount      string `json:"amount"`
	FieldAmount string `json:"field-amount"`
	Price       string `json:"price"`
	Type        string `json:"type"`
}

type OrderReturn

type OrderReturn struct {
	Status  string `json:"status"`
	Data    Order  `json:"data"`
	ErrCode string `json:"err-code"`
	ErrMsg  string `json:"err-msg"`
}

type OrdersRequestParams

type OrdersRequestParams struct {
	Symbol string `json:"symbol"`
	States string `json:"states"`
}

type OrdersReturn

type OrdersReturn struct {
	Status  string  `json:"status"`
	Data    []Order `json:"data"`
	ErrCode string  `json:"err-code"`
	ErrMsg  string  `json:"err-msg"`
}

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 PlaceReturn struct {
	Status  string `json:"status"`
	Data    string `json:"data"`
	ErrCode string `json:"err-code"`
	ErrMsg  string `json:"err-msg"`
}

type SafeWebSocket

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

SafeWebSocket 安全的WebSocket封装 保证读取和发送操作是并发安全的,支持自定义保持alive函数

func NewSafeWebSocket

func NewSafeWebSocket(endpoint string) (*SafeWebSocket, error)

NewSafeWebSocket 创建安全的WebSocket实例并连接

func (*SafeWebSocket) Destroy

func (s *SafeWebSocket) Destroy() (err error)

Destroy 销毁

func (*SafeWebSocket) KeepAlive

KeepAlive 设置alive周期及函数

func (*SafeWebSocket) Listen

Listen 监听消息

func (*SafeWebSocket) Loop

func (s *SafeWebSocket) Loop() error

Loop 进入事件循环,直到连接关闭才退出

func (*SafeWebSocket) Send

func (s *SafeWebSocket) Send(b []byte)

Send 发送消息

type SafeWebSocketAliveHandler

type SafeWebSocketAliveHandler = func()

type SafeWebSocketMessageListener

type SafeWebSocketMessageListener = func(b []byte)

type SubAccount

type SubAccount struct {
	Currency string `json:"currency"` // 币种
	Balance  string `json:"balance"`  // 结余
	Type     string `json:"type"`     // 类型, trade: 交易余额, frozen: 冻结余额
}

子账户结构

Jump to

Keyboard shortcuts

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