bbgo_origin/bbgo/context.go
2020-07-11 11:23:48 +08:00

35 lines
673 B
Go

package bbgo
type TradingContext struct {
KLineWindowSize int
KLineWindows map[string]KLineWindow
Symbol string
// Market is the market configuration of a symbol
Market Market
AverageBidPrice float64
CurrentPrice float64
ProfitAndLossCalculator *ProfitAndLossCalculator
}
func (c *TradingContext) SetCurrentPrice(price float64) {
c.CurrentPrice = price
c.ProfitAndLossCalculator.SetCurrentPrice(price)
}
func (c *TradingContext) AddKLine(kline KLine) KLineWindow {
var klineWindow = c.KLineWindows[kline.Interval]
klineWindow.Add(kline)
if c.KLineWindowSize > 0 {
klineWindow.Truncate(c.KLineWindowSize)
}
return klineWindow
}