using TradingPlatform.BusinessLayer;
namespace QuanTAlib;
public class PercentileIndicator : IndicatorBase
{
    [InputParameter("Period", sortIndex: 1, 2, 2000, 1, 0)]
    public int Period { get; set; } = 20;

    [InputParameter("Percent", sortIndex: 2, 0, 100, 1, 0)]
    public double Percent { get; set; } = 50;

    private Percentile? percentile;
    protected override AbstractBase QuanTAlib => percentile!;
    public override string ShortName => $"PERCENTILE {Period} {Percent:F0}% : {SourceName}";

    public PercentileIndicator() : base()
    {
        Name = "PERCENTILE - n-th Percentile ";
        SeparateWindow = false;
    }

    protected override void InitIndicator()
    {
        percentile = new(Period, Percent);
        MinHistoryDepths = percentile.WarmupPeriod;
        base.InitIndicator();
    }

}