This commit is contained in:
2025-02-18 15:40:45 +08:00
parent 08a7da607f
commit 935fc36b5a
7 changed files with 95 additions and 53 deletions

View File

@ -567,7 +567,8 @@ func (e *LinePreOrder) AddPreOrder(req *dto.LineAddPreOrderReq, p *actions.DataP
stopOrder.OrderType = 4
stopOrder.Status = 0
stopOrder.Rate = req.ReducePriceRatio.String()
stopOrder.Num = utility.StrToDecimal(AddOrder.Num).Mul(req.ReduceNumRatio.Div(decimal.NewFromInt(100)).Truncate(4)).Truncate(int32(tradeSet.AmountDigit)).String()
stopNum := utility.StrToDecimal(AddOrder.Num).Mul(req.ReduceNumRatio.Div(decimal.NewFromInt(100)).Truncate(4))
stopOrder.Num = stopNum.Truncate(int32(tradeSet.AmountDigit)).String()
tx.Model(&models.LinePreOrder{}).Omit("id", "save_template", "template_name").Create(&stopOrder)
@ -691,7 +692,7 @@ func createPreAddPosition(preOrder *models.LinePreOrder, v models.LinePreOrderEx
// 构建合约止盈、减仓单
func makeFuturesTakeAndReduce(preOrder *models.LinePreOrder, ext models.LinePreOrderExt, tradeSet models2.TradeSet) ([]models.LinePreOrder, error) {
num := ext.TotalAfterAdding
num := ext.TotalAfterAdding.Truncate(int32(tradeSet.AmountDigit))
orders := make([]models.LinePreOrder, 0)
//止盈单
profitOrder := models.LinePreOrder{}
@ -703,7 +704,7 @@ func makeFuturesTakeAndReduce(preOrder *models.LinePreOrder, ext models.LinePreO
profitOrder.OrderType = 1
profitOrder.Status = 0
profitOrder.MainId = preOrder.MainId
profitOrder.Num = num.Truncate(int32(tradeSet.AmountDigit)).String()
profitOrder.Num = num.String()
profitOrder.BuyPrice = "0"
// profitOrder.Rate = ext.TakeProfitRatio.String()
@ -735,7 +736,8 @@ func makeFuturesTakeAndReduce(preOrder *models.LinePreOrder, ext models.LinePreO
stopOrder.BuyPrice = "0"
if ext.ReduceNumRatio.Cmp(decimal.Zero) > 0 {
stopOrder.Num = num.Mul(ext.ReduceNumRatio.Div(decimal.NewFromInt(100))).Truncate(int32(tradeSet.AmountDigit)).String()
stopNum := num.Mul(ext.ReduceNumRatio.Div(decimal.NewFromInt(100)))
stopOrder.Num = stopNum.Truncate(int32(tradeSet.AmountDigit)).String()
}
if strings.ToUpper(preOrder.Site) == "BUY" {
stopOrder.Site = "SELL"