corrections

This commit is contained in:
Miha Kralj
2024-10-13 17:18:31 -07:00
parent 2236f5f483
commit bbefc72d73
65 changed files with 669 additions and 1087 deletions
+17 -4
View File
@@ -6,9 +6,11 @@ namespace QuanTAlib;
public class EmaIndicator : Indicator, IWatchlistIndicator
{
[InputParameter("Periods", sortIndex: 1, 1, 1000, 1, 0)]
public int Periods { get; set; } = 14;
public int Periods { get; set; } = 10;
[InputParameter("Use SMA for warmup period", sortIndex: 2)]
public bool UseSMA { get; set; } = false;
[InputParameter("Data source", sortIndex: 2, variants: [
[InputParameter("Data source", sortIndex: 3, variants: [
"Open", SourceType.Open,
"High", SourceType.High,
"Low", SourceType.Low,
@@ -22,12 +24,17 @@ public class EmaIndicator : Indicator, IWatchlistIndicator
])]
public SourceType Source { get; set; } = SourceType.Close;
[InputParameter("Show cold values", sortIndex: 21)]
public bool ShowColdValues { get; set; } = true;
private Ema? ma;
protected LineSeries? Series;
protected string? SourceName;
public int MinHistoryDepths => Periods;
int IWatchlistIndicator.MinHistoryDepths => MinHistoryDepths;
public override string ShortName => $"EMA {Periods}:{SourceName}";
public EmaIndicator()
{
OnBackGround = true;
@@ -41,7 +48,7 @@ public class EmaIndicator : Indicator, IWatchlistIndicator
protected override void OnInit()
{
ma = new Ema(Periods);
ma = new Ema(Periods, useSma: UseSMA);
SourceName = Source.ToString();
base.OnInit();
}
@@ -52,7 +59,13 @@ public class EmaIndicator : Indicator, IWatchlistIndicator
TValue result = ma!.Calc(input);
Series!.SetValue(result.Value);
Series!.SetMarker(0, Color.Transparent); //OnPaintChart draws the line, hidden here
}
public override string ShortName => $"EMA {Periods}:{SourceName}";
public override void OnPaintChart(PaintChartEventArgs args)
{
base.OnPaintChart(args);
this.PaintSmoothCurve(args, Series!, ma!.WarmupPeriod, showColdValues: ShowColdValues, tension: 0.2);
this.DrawText(args, Description);
}
}