using YLErp.Modules.TradeRiskCalcModule; using YLErp.Jobs.Configs; namespace YLErp.Jobs.Imp { /// /// 实时风险计算 /// 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(); AppContext.SetSwitch("场内实时持仓API", true); break; } TradeRiskCalcTaskRunner.Execute(voltypes); } catch (Exception ex) { LogFactory.GetLogger().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 } }