Exemple #1
0
        void AddEntryData(SecurityEntry entry)
        {
            if (entry.SubContractCount > 2)
                return;

            securityEntries.Add(entry.SecurityID, entry);

            /*
            SecurityEntry securityEntry = spreadMatrixEntries.GetValue(datePair.Date1, datePair.Date2);
            if (securityEntry != null)
                securityEntry.Dispose();
            */

            if (entry.HasFutureContract())
            {
                MDDatePair datePair = entry.GetDatePair();

                spreadMatrixEntries.SetValue(datePair.Date1, datePair.Date2, entry);

                SetMinYearMonth(datePair);
                SetMaxYearMonth(datePair);
            }
        }
Exemple #2
0
        public void UpdateGrid(SpreadMatrixData smd, SecurityEntry entry)
        {
            if (!smd.Values.Contains(entry))
                return;

            MDDatePair datePair = entry.GetDatePair();

            int dMonth1 = GetDeltaMonth(smd.MinYearMonth, datePair.GetMinDate());
            int dMonth2 = GetDeltaMonth(smd.MinYearMonth, datePair.GetMaxDate());
            int r = dMonth1 - 1;
            int c = dMonth2 - 1;

            SpreadMatrixDataCell cell = (SpreadMatrixDataCell)cellPosDictionary.GetValue(r, c);

            if(cell==null)
            {
                cell = new SpreadMatrixDataCell { Width = CellWidth, Height = CellHeight };

                cell.MouseDown += cell_MouseDown;

                Grid.SetRow(cell, r == c ? r + 1 : r);
                Grid.SetColumn(cell, c);

                cellPosDictionary.SetValue(r, c, cell);
                grid.Children.Add(cell);
            }

            cell.FillData(entry);
        }
        public void FillData(SecurityEntry entry)
        {
            Dictionary<string, string> dict = new Dictionary<string, string>
                                                  {
                                                      {"bPx", String.Empty},
                                                      {"bCount", String.Empty},
                                                      {"aPx", String.Empty},
                                                      {"aCount", String.Empty}
                                                  };

            for (uint i = 0; i < entry.MDGroupCount; i++)
                FillData(entry.GetGroup(i), ref dict);

            MDDatePair datePair = entry.GetDatePair();
            CellType = SpreadMatrixCellType.Future;

            if (datePair.Date1 != datePair.Date2)
                CellType = SpreadMatrixCellType.Spread;

            AskPx = dict["aPx"];
            AskCount = dict["aCount"];
            BidPx = dict["bPx"];
            BidCount = dict["bCount"];

            InvalidateVisual();
        }