void UnbindBacktestEngine(ref BacktestEngine _engine) { try { _engine.SendEngineDebugEvent -= _backtestengine_SendEngineDebugEvent; _engine.SendEngineStatusEvent -= _backtestengine_SendEngineStatusEvent; _engine.GotFillEvent -= _backtestengine_GotFillEvent; _engine.GotIndicatorEvent -= _backtestengine_GotIndicatorEvent; _engine.GotOrderEvent -= _backtestengine_GotOrderEvent; _engine.GotTickEvent -= _backtestengine_GotTickEvent; _engine.SendPlayCompleteEvent -= _backtestengine_SendPlayCompleteEvent; _engine.SendPlayProgressEvent -= _backtestengine_SendPlayProgressEvent; } catch { } }
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; } }