- 新增 StrategySignalResponse 类(策略信号响应) - 新增 SignalAction 类(信号行动建议) - 修正 PortfolioFacade 属性名为 PascalCase
175 lines
4.2 KiB
C#
Executable File
175 lines
4.2 KiB
C#
Executable File
namespace AssetManager.Models.DTOs;
|
||
|
||
/// <summary>
|
||
/// 策略列表响应
|
||
/// </summary>
|
||
public class StrategyListResponse
|
||
{
|
||
public List<StrategyItem>? Items { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 策略项
|
||
/// </summary>
|
||
public class StrategyItem
|
||
{
|
||
public string? Id { get; set; }
|
||
public string? IconChar { get; set; }
|
||
public string? Title { get; set; }
|
||
public string? Tag { get; set; }
|
||
public string? Desc { get; set; }
|
||
public string? BgClass { get; set; }
|
||
public string? TagClass { get; set; }
|
||
public string? BtnText { get; set; }
|
||
public string? BtnClass { get; set; }
|
||
public string[]? Tags { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 策略详情
|
||
/// </summary>
|
||
public class StrategyDetail
|
||
{
|
||
public string? Id { get; set; }
|
||
public string? IconChar { get; set; }
|
||
public string? Title { get; set; }
|
||
public string? Tag { get; set; }
|
||
public string? Desc { get; set; }
|
||
public string? BgClass { get; set; }
|
||
public string? TagClass { get; set; }
|
||
public string[]? Tags { get; set; }
|
||
public string? BtnText { get; set; }
|
||
public string? BtnClass { get; set; }
|
||
public object? Parameters { get; set; }
|
||
public object? Backtest { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 策略详情响应
|
||
/// </summary>
|
||
public class StrategyDetailResponse
|
||
{
|
||
public string? Id { get; set; }
|
||
public string? IconChar { get; set; }
|
||
public string? Title { get; set; }
|
||
public string? RiskLevel { get; set; }
|
||
public string? Description { get; set; }
|
||
public List<string>? Tags { get; set; }
|
||
public List<ParameterItem>? Parameters { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 参数项
|
||
/// </summary>
|
||
public class ParameterItem
|
||
{
|
||
public string? Name { get; set; }
|
||
public string? DisplayName { get; set; }
|
||
public string? Type { get; set; }
|
||
public string? Value { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 创建策略请求
|
||
/// </summary>
|
||
public class CreateStrategyRequest
|
||
{
|
||
public string? Name { get; set; }
|
||
public string? Type { get; set; }
|
||
public string? Description { get; set; }
|
||
public string? RiskLevel { get; set; }
|
||
public List<string>? Tags { get; set; }
|
||
public object? Parameters { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 策略响应
|
||
/// </summary>
|
||
public class StrategyResponse
|
||
{
|
||
public string? Id { get; set; }
|
||
public string? Title { get; set; }
|
||
public string? Status { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 更新策略请求
|
||
/// </summary>
|
||
public class UpdateStrategyRequest
|
||
{
|
||
public string? Name { get; set; }
|
||
public string? Type { get; set; }
|
||
public string? Description { get; set; }
|
||
public string? RiskLevel { get; set; }
|
||
public List<string>? Tags { get; set; }
|
||
public object? Parameters { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除策略响应
|
||
/// </summary>
|
||
public class DeleteStrategyResponse
|
||
{
|
||
public string? Id { get; set; }
|
||
public string? Status { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 策略列表项 DTO
|
||
/// </summary>
|
||
public class StrategyListItemDto
|
||
{
|
||
public string? Id { get; set; }
|
||
public string? UserId { get; set; }
|
||
public string? Name { get; set; }
|
||
public string? Type { get; set; }
|
||
public string? Description { get; set; }
|
||
public List<string>? Tags { get; set; }
|
||
public string? RiskLevel { get; set; }
|
||
public string? Config { get; set; }
|
||
public DateTime CreatedAt { get; set; }
|
||
public DateTime UpdatedAt { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 策略信号响应
|
||
/// </summary>
|
||
public class StrategySignalResponse
|
||
{
|
||
/// <summary>
|
||
/// 信号类型:buy / sell / hold / rebalance
|
||
/// </summary>
|
||
public string? Signal { get; set; }
|
||
|
||
/// <summary>
|
||
/// 信号原因说明
|
||
/// </summary>
|
||
public string? Reason { get; set; }
|
||
|
||
/// <summary>
|
||
/// 建议操作(可选)
|
||
/// </summary>
|
||
public List<SignalAction>? Actions { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 信号行动建议
|
||
/// </summary>
|
||
public class SignalAction
|
||
{
|
||
/// <summary>
|
||
/// 股票代码
|
||
/// </summary>
|
||
public string? Symbol { get; set; }
|
||
|
||
/// <summary>
|
||
/// 行动类型:buy / sell
|
||
/// </summary>
|
||
public string? Action { get; set; }
|
||
|
||
/// <summary>
|
||
/// 目标权重或数量
|
||
/// </summary>
|
||
public double? Target { get; set; }
|
||
}
|