mirror of
https://github.com/c9s/bbgo.git
synced 2024-11-22 14:55:16 +00:00
scmaker: preload indicators
This commit is contained in:
parent
9b8c2b5ba4
commit
de00e5fa88
|
@ -179,20 +179,36 @@ func (s *Strategy) Run(ctx context.Context, orderExecutor bbgo.OrderExecutor, se
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *Strategy) preloadKLines(inc *indicator.KLineStream, session *bbgo.ExchangeSession, symbol string, interval types.Interval) {
|
||||||
|
if store, ok := session.MarketDataStore(symbol); ok {
|
||||||
|
if kLinesData, ok := store.KLinesOfInterval(interval); ok {
|
||||||
|
for _, k := range *kLinesData {
|
||||||
|
inc.EmitUpdate(k)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (s *Strategy) initializeMidPriceEMA(session *bbgo.ExchangeSession) {
|
func (s *Strategy) initializeMidPriceEMA(session *bbgo.ExchangeSession) {
|
||||||
kLines := indicator.KLines(session.MarketDataStream, s.Symbol, s.MidPriceEMA.Interval)
|
kLines := indicator.KLines(session.MarketDataStream, s.Symbol, s.MidPriceEMA.Interval)
|
||||||
s.ewma = indicator.EWMA2(indicator.ClosePrices(kLines), s.MidPriceEMA.Window)
|
s.ewma = indicator.EWMA2(indicator.ClosePrices(kLines), s.MidPriceEMA.Window)
|
||||||
|
|
||||||
|
s.preloadKLines(kLines, session, s.Symbol, s.MidPriceEMA.Interval)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Strategy) initializeIntensityIndicator(session *bbgo.ExchangeSession) {
|
func (s *Strategy) initializeIntensityIndicator(session *bbgo.ExchangeSession) {
|
||||||
kLines := indicator.KLines(session.MarketDataStream, s.Symbol, s.StrengthInterval)
|
kLines := indicator.KLines(session.MarketDataStream, s.Symbol, s.StrengthInterval)
|
||||||
s.intensity = Intensity(kLines, 10)
|
s.intensity = Intensity(kLines, 10)
|
||||||
|
|
||||||
|
s.preloadKLines(kLines, session, s.Symbol, s.StrengthInterval)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Strategy) initializePriceRangeBollinger(session *bbgo.ExchangeSession) {
|
func (s *Strategy) initializePriceRangeBollinger(session *bbgo.ExchangeSession) {
|
||||||
kLines := indicator.KLines(session.MarketDataStream, s.Symbol, s.PriceRangeBollinger.Interval)
|
kLines := indicator.KLines(session.MarketDataStream, s.Symbol, s.PriceRangeBollinger.Interval)
|
||||||
closePrices := indicator.ClosePrices(kLines)
|
closePrices := indicator.ClosePrices(kLines)
|
||||||
s.boll = indicator.BOLL2(closePrices, s.PriceRangeBollinger.Window, s.PriceRangeBollinger.K)
|
s.boll = indicator.BOLL2(closePrices, s.PriceRangeBollinger.Window, s.PriceRangeBollinger.K)
|
||||||
|
|
||||||
|
s.preloadKLines(kLines, session, s.Symbol, s.PriceRangeBollinger.Interval)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Strategy) placeAdjustmentOrders(ctx context.Context) {
|
func (s *Strategy) placeAdjustmentOrders(ctx context.Context) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user