diff --git a/Binance.TradeRobot.Business/Business/OrderPublishBusiness/Spot/D21OrderPublishBusiness.cs b/Binance.TradeRobot.Business/Business/OrderPublishBusiness/Spot/D21OrderPublishBusiness.cs index d48e7c2..5643e59 100644 --- a/Binance.TradeRobot.Business/Business/OrderPublishBusiness/Spot/D21OrderPublishBusiness.cs +++ b/Binance.TradeRobot.Business/Business/OrderPublishBusiness/Spot/D21OrderPublishBusiness.cs @@ -42,6 +42,7 @@ namespace Binance.TradeRobot.Business IUpdate updateRobotAccount = null; IList> updateUserList = null; List insertUserAccountProfitLossRecordList = null; + IUpdate updateD21Policy = null; if (spotOrderPublishInfo.SpotOrderState == Enums.SpotOrderState.Rejected || @@ -111,6 +112,7 @@ namespace Binance.TradeRobot.Business //还币 var apiClient = GetBaseAPIClient(robot.ExchangeId, robot.ExchangeAPIKey.AccountId, robot.ExchangeAPIKey.APIKey, robot.ExchangeAPIKey.SecretKey); interest = apiClient.IsolatedMarginRepay(robot.Symbol, loanAmount); + logList[0].Content = $"{logList[0].Content},借币金额:{loanAmount},还币利息:{interest}"; } @@ -129,6 +131,9 @@ namespace Binance.TradeRobot.Business .SetIf(profit > 0M, ra => ra.WinCount + 1) .SetIf(interest > 0M, ra => ra.LoanAmount - loanAmount); + if (profit > 0) //盈利复投 + updateD21Policy = fsql.Update(robot.D21Policy.Id).Set(p => p.Position + profit); + var capitalChangeType = profit > 0M ? Enums.CapitalChangeType.Add : Enums.CapitalChangeType.Reduce; var userList = userBusiness.GetUserList(multiplyBy100: false); foreach (var user in userList) @@ -164,6 +169,7 @@ namespace Binance.TradeRobot.Business fsql.Insert(logList).ExecuteAffrows(); updateSpotOrder.ExecuteAffrows(); updateRobotAccount?.ExecuteAffrows(); + updateD21Policy?.ExecuteAffrows(); if (insertUserAccountProfitLossRecordList != null && insertUserAccountProfitLossRecordList.Count() > 0) fsql.Insert(insertUserAccountProfitLossRecordList).ExecuteAffrows(); if (updateUserList != null && updateUserList.Count() > 0) diff --git a/SDKAdapter/WebSockets/Order/Spot/BinanceSpotOrderWebSocketClient.cs b/SDKAdapter/WebSockets/Order/Spot/BinanceSpotOrderWebSocketClient.cs index aba61b2..d956ca3 100644 --- a/SDKAdapter/WebSockets/Order/Spot/BinanceSpotOrderWebSocketClient.cs +++ b/SDKAdapter/WebSockets/Order/Spot/BinanceSpotOrderWebSocketClient.cs @@ -151,7 +151,7 @@ namespace SDKAdapter.WebSockets.Order.Spot LastTradeAmount = e.Data.LastQuoteQuantity, LastTradePrice = e.Data.LastPriceFilled, LastTradeQuantity = e.Data.LastQuantityFilled, - LastTradeTime = e.Data.UpdateTime, + LastTradeTime = e.Data.UpdateTime.AddHours(8), CreateTime = e.Data.CreateTime, LoggerName = logger.Name, RejectedReason = e.Data.RejectReason.ToString()