using FinlyticCore.Models.Settings; namespace FinlyticAnalyzer.Util; public static class SettingKeys { // --- Logging-Kanäle --- public static readonly SettingKey AnalyzerChannel = new("Logging.Channel.Analyzer", true); public static readonly SettingKey MqttChannel = new("Logging.Channel.MQTT", true); public static readonly SettingKey HealthPingChannel = new("Logging.Channel.Health", true); // --- Makro & VIX Schwellenwerte --- public static readonly SettingKey VixPanicThreshold = new("Macro.VixPanicThreshold", 28.0); public static readonly SettingKey VixElevatedThreshold = new("Macro.VixElevatedThreshold", 20.0); public static readonly SettingKey VixPollIntervalSeconds = new("Macro.VixPollIntervalSeconds", 60); // --- Filter & Winrate-Logik --- public static readonly SettingKey MinWinRateThreshold = new("Filter.MinWinRateThreshold", 60.0); public static readonly SettingKey WeightMacro = new("Filter.WeightMacro", 0.30); public static readonly SettingKey WeightFundamental = new("Filter.WeightFundamental", 0.30); public static readonly SettingKey WeightSentiment = new("Filter.WeightSentiment", 0.20); public static readonly SettingKey WeightTechnical = new("Filter.WeightTechnical", 0.20); // --- Trade & Risiko-Parameter --- public static readonly SettingKey DefaultTakeProfitPercent = new("Trade.DefaultTakeProfitPercent", 15.0); public static readonly SettingKey DefaultStopLossPercent = new("Trade.DefaultStopLossPercent", 5.0); public static readonly SettingKey MaxAllowedLeverage = new("Trade.MaxAllowedLeverage", 10); public static readonly SettingKey MaxRiskPerTradePercent = new("Trade.MaxRiskPerTradePercent", 2.0); public static readonly SettingKey ProposalValidityHours = new("Trade.ProposalValidityHours", 24); }