1、阶段减仓
This commit is contained in:
@ -163,9 +163,9 @@ func handleReduceFilled(db *gorm.DB, preOrder *DbModels.LinePreOrder) {
|
||||
positionData := savePosition(db, preOrder)
|
||||
|
||||
//市价单就跳出 市价减仓不设止盈止损
|
||||
if preOrder.MainOrderType == "MARKET" {
|
||||
return
|
||||
}
|
||||
// if preOrder.MainOrderType == "MARKET" {
|
||||
// return
|
||||
// }
|
||||
|
||||
//亏损大于0 重新计算比例
|
||||
FutTakeProfit(db, preOrder, apiUserInfo, tradeSet, positionData, orderExt, decimal.Zero, decimal.Zero)
|
||||
@ -435,6 +435,8 @@ func removeFutLossAndAddPosition(mainId int, orderSn string) {
|
||||
stoploss := dto.StopLossRedisList{}
|
||||
addPosition := AddPositionList{}
|
||||
reduce := ReduceListItem{}
|
||||
//移除减仓后减仓策略
|
||||
RemoveReduceReduceCacheByMainId(mainId, 2)
|
||||
|
||||
//止损缓存
|
||||
for _, v := range stoplossVal {
|
||||
@ -598,7 +600,7 @@ func handleFutMainOrderFilled(db *gorm.DB, preOrder *models.LinePreOrder, extOrd
|
||||
}
|
||||
}
|
||||
|
||||
processFutStopLossOrder(db, order, price, num)
|
||||
processFutStopLossOrder(db, order, utility.StrToDecimal(order.Price), num)
|
||||
// case 4: // 减仓
|
||||
// processFutReduceOrder(order, price, num)
|
||||
}
|
||||
@ -700,9 +702,13 @@ func updateOrderQuantity(db *gorm.DB, order models.LinePreOrder, preOrder *model
|
||||
// order.Num = num.String()
|
||||
// } else
|
||||
|
||||
if first && (order.OrderCategory == 1 || order.OrderCategory == 3) && order.OrderType == 1 && ext.TakeProfitNumRatio.Cmp(decimal.Zero) > 0 && ext.TakeProfitNumRatio.Cmp(decimal.NewFromInt(100)) != 0 {
|
||||
//止盈止损重算数量
|
||||
if first && (order.OrderCategory == 1 || order.OrderCategory == 3) && ext.TakeProfitNumRatio.Cmp(decimal.Zero) > 0 && ext.TakeProfitNumRatio.Cmp(decimal.NewFromInt(100)) != 0 {
|
||||
// 计算止盈数量
|
||||
num = num.Mul(ext.TakeProfitNumRatio.Div(decimal.NewFromInt(100))).Truncate(int32(tradeSet.AmountDigit))
|
||||
if order.OrderType == 1 {
|
||||
num = num.Mul(ext.TakeProfitNumRatio.Div(decimal.NewFromInt(100))).Truncate(int32(tradeSet.AmountDigit))
|
||||
}
|
||||
|
||||
order.Num = num.String()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user