package trade import ( "sig-pub/pkg/types" ) type Cause int32 const ( // _ Cause = iota CauseCloseForced Cause = 1001 // 平仓:强制平仓 CauseCloseStoploss Cause = 1002 // 平仓:固定止损 CauseCloseTakeprofit Cause = 1003 // 平仓:固定止盈 CauseCloseReverseSingal Cause = 1004 // 平仓:策略反向信号 CauseCloseTrailing Cause = 1005 // 平仓:移动止损基于最高利润点回撤百分比 CauseRiskAlreadyTrade Cause = 2001 // 风控:已有持仓 CauseRiskSideAlreadyTrade Cause = 2002 // 风控:相同方向已有持仓 ) func (c Cause) String() string { switch c { default: return "" case CauseCloseForced: return "closeForced" case CauseCloseStoploss: return "closeStoploss" case CauseCloseTakeprofit: return "closeTakeprofit" case CauseCloseReverseSingal: return "closeReverseSingal" case CauseCloseTrailing: return "closeTrailing" case CauseRiskAlreadyTrade: return "riskAlreadyTrade" case CauseRiskSideAlreadyTrade: return "riskSideAlreadyTrade" } } // Position 持仓仓位 type Position struct { TradeId int64 // 交易订单id Status int32 // 1.交易中 2.持仓中 3.已平仓 Side types.Side // 交易方向 Qty float64 // 交易量 EntryPx float64 // 入场价格 EntryTs int64 // 入场时间 PeakPx float64 // highest (for long) or lowest (for short) observed price since entry Fee float64 // 手续费 FeeRate float64 // 手续费率 }