40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace FinlyticCore.Models.Analyzer;
|
|
|
|
public class N8nAnalysisResponseDto
|
|
{
|
|
public string RequestId { get; set; } = string.Empty;
|
|
public double EvalScore { get; set; } // 0.00 to 1.00
|
|
public string AiDecision { get; set; } = "Proceed"; // "Proceed" | "Reject" | "Hold"
|
|
public string SuggestedDirection { get; set; } = "Long"; // "Long" | "Short"
|
|
public string AiReasoning { get; set; } = string.Empty;
|
|
public string SuggestedTimeframe { get; set; } = "Intraday"; // "Scalp" | "Intraday" | "Swing"
|
|
public string SuggestedRisk { get; set; } = "Medium"; // "Low" | "Medium" | "High"
|
|
|
|
public ExecutionPlanInfo? ExecutionPlan { get; set; }
|
|
public DetailedAnalysisInfo? DetailedAnalysis { get; set; }
|
|
}
|
|
|
|
public class ExecutionPlanInfo
|
|
{
|
|
public EntryZoneInfo? EntryZone { get; set; }
|
|
public decimal StopLoss { get; set; }
|
|
public List<decimal>? TakeProfitTargets { get; set; }
|
|
public decimal RiskRewardRatio { get; set; }
|
|
public decimal MaxLeverage { get; set; }
|
|
}
|
|
|
|
public class EntryZoneInfo
|
|
{
|
|
public decimal Min { get; set; }
|
|
public decimal Max { get; set; }
|
|
}
|
|
|
|
public class DetailedAnalysisInfo
|
|
{
|
|
public string TechnicalRationale { get; set; } = string.Empty;
|
|
public string FundamentalRationale { get; set; } = string.Empty;
|
|
public string RiskWarning { get; set; } = string.Empty;
|
|
}
|