Orlean (#32)
* 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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user