using FinlyticCore.Models.Settings; namespace FinlyticBot.Util; public static class SettingKeys { // --- Logging-Kanäle --- public static readonly SettingKey BotChannel = new("Logging.Channel.Bot", true); public static readonly SettingKey MqttChannel = new("Logging.Channel.MQTT", true); public static readonly SettingKey HealthPingChannel = new("Logging.Channel.Health", true); // --- Master Bot Control --- public static readonly SettingKey IsEnabled = new("Bot.IsEnabled", false); // --- Filter & Zulassungskriterien --- public static readonly SettingKey MinCrv = new("Bot.MinCrv", 1.50); public static readonly SettingKey MinWinRate = new("Bot.MinWinRate", 65.0); public static readonly SettingKey MaxVixThreshold = new("Bot.MaxVixThreshold", 25.0); public static readonly SettingKey MaxEntryDeviationPercent = new("Bot.MaxEntryDeviationPercent", 0.75); // --- Risiko-Management & Positionsgrößen --- public static readonly SettingKey RiskPerTradePercent = new("Bot.RiskPerTradePercent", 1.0); public static readonly SettingKey MaxSinglePositionCap = new("Bot.MaxSinglePositionCap", 5000.0); public static readonly SettingKey MaxOpenTrades = new("Bot.MaxOpenTrades", 5); public static readonly SettingKey DailyLossLimitPercent = new("Bot.DailyLossLimitPercent", 3.0); public static readonly SettingKey MaxConsecutiveLosses = new("Bot.MaxConsecutiveLosses", 3); // --- Order Execution Strategie --- public static readonly SettingKey TakeProfitMode = new("Bot.TakeProfitMode", "Split50_50"); // "TP1_Only", "TP2_Only", "Split50_50" public static readonly SettingKey ExecutionOrderType = new("Bot.ExecutionOrderType", "Limit"); // "Limit", "Market" // --- Alpaca API Konfiguration (Optional live im UI überschreibbar) --- public static readonly SettingKey AlpacaKeyId = new("Alpaca.KeyId", ""); public static readonly SettingKey AlpacaSecretKey = new("Alpaca.SecretKey", ""); public static readonly SettingKey AlpacaIsPaper = new("Alpaca.IsPaper", true); }