bbgo_origin/pkg/strategy/drift/stoploss.go

20 lines
462 B
Go
Raw Normal View History

package drift
func (s *Strategy) CheckStopLoss() bool {
if s.UseStopLoss {
2022-10-03 05:00:18 +00:00
stoploss := s.StopLoss.Float64()
if s.sellPrice > 0 && s.sellPrice*(1.+stoploss) <= s.highestPrice ||
s.buyPrice > 0 && s.buyPrice*(1.-stoploss) >= s.lowestPrice {
return true
}
}
if s.UseAtr {
atr := s.atr.Last(0)
if s.sellPrice > 0 && s.sellPrice+atr <= s.highestPrice ||
s.buyPrice > 0 && s.buyPrice-atr >= s.lowestPrice {
return true
}
}
return false
}