/// <summary> /// Initializes a new instance of the <see cref="QCAlgorithmFramework"/> class /// </summary> public QCAlgorithmFramework() { _securityValuesProvider = new AlgorithmSecurityValuesProvider(this); // set model defaults Execution = new ImmediateExecutionModel(); RiskManagement = new NullRiskManagementModel(); }
/// <summary> /// Initializes a new instance of the <see cref="QCAlgorithmFramework"/> class /// </summary> public QCAlgorithmFramework() { _securityValuesProvider = new AlgorithmSecurityValuesProvider(this); // set model defaults Execution = new ImmediateExecutionModel(); RiskManagement = new NullRiskManagementModel(); // set generated and close times on all insights InsightsGenerated += (algorithm, data) => { foreach (var insight in data.Insights) { SetGeneratedAndClosedTimes(insight); } }; }
/// <summary> /// Adds a new risk management model /// </summary> /// <param name="riskManagement">Model defining how risk is managed to add</param> public void AddRiskManagement(IRiskManagementModel riskManagement) { if (RiskManagement.GetType() != typeof(NullRiskManagementModel)) { var compositeRiskModel = RiskManagement as CompositeRiskManagementModel; if (compositeRiskModel != null) { compositeRiskModel.AddRiskManagement(riskManagement); } else { RiskManagement = new CompositeRiskManagementModel(RiskManagement, riskManagement); } } else { RiskManagement = riskManagement; } }
/// <summary> /// Initializes a new instance of the <see cref="QCAlgorithmFramework"/> class /// </summary> public QCAlgorithmFramework() { // set model defaults Execution = new ImmediateExecutionModel(); RiskManagement = new NullRiskManagementModel(); }
/// <summary> /// Sets the risk management model /// </summary> /// <param name="riskManagement">Model defining </param> public void SetRiskManagement(IRiskManagementModel riskManagement) { RiskManagement = riskManagement; }
/// <summary> /// Adds a new <see cref="IRiskManagementModel"/> instance /// </summary> /// <param name="riskManagementModel">The risk management model to add</param> public void AddRiskManagement(IRiskManagementModel riskManagementModel) { _riskManagementModels.Add(riskManagementModel); }