using FinlyticCore.Models.Settings; namespace FinlyticBot.Settings; public static class BotSettingKeys { // --- Logging Channels --- public static readonly SettingKey HealthPingChannel = new("Logging.Channel.Health", true); public static readonly SettingKey MqttChannel = new("Logging.Channel.MQTT", true); public static readonly SettingKey BotChannel = new("Logging.Channel.Bot", true); public static readonly SettingKey AlpacaChannel = new("Logging.Channel.Alpaca", true); public static readonly SettingKey LedgerChannel = new("Logging.Channel.Ledger", true); public static readonly SettingKey LifecycleChannel = new("Logging.Channel.Lifecycle", true); // --- Alpaca Credentials (Admin Panel konfigurierbar) --- 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); // --- Risk & Dynamic Sizing Rules (1-2% Regel) --- public static readonly SettingKey EnableAutoExecution = new("Bot.EnableAutoExecution", true); public static readonly SettingKey RiskPerTradePercent = new("Bot.RiskPerTradePercent", 1.0m); // Standard 1.0% (1-2% Regel) public static readonly SettingKey MaxPositionAllocationPercent = new("Bot.MaxPositionAllocationPercent", 20.0m); // Max 20% des Gesamtkapitals pro Position public static readonly SettingKey MaxConcurrentPositions = new("Bot.MaxConcurrentPositions", 5); public static readonly SettingKey DailyLossLimitPercent = new("Bot.DailyLossLimitPercent", 3.0m); public static readonly SettingKey MonitoringIntervalSeconds = new("Bot.MonitoringIntervalSeconds", 15); // --- Synthetic Paper Broker: Startkapital des internen Ledgers (EUR) --- public static readonly SettingKey SyntheticBaseCapitalEur = new("Bot.SyntheticBaseCapitalEur", 50000.0m); }