Remove candle from backtest return + fix message when good backtest

This commit is contained in:
2025-11-14 20:49:02 +07:00
parent b4005a2d1e
commit 6d661f459e
7 changed files with 30 additions and 69 deletions

View File

@@ -2,7 +2,6 @@
using System.ComponentModel.DataAnnotations;
using Exilion.TradingAtomics;
using Managing.Domain.Bots;
using Managing.Domain.Candles;
using Managing.Domain.Indicators;
using Managing.Domain.Trades;
using Managing.Domain.Users;
@@ -14,26 +13,12 @@ public class Backtest
public Backtest(
TradingBotConfig config,
Dictionary<Guid, Position> positions,
Dictionary<string, LightSignal> signals,
HashSet<Candle> candles = null)
Dictionary<string, LightSignal> signals)
{
Config = config;
Positions = positions;
Signals = signals;
Candles = candles != null ? candles : new HashSet<Candle>();
WalletBalances = new List<KeyValuePair<DateTime, decimal>>();
// Initialize start and end dates if candles are provided
if (candles != null && candles.Count > 0)
{
StartDate = candles.Min(c => c.Date);
EndDate = candles.Max(c => c.Date);
}
else
{
StartDate = DateTime.UtcNow.AddDays(-30);
EndDate = DateTime.UtcNow;
}
}
[Required] public string Id { get; set; }
@@ -44,7 +29,6 @@ public class Backtest
[Required] public TradingBotConfig Config { get; }
[Required] public Dictionary<Guid, Position> Positions { get; }
[Required] public Dictionary<string, LightSignal> Signals { get; }
[Required] public HashSet<Candle> Candles { get; set; }
[Required] public DateTime StartDate { get; set; }
[Required] public DateTime EndDate { get; set; }
[Required] public PerformanceMetrics Statistics { get; set; }