From ce7cf5119e281449e089e94f08a00be8d8fbef29 Mon Sep 17 00:00:00 2001 From: vlad zverzhkhovskiy Date: Tue, 23 Sep 2025 13:24:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=BF=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KLHZ.Trader.Core/Exchange/Services/Trader.cs | 22 +++++++++---------- .../TG/Services/BotMessagesHandler.cs | 7 ++++++ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/KLHZ.Trader.Core/Exchange/Services/Trader.cs b/KLHZ.Trader.Core/Exchange/Services/Trader.cs index 2e1347f..79a7389 100644 --- a/KLHZ.Trader.Core/Exchange/Services/Trader.cs +++ b/KLHZ.Trader.Core/Exchange/Services/Trader.cs @@ -286,17 +286,17 @@ namespace KLHZ.Trader.Core.Exchange.Services var stops = GetStops(message, asset.Count > 0 ? PositionType.Long : PositionType.Short); if (!message.IsHistoricalData) { - //await account.Value.ResetStops(message.Figi, stops.stopLoss, stops.takeProfit); - //if (asset.Count < 0) - //{ - // await LogDeclision(DeclisionTradeAction.OpenShort, asset.BoughtPrice - stops.takeProfit, message.Time.AddMilliseconds(-100), message); - // await LogDeclision(DeclisionTradeAction.OpenShort, asset.BoughtPrice + stops.stopLoss, message.Time.AddMilliseconds(100), message); - //} - //else - //{ - // await LogDeclision(DeclisionTradeAction.OpenLong, asset.BoughtPrice + stops.takeProfit, message.Time.AddMilliseconds(-100), message); - // await LogDeclision(DeclisionTradeAction.OpenLong, asset.BoughtPrice - stops.stopLoss, message.Time.AddMilliseconds(100), message); - //} + await account.Value.ResetStops(message.Figi, stops.stopLoss, stops.takeProfit); + if (asset.Count < 0) + { + await LogDeclision(DeclisionTradeAction.OpenShort, asset.BoughtPrice - stops.takeProfit, message.Time.AddMilliseconds(-100), message); + await LogDeclision(DeclisionTradeAction.OpenShort, asset.BoughtPrice + stops.stopLoss, message.Time.AddMilliseconds(100), message); + } + else + { + await LogDeclision(DeclisionTradeAction.OpenLong, asset.BoughtPrice + stops.takeProfit, message.Time.AddMilliseconds(-100), message); + await LogDeclision(DeclisionTradeAction.OpenLong, asset.BoughtPrice - stops.stopLoss, message.Time.AddMilliseconds(100), message); + } } } } diff --git a/KLHZ.Trader.Core/TG/Services/BotMessagesHandler.cs b/KLHZ.Trader.Core/TG/Services/BotMessagesHandler.cs index 3ecf4ff..b534ecd 100644 --- a/KLHZ.Trader.Core/TG/Services/BotMessagesHandler.cs +++ b/KLHZ.Trader.Core/TG/Services/BotMessagesHandler.cs @@ -104,6 +104,13 @@ namespace KLHZ.Trader.Core.TG.Services await acc.OpenPosition("FUTIMOEXF000", Exchange.Models.AssetsAccounting.PositionType.Short, 4, 6, 1); break; } + case "stops": + { + var acc = _portfolioWrapper.Accounts.Values.FirstOrDefault(a => a.Assets.ContainsKey("FUTIMOEXF000")); + if (acc != null) + await acc.ResetStops("FUTIMOEXF000", 4, 4); + break; + } case "ребут": var q = Task.Run(() => {