using System.Collections.Generic; using FinlyticCore.Dtos.TechnicalAnalysis; namespace FinlyticTechnicals.Strategies; /// /// Strategy contract for evaluating technical context, indicators, and detected patterns to produce structured trading setups with an ExitPlan. /// public interface ITechnicalStrategy { string StrategyKey { get; } string StrategyName { get; } int Priority { get; } /// /// Checks if this strategy is applicable in the current market regime. /// bool IsApplicable(MarketRegime regime); /// /// Evaluates technical context and active patterns to generate a StrategyResultDto or null. /// StrategyResultDto? Evaluate(TechnicalContext context, IReadOnlyList activePatterns); }