* Start building with orlean

* Add missing file

* Serialize grain state

* Remove grain and proxies

* update and add plan

* Update a bit

* Fix backtest grain

* Fix backtest grain

* Clean a bit
This commit is contained in:
Oda
2025-07-30 11:03:30 +02:00
committed by GitHub
parent d281d7cd02
commit 3de8b5e00e
59 changed files with 2626 additions and 677 deletions

View File

@@ -776,7 +776,7 @@ public class TradingBotChromosome : ChromosomeBase
UseForPositionSizing = false,
UseForSignalFiltering = false,
UseForDynamicStopLoss = false,
Scenario = scenario,
Scenario = LightScenario.FromScenario(scenario),
MoneyManagement = mm,
RiskManagement = new RiskManagement
{
@@ -915,7 +915,7 @@ public class TradingBotFitness : IFitness
var currentGeneration = _geneticAlgorithm?.GenerationsNumber ?? 0;
// Run backtest using scoped service to avoid DbContext concurrency issues
var backtest = ServiceScopeHelpers.WithScopedService<IBacktester, Backtest>(
var lightBacktest = ServiceScopeHelpers.WithScopedService<IBacktester, LightBacktest>(
_serviceScopeFactory,
backtester => backtester.RunTradingBotBacktest(
config,
@@ -933,7 +933,7 @@ public class TradingBotFitness : IFitness
).Result;
// Calculate multi-objective fitness based on backtest results
var fitness = CalculateFitness(backtest, config);
var fitness = CalculateFitness(lightBacktest, config);
return fitness;
}
@@ -945,13 +945,13 @@ public class TradingBotFitness : IFitness
}
}
private double CalculateFitness(Backtest backtest, TradingBotConfig config)
private double CalculateFitness(LightBacktest lightBacktest, TradingBotConfig config)
{
if (backtest == null || backtest.Statistics == null)
if (lightBacktest == null)
return 0.1;
// Calculate base fitness from backtest score
var baseFitness = backtest.Score;
var baseFitness = lightBacktest.Score;
// Return base fitness (no penalty for now)
return baseFitness;