package trade import ( "sig-pub/pkg/types" ) type IRickStrategy interface { OnSignal(signalSide types.Side) (ok bool, cause Cause) } type RiskStrategyParam struct { SkipOnSideOpposite bool // 当前持有反方向单时 SkipOnSideSame bool // 当前持有相同方向单时 } // RiskStrategy 风险管理策略 // Kelly准则优化方法 type RiskStrategy struct { RiskStrategyParam } func NewRiskStrategy(param RiskStrategyParam) (rs *RiskStrategy, err error) { rs = &RiskStrategy{ RiskStrategyParam: param, } return } // SideAssess 收到信号时进行评估, 返回过滤后的交易信号 // 对交易方向进行信心分数评估, 后续开仓仓位 // 1.当前持有反方向单时, 不进行开仓 // 2.当前持有同方向单时, 根据信心分数评估是否加仓 func (s *RiskStrategy) SideAssess(signalSide types.Side) (side types.Side) { return signalSide }