изменение равнодействующей
parent
0aad9297d9
commit
8c8327c905
|
@ -3,8 +3,10 @@
|
|||
internal static class Constants
|
||||
{
|
||||
internal const string _1minCacheKey = "1min";
|
||||
internal const string _15minSellCacheKey = "5min_sell";
|
||||
internal const string _5minSellCacheKey = "5min_sell";
|
||||
internal const string _5minBuyCacheKey = "5min_buy";
|
||||
internal const string _15minBuyCacheKey = "5min_buy";
|
||||
internal const string _1minSellCacheKey = "1min_sell";
|
||||
internal const string _1minBuyCacheKey = "1min_buy";
|
||||
|
||||
|
|
|
@ -338,6 +338,11 @@ namespace KLHZ.Trader.Core.Exchange.Services
|
|||
Time = message.Time,
|
||||
Value = (decimal)message.Count
|
||||
});
|
||||
await _tradeDataProvider.AddDataTo15MinuteWindowCache(message.Figi, Constants._15minBuyCacheKey, new Contracts.Declisions.Dtos.CachedValue()
|
||||
{
|
||||
Time = message.Time,
|
||||
Value = (decimal)message.Count
|
||||
});
|
||||
await _tradeDataProvider.AddDataTo1MinuteWindowCache(message.Figi, Constants._1minBuyCacheKey, new Contracts.Declisions.Dtos.CachedValue()
|
||||
{
|
||||
Time = message.Time,
|
||||
|
@ -351,6 +356,11 @@ namespace KLHZ.Trader.Core.Exchange.Services
|
|||
Time = message.Time,
|
||||
Value = (decimal)message.Count
|
||||
});
|
||||
await _tradeDataProvider.AddDataTo15MinuteWindowCache(message.Figi, Constants._15minSellCacheKey, new Contracts.Declisions.Dtos.CachedValue()
|
||||
{
|
||||
Time = message.Time,
|
||||
Value = (decimal)message.Count
|
||||
});
|
||||
await _tradeDataProvider.AddDataTo1MinuteWindowCache(message.Figi, Constants._1minSellCacheKey, new Contracts.Declisions.Dtos.CachedValue()
|
||||
{
|
||||
Time = message.Time,
|
||||
|
@ -531,12 +541,12 @@ namespace KLHZ.Trader.Core.Exchange.Services
|
|||
private async Task<ImmutableDictionary<TradingEvent, decimal>> GetSpeedResultantMods(INewPrice message)
|
||||
{
|
||||
var res = GetInitDict(1);
|
||||
var buys5min = await _tradeDataProvider.GetDataFrom5MinuteWindowCache(message.Figi, Constants._5minBuyCacheKey);
|
||||
var sells5min = await _tradeDataProvider.GetDataFrom5MinuteWindowCache(message.Figi, Constants._5minSellCacheKey);
|
||||
var buys5min = await _tradeDataProvider.GetDataFrom15MinuteWindowCache(message.Figi, Constants._15minBuyCacheKey);
|
||||
var sells5min = await _tradeDataProvider.GetDataFrom15MinuteWindowCache(message.Figi, Constants._15minSellCacheKey);
|
||||
var buysSpeed5min = buys5min.Sum(p => p.Value) / 300;
|
||||
var sellsSpeed5min = sells5min.Sum(p => p.Value) / 300;
|
||||
var diff5min = buysSpeed5min - sellsSpeed5min;
|
||||
await LogPrice(message, "speed_diff_5min", diff5min);
|
||||
await LogPrice(message, "speed_diff_15min", diff5min);
|
||||
|
||||
if (diff5min < 0)
|
||||
{
|
||||
|
@ -967,7 +977,7 @@ INewPrice message, int windowMaxSize, decimal uptrendStartingDetectionMeanfullSt
|
|||
}
|
||||
if (mode == TradingMode.SlowDropping && type == PositionType.Short)
|
||||
{
|
||||
takeProfitShift = 4m;
|
||||
|
||||
}
|
||||
if (mode == TradingMode.SlowDropping && type == PositionType.Long)
|
||||
{
|
||||
|
|
|
@ -146,6 +146,16 @@ namespace KLHZ.Trader.Core.Exchange.Services
|
|||
await _historyCash[figi].AddDataToTimeWindowCache(key, data, TimeWindowCacheType._5_Minutes);
|
||||
}
|
||||
|
||||
public async ValueTask AddDataTo15MinuteWindowCache(string figi, string key, CachedValue data)
|
||||
{
|
||||
if (!_historyCash.TryGetValue(figi, out var unit))
|
||||
{
|
||||
unit = new PriceHistoryCacheUnit2(figi);
|
||||
_historyCash.TryAdd(figi, unit);
|
||||
}
|
||||
await _historyCash[figi].AddDataToTimeWindowCache(key, data, TimeWindowCacheType._15_Minutes);
|
||||
}
|
||||
|
||||
public ValueTask<CachedValue[]> GetDataFrom20SecondsWindowCache(string figi, string key)
|
||||
{
|
||||
if (_historyCash.TryGetValue(figi, out var cahcheItem))
|
||||
|
@ -173,6 +183,15 @@ namespace KLHZ.Trader.Core.Exchange.Services
|
|||
return ValueTask.FromResult(Array.Empty<CachedValue>());
|
||||
}
|
||||
|
||||
public ValueTask<CachedValue[]> GetDataFrom15MinuteWindowCache(string figi, string key)
|
||||
{
|
||||
if (_historyCash.TryGetValue(figi, out var cahcheItem))
|
||||
{
|
||||
return cahcheItem.GetDataFromTimeWindowCache(key, TimeWindowCacheType._15_Minutes);
|
||||
}
|
||||
return ValueTask.FromResult(Array.Empty<CachedValue>());
|
||||
}
|
||||
|
||||
public async ValueTask AddOrderbook(IOrderbook orderbook)
|
||||
{
|
||||
if (!_historyCash.TryGetValue(orderbook.Figi, out var unit))
|
||||
|
|
Loading…
Reference in New Issue