This commit is contained in:
2025-03-04 15:34:32 +08:00
parent ca92638554
commit 981d2c0108
3 changed files with 13 additions and 7 deletions

View File

@ -261,10 +261,10 @@ func getFuturesPositionNum(apiUserInfo DbModels.LineApiUser, preOrder *DbModels.
positionAmt := utility.StrToDecimal(item.PositionAmt)
//多
if positionAmt.Cmp(decimal.Zero) > 0 && preOrder.Site == "SELL" {
if positionAmt.Cmp(decimal.Zero) > 0 && ((preOrder.OrderType == 0 && preOrder.Site == "BUY") || (preOrder.OrderType != 0 && preOrder.Site == "SELL")) {
num = positionAmt.Abs().Truncate(int32(tradeSet.AmountDigit))
break
} else if positionAmt.Cmp(decimal.Zero) < 0 && preOrder.Site == "BUY" {
} else if positionAmt.Cmp(decimal.Zero) < 0 && ((preOrder.OrderType != 0 && preOrder.Site == "BUY") || (preOrder.OrderType == 0 && preOrder.Site == "SELL")) {
//空
num = positionAmt.Abs().Truncate(int32(tradeSet.AmountDigit))
break
@ -499,7 +499,10 @@ func cancelPositionOtherOrders(apiUserInfo DbModels.LineApiUser, db *gorm.DB, pr
mainId = mainOrder.MainId
}
removeFutLossAndAddPosition(mainId, mainOrder.OrderSn)
mainIds = append(mainIds, mainId)
if !utility.ContainsInt(mainIds, mainId) {
mainIds = append(mainIds, mainId)
}
}
if len(mainIds) > 0 {
@ -620,7 +623,7 @@ func processFutTakeProfitOrder(db *gorm.DB, futApi FutRestApi, order models.Line
}
if err := db.Model(&DbModels.LinePreOrder{}).Where("id = ? and status =0", order.Id).
Updates(map[string]interface{}{"status": "1", "num": num.String()}).Error; err != nil {
Updates(map[string]interface{}{"status": "1", "num": num.String(), "price": order.Price}).Error; err != nil {
logger.Error("合约止盈下单成功,更新状态失败:", order.OrderSn, " err:", err)
}
}