예제 #1
0
        private void OnSynchronized(int OpenID, int SlotID)
        {
            _slot   = (Slot)_sf.GetSlot(0);
            _tables = (SlotTables)_slot.tables;
            int count = _tables.Count;

            for (int i = 1; i <= count; i++)
            {
                SlotTable table = (SlotTable)_tables.Item[i];

                if (table.Name == "SECURITIES")
                {
                    _securities_table          = table;
                    _securities_table.AddRow  += OnAddRow;
                    _securities_table.ReplEnd += OnReplEnd;
                    _securities_table.Open(_slot.ID, _securities_table.Name, ""); // таблицу инструментов открываем сразу, а остальные таблицы после
                }
                if (table.Name == "TRDACC")
                {
                    _trdacc_table         = table;
                    _trdacc_table.AddRow += OnAddRow;
                }
                else if (table.Name == "ALL_TRADES")
                {
                    _all_trades_table         = table;
                    _all_trades_table.AddRow += OnAddRow;
                }
                else if (table.Name == "ORDERS")
                {
                    _orders_table            = table;
                    _orders_table.AddRow    += OnAddRow;
                    _orders_table.UpdateRow += OnUpdateRow;
                }
                else if (table.Name == "STOPORDERS")
                {
                    _stoporders_table            = table;
                    _stoporders_table.AddRow    += OnAddRow;
                    _stoporders_table.UpdateRow += OnUpdateRow;
                }
                else if (table.Name == "TRADES")
                {
                    _trades_table         = table;
                    _trades_table.AddRow += OnAddRow;
                }
                else if (table.Name == "HOLDING")
                {
                    _holding_table            = table;
                    _holding_table.AddRow    += OnAddRow;
                    _holding_table.UpdateRow += OnUpdateRow;
                }
                else if (table.Name == "POSITIONS")
                {
                    _positions_table            = table;
                    _positions_table.AddRow    += OnAddRow;
                    _positions_table.UpdateRow += OnUpdateRow;
                }
            }
        }
예제 #2
0
 private void OnReplEnd(int OpenID)
 {
     if (_securities_table != null && OpenID == _securities_table.ID)
     {
         _trdacc_table.Open(_slot.ID, _trdacc_table.Name, "");
         _all_trades_table.Open(_slot.ID, _all_trades_table.Name, "");
         _orders_table.Open(_slot.ID, _orders_table.Name, "");
         _stoporders_table.Open(_slot.ID, _stoporders_table.Name, "");
         _trades_table.Open(_slot.ID, _trades_table.Name, "");
         _holding_table.Open(_slot.ID, _holding_table.Name, "");
         _positions_table.Open(_slot.ID, _positions_table.Name, "");
     }
 }