示例#1
0
        public static void UpdateLeanAndComposer(string pluginsPath)
        {
            if (string.IsNullOrEmpty(pluginsPath))
            {
                QCPluginUtilities.OutputCommandString("Lean engine path is empty.", QCPluginUtilities.Severity.Error);
                composer = null;
                lean     = null;
                return;
            }

            if (lean != null && composer != null && pluginsPath == _oldPluginsPath)
            {
                return;
            }

            _oldPluginsPath = pluginsPath;
            QCPluginUtilities.OutputCommandString("Started updating Lean engine and composer...", QCPluginUtilities.Severity.Info);

            AppDomain.CurrentDomain.SetData("APPBASE", pluginsPath);
            Environment.CurrentDirectory = pluginsPath;

            QCPluginUtilities.OutputCommandString("Using ApplicationDomain: " + AppDomain.CurrentDomain.BaseDirectory, QCPluginUtilities.Severity.Info);

            lean = new LeanProxy();
            if (!string.IsNullOrEmpty(pluginsPath))
            {
                lean.LoadLibraries(pluginsPath);

                var objVal = QCPluginUtilities.dte.Properties["QuantConnect Client", "General"].Item("PluginDirectory").Value;
                lean.SetConfiguration("plugin-directory", (string)objVal);
            }
            composer = lean.CreateComposer();

            QCPluginUtilities.OutputCommandString("Finished updating Lean engine and composer...", QCPluginUtilities.Severity.Info);
        }
示例#2
0
 public static void ResetLeanAndComposer()
 {
     lean     = null;
     composer = null;
 }