public StrategyServer Init() { if (Interlocked.CompareExchange(ref _initialized, 1, 0) > 0) { return(this); } InstTradingRules.Init(_framework); ClosePortfolioServer(); CloseOrderServer(); var db = CreateDatabase(); _framework.PortfolioServer = new DatabasePortfolioServer(_framework, db); _framework.OrderServer = new DatabaseOrderServer(_framework, db, _instanceName); _framework.StrategyManager.Persistence = StrategyPersistence.Full; return(this); void ClosePortfolioServer() { if (_framework.PortfolioServer is DatabasePortfolioServer server) { server.Close(); } } void CloseOrderServer() { if (_framework.OrderServer is DatabaseOrderServer server) { server.Close(); } } }
public static void SetTradingRules(this Instrument inst, InstTradingRules field) { inst.Fields[QuantBoxConst.InstrumentTradingRulesOffset] = field; }