73 lines
2.1 KiB
C#
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
|
|
}
|
|
}
|