/*  This is the security type. Valid values are:
         *  STK
         *  OPT
         *  FUT
         *  IND
         *  FOP
         *  CASH
         *  BAG
         */
        private void RequestMarketData(params Currencies[] symbols)
        {
            m_tickers = new ForexTicker[symbols.Length, symbols.Length];
            m_a       = new Matrix(symbols.Length, symbols.Length);
            m_b       = new Matrix(symbols.Length, symbols.Length);
            m_c       = new Matrix(symbols.Length, symbols.Length);

            myGrid.Children.Clear();
            myGrid.RowDefinitions.Clear();
            myGrid.ColumnDefinitions.Clear();

            myGrid.RowDefinitions.Add(new RowDefinition());
            myGrid.ColumnDefinitions.Add(new ColumnDefinition());
            int OFFSET = 1;

            for (int i = 0; i < symbols.Length; i++)
            {
                for (int j = 0; j < symbols.Length; j++)
                {
                    if (i == 0)
                    {
                        myGrid.ColumnDefinitions.Add(new ColumnDefinition());
                        Label lbl = new Label();
                        lbl.Content = symbols[j];
                        Grid.SetRow(lbl, 0);
                        Grid.SetColumn(lbl, j + OFFSET);
                        myGrid.Children.Add(lbl);
                    }

                    if (j == 0)
                    {
                        myGrid.RowDefinitions.Add(new RowDefinition());
                        Label lbl = new Label();
                        lbl.Content = symbols[i];
                        Grid.SetRow(lbl, i + OFFSET);
                        Grid.SetColumn(lbl, 0);
                        myGrid.Children.Add(lbl);
                    }

                    if (i != j)
                    {
                        ForexTicker ticker = new ForexTicker(i, j, symbols[i], symbols[j]);
                        Grid.SetRow(ticker, i + OFFSET);
                        Grid.SetColumn(ticker, j + OFFSET);
                        myGrid.Children.Add(ticker);
                        m_tickers[i, j] = ticker;

                        if (m_tws.serverVersion > 0)
                        {
                            if (ticker.IsNormalized)
                            {
                                m_tws.reqMktData2(ticker.Id, ticker.LocalSymbol, "CASH", "SMART", "IDEALPRO", ticker.LocalCurrency, Contract.GENERIC_TICK_TAGS, 0);
                            }
                        }
                    }
                }
            }
        }
Example #2
0
 private void button4_Click(object sender, EventArgs e)
 {
     Bluebit.MatrixLibrary.Matrix a = new Bluebit.MatrixLibrary.Matrix(3, 3);
     Bluebit.MatrixLibrary.Matrix A = new Bluebit.MatrixLibrary.Matrix(new double[, ] {
         { 3, 0 }, { 2, 1 }
     });
     //a = A.Inverse();
     MessageBox.Show(A.Determinant().ToString());
     //textBoxKey.Text = a[0, 0].ToString() + "  " + a[0, 1].ToString() + "  " + a[1, 0].ToString()+"  " + a[0, 1].ToString();
     dataGridViewKey.DataSource = a.ToArray();
 }
        private void CalulateTestArbitrage()
        {
            m_a = m_aTest2.Clone();
            m_b = new Matrix(TEST_ARBITRAGE_SIZE, TEST_ARBITRAGE_SIZE);
            m_c = new Matrix(TEST_ARBITRAGE_SIZE, TEST_ARBITRAGE_SIZE);

            SetupArbitrage();

            CalculateB();
            CalculateC();
            CalculateSD();
            CalculateShortestPath();
            CalculateHistorical();
        }
        private void CalulateTestArbitrage()
        {
            m_a = m_aTest2.Clone();
            m_b = new Matrix(TEST_ARBITRAGE_SIZE, TEST_ARBITRAGE_SIZE);
            m_c = new Matrix(TEST_ARBITRAGE_SIZE, TEST_ARBITRAGE_SIZE);

            SetupArbitrage();

            CalculateB();
            CalculateC();
            CalculateSD();
            CalculateShortestPath();
            CalculateHistorical();
        }
        /*  This is the security type. Valid values are:
            STK
            OPT
            FUT
            IND
            FOP
            CASH
            BAG
         */
        private void RequestMarketData(params Currencies[] symbols)
        {
            m_tickers = new ForexTicker[symbols.Length, symbols.Length];
            m_a = new Matrix(symbols.Length, symbols.Length);
            m_b = new Matrix(symbols.Length, symbols.Length);
            m_c = new Matrix(symbols.Length, symbols.Length);

            myGrid.Children.Clear();
            myGrid.RowDefinitions.Clear();
            myGrid.ColumnDefinitions.Clear();

            myGrid.RowDefinitions.Add(new RowDefinition());
            myGrid.ColumnDefinitions.Add(new ColumnDefinition());
            int OFFSET = 1;

            for (int i = 0; i < symbols.Length; i++)
            {
                for (int j = 0; j < symbols.Length; j++)
                {
                    if (i == 0)
                    {
                        myGrid.ColumnDefinitions.Add(new ColumnDefinition());
                        Label lbl = new Label();
                        lbl.Content = symbols[j];
                        Grid.SetRow(lbl, 0);
                        Grid.SetColumn(lbl, j + OFFSET);
                        myGrid.Children.Add(lbl);
                    }

                    if (j == 0)
                    {
                        myGrid.RowDefinitions.Add(new RowDefinition());
                        Label lbl = new Label();
                        lbl.Content = symbols[i];
                        Grid.SetRow(lbl, i + OFFSET);
                        Grid.SetColumn(lbl, 0);
                        myGrid.Children.Add(lbl);
                    }

                    if (i != j)
                    {
                        ForexTicker ticker = new ForexTicker(i, j, symbols[i], symbols[j]);
                        Grid.SetRow(ticker, i + OFFSET);
                        Grid.SetColumn(ticker, j + OFFSET);
                        myGrid.Children.Add(ticker);
                        m_tickers[i,j] = ticker;

                        if (m_tws.serverVersion > 0)
                        {
                            if (ticker.IsNormalized) m_tws.reqMktData2(ticker.Id, ticker.LocalSymbol, "CASH", "SMART", "IDEALPRO", ticker.LocalCurrency, Contract.GENERIC_TICK_TAGS, 0);
                        }
                    }
                }
            }
        }