Files
aiaa-notification-server/internal/subscriber/tradesignal/override.go
T
ryan 6f846a0a3c feat: subscribe to RabbitMQ trade signals and notify by rules
Consume configurable queues, format signals (including period), share NotifyService with HTTP, and drop duplicate bodies within 1h.
2026-08-15 17:34:49 +08:00

30 lines
585 B
Go

package tradesignal
import "aiaa-notification-service/internal/config"
func Apply(signal *Signal, override *config.StrategyOverride) *Signal {
if override == nil {
return signal
}
out := *signal
if signal.Quantity != nil {
q := *signal.Quantity
out.Quantity = &q
}
if out.Quantity != nil && *out.Quantity > 0 {
multiplier := override.QuantityMultiplierFor(out.Action)
if multiplier != 1 {
q := *out.Quantity * multiplier
out.Quantity = &q
}
}
if override.Leverage != nil && *override.Leverage > 0 {
out.Leverage = *override.Leverage
}
return &out
}