Files
zszq-trs/Framework/YLErp.Jobs/Imp/TradeRiskCalcJobV2.cs
T
2024-05-09 14:06:26 +08:00

73 lines
2.1 KiB
C#

using YLErp.Modules.TradeRiskCalcModule;
using YLErp.Jobs.Configs;
namespace YLErp.Jobs.Imp
{
/// <summary>
/// 实时风险计算
/// </summary>
public class TradeRiskCalcJobV2 : BaseJob
{
TradeRiskCalcJobV2Config _tradeRiskCalcJobV2Config;
public TradeRiskCalcJobV2(TradeRiskCalcJobV2Config tradeRiskCalcJobV2Config)
{
_tradeRiskCalcJobV2Config=tradeRiskCalcJobV2Config;
}
public override Task JobImp()
{
Console.WriteLine("执行TradeRiskCalcJobV2");
try
{
var index = 0;
var voltypes = new string[3];
if (_tradeRiskCalcJobV2Config.对冲波动率.ToString() == "true")
{
voltypes[index++] = "对冲";
}
if (_tradeRiskCalcJobV2Config.持仓波动率.ToString() == "true")
{
voltypes[index++] = "持仓";
}
//为2时仅计算场内交易时忽略其它波动率类型的计算
switch (_tradeRiskCalcJobV2Config.场内实时持仓API.ToString())
{
case "1":
AppContext.SetSwitch("场内实时持仓API", true);
break;
case "2":
voltypes = Array.Empty<string>();
AppContext.SetSwitch("场内实时持仓API", true);
break;
}
TradeRiskCalcTaskRunner.Execute(voltypes);
}
catch (Exception ex)
{
LogFactory.GetLogger<TradeRiskCalcJobV2>().Error(ex);
}
return Task.CompletedTask;
}
#region JobStatus Manager
static JobStatus jobStatus = JobStatus.Init;
public override JobStatus GetJobStatus()
{
return jobStatus;
}
public override void SetJobStatus(JobStatus status)
{
jobStatus = status;
}
#endregion
}
}