mirror of
https://github.com/c9s/bbgo.git
synced 2024-11-10 09:11:55 +00:00
xmaker: update position metrics when restored
This commit is contained in:
parent
f9b9832fff
commit
f30aca1b5a
|
@ -1255,8 +1255,12 @@ func (s *Strategy) CrossRun(
|
||||||
s.Position = types.NewPositionFromMarket(s.makerMarket)
|
s.Position = types.NewPositionFromMarket(s.makerMarket)
|
||||||
s.Position.Strategy = ID
|
s.Position.Strategy = ID
|
||||||
s.Position.StrategyInstanceID = instanceID
|
s.Position.StrategyInstanceID = instanceID
|
||||||
|
} else {
|
||||||
|
s.Position.Strategy = ID
|
||||||
|
s.Position.StrategyInstanceID = instanceID
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s.Position.UpdateMetrics()
|
||||||
bbgo.Notify("xmaker: %s position is restored", s.Symbol, s.Position)
|
bbgo.Notify("xmaker: %s position is restored", s.Symbol, s.Position)
|
||||||
|
|
||||||
if s.ProfitStats == nil {
|
if s.ProfitStats == nil {
|
||||||
|
|
|
@ -656,6 +656,12 @@ func (p *Position) AddTrade(td Trade) (profit fixedpoint.Value, netProfit fixedp
|
||||||
return fixedpoint.Zero, fixedpoint.Zero, false
|
return fixedpoint.Zero, fixedpoint.Zero, false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *Position) UpdateMetrics() {
|
||||||
|
p.Lock()
|
||||||
|
p.updateMetrics()
|
||||||
|
p.Unlock()
|
||||||
|
}
|
||||||
|
|
||||||
func (p *Position) updateMetrics() {
|
func (p *Position) updateMetrics() {
|
||||||
// update the position metrics only if the position defines the strategy ID
|
// update the position metrics only if the position defines the strategy ID
|
||||||
if p.StrategyInstanceID == "" || p.Strategy == "" {
|
if p.StrategyInstanceID == "" || p.Strategy == "" {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user