diff --git a/KLHZ.Trader.Core/Exchange/Services/Trader.cs b/KLHZ.Trader.Core/Exchange/Services/Trader.cs index 2c63710..396a0a6 100644 --- a/KLHZ.Trader.Core/Exchange/Services/Trader.cs +++ b/KLHZ.Trader.Core/Exchange/Services/Trader.cs @@ -691,7 +691,7 @@ namespace KLHZ.Trader.Core.Exchange.Services if (acc.Value.Assets.TryGetValue(message.Figi, out var asset)) { var order = acc.Value.Orders.Values.FirstOrDefault(o => o.Figi == message.Figi && o.Direction == DealDirection.Sell); - if (order == null && asset.Count > 0) + if (order == null && asset.Count > 0 && await asset.Lock(TimeSpan.FromSeconds(60)) { var command = new TradeCommand() { @@ -829,7 +829,7 @@ namespace KLHZ.Trader.Core.Exchange.Services if (acc.Value.Assets.TryGetValue(message.Figi, out var asset)) { var order = acc.Value.Orders.Values.FirstOrDefault(o => o.Figi == message.Figi && o.Direction == DealDirection.Buy); - if (order == null && asset.Count < 0) + if (order == null && asset.Count < 0 && await asset.Lock(TimeSpan.FromSeconds(60))) { var command = new TradeCommand() {