private void FireInvestmentSystemSelected(object sender, EventArgs e) { ToolStripMenuItem tsmi = (ToolStripMenuItem)sender; investmentSystemButton.Text = tsmi.Text; selectedInvestmentSystem = (InvestmentSystem)tsmi.Tag; // // Load the strategies for this investment system // strategies.Nodes.Clear(); foreach (Strategy strategy in selectedInvestmentSystem.Strategies) { GTLTreeNode strategyNode = new GTLTreeNode(); strategyNode.SubItems.AddRange(new GTLSubItem [] { new GTLSubItem(strategy[DatabaseObject.NAME]), new GTLSubItem("0") }); strategyNode.Tag = strategy[DatabaseObject.SIGNAL_ID]; strategies.Nodes.Add(strategyNode); } }
public void LoadStaticData() { activeSet.ClearStaticData(); ArrayList symbols = new ArrayList(); ArrayList investmentSystems = new ArrayList(); ClientAdapterResponse response; // // Instruments // response = SendRpc(new GetInstrumentSymbols( )); foreach (DatabaseEngineResponse.Types.ResultSet rs in response.DatabaseResponse.ResultSetList) { foreach (DatabaseEngineResponse.Types.ResultSet.Types.Row row in rs.RowList) { symbols.Add(row.ColumnList[0].Value); } } foreach (string symbol in symbols) { log.Info("Loading instrument symbol: " + symbol); response = SendRpc(new GetActiveInstrumentsBySymbol(symbol)); foreach (DatabaseEngineResponse.Types.ResultSet rs in response.DatabaseResponse.ResultSetList) { foreach (DatabaseEngineResponse.Types.ResultSet.Types.Row row in rs.RowList) { activeSet.Update(new Instrument(row)); } } } // // Accounts // response = SendRpc(new GetUserAccounts(userData.Id)); foreach (DatabaseEngineResponse.Types.ResultSet rs in response.DatabaseResponse.ResultSetList) { foreach (DatabaseEngineResponse.Types.ResultSet.Types.Row row in rs.RowList) { Account account = new Account(row); activeSet.Update(new Account(row)); log.Info("Loading account: " + account[DatabaseObject.NAME]); } } // // InvestmentSystems // response = SendRpc(new GetUserInvestmentSystems(userData.Id)); foreach (DatabaseEngineResponse.Types.ResultSet rs in response.DatabaseResponse.ResultSetList) { foreach (DatabaseEngineResponse.Types.ResultSet.Types.Row row in rs.RowList) { InvestmentSystem investmentSystem = new InvestmentSystem(row); investmentSystems.Add(investmentSystem); log.Info("Loading investment system: " + investmentSystem[DatabaseObject.NAME]); } } // // Get the strategies for each investment system // foreach (InvestmentSystem investmentSystem in investmentSystems) { response = SendRpc(new GetStrategiesByInvestmentSystem(investmentSystem.Id)); foreach (DatabaseEngineResponse.Types.ResultSet rs in response.DatabaseResponse.ResultSetList) { foreach (DatabaseEngineResponse.Types.ResultSet.Types.Row row in rs.RowList) { Strategy strategy = new Strategy(row); investmentSystem.AddStrategy(strategy); activeSet.Update(investmentSystem); log.Info("Loading investment system " + investmentSystem[DatabaseObject.NAME] + " strategy: " + strategy[DatabaseObject.NAME]); } } } }