Exemple #1
0
        void CreateNewEngine(string type)
        {
            // CheckPrerequisite() is alrready done at playto
            switch (type)
            {
            case "Backtest":
            {
                // Init inidcator datatable
                InitIndicatorTable();
                _backtestengine = new BacktestEngine(_strategy, _tickfiles);
                BindBacktestEngine(ref _backtestengine);
                break;
            }

            case "Optimize":
            {
                Reset(false);
                _optimengine = new OptimizeEngine(_strategy, _tickfiles);
                break;
            }

            default:
                return;
            }
        }
Exemple #2
0
        public bool LoadStrategy()
        {
            Microsoft.Win32.OpenFileDialog openFileDialog1 = new Microsoft.Win32.OpenFileDialog();

            openFileDialog1.InitialDirectory = _rootpath + _config.StrategyPath;
            openFileDialog1.Filter           = "dll files (*.dll)|*.dll|All files (*.*)|*.*";
            openFileDialog1.Title            = "Select strategy dll";
            openFileDialog1.RestoreDirectory = true;

            Nullable <bool> result = openFileDialog1.ShowDialog();

            if (result == true)
            {
                string f = openFileDialog1.FileName;

                if (Util.isStrategyFile(f))
                {
                    // Select specifc strategy in the dll
                    BackTestWindow.UI.StrategySelectorWindow strategyselector = new BackTestWindow.UI.StrategySelectorWindow(f);
                    Nullable <bool> sresult = strategyselector.ShowDialog();

                    if (sresult == true)
                    {
                        Reset();

                        // load first strategy, ignore multi-selection
                        _dllname      = f;
                        _strategyname = strategyselector.StrategySelected[0];

                        _strategy = Util.GetSingleStrategyFromDLL(_strategyname, _dllname);
                        _strategy.Reset();
                        _strategy.SetIdTracker(_idtracker);

                        // set strategy parameters
                        BackTestWindow.UI.StrategySetterWindow strategysetter = new BackTestWindow.UI.StrategySetterWindow(_strategy);
                        sresult = strategysetter.ShowDialog();      // ignore sresult. User can assume default parameters.

                        // status
                        DllStatus(_strategyname);

                        // set up optimizable variable list
                        _optimvariablelist = OptimizeEngine.GetOptimizeable(_dllname, _strategyname);
                        OptimizerStatusUpdates("OptimVariable");
                    }
                }
            }

            bool success = CheckPrerequisite();

            return(success);
        }
Exemple #3
0
        void _optimengine_SendPlayCompleteEvent(int obj)
        {
            // get results
            _optimresultsdict = _optimengine.ResultsDict;

            // update listbox
            OptimResultsList = _optimresultsdict.Select(x => x.Key).ToList();
            OptimizerStatusUpdates("OptimResults");

            // unbind
            _optimengine.SendEngineDebugEvent  -= _backtestengine_SendEngineDebugEvent;
            _optimengine.SendEngineStatusEvent -= _backtestengine_SendEngineStatusEvent;
            _optimengine.SendPlayProgressEvent -= _optimengine_SendPlayProgressEvent;
            _optimengine.SendPlayCompleteEvent -= _optimengine_SendPlayCompleteEvent;

            _optimengine     = null;
            _createnewengine = true;        // New backtest/optimize engine are available
        }