コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: ClientController.cs プロジェクト: ssh352/quantmodel
        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]);
                    }
                }
            }
        }