using System;
using System.Collections.Generic;

namespace NT8.Core.Common.Models
{
    /// <summary>
    /// Strategy metadata - describes strategy capabilities and requirements
    /// </summary>
    public class StrategyMetadata
    {
        /// <summary>
        /// Strategy name
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Strategy description
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// Strategy version
        /// </summary>
        public string Version { get; set; }

        /// <summary>
        /// Strategy author
        /// </summary>
        public string Author { get; set; }

        /// <summary>
        /// Supported symbols
        /// </summary>
        public string[] Symbols { get; set; }

        /// <summary>
        /// Required historical bars
        /// </summary>
        public int RequiredBars { get; set; }

        /// <summary>
        /// Constructor for StrategyMetadata
        /// </summary>
        public StrategyMetadata(
            string name,
            string description,
            string version,
            string author,
            string[] symbols,
            int requiredBars)
        {
            Name = name;
            Description = description;
            Version = version;
            Author = author;
            Symbols = symbols;
            RequiredBars = requiredBars;
        }
    }
}