This commit is contained in:
Miha Kralj
2024-10-04 21:31:25 -07:00
parent 99a3785d72
commit 30d93e724d
10 changed files with 413 additions and 1 deletions
@@ -0,0 +1,28 @@
using TradingPlatform.BusinessLayer;
namespace QuanTAlib;
public class HistoricalIndicator : IndicatorBase
{
[InputParameter("Period", sortIndex: 1, 1, 2000, 1, 0)]
public int Period { get; set; } = 20;
[InputParameter("Annualized", sortIndex: 2)]
public bool IsAnnualized { get; set; } = true;
private Historical? historical;
protected override AbstractBase QuanTAlib => historical!;
public override string ShortName => $"Historical Volatility {Period}{(IsAnnualized ? " - Annualized" : "")} : {SourceName}";
public HistoricalIndicator() : base()
{
Name = "HV - Historical Volatility";
SeparateWindow = true;
}
protected override void InitIndicator()
{
historical = new(Period, IsAnnualized);
MinHistoryDepths = historical.WarmupPeriod;
base.InitIndicator();
}
}
+28
View File
@@ -0,0 +1,28 @@
using TradingPlatform.BusinessLayer;
namespace QuanTAlib;
public class RealizedIndicator : IndicatorBase
{
[InputParameter("Period", sortIndex: 1, 1, 2000, 1, 0)]
public int Period { get; set; } = 20;
[InputParameter("Annualized", sortIndex: 2)]
public bool IsAnnualized { get; set; } = true;
private Realized? realized;
protected override AbstractBase QuanTAlib => realized!;
public override string ShortName => $"Realized Volatility {Period}{(IsAnnualized ? " - Annualized" : "")} : {SourceName}";
public RealizedIndicator() : base()
{
Name = "RV - Realized Volatility";
SeparateWindow = true;
}
protected override void InitIndicator()
{
realized = new(Period, IsAnnualized);
MinHistoryDepths = realized.WarmupPeriod;
base.InitIndicator();
}
}
+29
View File
@@ -0,0 +1,29 @@
using TradingPlatform.BusinessLayer;
namespace QuanTAlib;
public class RviIndicator : IndicatorBase
{
[InputParameter("Period", sortIndex: 1, 2, 100, 1, 0)]
public int Period { get; set; } = 10;
private Rvi? rvi;
protected override AbstractBase QuanTAlib => rvi!;
public override string ShortName => $"RVI {Period} : {SourceName}";
public RviIndicator() : base()
{
Name = "RVI - Relative Volatility Index";
SeparateWindow = true;
// Adding upper and lower reference lines
//AddLineSeries("UpperLevel", 80, System.Drawing.Color.Gray, 1, LineStyle.Dot);
//AddLineSeries("LowerLevel", 20, System.Drawing.Color.Gray, 1, LineStyle.Dot);
}
protected override void InitIndicator()
{
rvi = new Rvi(Period);
MinHistoryDepths = rvi.WarmupPeriod;
base.InitIndicator();
}
}