Files
Finlytic/FinlyticBot/Util/SettingKeys.cs
T

37 lines
2.1 KiB
C#

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