docker files fixes from liaqat
This commit is contained in:
71
src/Managing.Domain/Candles/CandleExtensions.cs
Normal file
71
src/Managing.Domain/Candles/CandleExtensions.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Domain.Candles;
|
||||
|
||||
public static class CandleExtensions
|
||||
{
|
||||
|
||||
public static Candle SetupClosingCandle(this Candle candle)
|
||||
{
|
||||
|
||||
return candle;
|
||||
}
|
||||
|
||||
public static DateTime GetBotPreloadSinceFromTimeframe(Timeframe timeframe)
|
||||
{
|
||||
return timeframe switch
|
||||
{
|
||||
Timeframe.FiveMinutes => DateTime.UtcNow.AddDays(-1),
|
||||
Timeframe.FifteenMinutes => DateTime.UtcNow.AddDays(-5),
|
||||
Timeframe.ThirtyMinutes => DateTime.UtcNow.AddDays(-10),
|
||||
Timeframe.OneHour => DateTime.UtcNow.AddDays(-30),
|
||||
Timeframe.FourHour => DateTime.UtcNow.AddDays(-60),
|
||||
Timeframe.OneDay => DateTime.UtcNow.AddDays(-360),
|
||||
_ => DateTime.Now.AddHours(-15),
|
||||
};
|
||||
}
|
||||
|
||||
public static DateTime GetPreloadSinceFromTimeframe(Timeframe timeframe)
|
||||
{
|
||||
return DateTime.UtcNow.AddDays(GetMinimalDays(timeframe));
|
||||
}
|
||||
|
||||
public static int GetIntervalFromTimeframe(Timeframe timeframe)
|
||||
{
|
||||
return timeframe switch
|
||||
{
|
||||
Timeframe.OneDay => 3600000, // 1h
|
||||
Timeframe.FiveMinutes => 120000, // 2min
|
||||
Timeframe.FifteenMinutes => 60000, // 1 min
|
||||
Timeframe.OneHour => 900000, // 15min
|
||||
_ => 300000, // 5min
|
||||
};
|
||||
}
|
||||
|
||||
public static int GetUnixInterval(this Timeframe timeframe)
|
||||
{
|
||||
return timeframe switch
|
||||
{
|
||||
Timeframe.OneDay => 86400,
|
||||
Timeframe.FiveMinutes => 300,
|
||||
Timeframe.FifteenMinutes => 900,
|
||||
Timeframe.FourHour => 14400,
|
||||
Timeframe.OneHour => 3600,
|
||||
_ => throw new NotImplementedException()
|
||||
};
|
||||
}
|
||||
|
||||
public static double GetMinimalDays(Timeframe timeframe)
|
||||
{
|
||||
return timeframe switch
|
||||
{
|
||||
Timeframe.FiveMinutes => -1,
|
||||
Timeframe.FifteenMinutes => -5,
|
||||
Timeframe.ThirtyMinutes => -10,
|
||||
Timeframe.OneHour => -30,
|
||||
Timeframe.FourHour => -60,
|
||||
Timeframe.OneDay => -360,
|
||||
_ => throw new NotImplementedException()
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user