AssetManager.UniApp/AssetManager/AssetManager.API/AssetManager.Infrastructure/StrategyEngine/IStrategyCalculator.cs

27 lines
740 B
C#

using AssetManager.Data;
using AssetManager.Models.DTOs;
namespace AssetManager.Infrastructure.StrategyEngine;
/// <summary>
/// 策略计算器接口
/// </summary>
public interface IStrategyCalculator
{
/// <summary>
/// 策略类型标识
/// </summary>
string StrategyType { get; }
/// <summary>
/// 计算策略信号
/// </summary>
/// <param name="configJson">策略配置JSON</param>
/// <param name="positions">持仓列表</param>
/// <param name="cancellationToken">取消令牌</param>
/// <returns>策略信号</returns>
Task<StrategySignal> CalculateAsync(
string configJson,
List<Position> positions,
CancellationToken cancellationToken = default);
}