docker files fixes from liaqat

This commit is contained in:
alirehmani
2024-05-03 16:39:25 +05:00
commit 464a8730e8
587 changed files with 44288 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
using Managing.Common;
using Skender.Stock.Indicators;
using System.ComponentModel.DataAnnotations;
namespace Managing.Domain.Candles
{
public class Candle : IQuote
{
[Required]
public Enums.TradingExchanges Exchange { get; set; }
[Required]
public string Ticker { get; set; }
[Required]
public DateTime OpenTime { get; set; }
[Required]
public DateTime Date { get; set; }
[Required]
public decimal Open { get; set; }
[Required]
public decimal Close { get; set; }
public decimal Volume { get; }
[Required]
public decimal High { get; set; }
[Required]
public decimal Low { get; set; }
public decimal BaseVolume { get; set; }
public decimal QuoteVolume { get; set; }
public int TradeCount { get; set; }
public decimal TakerBuyBaseVolume { get; set; }
public decimal TakerBuyQuoteVolume { get; set; }
[Required]
public Enums.Timeframe Timeframe { get; set; }
}
}

View 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()
};
}
}