Add Bollinger Bands Volatility Protection indicator support

- Introduced BollingerBandsVolatilityProtection indicator in GeneticService with configuration settings for period and standard deviation (stdev).
- Updated ScenarioHelpers to handle creation and validation of the new indicator type.
- Enhanced CustomScenario, backtest, and scenario pages to include BollingerBandsVolatilityProtection in indicator lists and parameter mappings.
- Modified API and types to reflect the addition of the new indicator in relevant enums and mappings.
- Updated frontend components to support new parameters and visualization for Bollinger Bands.
This commit is contained in:
2025-11-25 02:12:57 +07:00
parent 3ec1da531a
commit 6376e13b07
21 changed files with 618 additions and 220 deletions

View File

@@ -56,6 +56,11 @@ public class IndicatorRequest
/// </summary>
public double? Multiplier { get; set; }
/// <summary>
/// Standard deviation parameter for indicators like Bollinger Bands
/// </summary>
public double? StDev { get; set; }
/// <summary>
/// Smooth periods parameter
/// </summary>
@@ -70,4 +75,45 @@ public class IndicatorRequest
/// Cycle periods parameter
/// </summary>
public int? CyclePeriods { get; set; }
/// <summary>
/// K factor parameter for Stochastic Cross
/// </summary>
public double? KFactor { get; set; }
/// <summary>
/// D factor parameter for Stochastic Cross
/// </summary>
public double? DFactor { get; set; }
// Ichimoku-specific parameters
/// <summary>
/// Tenkan periods for Ichimoku
/// </summary>
public int? TenkanPeriods { get; set; }
/// <summary>
/// Kijun periods for Ichimoku
/// </summary>
public int? KijunPeriods { get; set; }
/// <summary>
/// Senkou B periods for Ichimoku
/// </summary>
public int? SenkouBPeriods { get; set; }
/// <summary>
/// Offset periods for Ichimoku
/// </summary>
public int? OffsetPeriods { get; set; }
/// <summary>
/// Senkou offset for Ichimoku
/// </summary>
public int? SenkouOffset { get; set; }
/// <summary>
/// Chikou offset for Ichimoku
/// </summary>
public int? ChikouOffset { get; set; }
}