33 lines
1.3 KiB
C#
33 lines
1.3 KiB
C#
using KLHZ.Trader.Core.Contracts.Declisions.Dtos;
|
|
using KLHZ.Trader.Core.Contracts.Declisions.Dtos.Enums;
|
|
using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Interfaces;
|
|
|
|
namespace KLHZ.Trader.Core.Contracts.Declisions.Interfaces
|
|
{
|
|
public interface IPriceHistoryCacheUnit
|
|
{
|
|
public string Figi { get; }
|
|
public int Length { get; }
|
|
public ValueTask AddData(ITradeDataItem priceChange);
|
|
public ValueTask<(DateTime[] timestamps, decimal[] prices)> GetData(int? length = null);
|
|
public ValueTask<(DateTime[] timestamps, decimal[] prices, bool isFullIntervalExists)> GetData(TimeSpan period);
|
|
public ValueTask AddOrderbook(IOrderbook orderbook);
|
|
|
|
public ValueTask AddDataToTimeWindowCache(string key, CachedValue data, TimeWindowCacheType timeWindowCacheType);
|
|
|
|
public ValueTask<CachedValue[]> GetDataFromTimeWindowCache(string key, TimeWindowCacheType timeWindowCacheType);
|
|
|
|
/// <summary>
|
|
/// Число заявок на продаже в стакане.
|
|
/// </summary>
|
|
public decimal AsksCount { get; }
|
|
|
|
/// <summary>
|
|
/// Число заявок на покупку в стакане.
|
|
/// </summary>
|
|
public decimal BidsCount { get; }
|
|
|
|
public ValueTask<(DateTime time, decimal price)> GetLastValues();
|
|
}
|
|
}
|