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