mirror of
https://github.com/c9s/bbgo.git
synced 2024-11-25 16:25:16 +00:00
add error check and logger
This commit is contained in:
parent
300609e3db
commit
7482fa52d6
|
@ -11,12 +11,12 @@ import (
|
||||||
|
|
||||||
type Account struct {
|
type Account struct {
|
||||||
sync.Mutex
|
sync.Mutex
|
||||||
Balances map[string]types.Balance
|
balances map[string]types.Balance
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Account) Balance(currency string) (balance types.Balance, ok bool) {
|
func (a *Account) Balance(currency string) (balance types.Balance, ok bool) {
|
||||||
a.Lock()
|
a.Lock()
|
||||||
balance, ok = a.Balances[currency]
|
balance, ok = a.balances[currency]
|
||||||
a.Unlock()
|
a.Unlock()
|
||||||
return balance, ok
|
return balance, ok
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ func (a *Account) handleBalanceUpdates(balances map[string]types.Balance) {
|
||||||
defer a.Unlock()
|
defer a.Unlock()
|
||||||
|
|
||||||
for _, balance := range balances {
|
for _, balance := range balances {
|
||||||
a.Balances[balance.Currency] = balance
|
a.balances[balance.Currency] = balance
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ func (a *Account) Print() {
|
||||||
a.Lock()
|
a.Lock()
|
||||||
defer a.Unlock()
|
defer a.Unlock()
|
||||||
|
|
||||||
for _, balance := range a.Balances {
|
for _, balance := range a.balances {
|
||||||
if util.NotZero(balance.Available) {
|
if util.NotZero(balance.Available) {
|
||||||
log.Infof("account balance %s %f", balance.Currency, balance.Available)
|
log.Infof("account balance %s %f", balance.Currency, balance.Available)
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,7 +149,7 @@ func (environ *Environment) Init(ctx context.Context) (err error) {
|
||||||
|
|
||||||
session.Stream = stream
|
session.Stream = stream
|
||||||
|
|
||||||
session.Account = &Account{Balances: balances}
|
session.Account = &Account{balances: balances}
|
||||||
session.Account.BindStream(session.Stream)
|
session.Account.BindStream(session.Stream)
|
||||||
|
|
||||||
marketDataStore := NewMarketDataStore()
|
marketDataStore := NewMarketDataStore()
|
||||||
|
@ -175,7 +175,6 @@ func (environ *Environment) Init(ctx context.Context) (err error) {
|
||||||
|
|
||||||
func (environ *Environment) Connect(ctx context.Context) error {
|
func (environ *Environment) Connect(ctx context.Context) error {
|
||||||
for _, session := range environ.sessions {
|
for _, session := range environ.sessions {
|
||||||
|
|
||||||
for _, s := range session.Subscriptions {
|
for _, s := range session.Subscriptions {
|
||||||
log.Infof("subscribing %s %s %v", s.Symbol, s.Channel, s.Options)
|
log.Infof("subscribing %s %s %v", s.Symbol, s.Channel, s.Options)
|
||||||
session.Stream.Subscribe(s.Channel, s.Symbol, s.Options)
|
session.Stream.Subscribe(s.Channel, s.Symbol, s.Options)
|
||||||
|
|
|
@ -6,6 +6,8 @@ import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"math"
|
"math"
|
||||||
|
|
||||||
|
log "github.com/sirupsen/logrus"
|
||||||
|
|
||||||
"github.com/c9s/bbgo/pkg/bbgo"
|
"github.com/c9s/bbgo/pkg/bbgo"
|
||||||
"github.com/c9s/bbgo/pkg/types"
|
"github.com/c9s/bbgo/pkg/types"
|
||||||
"github.com/c9s/bbgo/pkg/util"
|
"github.com/c9s/bbgo/pkg/util"
|
||||||
|
@ -70,12 +72,15 @@ func (s *Strategy) Run(ctx context.Context, orderExecutor types.OrderExecutor, s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
orderExecutor.SubmitOrder(ctx, types.SubmitOrder{
|
err := orderExecutor.SubmitOrder(ctx, types.SubmitOrder{
|
||||||
Symbol: kline.Symbol,
|
Symbol: kline.Symbol,
|
||||||
Side: types.SideTypeBuy,
|
Side: types.SideTypeBuy,
|
||||||
Type: types.OrderTypeMarket,
|
Type: types.OrderTypeMarket,
|
||||||
Quantity: s.BaseQuantity * math.Abs(changePercentage),
|
Quantity: s.BaseQuantity * math.Abs(changePercentage),
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
log.WithError(err).Error("submit order error")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user