diff --git a/KLHZ.Trader.Core/DataLayer/Entities/Declisions/Enums/DeclisionTradeAction.cs b/KLHZ.Trader.Core/DataLayer/Entities/Declisions/Enums/DeclisionTradeAction.cs index 49255be..b09e574 100644 --- a/KLHZ.Trader.Core/DataLayer/Entities/Declisions/Enums/DeclisionTradeAction.cs +++ b/KLHZ.Trader.Core/DataLayer/Entities/Declisions/Enums/DeclisionTradeAction.cs @@ -6,7 +6,9 @@ StopBuy = 1, StopBuyShortTime = 2, OpenLong = 100, + OpenLongReal = 101, CloseLong = 200, + CloseLongReal = 201, OpenShort = 300, CloseShort = 400, } diff --git a/KLHZ.Trader.Core/Exchange/Services/Trader.cs b/KLHZ.Trader.Core/Exchange/Services/Trader.cs index 09e0370..04160c0 100644 --- a/KLHZ.Trader.Core/Exchange/Services/Trader.cs +++ b/KLHZ.Trader.Core/Exchange/Services/Trader.cs @@ -187,6 +187,7 @@ namespace KLHZ.Trader.Core.Exchange.Services var accounts = _tradeDataProvider.Accounts .Where(a => !a.Value.Assets.ContainsKey(message.Figi)) .ToArray(); + var loggedDeclisions = 0; foreach (var acc in accounts) { if (IsBuyAllowed(acc.Value, message.Value, 1, _accountCashPartFutures, _accountCashPart)) @@ -201,16 +202,16 @@ namespace KLHZ.Trader.Core.Exchange.Services Count = 1, RecomendPrice = null, }); + if (loggedDeclisions == 0) + { + await LogDeclision(DeclisionTradeAction.OpenLongReal, message); + loggedDeclisions++; + } } - - await LogDeclision(DeclisionTradeAction.OpenLong, message); } } } - else - { - await LogDeclision(DeclisionTradeAction.OpenLong, message); - } + await LogDeclision(DeclisionTradeAction.OpenLong, message); } } } @@ -218,6 +219,7 @@ namespace KLHZ.Trader.Core.Exchange.Services if ((res & TradingEvent.UptrendEnd) == TradingEvent.UptrendEnd) { var assetType = _tradeDataProvider.GetAssetTypeByFigi(message.Figi); + var loggedDeclisions = 0; if (!message.IsHistoricalData && BotModeSwitcher.CanSell()) { var assetsForClose = _tradeDataProvider.Accounts @@ -248,14 +250,15 @@ namespace KLHZ.Trader.Core.Exchange.Services Count = (long)asset.Count, RecomendPrice = null, }); - await LogDeclision(DeclisionTradeAction.CloseLong, message, profit); + if (loggedDeclisions == 0) + { + loggedDeclisions++; + await LogDeclision(DeclisionTradeAction.CloseLongReal, message, profit); + } } } } - else - { - await LogDeclision(DeclisionTradeAction.CloseLong, message); - } + await LogDeclision(DeclisionTradeAction.CloseLong, message); } } diff --git a/KLHZ.Trader.Service/Controllers/PlayController.cs b/KLHZ.Trader.Service/Controllers/PlayController.cs index 1d4c43f..5c6b924 100644 --- a/KLHZ.Trader.Service/Controllers/PlayController.cs +++ b/KLHZ.Trader.Service/Controllers/PlayController.cs @@ -25,7 +25,7 @@ namespace KLHZ.Trader.Service.Controllers { try { - var time = DateTime.UtcNow.AddDays(-40); + var time = DateTime.UtcNow.AddMinutes(-40); using var context1 = await _dbContextFactory.CreateDbContextAsync(); context1.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; var data = await context1.PriceChanges