Skip to content

f0cii/bybit-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bybit-api

Go library for using the ByBit's Rest & Websocket API

API Doc

Example

Rest api

package main import (	"github.com/frankrap/bybit-api/rest"	"log" ) func main() {	//baseURL := "https://api.bybit.com/"	// 主网络	baseURL := "https://api-testnet.bybit.com/" // 测试网络	b := rest.New(nil, baseURL, "YIxOY2RhFkylPudq96", "Bg9G2oFOb3aaIMguD3FOvOJJVBycaoXqXNcI")	// 获取持仓	positions, err := b.GetPositions()	if err != nil {	log.Printf("%v", err)	return	}	log.Printf("positions: %#v", positions)	// 创建委托	symbol := "BTCUSD"	side := "Buy"	orderType := "Limit"	qty := 30	price := 7000.0	timeInForce := "GoodTillCancel"	reduceOnly := false	order, err := b.CreateOrder(side, orderType, price, qty, timeInForce, reduceOnly, symbol)	if err != nil {	log.Println(err)	return	}	log.Printf("Create order: %#v", order)	// 获取委托单 } 

Websocket

package main import (	"github.com/frankrap/bybit-api/ws"	"log" ) func main() {	cfg := &ws.Configuration{	Addr: ws.HostTestnet, // 测试网络	ApiKey: "wKuYtkeNdC2PaMKjoy",	SecretKey: "5ekcDn3KnKoCRbfvrPImYzVdx7Ri2hhVxkmw",	AutoReconnect: true, // 断线自动重连	DebugMode: true,	}	b := ws.New(cfg)	// 订阅新版25档orderBook	b.Subscribe(ws.WSOrderBook25L1 + ".BTCUSD")	// 实时交易	//b.Subscribe("trade.BTCUSD")	b.Subscribe(ws.WSTrade) // BTCUSD/ETHUSD/EOSUSD/XRPUSD	// K线	b.Subscribe(ws.WSKLine + ".BTCUSD.1m")	// 每日保险基金更新	b.Subscribe(ws.WSInsurance)	// 产品最新行情	b.Subscribe(ws.WSInstrument + ".BTCUSD")	// 仓位变化	b.Subscribe(ws.WSPosition)	// 委托单成交信息	b.Subscribe(ws.WSExecution)	// 委托单的更新	b.Subscribe(ws.WSOrder)	b.On(ws.WSOrderBook25L1, handleOrderBook)	b.On(ws.WSTrade, handleTrade)	b.On(ws.WSKLine, handleKLine)	b.On(ws.WSInsurance, handleInsurance)	b.On(ws.WSInstrument, handleInstrument)	b.On(ws.WSPosition, handlePosition)	b.On(ws.WSExecution, handleExecution)	b.On(ws.WSOrder, handleOrder)	b.Start()	forever := make(chan struct{})	<-forever } func handleOrderBook(symbol string, data ws.OrderBook) {	log.Printf("handleOrderBook %v/%v", symbol, data) } func handleTrade(symbol string, data []*ws.Trade) {	log.Printf("handleTrade %v/%v", symbol, data) } func handleKLine(symbol string, data ws.KLine) {	log.Printf("handleKLine %v/%v", symbol, data) } func handleInsurance(currency string, data []*ws.Insurance) {	log.Printf("handleInsurance %v/%v", currency, data) } func handleInstrument(symbol string, data []*ws.Instrument) {	log.Printf("handleInstrument %v/%v", symbol, data) } func handlePosition(data []*ws.Position) {	log.Printf("handlePosition %v", data) } func handleExecution(data []*ws.Execution) {	log.Printf("handleExecution %v", data) } func handleOrder(data []*ws.Order) {	log.Printf("handleOrder %v", data) } 

About

Go library for using the Bybit's Rest & Websocket API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages