添加IMarketDataService接口及实现,支持获取股票和加密货币的实时价格及历史数据 添加MarketDTO定义市场价格和历史数据结构 添加Alpaca.Markets和Microsoft.Extensions.Logging.Abstractions依赖包 在Program.cs中注册MarketDataService服务
41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
using AssetManager.Models.DTOs;
|
|
|
|
namespace AssetManager.Infrastructure.Services;
|
|
|
|
/// <summary>
|
|
/// 市场数据服务接口
|
|
/// </summary>
|
|
public interface IMarketDataService
|
|
{
|
|
/// <summary>
|
|
/// 获取股票实时价格
|
|
/// </summary>
|
|
/// <param name="symbol">股票代码</param>
|
|
/// <returns>股票价格信息</returns>
|
|
Task<MarketPriceResponse> GetStockPriceAsync(string symbol);
|
|
|
|
/// <summary>
|
|
/// 获取加密货币实时价格
|
|
/// </summary>
|
|
/// <param name="symbol">加密货币代码</param>
|
|
/// <returns>加密货币价格信息</returns>
|
|
Task<MarketPriceResponse> GetCryptoPriceAsync(string symbol);
|
|
|
|
/// <summary>
|
|
/// 获取股票历史数据
|
|
/// </summary>
|
|
/// <param name="symbol">股票代码</param>
|
|
/// <param name="timeframe">时间周期</param>
|
|
/// <param name="limit">数据点数量</param>
|
|
/// <returns>历史数据列表</returns>
|
|
Task<List<MarketDataResponse>> GetStockHistoricalDataAsync(string symbol, string timeframe, int limit);
|
|
|
|
/// <summary>
|
|
/// 获取加密货币历史数据
|
|
/// </summary>
|
|
/// <param name="symbol">加密货币代码</param>
|
|
/// <param name="timeframe">时间周期</param>
|
|
/// <param name="limit">数据点数量</param>
|
|
/// <returns>历史数据列表</returns>
|
|
Task<List<MarketDataResponse>> GetCryptoHistoricalDataAsync(string symbol, string timeframe, int limit);
|
|
} |