/// <summary> /// Construct a new security vehicle based on the user options. /// </summary> public Security(SecurityExchangeHours exchangeHours, SubscriptionDataConfig config, decimal leverage) { _config = config; Cache = new SecurityCache(); Exchange = new SecurityExchange(exchangeHours); DataFilter = new SecurityDataFilter(); PortfolioModel = new SecurityPortfolioModel(); TransactionModel = new SecurityTransactionModel(); MarginModel = new SecurityMarginModel(leverage); Holdings = new SecurityHolding(this); }
/// <summary> /// Construct a new security vehicle based on the user options. /// </summary> public Security(SubscriptionDataConfig config, decimal leverage, bool isDynamicallyLoadedData = false) { _config = config; _symbol = config.Symbol; _isDynamicallyLoadedData = isDynamicallyLoadedData; Cache = new SecurityCache(); Exchange = new SecurityExchange(); DataFilter = new SecurityDataFilter(); PortfolioModel = new SecurityPortfolioModel(); TransactionModel = new SecurityTransactionModel(); MarginModel = new SecurityMarginModel(leverage); Holdings = new SecurityHolding(this); }
/******************************************************** * CONSTRUCTOR/DELEGATE DEFINITIONS *********************************************************/ /// <summary> /// Construct a new security vehicle based on the user options. /// </summary> public Security(string symbol, SecurityType type, Resolution resolution, bool fillDataForward, decimal leverage, bool extendedMarketHours, bool isDynamicallyLoadedData = false) { //Set Basics: _symbol = symbol; _type = type; _resolution = resolution; _isFillDataForward = fillDataForward; _leverage = leverage; _isExtendedMarketHours = extendedMarketHours; _isDynamicallyLoadedData = isDynamicallyLoadedData; //Setup Transaction Model for this Asset switch (type) { case SecurityType.Equity: Model = new EquityTransactionModel(); DataFilter = new EquityDataFilter(); break; case SecurityType.Forex: Model = new ForexTransactionModel(); DataFilter = new ForexDataFilter(); break; case SecurityType.Base: Model = new SecurityTransactionModel(); DataFilter = new SecurityDataFilter(); break; } //Holdings for new Vehicle: Cache = new SecurityCache(); Holdings = new SecurityHolding(symbol, type, Model); Exchange = new SecurityExchange(); }