From ccc44c0f5715414629a8e94678918829d48712f8 Mon Sep 17 00:00:00 2001 From: vlad zverzhkhovskiy Date: Thu, 4 Sep 2025 23:02:49 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B0=D0=BB=D0=B3=D0=BE=D1=80=D0=B8=D1=82?= =?UTF-8?q?=D0=BC=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BD=D1=8F=D1=82=D0=B8=D1=8F?= =?UTF-8?q?=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KLHZ.Trader.Core/Exchange/Services/Trader.cs | 13 +++++++------ KLHZ.Trader.Service/appsettings.json | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/KLHZ.Trader.Core/Exchange/Services/Trader.cs b/KLHZ.Trader.Core/Exchange/Services/Trader.cs index f3dc518..d33e40f 100644 --- a/KLHZ.Trader.Core/Exchange/Services/Trader.cs +++ b/KLHZ.Trader.Core/Exchange/Services/Trader.cs @@ -133,7 +133,9 @@ namespace KLHZ.Trader.Core.Exchange.Services DeferredLongOpens.TryGetValue(message.Figi, out longOpen); if (longOpen != null) { - if (longOpen.Time <= (message.IsHistoricalData ? message.Time : DateTime.UtcNow)) + var t = message.IsHistoricalData ? message.Time : DateTime.UtcNow; + if (longOpen.Time <= t + && t - longOpen.Time < TimeSpan.FromMinutes(3)) { DeferredLongOpens.TryRemove(message.Figi, out _); if (message.Value - longOpen.Price < 1) @@ -178,13 +180,12 @@ namespace KLHZ.Trader.Core.Exchange.Services var resultMoveAvFull = MovingAverage.CheckByWindowAverageMean(data.timestamps, data.prices, windowMaxSize, 45, 180, 2.5m); var resultLongClose = MovingAverage.CheckByWindowAverageMean(data.timestamps, data.prices, windowMaxSize, 15, 120, 2.5m).events; - var uptrendStarts = LocalTrends.CheckByLocalTrends(data.timestamps, data.prices, TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(7), 1.5m, 3); - var uptrendStarts2 = LocalTrends.CheckByLocalTrends(data.timestamps, data.prices, TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(3), 1.5m, 2); - var downtrendEnds = LocalTrends.CheckByLocalTrends(data.timestamps, data.prices, TimeSpan.FromSeconds(120), TimeSpan.FromSeconds(10), 1.5m, 5); + var uptrendStarts = LocalTrends.CheckByLocalTrends(data.timestamps, data.prices, TimeSpan.FromSeconds(120), TimeSpan.FromSeconds(15), 2m, 10); + //var uptrendStarts2 = LocalTrends.CheckByLocalTrends(data.timestamps, data.prices, TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(3), 1.5m, 2); - res |= uptrendStarts; - res |= uptrendStarts2; + res |= (uptrendStarts & TradingEvent.UptrendStart); + //res |= (uptrendStarts2 & TradingEvent.UptrendStart); //res |= downtrendEnds; res |= resultLongClose; res |= resultMoveAvFull.events; diff --git a/KLHZ.Trader.Service/appsettings.json b/KLHZ.Trader.Service/appsettings.json index 58199d7..0da5351 100644 --- a/KLHZ.Trader.Service/appsettings.json +++ b/KLHZ.Trader.Service/appsettings.json @@ -12,7 +12,7 @@ "ExchangeDataRecievingEnabled": true, "Token": "", "ManagingAccountNamePatterns": [ "автотрейд 1" ], - "DataRecievingInstrumentsFigis": [ "BBG004730N88", "FUTIMOEXF000", "FUTGMKN09250", "FUTBR1025000", "FUTNG0925000" ], + "DataRecievingInstrumentsFigis": [ "BBG004730N88", "FUTIMOEXF000", "FUTGMKN09250", "FUTBR1025000", "FUTNG0925000", "FUTNASD09250" ], "TradingInstrumentsFigis": [ "FUTIMOEXF000" ], "FutureComission": 0.0025, "ShareComission": 0.0004,