The modern cryptocurrency trading bot framework written in Go.
Go to file
Yo-An Lin 57f0888c3c Merge pull request #5 from appleboy/gofmt
refactor: run gofmt -w -s
2020-10-09 15:24:34 +08:00
accounting move packages 2020-10-05 17:47:25 +08:00
bbgo refactor: run gofmt -w -s 2020-10-09 13:21:42 +08:00
cmd refactor: run gofmt -w -s 2020-10-09 13:21:42 +08:00
exchange refactor: run gofmt -w -s 2020-10-09 13:21:42 +08:00
fixedpoint move packages 2020-10-05 17:47:25 +08:00
migrations add migration files 2020-10-05 17:51:01 +08:00
notifier/slacknotifier move packages 2020-10-05 17:47:25 +08:00
service refactor: run gofmt -w -s 2020-10-09 13:21:42 +08:00
sigchan refactor: run gofmt -w -s 2020-10-09 13:21:42 +08:00
slack refactor: run gofmt -w -s 2020-10-09 13:21:42 +08:00
types refactor: run gofmt -w -s 2020-10-09 13:21:42 +08:00
util refactor: run gofmt -w -s 2020-10-09 13:21:42 +08:00
.gitignore ignore local dotenv files 2020-10-08 21:57:58 +08:00
go.mod clean up 2020-10-07 13:36:11 +08:00
go.sum clean up 2020-10-07 13:36:11 +08:00
LICENSE Create LICENSE 2020-10-08 22:20:59 +08:00
README.md add support section 2020-10-08 22:31:09 +08:00

bbgo

A trading bot framework written in Go. The name bbgo comes from the BB8 bot in the Star Wars movie. aka Buy BitCoin Go!

Current Status

Working hard in progress

aims to release v1.0 before 11/14

Features

  • Exchange abstraction interface
  • Stream integration (user data websocket)
  • PnL calculation.

Supported Exchanges

  • MAX Exchange (located in Taiwan)
  • Binance Exchange

Synopsis

still under construction

import (
    "github.com/c9s/bbgo"
)

mysqlURL := viper.GetString("mysql-url")
mysqlURL = fmt.Sprintf("%s?parseTime=true", mysqlURL)
db, err := sqlx.Connect("mysql", mysqlURL)

if err != nil {
    return err
}

t := bbgo.New(bbgo.Config{
    DB: db,
})
t.AddNotifier(slacknotifier.New(slackToken))
t.AddLogHook(slacklog.NewLogHook(slackToken))

t.AddExchange("binance", binance.New(viper.Getenv("bn-key"), viper.Getenv("bn-secret")))).
    Subscribe("binance", "btcusdt", "kline@5m", "book", "trade").
    AddStrategy(bondtrade.New, bondtrade.New).
    Symbols("btcusdt", "bnbusdt")

t.AddExchange("max", max.New(viper.Getenv("max-key"), viper.Getenv("max-secret")))).
    Subscribe("max", "btctwd", "kline@5m", "book", "trade").
    AddStrategy(flashdrop.New, bondtrade.New)

t.AddCrossExchangeStrategy(hedgemaker.New(...))

Support

You may register your exchange account with my referral ID to support this project.

Or support this project by cryptocurrency:

  • BTC omni 3J6XQJNWT56amqz9Hz2BEVQ7W4aNmb5kiU
  • USDT erc20 0x63E5805e027548A384c57E20141f6778591Bac6F

License

MIT License