|
|
@@ -218,10 +218,11 @@ func GetTradePosition(accIds string, tradeModes string) (rst []QueryTradePositio
|
|
|
tradePosition.EnableQTY = c.CovertQty(v.Buycurpositionqty - v.Buyfrozenqty - v.Buyotherfrozenqty)
|
|
|
// 计算持仓均价
|
|
|
averagePrice := tradePosition.CurHolderAmount / float64(tradePosition.CurPositionQTY) / tradePosition.AgreeUnit
|
|
|
- //tradePosition.AveragePrice, _ = strconv.ParseFloat(utils.FormatFloat(averagePrice, int(v.Decimalplace)), 64)
|
|
|
+
|
|
|
// #96004 改为固定3位小数
|
|
|
// #3524 又改为跟商品价格小数位走 2022.04.07
|
|
|
- tradePosition.AveragePrice, _ = decimal.NewFromFloat(averagePrice).Round(v.QTYDECIMALPLACE).Float64()
|
|
|
+ // 运维提出, 不要四舍五入, 改为去尾法 2022.04.26
|
|
|
+ tradePosition.AveragePrice, _ = decimal.NewFromFloat(averagePrice).Truncate(v.QTYDECIMALPLACE).Float64()
|
|
|
tradePosition.PositionPL, tradePosition.MarketAmount, tradePosition.LastPrice = fCalcPL(tradePosition.GoodsCode, tradePosition.BuyOrSell, tradePosition.CurPositionQTY,
|
|
|
tradePosition.AveragePrice, tradePosition.AgreeUnit, tradePosition.DecimalPlace)
|
|
|
if tradePosition.CurHolderAmount > 1e-10 {
|