Documentation ¶
Index ¶
- Constants
- Variables
- func AdaptKlinePeriodForOKEx(period int) string
- func CancelAllUnfinishedFutureOrders(api FutureRestAPI, contractType string, currencyPair CurrencyPair) int
- func CancelAllUnfinishedOrders(api API, currencyPair CurrencyPair) int
- func FlateDecompress(data []byte) ([]byte, error)
- func FloatToFixed(v float64, precision int) float64
- func FloatToString(v float64, precision int) string
- func GenerateOrderClientId(size int) string
- func GetIDig(in string) int
- func GetParamHmacMD5Sign(secret, params string) (string, error)
- func GetParamHmacSHA1Sign(secret, params string) (string, error)
- func GetParamHmacSHA256Base64Sign(secret, params string) (string, error)
- func GetParamHmacSHA256Sign(secret, params string) (string, error)
- func GetParamHmacSHA512Base64Sign(hmac_key string, hmac_data string) string
- func GetParamHmacSHA512Sign(secret, params string) (string, error)
- func GetParamHmacSha384Sign(secret, params string) (string, error)
- func GetParamMD5Sign(secret, params string) (string, error)
- func GetSHA(text string) (string, error)
- func GzipDecompress(data []byte) ([]byte, error)
- func HttpDeleteForm(client *http.Client, reqUrl string, postData url.Values, ...) ([]byte, error)
- func HttpGet(client *http.Client, reqUrl string) (map[string]interface{}, error)
- func HttpGet2(client *http.Client, reqUrl string, headers map[string]string) (map[string]interface{}, error)
- func HttpGet3(client *http.Client, reqUrl string, headers map[string]string) ([]interface{}, error)
- func HttpGet4(client *http.Client, reqUrl string, headers map[string]string, ...) error
- func HttpGet5(client *http.Client, reqUrl string, headers map[string]string) ([]byte, error)
- func HttpPostForm(client *http.Client, reqUrl string, postData url.Values) ([]byte, error)
- func HttpPostForm2(client *http.Client, reqUrl string, postData url.Values, ...) ([]byte, error)
- func HttpPostForm3(client *http.Client, reqUrl string, postData string, headers map[string]string) ([]byte, error)
- func HttpPostForm4(client *http.Client, reqUrl string, postData map[string]string, ...) ([]byte, error)
- func HttpPut(client *http.Client, reqUrl string, postData url.Values, ...) ([]byte, error)
- func IntToString(i int64) string
- func JSONToMap(str string) map[string]interface{}
- func MergeOptionalParameter(values *url.Values, opts ...OptionalParameter) url.Values
- func NewHttpRequest(client *http.Client, reqType string, reqUrl string, postData string, ...) ([]byte, error)
- func NewHttpRequestWithFasthttp(client *http.Client, reqMethod, reqUrl, postData string, ...) ([]byte, error)
- func RE(retry int, delay time.Duration, method interface{}, params ...interface{}) interface{}
- func SortParams(params map[string]string) string
- func ToFloat64(v interface{}) float64
- func ToInt(v interface{}) int
- func ToInt64(v interface{}) int64
- func ToJson(v interface{}) (string, error)
- func ToUint64(v interface{}) uint64
- func ValuesToJson(v url.Values) ([]byte, error)
- type API
- type APIConfig
- type Account
- type ApiError
- type BestTicker
- type BorrowParameter
- type Currency
- type CurrencyPair
- func (pair CurrencyPair) AdaptUsdToUsdt() CurrencyPair
- func (pair CurrencyPair) AdaptUsdtToUsd() CurrencyPair
- func (pair CurrencyPair) Eq(c2 CurrencyPair) bool
- func (pair CurrencyPair) Reverse() CurrencyPair
- func (pair *CurrencyPair) SetAmountTickSize(tickSize int) CurrencyPair
- func (pair *CurrencyPair) SetPriceTickSize(tickSize int) CurrencyPair
- func (pair CurrencyPair) String() string
- func (pair CurrencyPair) ToLower() CurrencyPair
- func (pair CurrencyPair) ToSymbol(joinChar string) string
- func (pair CurrencyPair) ToSymbol2(joinChar string) string
- func (pair CurrencyPair) ToUpper() CurrencyPair
- type DepositWithdrawHistory
- type Depth
- type DepthRecord
- type DepthRecords
- type FutureAccount
- type FutureKline
- type FutureOrder
- type FuturePosition
- type FutureRestAPI
- type FutureSubAccount
- type FutureTicker
- type FuturesContractInfo
- type FuturesWsApi
- type HistoricalFunding
- type Kline
- type KlinePeriod
- type LimitOrderOptionalParameter
- type MarginAccount
- type MarginSubAccount
- type OptionalParameter
- func (optional OptionalParameter) GetFloat64(name string) float64
- func (optional OptionalParameter) GetInt(name string) int
- func (optional OptionalParameter) GetInt64(name string) int64
- func (optional OptionalParameter) GetString(name string) string
- func (optional OptionalParameter) GetTime(name string) *time.Time
- func (optional OptionalParameter) Optional(name string, value interface{}) OptionalParameter
- type Order
- type OrderFeature
- type OrderType
- type PoloniexCurrency
- type RepaymentParameter
- type SpotWsApi
- type SubAccount
- type TickSize
- type Ticker
- type Trade
- type TradeFee
- type TradeSide
- type TradeStatus
- type TransferParameter
- type WalletApi
- type WithdrawParameter
- type WsBuilder
- func (b *WsBuilder) AutoReconnect() *WsBuilder
- func (b *WsBuilder) Build() *WsConn
- func (b *WsBuilder) ConnectSuccessAfterSendMessage(msg func() []byte) *WsBuilder
- func (b *WsBuilder) DecompressFunc(f func([]byte) ([]byte, error)) *WsBuilder
- func (b *WsBuilder) DisableEnableCompression() *WsBuilder
- func (b *WsBuilder) Dump() *WsBuilder
- func (b *WsBuilder) ErrorHandleFunc(f func(err error)) *WsBuilder
- func (b *WsBuilder) Heartbeat(heartbeat func() []byte, t time.Duration) *WsBuilder
- func (b *WsBuilder) ProtoHandleFunc(f func([]byte) error) *WsBuilder
- func (b *WsBuilder) ProxyUrl(proxyUrl string) *WsBuilder
- func (b *WsBuilder) ReconnectInterval(t time.Duration) *WsBuilder
- func (b *WsBuilder) ReqHeader(key, value string) *WsBuilder
- func (b *WsBuilder) WsUrl(wsUrl string) *WsBuilder
- type WsConfig
- type WsConn
- func (ws *WsConn) CloseWs()
- func (ws *WsConn) NewWs() *WsConn
- func (ws *WsConn) SendCloseMessage(msg []byte)
- func (ws *WsConn) SendJsonMessage(m interface{}) error
- func (ws *WsConn) SendMessage(msg []byte)
- func (ws *WsConn) SendPingMessage(msg []byte)
- func (ws *WsConn) SendPongMessage(msg []byte)
- func (ws *WsConn) Subscribe(subEvent interface{}) error
Constants ¶
View Source
const ( /* * http methods */ GET = "GET" POST = "POST" DELETE = "DELETE" PUT = "PUT" )
View Source
const ( OPEN_BUY = 1 + iota //开多 OPEN_SELL //开空 CLOSE_BUY //平多 CLOSE_SELL //平空 )
View Source
const ( KLINE_PERIOD_1MIN = 1 + iota KLINE_PERIOD_3MIN KLINE_PERIOD_5MIN KLINE_PERIOD_15MIN KLINE_PERIOD_30MIN KLINE_PERIOD_60MIN KLINE_PERIOD_1H KLINE_PERIOD_2H KLINE_PERIOD_3H KLINE_PERIOD_4H KLINE_PERIOD_6H KLINE_PERIOD_8H KLINE_PERIOD_12H KLINE_PERIOD_1DAY KLINE_PERIOD_3DAY KLINE_PERIOD_1WEEK KLINE_PERIOD_1MONTH KLINE_PERIOD_1YEAR KLINE_PERIOD_10SEC )
k线周期
View Source
const ( ORDER_FEATURE_ORDINARY = 0 + iota ORDER_FEATURE_POST_ONLY ORDER_FEATURE_FOK ORDER_FEATURE_IOC ORDER_FEATURE_FAK ORDER_FEATURE_LIMIT )
View Source
const ( ORDER_TYPE_LIMIT = 1 + iota ORDER_TYPE_MARKET )
View Source
const ( KUCOIN = "kucoin.com" OKX = "okx.com" HUOBI = "huobi.com" HUOBI_PRO = "huobi.pro" ZB = "zb.com" BITFINEX = "bitfinex.com" BINANCE = "binance.com" BINANCE_SWAP = "binance.com_swap" BINANCE_FUTURES = "binance.com_futures" COINEX = "coinex.com" GATEIO = "gate.io" HITBTC = "hitbtc.com" HBDM = "hbdm.com" HBDM_SWAP = "hbdm.com_swap" BITGET = "bitget.com" MEXC = "mexc.com" BYBIT = "bybit.com" )
exchanges const
View Source
const ( SUB_ACCOUNT = iota //子账户 SPOT // 币币交易 FUTURE //交割合约 C2C //法币 SPOT_MARGIN //币币杠杆交易 WALLET // 资金账户 TIPS //余币宝 SWAP //永续合约 SWAP_USDT //usdt本位永续合约 )
Variables ¶
View Source
var ( API_ERR = ApiError{ErrCode: "EX_ERR_0000", ErrMsg: "unknown error"} HTTP_ERR_CODE = ApiError{ErrCode: "HTTP_ERR_0001", ErrMsg: "http request error"} EX_ERR_API_LIMIT = ApiError{ErrCode: "EX_ERR_1000", ErrMsg: "api limited"} EX_ERR_SIGN = ApiError{ErrCode: "EX_ERR_0001", ErrMsg: "signature error"} EX_ERR_NOT_FIND_SECRETKEY = ApiError{ErrCode: "EX_ERR_0002", ErrMsg: "not find secretkey"} EX_ERR_NOT_FIND_APIKEY = ApiError{ErrCode: "EX_ERR_0003", ErrMsg: "not find apikey"} EX_ERR_INSUFFICIENT_BALANCE = ApiError{ErrCode: "EX_ERR_0004", ErrMsg: "Insufficient Balance"} EX_ERR_PLACE_ORDER_FAIL = ApiError{ErrCode: "EX_ERR_0005", ErrMsg: "place order failure"} EX_ERR_CANCEL_ORDER_FAIL = ApiError{ErrCode: "EX_ERR_0006", ErrMsg: "cancel order failure"} EX_ERR_INVALID_CURRENCY_PAIR = ApiError{ErrCode: "EX_ERR_0007", ErrMsg: "invalid currency pair"} EX_ERR_NOT_FIND_ORDER = ApiError{ErrCode: "EX_ERR_0008", ErrMsg: "not find order"} EX_ERR_SYMBOL_ERR = ApiError{ErrCode: "EX_ERR_0009", ErrMsg: "symbol error"} )
View Source
var ( THIS_WEEK_CONTRACT = "this_week" //周合约 NEXT_WEEK_CONTRACT = "next_week" //次周合约 QUARTER_CONTRACT = "quarter" //季度合约 BI_QUARTER_CONTRACT = "bi_quarter" // NEXT QUARTER SWAP_CONTRACT = "swap" //永续合约 SWAP_USDT_CONTRACT = "swap-usdt" )
View Source
var ( UNKNOWN = Currency{"UNKNOWN", ""} CNY = Currency{"CNY", ""} USD = Currency{"USD", ""} USDT = Currency{"USDT", ""} PAX = Currency{"PAX", "https://www.paxos.com/"} USDC = Currency{"USDC", "https://www.centre.io/"} EUR = Currency{"EUR", ""} KRW = Currency{"KRW", ""} JPY = Currency{"JPY", ""} BTC = Currency{"BTC", "https://bitcoin.org/"} XBT = Currency{"XBT", ""} BCC = Currency{"BCC", ""} BCH = Currency{"BCH", ""} BCX = Currency{"BCX", ""} LTC = Currency{"LTC", ""} ETH = Currency{"ETH", ""} ETC = Currency{"ETC", ""} EOS = Currency{"EOS", ""} BTS = Currency{"BTS", ""} QTUM = Currency{"QTUM", ""} SC = Currency{"SC", ""} ANS = Currency{"ANS", ""} ZEC = Currency{"ZEC", ""} DCR = Currency{"DCR", ""} XRP = Currency{"XRP", ""} BTG = Currency{"BTG", ""} BCD = Currency{"BCD", ""} NEO = Currency{"NEO", ""} HSR = Currency{"HSR", ""} BSV = Currency{"BSV", ""} OKB = Currency{"OKB", "OKB is a global utility token issued by OK Blockchain Foundation"} HT = Currency{"HT", "HuoBi Token"} BNB = Currency{"BNB", "BNB, or Binance Coin, is a cryptocurrency created by Binance."} TRX = Currency{"TRX", ""} GBP = Currency{"GBP", ""} XLM = Currency{"XLM", ""} DOT = Currency{"DOT", ""} DASH = Currency{"DASH", ""} CRV = Currency{"CRV", ""} ALGO = Currency{"ALGO", ""} //currency pair BTC_KRW = CurrencyPair{CurrencyA: BTC, CurrencyB: KRW, AmountTickSize: 2, PriceTickSize: 1} ETH_KRW = CurrencyPair{CurrencyA: ETH, CurrencyB: KRW, AmountTickSize: 2, PriceTickSize: 2} ETC_KRW = CurrencyPair{CurrencyA: ETC, CurrencyB: KRW, AmountTickSize: 2, PriceTickSize: 2} LTC_KRW = CurrencyPair{CurrencyA: LTC, CurrencyB: KRW, AmountTickSize: 2, PriceTickSize: 2} BCH_KRW = CurrencyPair{CurrencyA: BCH, CurrencyB: KRW, AmountTickSize: 2, PriceTickSize: 2} BTC_USD = CurrencyPair{CurrencyA: BTC, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 1} LTC_USD = CurrencyPair{CurrencyA: LTC, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 2} ETH_USD = CurrencyPair{CurrencyA: ETH, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 2} ETC_USD = CurrencyPair{CurrencyA: ETC, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 2} BCH_USD = CurrencyPair{CurrencyA: BCH, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 2} XRP_USD = CurrencyPair{CurrencyA: XRP, CurrencyB: USD, AmountTickSize: 3, PriceTickSize: 3} BCD_USD = CurrencyPair{CurrencyA: BCD, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 3} EOS_USD = CurrencyPair{CurrencyA: EOS, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 2} BTG_USD = CurrencyPair{CurrencyA: BTG, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 2} BSV_USD = CurrencyPair{CurrencyA: BSV, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 2} DOT_USD = CurrencyPair{CurrencyA: DOT, CurrencyB: USD, AmountTickSize: 3, PriceTickSize: 2} DASH_USD = CurrencyPair{CurrencyA: DASH, CurrencyB: USD, AmountTickSize: 2, PriceTickSize: 2} CRV_USD = CurrencyPair{CurrencyA: CRV, CurrencyB: USD, AmountTickSize: 4, PriceTickSize: 3} ALGO_USD = CurrencyPair{CurrencyA: ALGO, CurrencyB: USD, AmountTickSize: 4, PriceTickSize: 4} BTC_USDT = CurrencyPair{CurrencyA: BTC, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 1} LTC_USDT = CurrencyPair{CurrencyA: LTC, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} BCH_USDT = CurrencyPair{CurrencyA: BCH, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} ETC_USDT = CurrencyPair{CurrencyA: ETC, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 3} ETH_USDT = CurrencyPair{CurrencyA: ETH, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} BCD_USDT = CurrencyPair{CurrencyA: BCD, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} NEO_USDT = CurrencyPair{CurrencyA: NEO, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} EOS_USDT = CurrencyPair{CurrencyA: EOS, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} XRP_USDT = CurrencyPair{CurrencyA: XRP, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} HSR_USDT = CurrencyPair{CurrencyA: HSR, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} BSV_USDT = CurrencyPair{CurrencyA: BSV, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} OKB_USDT = CurrencyPair{CurrencyA: OKB, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} HT_USDT = CurrencyPair{CurrencyA: HT, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 4} BNB_USDT = CurrencyPair{CurrencyA: BNB, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} PAX_USDT = CurrencyPair{CurrencyA: PAX, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 3} TRX_USDT = CurrencyPair{CurrencyA: TRX, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 3} DOT_USDT = CurrencyPair{CurrencyA: DOT, CurrencyB: USDT, AmountTickSize: 3, PriceTickSize: 2} DASH_USDT = CurrencyPair{CurrencyA: DASH, CurrencyB: USDT, AmountTickSize: 2, PriceTickSize: 2} CRV_USDT = CurrencyPair{CurrencyA: CRV, CurrencyB: USDT, AmountTickSize: 3, PriceTickSize: 3} ALGO_USDT = CurrencyPair{CurrencyA: ALGO, CurrencyB: USDT, AmountTickSize: 3, PriceTickSize: 4} XRP_EUR = CurrencyPair{CurrencyA: XRP, CurrencyB: EUR, AmountTickSize: 2, PriceTickSize: 4} BTC_JPY = CurrencyPair{CurrencyA: BTC, CurrencyB: JPY, AmountTickSize: 2, PriceTickSize: 0} LTC_JPY = CurrencyPair{CurrencyA: LTC, CurrencyB: JPY, AmountTickSize: 2, PriceTickSize: 0} ETH_JPY = CurrencyPair{CurrencyA: ETH, CurrencyB: JPY, AmountTickSize: 2, PriceTickSize: 0} ETC_JPY = CurrencyPair{CurrencyA: ETC, CurrencyB: JPY, AmountTickSize: 2, PriceTickSize: 0} BCH_JPY = CurrencyPair{CurrencyA: BCH, CurrencyB: JPY, AmountTickSize: 2, PriceTickSize: 0} LTC_BTC = CurrencyPair{CurrencyA: LTC, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} ETH_BTC = CurrencyPair{CurrencyA: ETH, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} ETC_BTC = CurrencyPair{CurrencyA: ETC, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} BCC_BTC = CurrencyPair{CurrencyA: BCC, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} BCH_BTC = CurrencyPair{CurrencyA: BCH, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} DCR_BTC = CurrencyPair{CurrencyA: DCR, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} XRP_BTC = CurrencyPair{CurrencyA: XRP, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 6} BTG_BTC = CurrencyPair{CurrencyA: BTG, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} BCD_BTC = CurrencyPair{CurrencyA: BCD, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} NEO_BTC = CurrencyPair{CurrencyA: NEO, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} EOS_BTC = CurrencyPair{CurrencyA: EOS, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 5} HSR_BTC = CurrencyPair{CurrencyA: HSR, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} BSV_BTC = CurrencyPair{CurrencyA: BSV, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 4} OKB_BTC = CurrencyPair{CurrencyA: OKB, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 6} HT_BTC = CurrencyPair{CurrencyA: HT, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 7} BNB_BTC = CurrencyPair{CurrencyA: BNB, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 6} TRX_BTC = CurrencyPair{CurrencyA: TRX, CurrencyB: BTC, AmountTickSize: 2, PriceTickSize: 7} DOT_BTC = CurrencyPair{CurrencyA: DOT, CurrencyB: BTC, AmountTickSize: 3, PriceTickSize: 6} ETC_ETH = CurrencyPair{CurrencyA: ETC, CurrencyB: ETH, AmountTickSize: 2, PriceTickSize: 4} EOS_ETH = CurrencyPair{CurrencyA: EOS, CurrencyB: ETH, AmountTickSize: 2, PriceTickSize: 4} ZEC_ETH = CurrencyPair{CurrencyA: ZEC, CurrencyB: ETH, AmountTickSize: 2, PriceTickSize: 4} NEO_ETH = CurrencyPair{CurrencyA: NEO, CurrencyB: ETH, AmountTickSize: 2, PriceTickSize: 4} HSR_ETH = CurrencyPair{CurrencyA: HSR, CurrencyB: ETH, AmountTickSize: 2, PriceTickSize: 4} LTC_ETH = CurrencyPair{CurrencyA: LTC, CurrencyB: ETH, AmountTickSize: 2, PriceTickSize: 4} UNKNOWN_PAIR = CurrencyPair{CurrencyA: UNKNOWN, CurrencyB: UNKNOWN} )
Functions ¶
func AdaptKlinePeriodForOKEx ¶
func CancelAllUnfinishedFutureOrders ¶
func CancelAllUnfinishedFutureOrders(api FutureRestAPI, contractType string, currencyPair CurrencyPair) int
*
- call all unfinished future orders
- @return c 成功撤单数量
func CancelAllUnfinishedOrders ¶
func CancelAllUnfinishedOrders(api API, currencyPair CurrencyPair) int
*
- call all unfinished orders
func FlateDecompress ¶
func FloatToFixed ¶
func FloatToString ¶
func GenerateOrderClientId ¶
func GetParamHmacMD5Sign ¶
func GetParamHmacSHA1Sign ¶
func GetParamHmacSHA256Sign ¶
func GetParamHmacSHA512Sign ¶
func GetParamHmacSha384Sign ¶
for bitfinex.com
func GzipDecompress ¶
func HttpDeleteForm ¶
func HttpPostForm ¶
func HttpPostForm2 ¶
func HttpPostForm3 ¶
func HttpPostForm4 ¶
func IntToString ¶
func MergeOptionalParameter ¶
func MergeOptionalParameter(values *url.Values, opts ...OptionalParameter) url.Values
func NewHttpRequest ¶
func RE ¶
*
本函数只适合,返回两个参数的API重试调用,其中一个参数必须是error @retry 重试次数 @delay 每次重试延迟时间间隔 @method 调用的函数,比如: api.GetTicker ,注意:不是api.GetTicker(...) @params 参数,顺序一定要按照实际调用函数入参顺序一样 @return 返回
func SortParams ¶
Types ¶
type API ¶
type API interface { // 私有权限,限价订单(买) LimitBuy(amount, price string, currency CurrencyPair, opt ...LimitOrderOptionalParameter) (*Order, error) // 私有权限,限价订单(卖) LimitSell(amount, price string, currency CurrencyPair, opt ...LimitOrderOptionalParameter) (*Order, error) // 私有权限,市价订单(买) MarketBuy(amount, price string, currency CurrencyPair) (*Order, error) // 私有权限,市价订单(卖) MarketSell(amount, price string, currency CurrencyPair) (*Order, error) // 私有权限,取消订单,如orderId!="",则取消指定orderid,否则取消指定交易对所有Open订单,交易对信息必须传递 CancelOrder(orderId string, currency CurrencyPair) (bool, error) // 私有权限,根据订单ID获取订单详情,部分交易所需要传递交易对参数 GetOneOrder(orderId string, currency CurrencyPair) (*Order, error) // 私有权限,获取所有Open订单 GetUnfinishOrders(currency CurrencyPair) ([]Order, error) // 私有权限,获取订单历史 GetOrderHistorys(currency CurrencyPair, opt ...OptionalParameter) ([]Order, error) // 私有权限,获取帐户信息 GetAccount() (*Account, error) // 私有权限,获取子帐户信息 GetSubAccount(coin Currency) (*SubAccount, error) // 私有权限,获取指定交易对交易手续费 GetTradeFee(currencyPair CurrencyPair) (*TradeFee, error) // 通用权限,获取交易对报价 GetTicker(currency CurrencyPair) (*Ticker, error) // 通用权限,获取最佳买1卖1价 GetBestTicker(currencyPair CurrencyPair) (*BestTicker, error) // 通用权限,获取尝试数据 GetDepth(size int, currency CurrencyPair) (*Depth, error) // 通用权限,获取K线数据 GetKlineRecords(currency CurrencyPair, period KlinePeriod, size int, optional ...OptionalParameter) ([]Kline, error) // 通用权限,整个交易所的历史交易记录 GetTrades(currencyPair CurrencyPair, since int64) ([]Trade, error) // 通用权限,返回交易所名称 GetExchangeName() string // 通用权限,获取市场支持的交易对 GetCurrencyPairs() ([]CurrencyPair, error) }
type Account ¶
type Account struct { Exchange string Asset float64 //总资产 NetAsset float64 //净资产 SubAccounts map[Currency]SubAccount }
type BestTicker ¶
type BestTicker struct { Pair CurrencyPair `json:"omitempty"` Buy float64 `json:"buy,string"` BuySize float64 `json:"buySize,string"` Sell float64 `json:"sell,string"` SellSize float64 `json:"sellSize,string"` Date uint64 `json:"date"` // 单位:ms }
最佳买1卖1价
type BorrowParameter ¶
type BorrowParameter struct { CurrencyPair CurrencyPair Currency Currency Amount float64 }
type CurrencyPair ¶
type CurrencyPair struct { CurrencyA Currency CurrencyB Currency AmountTickSize int // 下单量精度 PriceTickSize int //交易对价格精度 Status bool }
A->B(A兑换为B)
func NewCurrencyPair ¶
func NewCurrencyPair(currencyA Currency, currencyB Currency) CurrencyPair
func NewCurrencyPair2 ¶
func NewCurrencyPair2(currencyPairSymbol string) CurrencyPair
func NewCurrencyPair3 ¶
func NewCurrencyPair3(currencyPairSymbol string, sep string) CurrencyPair
func (CurrencyPair) AdaptUsdToUsdt ¶
func (pair CurrencyPair) AdaptUsdToUsdt() CurrencyPair
func (CurrencyPair) AdaptUsdtToUsd ¶
func (pair CurrencyPair) AdaptUsdtToUsd() CurrencyPair
func (CurrencyPair) Eq ¶
func (pair CurrencyPair) Eq(c2 CurrencyPair) bool
func (CurrencyPair) Reverse ¶
func (pair CurrencyPair) Reverse() CurrencyPair
func (*CurrencyPair) SetAmountTickSize ¶
func (pair *CurrencyPair) SetAmountTickSize(tickSize int) CurrencyPair
func (*CurrencyPair) SetPriceTickSize ¶
func (pair *CurrencyPair) SetPriceTickSize(tickSize int) CurrencyPair
func (CurrencyPair) String ¶
func (pair CurrencyPair) String() string
func (CurrencyPair) ToLower ¶
func (pair CurrencyPair) ToLower() CurrencyPair
for to symbol lower , Not practical '==' operation method
func (CurrencyPair) ToSymbol ¶
func (pair CurrencyPair) ToSymbol(joinChar string) string
func (CurrencyPair) ToSymbol2 ¶
func (pair CurrencyPair) ToSymbol2(joinChar string) string
func (CurrencyPair) ToUpper ¶
func (pair CurrencyPair) ToUpper() CurrencyPair
for to symbol upper , Not practical '==' operation method
type DepositWithdrawHistory ¶
type DepositWithdrawHistory struct { WithdrawalId string `json:"withdrawal_id,omitempty"` Currency string `json:"currency"` Txid string `json:"txid"` Amount float64 `json:"amount,string"` From string `json:"from,omitempty"` To string `json:"to"` Memo string `json:"memo,omitempty"` Fee string `json:"fee"` Status int `json:"status,string"` Timestamp time.Time `json:"timestamp"` }
type Depth ¶
type Depth struct { ContractType string `json:"contract_type,omitempty"` //for futures ContractId string `json:"contract_id,omitempty"` // for futures Pair CurrencyPair UTime time.Time AskList DepthRecords // Descending order BidList DepthRecords // Descending order }
type DepthRecord ¶
type DepthRecords ¶
type DepthRecords []DepthRecord
func (DepthRecords) Len ¶
func (dr DepthRecords) Len() int
func (DepthRecords) Less ¶
func (dr DepthRecords) Less(i, j int) bool
func (DepthRecords) Swap ¶
func (dr DepthRecords) Swap(i, j int)
type FutureAccount ¶
type FutureAccount struct {
FutureSubAccounts map[Currency]FutureSubAccount
}
type FutureKline ¶
type FutureOrder ¶
type FutureOrder struct { ClientOid string //自定义ID,GoEx内部自动生成 OrderID2 string //请尽量用这个字段替代OrderID字段 Price float64 Amount float64 AvgPrice float64 DealAmount float64 OrderID int64 //deprecated OrderTime int64 Status TradeStatus Currency CurrencyPair OrderType int //ORDINARY=0 POST_ONLY=1 FOK= 2 IOC= 3 OType int //1:开多 2:开空 3:平多 4: 平空 LeverRate float64 //倍数 Fee float64 //手续费 ContractName string FinishedTime int64 // finished timestamp //策略委托单 TriggerPrice float64 AlgoType int //1:限价 2:市场价;触发价格类型,默认是限价;为市场价时,委托价格不必填; }
type FuturePosition ¶
type FuturePosition struct { BuyAmount float64 BuyAvailable float64 BuyPriceAvg float64 BuyPriceCost float64 BuyProfitReal float64 BuyProfit float64 CreateDate int64 LeverRate float64 SellAmount float64 SellAvailable float64 SellPriceAvg float64 SellPriceCost float64 SellProfitReal float64 SellProfit float64 Symbol CurrencyPair //btc_usd:比特币,ltc_usd:莱特币 ContractType string ContractId int64 ForceLiquPrice float64 //预估爆仓价 ShortPnlRatio float64 //空仓收益率 LongPnlRatio float64 //多仓收益率 }
type FutureRestAPI ¶
type FutureRestAPI interface { /** *获取交易所名字 */ GetExchangeName() string /** *获取交割预估价 */ GetFutureEstimatedPrice(currencyPair CurrencyPair) (float64, error) /** * 期货行情 * @param currency_pair btc_usd:比特币 ltc_usd :莱特币 * @param contractType 合约类型: this_week:当周 next_week:下周 month:当月 quarter:季度 */ GetFutureTicker(currencyPair CurrencyPair, contractType string) (*Ticker, error) /** * 期货深度 * @param currencyPair btc_usd:比特币 ltc_usd :莱特币 * @param contractType 合约类型: this_week:当周 next_week:下周 month:当月 quarter:季度 * @param size 获取深度档数 * @return */ GetFutureDepth(currencyPair CurrencyPair, contractType string, size int) (*Depth, error) /** * 期货指数 * @param currencyPair btc_usd:比特币 ltc_usd :莱特币 */ GetFutureIndex(currencyPair CurrencyPair) (float64, error) /** *全仓账户 *@param currency */ GetFutureUserinfo(currencyPair ...CurrencyPair) (*FutureAccount, error) /** * @deprecated * 期货下单 * @param currencyPair btc_usd:比特币 ltc_usd :莱特币 * @param contractType 合约类型: this_week:当周 next_week:下周 month:当月 quarter:季度 * @param price 价格 * @param amount 委托数量 * @param openType 1:开多 2:开空 3:平多 4:平空 * @param matchPrice 是否为对手价 0:不是 1:是 ,当取值为1时,price无效 */ PlaceFutureOrder(currencyPair CurrencyPair, contractType, price, amount string, openType, matchPrice int, leverRate float64) (string, error) LimitFuturesOrder(currencyPair CurrencyPair, contractType, price, amount string, openType int, opt ...LimitOrderOptionalParameter) (*FutureOrder, error) //对手价下单 MarketFuturesOrder(currencyPair CurrencyPair, contractType, amount string, openType int) (*FutureOrder, error) /** * 取消订单 * @param symbol btc_usd:比特币 ltc_usd :莱特币 * @param contractType 合约类型: this_week:当周 next_week:下周 month:当月 quarter:季度 * @param orderId 订单ID */ FutureCancelOrder(currencyPair CurrencyPair, contractType, orderId string) (bool, error) /** * 用户持仓查询 * @param symbol btc_usd:比特币 ltc_usd :莱特币 * @param contractType 合约类型: this_week:当周 next_week:下周 month:当月 quarter:季度 * @return */ GetFuturePosition(currencyPair CurrencyPair, contractType string) ([]FuturePosition, error) /** *获取订单信息 */ GetFutureOrders(orderIds []string, currencyPair CurrencyPair, contractType string) ([]FutureOrder, error) /** *获取单个订单信息 */ GetFutureOrder(orderId string, currencyPair CurrencyPair, contractType string) (*FutureOrder, error) /** *获取未完成订单信息 */ GetUnfinishFutureOrders(currencyPair CurrencyPair, contractType string) ([]FutureOrder, error) /** * 获取个人订单历史,默认获取最近的订单历史列表,返回多少条订单数据,需根据平台接口定义而定 */ GetFutureOrderHistory(pair CurrencyPair, contractType string, optional ...OptionalParameter) ([]FutureOrder, error) /** *获取交易费 */ GetFee() (float64, error) /** *获取每张合约价值 */ GetContractValue(currencyPair CurrencyPair) (float64, error) /** *获取交割时间 星期(0,1,2,3,4,5,6),小时,分,秒 */ GetDeliveryTime() (int, int, int, int) /** * 获取K线数据 */ GetKlineRecords(contractType string, currency CurrencyPair, period KlinePeriod, size int, optional ...OptionalParameter) ([]FutureKline, error) /** * 获取Trade数据 */ GetTrades(contractType string, currencyPair CurrencyPair, since int64) ([]Trade, error) }
type FutureSubAccount ¶
type FutureTicker ¶
type FuturesContractInfo ¶
type FuturesWsApi ¶
type FuturesWsApi interface { DepthCallback(func(depth *Depth)) TickerCallback(func(ticker *FutureTicker)) TradeCallback(func(trade *Trade, contract string)) SubscribeDepth(pair CurrencyPair, contractType string) error SubscribeTicker(pair CurrencyPair, contractType string) error SubscribeTrade(pair CurrencyPair, contractType string) error }
type HistoricalFunding ¶
type KlinePeriod ¶
type KlinePeriod int
type LimitOrderOptionalParameter ¶
type LimitOrderOptionalParameter int
const ( PostOnly LimitOrderOptionalParameter = iota + 1 Ioc Fok Futures_Twoway_Position_Mode //币安双向持仓模式 )
func (LimitOrderOptionalParameter) String ¶
func (opt LimitOrderOptionalParameter) String() string
type MarginAccount ¶
type MarginAccount struct { Sub map[Currency]MarginSubAccount LiquidationPrice float64 RiskRate float64 MarginRatio float64 }
type MarginSubAccount ¶
type OptionalParameter ¶
type OptionalParameter map[string]interface{}
func (OptionalParameter) GetFloat64 ¶
func (optional OptionalParameter) GetFloat64(name string) float64
func (OptionalParameter) GetInt ¶
func (optional OptionalParameter) GetInt(name string) int
func (OptionalParameter) GetInt64 ¶
func (optional OptionalParameter) GetInt64(name string) int64
func (OptionalParameter) GetString ¶
func (optional OptionalParameter) GetString(name string) string
func (OptionalParameter) GetTime ¶
func (optional OptionalParameter) GetTime(name string) *time.Time
func (OptionalParameter) Optional ¶
func (optional OptionalParameter) Optional(name string, value interface{}) OptionalParameter
type Order ¶
type Order struct { Price float64 Amount float64 AvgPrice float64 DealAmount float64 Fee float64 Cid string //客户端自定义ID OrderID2 string OrderID int //deprecated Status TradeStatus Currency CurrencyPair Side TradeSide Type string //limit / market OrderType int //0:default,1:maker,2:fok,3:ioc OrderTime int // create timestamp FinishedTime int64 //finished timestamp }
type OrderFeature ¶
type OrderFeature int
func (OrderFeature) String ¶
func (of OrderFeature) String() string
type PoloniexCurrency ¶
type PoloniexCurrency struct { ID int `json:"id"` Name string `json:"name"` HumanType string `json:"humanType"` CurrencyType string `json:"currencyType"` TxFee string `json:"txFee"` MinConf int `json:"minConf"` DepositAddress string `json:"depositAddress"` Disabled int `json:"disabled"` //Designates whether (1) or not (0) deposits and withdrawals are disabled. Frozen int `json:"frozen"` //Designates whether (1) or not (0) trading for this currency is disabled for trading. Blockchain string `json:"blockchain"` Delisted int `json:"delisted"` IsGeofenced int `json:"isGeofenced"` }
type RepaymentParameter ¶
type RepaymentParameter struct { BorrowParameter BorrowId string }
type SpotWsApi ¶
type SpotWsApi interface { DepthCallback(func(depth *Depth, exchange string)) TickerCallback(func(ticker *Ticker, exchange string)) BestTickerCallback(func(ticker *BestTicker, exchange string)) TradeCallback(func(trade *Trade, exchange string)) //todo bitget及binance以下两个方法尚未处理,subaccount需修改为[]subaccount UserOrderCallback(func(order *Order, exchange string)) UserBalanceCallback(func(account *SubAccount, exchange string)) SubscribeDepth(pair CurrencyPair) error SubscribeTicker(pair CurrencyPair) error SubscribeBestTicker(pair CurrencyPair) error SubscribeTrade(pair CurrencyPair) error SubscribeUserOrder() error SubscribeUserBalance() error UnSubscribeDepth(pair CurrencyPair) error UnSubscribeTicker(pair CurrencyPair) error UnSubscribeBestTicker(pair CurrencyPair) error UnSubscribeTrade(pair CurrencyPair) error UnSubscribeUserOrder() error UnSubscribeUserBalance() error }
type SubAccount ¶
type TradeFee ¶
type TradeFee struct { Pair CurrencyPair `json:"omitempty"` TakerFee float64 `json:"taker_fee"` MakerFee float64 `json:"maker_fee"` Discount bool `json:"discount,omitempty"` //是否开启平台币抵扣折扣 PlatformTakerFee float64 `json:"platform_taker_fee,omitempty"` PlatformMakerFee float64 `json:"platform_maker_fee,omitempty"` }
交易手续费结构
type TradeStatus ¶
type TradeStatus int
const ( ORDER_UNFINISH TradeStatus = iota ORDER_PART_FINISH ORDER_FINISH ORDER_CANCEL ORDER_REJECT ORDER_CANCEL_ING ORDER_FAIL )
func (TradeStatus) String ¶
func (ts TradeStatus) String() string
type TransferParameter ¶
type WalletApi ¶
type WalletApi interface { //获取钱包资产 GetAccount() (*Account, error) //提币 Withdrawal(param WithdrawParameter) (withdrawId string, err error) //划转资产 Transfer(param TransferParameter) error //获取提币记录 GetWithDrawHistory(currency *Currency) ([]DepositWithdrawHistory, error) //获取充值记录 GetDepositHistory(currency *Currency) ([]DepositWithdrawHistory, error) }
type WithdrawParameter ¶
type WsBuilder ¶
type WsBuilder struct {
// contains filtered or unexported fields
}
func NewWsBuilder ¶
func NewWsBuilder() *WsBuilder
func (*WsBuilder) AutoReconnect ¶
func (*WsBuilder) ConnectSuccessAfterSendMessage ¶
func (*WsBuilder) DecompressFunc ¶
func (*WsBuilder) DisableEnableCompression ¶
func (*WsBuilder) ErrorHandleFunc ¶
func (*WsBuilder) ProtoHandleFunc ¶
func (*WsBuilder) ReconnectInterval ¶
type WsConfig ¶
type WsConfig struct { WsUrl string ProxyUrl string ReqHeaders map[string][]string //连接的时候加入的头部信息 HeartbeatIntervalTime time.Duration // HeartbeatData func() []byte //心跳数据2 IsAutoReconnect bool ProtoHandleFunc func([]byte) error //协议处理函数 DecompressFunc func([]byte) ([]byte, error) //解压函数 ErrorHandleFunc func(err error) ConnectSuccessAfterSendMessage func() []byte //for reconnect IsDump bool DisableEnableCompression bool // contains filtered or unexported fields }
type WsConn ¶
type WsConn struct { WsConfig // contains filtered or unexported fields }
func (*WsConn) SendCloseMessage ¶
func (*WsConn) SendJsonMessage ¶
func (*WsConn) SendMessage ¶
func (*WsConn) SendPingMessage ¶
func (*WsConn) SendPongMessage ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.