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; }
    }
}
