public CSharpCompiler()
        {
            var checker = new DotNetVersionChecker();

            codeProvider = checker.IsDonNet35Installed()
                               ? new CSharpCodeProvider(new Dictionary <String, String> {
                { "CompilerVersion", "v3.5" }
            })
                               : new CSharpCodeProvider();

            compilerParameters = new CompilerParameters();
        }
        private void LoadCustomIndicators()
        {
            if (!Configs.LoadCustomIndicators)
            {
                IndicatorManager.CombineAllIndicators();
                return;
            }

            UpdateStatusLabel("- loading custom indicators...");

            try
            {
                CustomIndicators.LoadCustomIndicators();
            }
            catch (Exception e)
            {
                var    checker = new DotNetVersionChecker();
                bool   isNet35 = checker.IsDonNet35Installed();
                string msg;

                if (isNet35)
                {
                    msg = e.Message;
                    if (e.InnerException != null && e.InnerException.Message != "")
                    {
                        msg += Environment.NewLine + e.InnerException.Message;
                    }
                }
                else
                {
                    msg = "FST cannot compile the custom indicators." + Environment.NewLine +
                          "Please install .NET 3.5 or newer and try again.";
                }

                MessageBox.Show(msg, "Loading Custom Indicators",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }

            if (Configs.ShowCustomIndicators)
            {
                CustomIndicators.ShowLoadedCustomIndicators();
            }
        }