refactor(bot): update paper trading models, broker integration, background services, and test project

This commit is contained in:
2026-08-24 21:37:10 +02:00
parent 5c95dd182c
commit 7060f0f7b1
32 changed files with 1904 additions and 1477 deletions
+30
View File
@@ -0,0 +1,30 @@
using FinlyticCore.Models.Settings;
namespace FinlyticBot.Settings;
public static class BotSettingKeys
{
// --- Logging Channels ---
public static readonly SettingKey<bool> HealthPingChannel = new("Logging.Channel.Health", true);
public static readonly SettingKey<bool> MqttChannel = new("Logging.Channel.MQTT", true);
public static readonly SettingKey<bool> BotChannel = new("Logging.Channel.Bot", true);
public static readonly SettingKey<bool> AlpacaChannel = new("Logging.Channel.Alpaca", true);
public static readonly SettingKey<bool> LedgerChannel = new("Logging.Channel.Ledger", true);
public static readonly SettingKey<bool> LifecycleChannel = new("Logging.Channel.Lifecycle", true);
// --- Alpaca Credentials (Admin Panel konfigurierbar) ---
public static readonly SettingKey<string> AlpacaKeyId = new("Alpaca.KeyId", "");
public static readonly SettingKey<string> AlpacaSecretKey = new("Alpaca.SecretKey", "");
public static readonly SettingKey<bool> AlpacaIsPaper = new("Alpaca.IsPaper", true);
// --- Risk & Dynamic Sizing Rules (1-2% Regel) ---
public static readonly SettingKey<bool> EnableAutoExecution = new("Bot.EnableAutoExecution", true);
public static readonly SettingKey<decimal> RiskPerTradePercent = new("Bot.RiskPerTradePercent", 1.0m); // Standard 1.0% (1-2% Regel)
public static readonly SettingKey<decimal> MaxPositionAllocationPercent = new("Bot.MaxPositionAllocationPercent", 20.0m); // Max 20% des Gesamtkapitals pro Position
public static readonly SettingKey<int> MaxConcurrentPositions = new("Bot.MaxConcurrentPositions", 5);
public static readonly SettingKey<decimal> DailyLossLimitPercent = new("Bot.DailyLossLimitPercent", 3.0m);
public static readonly SettingKey<int> MonitoringIntervalSeconds = new("Bot.MonitoringIntervalSeconds", 15);
// --- Synthetic Paper Broker: Startkapital des internen Ledgers (EUR) ---
public static readonly SettingKey<decimal> SyntheticBaseCapitalEur = new("Bot.SyntheticBaseCapitalEur", 50000.0m);
}