Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
This commit is contained in:
@@ -291,6 +291,9 @@ namespace YLErp.Modules.SwapModule
|
||||
floatEvent.UnderlyingInstrumentType = position.UnderlyingInstrumentType;
|
||||
floatEvent.CloseFee = 0;
|
||||
floatEvent.BeforeCloseFee = oriPosition.PosiTradingFeePending;
|
||||
floatEvent.TradingFee = CalcInitTradingFee(oriPosition, unwindData);
|
||||
floatEvent.PosiTradingFeeUnit = oriPosition?.PosiTradingFeeUnit ?? 0;
|
||||
floatEvent.PosiFeeType = oriPosition?.PosiFeeType ?? 0;
|
||||
floatEvent.MarkClosePnl = 0;
|
||||
floatEvent.PayDirection = position.PosiDirection;
|
||||
floatEvent.PosiGrossPrice = position.PosiGrossPrice;
|
||||
@@ -313,6 +316,20 @@ namespace YLErp.Modules.SwapModule
|
||||
}
|
||||
return unwindData;
|
||||
}
|
||||
private static decimal CalcInitTradingFee(swap_position oriPosition, UnwindData unwindData)
|
||||
{
|
||||
if (oriPosition == null || unwindData == null)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (oriPosition.PosiFeeType == 1)
|
||||
{
|
||||
return Math.Round(oriPosition.PosiTradingFeeUnit * unwindData.CloseQty, ConsGlobal.MoneyRound, MidpointRounding.AwayFromZero);
|
||||
}
|
||||
|
||||
return Math.Round(oriPosition.PosiTradingFeeUnit / 100m * unwindData.CloseNotionalValue, ConsGlobal.MoneyRound, MidpointRounding.AwayFromZero);
|
||||
}
|
||||
/// <summary>
|
||||
/// 校验上日是否收盘
|
||||
/// </summary>
|
||||
|
||||
@@ -1375,6 +1375,7 @@ namespace YLErp.Modules.SwapModule
|
||||
position.PosiTradingFee = swap.PosiTradingFee;
|
||||
position.PosiTradingFee=Math.Round(position.PosiTradingFee, ConsGlobal.MoneyRound, MidpointRounding.AwayFromZero);
|
||||
position.PosiTradingFeeUnit = swap.PosiTradingFeeUnit;
|
||||
position.PosiFeeType = swap.PosiFeeType;
|
||||
position.PosiTradingFeePending = swap.PosiTradingFeePending;
|
||||
position.PosiTradingFeePending = Math.Round(position.PosiTradingFeePending, ConsGlobal.MoneyRound, MidpointRounding.AwayFromZero);
|
||||
position.UnderlyingCode = swap.UnderlyingCode;
|
||||
|
||||
Reference in New Issue
Block a user