Periods -> Period, DataSource attribute

This commit is contained in:
Miha Kralj
2024-11-08 17:11:18 -08:00
parent 61a16bd5e3
commit 5bcdf8d614
75 changed files with 370 additions and 1053 deletions
+7 -18
View File
@@ -5,21 +5,10 @@ namespace QuanTAlib;
public class SinemaIndicator : Indicator, IWatchlistIndicator
{
[InputParameter("Periods", sortIndex: 1, 1, 1000, 1, 0)]
public int Periods { get; set; } = 14;
[InputParameter("Period", sortIndex: 1, 1, 1000, 1, 0)]
public int Period { get; set; } = 14;
[InputParameter("Data source", sortIndex: 2, variants: [
"Open", SourceType.Open,
"High", SourceType.High,
"Low", SourceType.Low,
"Close", SourceType.Close,
"HL/2 (Median)", SourceType.HL2,
"OC/2 (Midpoint)", SourceType.OC2,
"OHL/3 (Mean)", SourceType.OHL3,
"HLC/3 (Typical)", SourceType.HLC3,
"OHLC/4 (Average)", SourceType.OHLC4,
"HLCC/4 (Weighted)", SourceType.HLCC4
])]
[IndicatorExtensions.DataSourceInput]
public SourceType Source { get; set; } = SourceType.Close;
[InputParameter("Show cold values", sortIndex: 21)]
@@ -28,10 +17,10 @@ public class SinemaIndicator : Indicator, IWatchlistIndicator
private Sinema? ma;
protected LineSeries? Series;
protected string? SourceName;
public int MinHistoryDepths => Periods;
public int MinHistoryDepths => Period;
int IWatchlistIndicator.MinHistoryDepths => MinHistoryDepths;
public override string ShortName => $"SINEMA {Periods}:{SourceName}";
public override string ShortName => $"SINEMA {Period}:{SourceName}";
public SinemaIndicator()
{
@@ -40,13 +29,13 @@ public class SinemaIndicator : Indicator, IWatchlistIndicator
SourceName = Source.ToString();
Name = "SINEMA - Sine-Weighted Moving Average";
Description = "Sine-Weighted Moving Average";
Series = new(name: $"SINEMA {Periods}", color: IndicatorExtensions.Averages, width: 2, style: LineStyle.Solid);
Series = new(name: $"SINEMA {Period}", color: IndicatorExtensions.Averages, width: 2, style: LineStyle.Solid);
AddLineSeries(Series);
}
protected override void OnInit()
{
ma = new Sinema(Periods);
ma = new Sinema(Period);
SourceName = Source.ToString();
base.OnInit();
}