initial
This commit is contained in:
47
trade/account.go
Normal file
47
trade/account.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package trade
|
||||
|
||||
import (
|
||||
"sync"
|
||||
)
|
||||
|
||||
var (
|
||||
AccountsAssets *Assets
|
||||
)
|
||||
|
||||
type AccountsBalance struct {
|
||||
AccountEquity float64 // 账户权益(保证金币种),包含未实现盈亏(根据mark price计算)
|
||||
Available float64 // 账户可用数量
|
||||
}
|
||||
|
||||
// lock
|
||||
type Assets struct {
|
||||
sync.RWMutex
|
||||
Data map[string]*AccountsBalance
|
||||
}
|
||||
|
||||
func NewAccounts() {
|
||||
AccountsAssets = &Assets{
|
||||
Data: make(map[string]*AccountsBalance),
|
||||
}
|
||||
}
|
||||
|
||||
func (ac *Assets) Set(assets string, balance *AccountsBalance) {
|
||||
ac.Lock()
|
||||
defer ac.Unlock()
|
||||
|
||||
ac.Data[assets] = balance
|
||||
}
|
||||
|
||||
func (ac *Assets) SetData(data map[string]*AccountsBalance) {
|
||||
ac.Lock()
|
||||
defer ac.Unlock()
|
||||
|
||||
ac.Data = data
|
||||
}
|
||||
|
||||
func (ac *Assets) Get(assets string) *AccountsBalance {
|
||||
ac.Lock()
|
||||
defer ac.Unlock()
|
||||
|
||||
return ac.Data[assets]
|
||||
}
|
||||
Reference in New Issue
Block a user