每日估值bug修复
This commit is contained in:
@@ -685,7 +685,8 @@ namespace YLErp.Modules.SwapModule
|
||||
flowMergeMin.TradingAmountNetFeeAvg ?? 0,
|
||||
flowMergeMin.TradingAmountNetAvg ?? 0,
|
||||
flowMergeMin.OccurTime,
|
||||
flowMergeMax.TradingQtyAbs);
|
||||
flowMergeMax.TradingQtyAbs,
|
||||
flowMergeMin.TradingFeePending);
|
||||
var amount = qty * flowMergeMax.ContractSize;//平仓剩余金额=(平仓流水的成交均价-平仓对象的期初价格不含费)*平仓流水的成交数量*合约乘数
|
||||
if (qty != 0)//平仓有剩余,开仓
|
||||
{
|
||||
@@ -775,7 +776,8 @@ namespace YLErp.Modules.SwapModule
|
||||
negaFlowClone.TradingAmountNetFeeAvg ?? 0,
|
||||
negaFlowClone.TradingAmountNetAvg ?? 0,
|
||||
negaFlowClone.OccurTime,
|
||||
negaFlowClone.TradingQty);
|
||||
negaFlowClone.TradingQty,
|
||||
negaFlowClone.TradingFeePending);
|
||||
return trade;
|
||||
}
|
||||
/// <summary>
|
||||
@@ -1150,7 +1152,8 @@ namespace YLErp.Modules.SwapModule
|
||||
flowSameClone.TradingAmountNetFeeAvg ?? 0,
|
||||
flowSameClone.TradingAmountNetAvg ?? 0,
|
||||
flowSameClone.OccurTime,
|
||||
unwindQty);
|
||||
unwindQty,
|
||||
unwindFee);
|
||||
if (flowQty>0)
|
||||
{
|
||||
var unwindPercent = 1 - (flowQty / flowSameClone.TradingQty);
|
||||
@@ -1214,7 +1217,8 @@ namespace YLErp.Modules.SwapModule
|
||||
swapFlow.TradingAmountNetFeeAvg ?? 0,
|
||||
swapFlow.TradingAmountNetAvg ?? 0,
|
||||
swapFlow.OccurTime,
|
||||
unwindQty);
|
||||
unwindQty,
|
||||
unwindFee);
|
||||
}
|
||||
}
|
||||
if (flowQty > 0) //平仓完有剩余流水,
|
||||
@@ -1328,6 +1332,7 @@ namespace YLErp.Modules.SwapModule
|
||||
var newQty = floatPosition.PosiQuantity - flowMerge.TradingQtyAbs;
|
||||
var newQtyAbs = Math.Abs(newQty);
|
||||
flowMerge.SwapTradeNo = td.TradeNumber;
|
||||
var unwindFee= newQty>0? flowMerge.TradingFeePending: flowMerge.TradingFeePending* floatPosition.PosiQuantity / flowMerge.TradingQty;
|
||||
// 全平
|
||||
new SwapDealService(UserInfo).AuotoSwapUnwind(td.id,
|
||||
flowMerge.TradingAmountAvg,
|
||||
@@ -1335,16 +1340,17 @@ namespace YLErp.Modules.SwapModule
|
||||
flowMerge.TradingAmountNetFeeAvg ?? 0,
|
||||
flowMerge.TradingAmountNetAvg ?? 0,
|
||||
flowMerge.OccurTime,
|
||||
floatPosition.PosiQuantity);
|
||||
floatPosition.PosiQuantity,
|
||||
unwindFee);
|
||||
unwindTradeIds.Add(td.id);
|
||||
flowMerge.TradingAmount = newQtyAbs * flowMerge.ContractSize;
|
||||
if (newQty > 0)
|
||||
{
|
||||
flowMerge.TradingFeePending = floatPosition.PosiTradingFeePending * newQtyAbs / floatPosition.PosiQuantity;
|
||||
flowMerge.TradingFeePending = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
flowMerge.TradingFeePending = flowMerge.TradingFeePending * newQtyAbs / flowMerge.TradingQty;
|
||||
flowMerge.TradingFeePending = flowMerge.TradingFeePending- unwindFee;
|
||||
}
|
||||
flowMerge.TradingQty = newQtyAbs;
|
||||
if (newQty < 0)//交易不够平,继续平
|
||||
|
||||
Reference in New Issue
Block a user