예제 #1
0
 private void UpdateLastSaleTicker_TFEX(decimal price, string side, long volume, string lastUpdate, int index, SeriesList.SeriesInformation seriesInfo)
 {
     try
     {
         if (this.intzaLS.InvokeRequired)
         {
             this.intzaLS.Invoke(new frmStockSummary.UpdateLastSaleTicker_TFEXCallBack(this.UpdateLastSaleTicker_TFEX), new object[]
             {
                 price,
                 side,
                 volume,
                 lastUpdate,
                 index,
                 seriesInfo
             });
         }
         else
         {
             RecordItem recordItem;
             if (index == -1)
             {
                 recordItem = this.intzaLS.AddRecord(1, true);
             }
             else
             {
                 recordItem = this.intzaLS.Records(index);
             }
             recordItem.Fields("side").Text = side.ToString();
             recordItem.Fields("volume").Text = volume.ToString();
             recordItem.Fields("price").Text = Utilities.PriceFormat(price, seriesInfo.NumOfDec);
             recordItem.Fields("time").Text = Utilities.GetTimeLastSale(lastUpdate);
             Color fontColor = Utilities.ComparePriceCFColor(price, seriesInfo);
             recordItem.Fields("price").FontColor = fontColor;
             recordItem.Fields("time").FontColor = Color.LightGray;
             if (side == "B")
             {
                 recordItem.Fields("side").FontColor = MyColor.BuyColor;
                 recordItem.Fields("volume").FontColor = MyColor.BuyColor;
             }
             else if (side == "S")
             {
                 recordItem.Fields("side").FontColor = MyColor.SellColor;
                 recordItem.Fields("volume").FontColor = MyColor.SellColor;
             }
             else
             {
                 recordItem.Fields("side").FontColor = MyColor.UnChgColor;
                 recordItem.Fields("volume").FontColor = MyColor.UnChgColor;
             }
             recordItem.Changed = true;
         }
     }
     catch (Exception ex)
     {
         this.ShowError("UpdateLastSaleTicker_TFEX", ex);
     }
 }
예제 #2
0
 public static Color ComparePriceCFColor(decimal price, SeriesList.SeriesInformation seriesInfo)
 {
     Color result = Color.White;
     if (!string.IsNullOrEmpty(seriesInfo.Symbol))
     {
         if (price == seriesInfo.Ceiling)
         {
             result = MyColor.CeilingColor;
         }
         else if (price == seriesInfo.Floor)
         {
             result = MyColor.FloorColor;
         }
         else if (price > seriesInfo.PrevFixPrice)
         {
             result = MyColor.UpColor;
         }
         else if (price < seriesInfo.PrevFixPrice)
         {
             result = MyColor.DownColor;
         }
         else
         {
             result = MyColor.UnChgColor;
         }
     }
     else
     {
         result = Color.White;
     }
     return result;
 }
예제 #3
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     if (message.MessageType == "LS")
     {
         if (this._filterType == frmTickerSetting.filterType.ALL_MARKET || this._filterType == frmTickerSetting.filterType.TFEX_ONLY)
         {
             this.UpdateTickerTFEX((LSMessageTFEX)message, realtimeSeriesInfo);
         }
         else if (this._filterType == frmTickerSetting.filterType.SYMBOL)
         {
             if (ApplicationInfo.TickerStockList.Contains(realtimeSeriesInfo.Symbol))
             {
                 this.UpdateTickerTFEX((LSMessageTFEX)message, realtimeSeriesInfo);
             }
         }
         else if (this._filterType == frmTickerSetting.filterType.FAV1 || this._filterType == frmTickerSetting.filterType.FAV2 || this._filterType == frmTickerSetting.filterType.FAV3 || this._filterType == frmTickerSetting.filterType.FAV4 || this._filterType == frmTickerSetting.filterType.FAV5)
         {
             if (ApplicationInfo.FavStockList[this._favListPage].Contains(realtimeSeriesInfo.Symbol))
             {
                 this.UpdateTickerTFEX((LSMessageTFEX)message, realtimeSeriesInfo);
             }
         }
     }
 }
예제 #4
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     if (this.FormState != ClientBaseForm.ClientBaseFormState.Closing)
     {
         if (!base.IsLoadingData)
         {
             try
             {
                 if (this._seriesInfoTFEX != null && realtimeSeriesInfo != null && realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                 {
                     string messageType = message.MessageType;
                     switch (messageType)
                     {
                     case "TP":
                         if (this.currentPage == "Stock in Play")
                         {
                             TPMessageTFEX tPMessageTFEX = (TPMessageTFEX)message;
                             this.StockInPlayUpdateTopPrice_TFEX(tPMessageTFEX.Side, tPMessageTFEX.Price1, tPMessageTFEX.Price2, tPMessageTFEX.Price3, tPMessageTFEX.Price4, tPMessageTFEX.Price5, (long)tPMessageTFEX.Vol1, (long)tPMessageTFEX.Vol2, (long)tPMessageTFEX.Vol3, (long)tPMessageTFEX.Vol4, (long)tPMessageTFEX.Vol5);
                             if (base.IsAllowRender)
                             {
                                 this.intzaStockInPlay.Redraw();
                             }
                         }
                         break;
                     case "LS":
                     {
                         LSMessageTFEX lSMessageTFEX = (LSMessageTFEX)message;
                         if (this.currentPage == "Sale by Time")
                         {
                             decimal avg = 0m;
                             if (lSMessageTFEX.AccVolume > 0)
                             {
                                 avg = lSMessageTFEX.AccValue / lSMessageTFEX.AccVolume;
                             }
                             this.SaleByTimeUpdateGridData_TFEX(lSMessageTFEX.Side, lSMessageTFEX.Price, (long)lSMessageTFEX.Vol, lSMessageTFEX.Price - realtimeSeriesInfo.PrevFixPrice, avg, lSMessageTFEX.LastTime, -1);
                             if (base.IsAllowRender)
                             {
                                 this.intzaSaleByTime.EndUpdate();
                             }
                         }
                         else if (this.currentPage == "Sale by Price")
                         {
                             if (this.SaleByPriceUpdateBuySell(lSMessageTFEX.Price, lSMessageTFEX.Side, 1, (long)lSMessageTFEX.Vol, false))
                             {
                                 this.intzaSaleByPrice.Sort("price", SortType.Desc);
                             }
                             if (base.IsAllowRender)
                             {
                                 this.intzaSaleByPrice.EndUpdate();
                             }
                             if (lSMessageTFEX.Side == "B" && lSMessageTFEX.DealSource != 20)
                             {
                                 this.wcGraphVolume.UpdateData((double)lSMessageTFEX.Price, (long)lSMessageTFEX.Vol, (long)lSMessageTFEX.Vol, 0L);
                             }
                             else if (lSMessageTFEX.Side == "S" && lSMessageTFEX.DealSource != 20)
                             {
                                 this.wcGraphVolume.UpdateData((double)lSMessageTFEX.Price, (long)lSMessageTFEX.Vol, 0L, (long)lSMessageTFEX.Vol);
                             }
                             else
                             {
                                 this.wcGraphVolume.UpdateData((double)lSMessageTFEX.Price, (long)lSMessageTFEX.Vol, 0L, 0L);
                             }
                             if (base.IsAllowRender)
                             {
                                 this.wcGraphVolume.EndUpdate();
                             }
                         }
                         else if (this.currentPage == "Stock in Play")
                         {
                             this.StockInPlayUpdateBuySellVolume_TFEX(lSMessageTFEX.Side, lSMessageTFEX.Price, (long)lSMessageTFEX.Vol, 1);
                             if (lSMessageTFEX.Side == "B")
                             {
                                 this._buyDeals++;
                             }
                             else if (lSMessageTFEX.Side == "S")
                             {
                                 this._sellDeals++;
                             }
                             this.StockInPlayUpdateTotalVolumeAndTotalDeals((long)lSMessageTFEX.LongQty, (long)lSMessageTFEX.ShortQty, (long)lSMessageTFEX.OpenQty);
                             if (base.IsAllowRender)
                             {
                                 this.intzaStockInPlay.EndUpdate();
                             }
                         }
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             LSMessageTFEX lSMessageTFEX2 = (LSMessageTFEX)message;
                             if (lSMessageTFEX2.DealSource == 20)
                             {
                                 if (ApplicationInfo.IndexInfoTfex.TXIState != "3C")
                                 {
                                     this.UpdateOpenOrProjectOpenPriceTFEX(ApplicationInfo.IndexInfoTfex.TXIState, lSMessageTFEX2.Price, realtimeSeriesInfo);
                                 }
                                 else
                                 {
                                     this.UpdateOpenOrProjectOpenPriceTFEX(ApplicationInfo.IndexInfoTfex.TXMState, lSMessageTFEX2.Price, realtimeSeriesInfo);
                                 }
                             }
                             this.UpdateAllVolumeTFEX(lSMessageTFEX2.Deals, (long)lSMessageTFEX2.AccVolume, lSMessageTFEX2.AccValue, (long)lSMessageTFEX2.OpenQty, (long)lSMessageTFEX2.LongQty, (long)lSMessageTFEX2.ShortQty, lSMessageTFEX2.OpenValue, lSMessageTFEX2.LongValue, lSMessageTFEX2.ShortValue, realtimeSeriesInfo.ContractSize, lSMessageTFEX2.Basis);
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                                 this.intzaVolumeByBoard.EndUpdate();
                             }
                             int num = lSMessageTFEX2.Vol;
                             int num2;
                             int.TryParse(num.ToString(), out num2);
                             this.UpdateTickerInfo_TFEX(lSMessageTFEX2.Price, lSMessageTFEX2.Side, (long)num2, lSMessageTFEX2.LastTime, -1);
                             if (base.IsAllowRender)
                             {
                                 this.intzaLS.Redraw();
                             }
                         }
                         break;
                     }
                     case "PO":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             POMessageTFEX pOMessageTFEX = (POMessageTFEX)message;
                             if (ApplicationInfo.IndexInfoTfex.TXIState != "3C")
                             {
                                 this.UpdateOpenOrProjectOpenPriceTFEX(ApplicationInfo.IndexInfoTfex.TXIState, pOMessageTFEX.Equilibrium_price_I, realtimeSeriesInfo);
                             }
                             else
                             {
                                 this.UpdateOpenOrProjectOpenPriceTFEX(ApplicationInfo.IndexInfoTfex.TXMState, pOMessageTFEX.Equilibrium_price_I, realtimeSeriesInfo);
                             }
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     case "SD":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             SDMessageTFEX sDMessageTFEX = (SDMessageTFEX)message;
                             if (sDMessageTFEX.Lastdate.ToString().Length == 8)
                             {
                                 this.intzaInfoTFEX.Item("last_date").Text = Utilities.GetDateFormat(sDMessageTFEX.Lastdate.ToString());
                             }
                             IntzaBaseItem arg_756_0 = this.intzaInfoTFEX.Item("multiplier");
                             int num = sDMessageTFEX.Price_quot_factor;
                             arg_756_0.Text = num.ToString();
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     case "CA8":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             CA8MessageTFEX cA8MessageTFEX = (CA8MessageTFEX)message;
                             if (ApplicationInfo.IndexInfoTfex.TXISession == 2)
                             {
                                 this.intzaInfoTFEX.Item("settle").Text = Utilities.PriceFormat(cA8MessageTFEX.FixingPrice.ToString(), this._seriesInfoTFEX.NumOfDec);
                                 this.intzaInfoTFEX.Item("settle").FontColor = Utilities.ComparePriceColor(cA8MessageTFEX.FixingPrice, realtimeSeriesInfo.PrevFixPrice);
                                 if (realtimeSeriesInfo.MarketCode == 4 || realtimeSeriesInfo.MarketCode == 5)
                                 {
                                     this.intzaInfoTFEX.Item("psettle").Text = Utilities.PriceFormat(cA8MessageTFEX.FixingPrice, this._seriesInfoTFEX.NumOfDec);
                                     this.intzaInfoTFEX.Item("psettle").FontColor = MyColor.UnChgColor;
                                 }
                             }
                             else
                             {
                                 this.intzaInfoTFEX.Item("psettle").Text = Utilities.PriceFormat(cA8MessageTFEX.FixingPrice, this._seriesInfoTFEX.NumOfDec);
                                 this.intzaInfoTFEX.Item("psettle").FontColor = MyColor.UnChgColor;
                             }
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     case "BU10":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             BU10MessageTFEX bU10MessageTFEX = (BU10MessageTFEX)message;
                             this.intzaInfoTFEX.Item("tickSize").Text = Utilities.PriceFormat(bU10MessageTFEX.StepSize, this._seriesInfoTFEX.NumOfDec);
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     case "TCF":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             TCFMessageTFEX tCFMessageTFEX = (TCFMessageTFEX)message;
                             this.intzaInfoTFEX.Item("ceiling").Text = FormatUtil.PriceFormat(realtimeSeriesInfo.Ceiling.ToString(), realtimeSeriesInfo.NumOfDec, "");
                             this.intzaInfoTFEX.Item("floor").Text = FormatUtil.PriceFormat(realtimeSeriesInfo.Floor.ToString(), realtimeSeriesInfo.NumOfDec, "");
                             this.intzaInfoTFEX.Item("psettle").Text = Utilities.PriceFormat(tCFMessageTFEX.PrevFixPrice, realtimeSeriesInfo.NumOfDec);
                             this.intzaInfoTFEX.Item("psettle").FontColor = MyColor.UnChgColor;
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     }
                 }
             }
             catch (Exception ex)
             {
                 this.ShowError("ReceiveTfexMessage", ex);
             }
         }
     }
 }
예제 #5
0
 public void AddItem(SeriesList.SeriesInformation info)
 {
     try
     {
         if (!this.items.ContainsKey(info.OrderBookId))
         {
             this.items.Add(info.OrderBookId, info);
             this.itemsKeySymbol.Add(info.Symbol, info.OrderBookId);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #6
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     if (this.FormState != ClientBaseForm.ClientBaseFormState.Closing)
     {
         if (!base.IsLoadingData)
         {
             try
             {
                 if (message.MessageType == "TP")
                 {
                     if (realtimeSeriesInfo.Symbol != "")
                     {
                         int num = ApplicationInfo.FavStockList[this._currFavPage].IndexOf(realtimeSeriesInfo.Symbol);
                         if (num > -1 && num < 8)
                         {
                             this._bidControl[num].ReceiveTfexMessage(message, realtimeSeriesInfo);
                         }
                     }
                 }
                 else if (message.MessageType == "LS")
                 {
                     if (realtimeSeriesInfo.Symbol != "")
                     {
                         int num = ApplicationInfo.FavStockList[this._currFavPage].IndexOf(realtimeSeriesInfo.Symbol);
                         if (num > -1 && num < 8)
                         {
                             this._bidControl[num].ReceiveTfexMessage(message, realtimeSeriesInfo);
                         }
                     }
                 }
             }
             catch (Exception ex)
             {
                 this.ShowError("SecurityInfo::RecvMessage", ex);
             }
         }
     }
 }
예제 #7
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     if (!this._isLoading)
     {
         try
         {
             if (message.MessageType == "BC")
             {
                 BCMessageTFEX bCMessageTFEX = (BCMessageTFEX)message;
                 this.UpdateToGrid(new ucBroadcastMessage.RecordData
                 {
                     messageTime = Utilities.GetShortTime(bCMessageTFEX.MessageTime),
                     messageText = bCMessageTFEX.MessageText,
                     messageType = bCMessageTFEX.MessageType
                 }, Color.White, true);
                 this.intza1.EndUpdate();
                 if (this.intza1.Rows > 0)
                 {
                     this.intza1.SetFocusItem(0);
                 }
             }
             else if (message.MessageType == "#T9I")
             {
                 OrderTFEXInfoClient orderTFEXInfoClient = (OrderTFEXInfoClient)message;
                 if (ApplicationInfo.CanReceiveMessage(orderTFEXInfoClient.Account))
                 {
                     string text = string.Empty;
                     Color color = Color.White;
                     string text2 = string.Empty;
                     if (orderTFEXInfoClient.Side == "1")
                     {
                         text2 = "Long";
                     }
                     else if (orderTFEXInfoClient.Side == "2")
                     {
                         text2 = "Short";
                     }
                     string originalMessageType = orderTFEXInfoClient.OriginalMessageType;
                     if (originalMessageType != null)
                     {
                         if (!(originalMessageType == "2C"))
                         {
                             if (!(originalMessageType == "2E"))
                             {
                                 if (originalMessageType == "2G")
                                 {
                                     text = string.Concat(new object[]
                                     {
                                         "Reject ",
                                         text2,
                                         " #",
                                         orderTFEXInfoClient.OrderNumber,
                                         "  ",
                                         orderTFEXInfoClient.Series,
                                         "  Volume ",
                                         FormatUtil.VolumeFormat(orderTFEXInfoClient.Volume, false),
                                         "  @",
                                         Utilities.PriceFormat(orderTFEXInfoClient.Price)
                                     });
                                     if (!string.IsNullOrEmpty(orderTFEXInfoClient.RejectDescription))
                                     {
                                         text = text + " Reject Reason : " + orderTFEXInfoClient.RejectDescription;
                                     }
                                     color = Color.Red;
                                 }
                             }
                             else
                             {
                                 text = string.Concat(new object[]
                                 {
                                     text,
                                     "Matched #",
                                     orderTFEXInfoClient.OrderNumber,
                                     "  ",
                                     text2,
                                     "  ",
                                     orderTFEXInfoClient.Series,
                                     "  @",
                                     Utilities.PriceFormat(orderTFEXInfoClient.LastPriceInCase),
                                     "  Volume ",
                                     FormatUtil.VolumeFormat(orderTFEXInfoClient.LastVolumeInCase, true),
                                     "  Leave ",
                                     orderTFEXInfoClient.Volume - orderTFEXInfoClient.MatchedVolume
                                 });
                                 if (orderTFEXInfoClient.Side == "1")
                                 {
                                     color = Color.Cyan;
                                 }
                                 else if (orderTFEXInfoClient.Side == "2")
                                 {
                                     color = Color.Magenta;
                                 }
                             }
                         }
                         else if (orderTFEXInfoClient.Status == "X")
                         {
                             text = string.Concat(new object[]
                             {
                                 "Canceled #",
                                 orderTFEXInfoClient.OrderNumber,
                                 "   ",
                                 text2,
                                 "  ",
                                 orderTFEXInfoClient.Series,
                                 "  Volume ",
                                 orderTFEXInfoClient.Volume - orderTFEXInfoClient.MatchedVolume,
                                 "  @",
                                 Utilities.PriceFormat(orderTFEXInfoClient.Price)
                             });
                             color = Color.Yellow;
                         }
                     }
                     if (text != string.Empty)
                     {
                         this.UpdateToGrid(new ucBroadcastMessage.RecordData
                         {
                             messageType = orderTFEXInfoClient.OriginalMessageType,
                             stockSymbol = string.Empty,
                             messageTime = Utilities.GetShortTime(DateTime.Now.ToString()),
                             messageText = text
                         }, color, true);
                         this.intza1.EndUpdate();
                         if (this.intza1.Rows > 0)
                         {
                             this.intza1.SetFocusItem(0);
                         }
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             this.ShowError("ReceiveMessage", ex);
         }
     }
 }
예제 #8
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     try
     {
         string messageType = message.MessageType;
         if (messageType != null)
         {
             if (messageType == "#T9I")
             {
                 OrderTFEXInfoClient orderTFEXInfoClient = (OrderTFEXInfoClient)message;
                 if (orderTFEXInfoClient.Account == ApplicationInfo.AccInfo.CurrentAccount)
                 {
                     this.StartTimerLoadCredit();
                     ApplicationInfo.RemoveOrderNoFromAutoRefreshList_TFEX(orderTFEXInfoClient.OrderNumber.ToString());
                 }
             }
         }
     }
     catch (Exception ex)
     {
         this.ShowError("SendOrder:ReceiveTFEXMessage", ex);
     }
 }
예제 #9
0
 private void UpdateTopPrice_TFEX(SeriesList.SeriesInformation sInfo, string side, string price1, string price2, string price3, string price4, string price5, long volume1, long volume2, long volume3, long volume4, long volume5)
 {
     try
     {
         Color fontColor = MyColor.UnChgColor;
         if (side == "B")
         {
             if (volume1 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price1, sInfo);
                 this.intzaTP1.Records(0).Fields("bidvolume").SetBidOfferVolumeText(volume1.ToString(), price1);
                 this.intzaTP1.Records(0).Fields("bidvolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume1, price1))
                 {
                     this.intzaTP1.Records(0).Fields("bid").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(0).Fields("bid").Text = Utilities.PriceFormat(price1, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(0).Fields("bid").FontColor = fontColor;
             }
             if (volume2 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price2, sInfo);
                 this.intzaTP1.Records(1).Fields("bidvolume").SetBidOfferVolumeText(volume2.ToString(), price2);
                 this.intzaTP1.Records(1).Fields("bidvolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume2, price2))
                 {
                     this.intzaTP1.Records(1).Fields("bid").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(1).Fields("bid").Text = Utilities.PriceFormat(price2, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(1).Fields("bid").FontColor = fontColor;
             }
             if (volume3 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price3, sInfo);
                 this.intzaTP1.Records(2).Fields("bidvolume").SetBidOfferVolumeText(volume3.ToString(), price3);
                 this.intzaTP1.Records(2).Fields("bidvolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume3, price3))
                 {
                     this.intzaTP1.Records(2).Fields("bid").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(2).Fields("bid").Text = Utilities.PriceFormat(price3, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(2).Fields("bid").FontColor = fontColor;
             }
             if (volume4 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price4, sInfo);
                 this.intzaTP1.Records(3).Fields("bidvolume").SetBidOfferVolumeText(volume4.ToString(), price4);
                 this.intzaTP1.Records(3).Fields("bidvolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume4, price4))
                 {
                     this.intzaTP1.Records(3).Fields("bid").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(3).Fields("bid").Text = Utilities.PriceFormat(price4, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(3).Fields("bid").FontColor = fontColor;
             }
             if (volume5 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price5, sInfo);
                 this.intzaTP1.Records(4).Fields("bidvolume").SetBidOfferVolumeText(volume5.ToString(), price5);
                 this.intzaTP1.Records(4).Fields("bidvolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume5, price5))
                 {
                     this.intzaTP1.Records(4).Fields("bid").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(4).Fields("bid").Text = Utilities.PriceFormat(price5, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(4).Fields("bid").FontColor = fontColor;
             }
         }
         else if (side == "A")
         {
             if (volume1 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price1, sInfo);
                 this.intzaTP1.Records(0).Fields("offervolume").SetBidOfferVolumeText(volume1.ToString(), price1);
                 this.intzaTP1.Records(0).Fields("offervolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume1, price1))
                 {
                     this.intzaTP1.Records(0).Fields("offer").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(0).Fields("offer").Text = Utilities.PriceFormat(price1, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(0).Fields("offer").FontColor = fontColor;
             }
             if (volume2 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price2, sInfo);
                 this.intzaTP1.Records(1).Fields("offervolume").SetBidOfferVolumeText(volume2.ToString(), price2);
                 this.intzaTP1.Records(1).Fields("offervolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume2, price2))
                 {
                     this.intzaTP1.Records(1).Fields("offer").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(1).Fields("offer").Text = Utilities.PriceFormat(price2, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(1).Fields("offer").FontColor = fontColor;
             }
             if (volume3 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price3, sInfo);
                 this.intzaTP1.Records(2).Fields("offervolume").SetBidOfferVolumeText(volume3.ToString(), price3);
                 this.intzaTP1.Records(2).Fields("offervolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume3, price3))
                 {
                     this.intzaTP1.Records(2).Fields("offer").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(2).Fields("offer").Text = Utilities.PriceFormat(price3, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(2).Fields("offer").FontColor = fontColor;
             }
             if (volume4 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price4, sInfo);
                 this.intzaTP1.Records(3).Fields("offervolume").SetBidOfferVolumeText(volume4.ToString(), price4);
                 this.intzaTP1.Records(3).Fields("offervolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume4, price4))
                 {
                     this.intzaTP1.Records(3).Fields("offer").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(3).Fields("offer").Text = Utilities.PriceFormat(price4, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(3).Fields("offer").FontColor = fontColor;
             }
             if (volume5 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price5, sInfo);
                 this.intzaTP1.Records(4).Fields("offervolume").SetBidOfferVolumeText(volume5.ToString(), price5);
                 this.intzaTP1.Records(4).Fields("offervolume").FontColor = fontColor;
                 if (Utilities.GetTopPriceZero(volume5, price5))
                 {
                     this.intzaTP1.Records(4).Fields("offer").Text = "0.00";
                 }
                 else
                 {
                     this.intzaTP1.Records(4).Fields("offer").Text = Utilities.PriceFormat(price5, sInfo.NumOfDec);
                 }
                 this.intzaTP1.Records(4).Fields("offer").FontColor = fontColor;
             }
         }
     }
     catch (Exception ex)
     {
         this.ShowError("UpdateTopPrice_TFEX", ex);
     }
 }
예제 #10
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     if (!this.IsLoadingData)
     {
         try
         {
             if (message.MessageType == "TP")
             {
                 if (realtimeSeriesInfo.Symbol != "")
                 {
                     TPMessageTFEX tPMessageTFEX = (TPMessageTFEX)message;
                     this.UpdateTopPrice_TFEX(realtimeSeriesInfo, tPMessageTFEX.Side, tPMessageTFEX.Price1.ToString(), tPMessageTFEX.Price2.ToString(), tPMessageTFEX.Price3.ToString(), tPMessageTFEX.Price4.ToString(), tPMessageTFEX.Price5.ToString(), (long)tPMessageTFEX.Vol1, (long)tPMessageTFEX.Vol2, (long)tPMessageTFEX.Vol3, (long)tPMessageTFEX.Vol4, (long)tPMessageTFEX.Vol5);
                     this.intzaTP1.EndUpdate();
                 }
             }
             else if (message.MessageType == "LS")
             {
                 if (realtimeSeriesInfo.Symbol != "")
                 {
                     LSMessageTFEX lSMessageTFEX = (LSMessageTFEX)message;
                     SeriesList.SeriesInformation seriesInformation = ApplicationInfo.SeriesInfo[lSMessageTFEX.Sec];
                     this.UpdateLastPrice_TFEX(realtimeSeriesInfo, lSMessageTFEX.Price, lSMessageTFEX.High, lSMessageTFEX.Low);
                     this.UpdateLastSaleTicker_TFEX(realtimeSeriesInfo, lSMessageTFEX.Price, lSMessageTFEX.Side, (long)lSMessageTFEX.Vol, lSMessageTFEX.LastTime, -1);
                     this.UpdateAllVolume_TFEX((long)lSMessageTFEX.OpenQty, (long)lSMessageTFEX.LongQty, (long)lSMessageTFEX.ShortQty, (long)realtimeSeriesInfo.OpenInt);
                     this.intzaHeader1.EndUpdate();
                     this.intzaLS1.EndUpdate();
                     this.intzaVolumeByBoard1.EndUpdate();
                     if (ApplicationInfo.IsSupportTPBlinkColor)
                     {
                         int isBlink = 3;
                         if (lSMessageTFEX.Side == "S")
                         {
                             string b = Utilities.PriceFormat(lSMessageTFEX.Price);
                             for (int i = 0; i < 5; i++)
                             {
                                 if (this.intzaTP1.Records(i).Fields("bidvolume").TempText == b)
                                 {
                                     this.intzaTP1.Records(i).Fields("bidvolume").IsBlink = isBlink;
                                     break;
                                 }
                             }
                         }
                         else if (lSMessageTFEX.Side == "B")
                         {
                             string b = Utilities.PriceFormat(lSMessageTFEX.Price);
                             for (int i = 0; i < 5; i++)
                             {
                                 if (this.intzaTP1.Records(i).Fields("offervolume").TempText == b)
                                 {
                                     this.intzaTP1.Records(i).Fields("offervolume").IsBlink = isBlink;
                                     break;
                                 }
                             }
                         }
                         this.intzaTP1.EndUpdate();
                     }
                     else
                     {
                         this.intzaTP1.EndUpdate();
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             this.ShowError("SecurityInfo::RecvMessage", ex);
         }
     }
 }
예제 #11
0
 private void UpdateLastSaleTicker_TFEX(SeriesList.SeriesInformation stockInfo, decimal price, string side, long volume, string lastUpdate, int index)
 {
     try
     {
         STIControl.SortTableGrid.RecordItem recordItem;
         if (index == -1)
         {
             recordItem = this.intzaLS1.AddRecord(1, true);
         }
         else
         {
             recordItem = this.intzaLS1.Records(index);
         }
         recordItem.Fields("side").Text = side.ToString();
         recordItem.Fields("volume").Text = volume.ToString();
         recordItem.Fields("price").Text = Utilities.PriceFormat(price, stockInfo.NumOfDec);
         Color fontColor = Utilities.ComparePriceCFColor(price, stockInfo);
         recordItem.Fields("price").FontColor = fontColor;
         if (side == "B")
         {
             recordItem.Fields("side").FontColor = MyColor.BuyColor;
             recordItem.Fields("volume").FontColor = MyColor.BuyColor;
         }
         else if (side == "S")
         {
             recordItem.Fields("side").FontColor = MyColor.SellColor;
             recordItem.Fields("volume").FontColor = MyColor.SellColor;
         }
         else
         {
             recordItem.Fields("side").FontColor = MyColor.OpenColor;
             recordItem.Fields("volume").FontColor = MyColor.OpenColor;
         }
         recordItem.Changed = true;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #12
0
 private void UpdateLastPrice_TFEX(SeriesList.SeriesInformation seriesInfo, decimal lastPrice, decimal high, decimal low)
 {
     if (base.InvokeRequired)
     {
         base.Invoke(new ucBids.UpdateLastPriceTFEXCallback(this.UpdateLastPrice_TFEX), new object[]
         {
             seriesInfo,
             lastPrice,
             high,
             low
         });
     }
     else
     {
         try
         {
             if (seriesInfo.PrevFixPrice > 0m && lastPrice > 0m)
             {
                 Color fontColor = Utilities.ComparePriceCFColor(lastPrice, seriesInfo);
                 decimal num = lastPrice - seriesInfo.PrevFixPrice;
                 decimal num2 = (lastPrice - seriesInfo.PrevFixPrice) / seriesInfo.PrevFixPrice * 100m;
                 this.intzaHeader1.Item("price").Text = lastPrice.ToString();
                 this.intzaHeader1.Item("price").FontColor = fontColor;
                 this.intzaHeader1.Item("chg").Text = Utilities.PriceFormat(num, true, "");
                 if (this.intzaHeader1.Item("chg").Text == string.Empty)
                 {
                     this.intzaHeader1.Item("chg").Text = "    ";
                 }
                 this.intzaHeader1.Item("chg").FontColor = fontColor;
                 this.intzaHeader1.Item("pchg").Text = Utilities.PriceFormat(num2, true, "");
                 if (this.intzaHeader1.Item("pchg").Text == string.Empty)
                 {
                     this.intzaHeader1.Item("pchg").Text = "        ";
                 }
                 this.intzaHeader1.Item("pchg").FontColor = fontColor;
             }
             else
             {
                 lastPrice = seriesInfo.PrevFixPrice;
                 this.intzaHeader1.Item("price").Text = seriesInfo.PrevFixPrice.ToString();
                 this.intzaHeader1.Item("price").FontColor = MyColor.UnChgColor;
                 this.intzaHeader1.Item("chg").Text = "";
                 this.intzaHeader1.Item("pchg").Text = "";
             }
             this.intzaHeader1.Item("high").Text = Utilities.PriceFormat(high, seriesInfo.NumOfDec);
             this.intzaHeader1.Item("high").FontColor = Utilities.ComparePriceCFColor(high, seriesInfo);
             this.intzaHeader1.Item("low").Text = Utilities.PriceFormat(low, seriesInfo.NumOfDec);
             this.intzaHeader1.Item("low").FontColor = Utilities.ComparePriceCFColor(low, seriesInfo);
             this.intzaHeader1.EndUpdate();
         }
         catch (Exception ex)
         {
             this.ShowError("UpdateLastSalePrice", ex);
         }
     }
 }
예제 #13
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     try
     {
         string messageType = message.MessageType;
         if (messageType != null)
         {
             if (messageType == "LS")
             {
                 if (ApplicationInfo.AlertOpen)
                 {
                     this.AddItem((LSMessageTFEX)message, realtimeSeriesInfo.Symbol, realtimeSeriesInfo.ChangePrice, realtimeSeriesInfo.ChangePricePct, 1L);
                 }
             }
         }
     }
     catch
     {
     }
 }
예제 #14
0
 private void UpdateLastPriceBBOOption(int rowIndex, string type, decimal lastPrice, decimal chg, SeriesList.SeriesInformation stockInfo)
 {
     if (this.intzaOption.InvokeRequired)
     {
         this.intzaOption.Invoke(new frmMarketWatch.UpdateLastPriceBBOOptionsCallBack(this.UpdateLastPriceBBOOption), new object[]
         {
             rowIndex,
             type,
             lastPrice,
             chg,
             stockInfo
         });
     }
     else
     {
         try
         {
             Color fontColor = MyColor.UnChgColor;
             if (lastPrice > 0m)
             {
                 fontColor = Utilities.ComparePriceCFColor(lastPrice, stockInfo);
             }
             if (type == "CALL")
             {
                 this.intzaOption.Records(rowIndex).Fields("calllast").Text = lastPrice;
                 this.intzaOption.Records(rowIndex).Fields("calllast").FontColor = fontColor;
                 this.intzaOption.Records(rowIndex).Fields("callchg").Text = chg;
                 this.intzaOption.Records(rowIndex).Fields("callchg").FontColor = fontColor;
             }
             else
             {
                 this.intzaOption.Records(rowIndex).Fields("putlast").Text = lastPrice;
                 this.intzaOption.Records(rowIndex).Fields("putlast").FontColor = fontColor;
                 this.intzaOption.Records(rowIndex).Fields("putchg").Text = chg;
                 this.intzaOption.Records(rowIndex).Fields("putchg").FontColor = fontColor;
             }
         }
         catch (Exception ex)
         {
             this.ShowError("UpdateLastPriceBBOOption", ex);
         }
     }
 }
예제 #15
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     if (this.FormState == ClientBaseForm.ClientBaseFormState.Showed)
     {
         string messageType = message.MessageType;
         if (messageType != null)
         {
             if (messageType == "#T9I")
             {
                 OrderTFEXInfoClient orderTFEXInfoClient = (OrderTFEXInfoClient)message;
                 if (orderTFEXInfoClient.Account == ApplicationInfo.AccInfo.CurrentAccount)
                 {
                     this.StartReloadTimer(1500, false);
                 }
             }
         }
     }
 }
예제 #16
0
 private void UpdateLastPriceBBO_TFEX(int rowIndex, decimal lastPrice, decimal prior, long accVolume, decimal accValue, long deals, string comparePrice, SeriesList.SeriesInformation serieInfo, decimal highPrice, decimal lowPrice, long buyVol, long sellVol)
 {
     if (this.intzaBBO.InvokeRequired)
     {
         this.intzaBBO.Invoke(new frmMarketWatch.UpdateLastPriceBBO_TFEXCallBack(this.UpdateLastPriceBBO_TFEX), new object[]
         {
             rowIndex,
             lastPrice,
             prior,
             accVolume,
             accValue,
             deals,
             comparePrice,
             serieInfo,
             highPrice,
             lowPrice,
             buyVol,
             sellVol
         });
     }
     else
     {
         try
         {
             decimal num = 0m;
             decimal num2 = 0m;
             decimal num3 = 0m;
             if (lastPrice > 0m && prior > 0m)
             {
                 num = lastPrice - prior;
                 num2 = num / prior * 100m;
             }
             if (accVolume > 0L)
             {
                 num3 = accValue / accVolume;
             }
             decimal num4 = 0m;
             decimal num5 = 0m;
             if (accVolume > 0L)
             {
                 num5 = sellVol / accVolume * 100m;
                 num4 = buyVol / accVolume * 100m;
             }
             Color fontColor = MyColor.UnChgColor;
             if (lastPrice > 0m)
             {
                 fontColor = Utilities.ComparePriceCFColor(lastPrice, serieInfo);
             }
             STIControl.ExpandTableGrid.RecordItem recordItem = this.intzaBBO.Records(rowIndex);
             recordItem.Fields("prior").Text = Utilities.PriceFormat(prior, serieInfo.NumOfDec);
             recordItem.Fields("last").Text = Utilities.PriceFormat(lastPrice, serieInfo.NumOfDec);
             recordItem.Fields("chg").Text = num;
             recordItem.Fields("high").Text = highPrice;
             recordItem.Fields("low").Text = lowPrice;
             recordItem.Fields("avg").Text = num3;
             recordItem.Fields("pchg").Text = num2;
             recordItem.Fields("buyvolpct").Text = num4;
             recordItem.Fields("selvolpct").Text = num5;
             recordItem.Fields("mvol").Text = accVolume;
             recordItem.Fields("mval").Text = accValue * serieInfo.ContractSize / 1000m;
             recordItem.Fields("deals").Text = deals;
             recordItem.Fields("stock").FontColor = fontColor;
             recordItem.Fields("last").FontColor = fontColor;
             recordItem.Fields("chg").FontColor = fontColor;
             recordItem.Fields("pchg").FontColor = fontColor;
             recordItem.Fields("prior").FontColor = MyColor.UnChgColor;
             recordItem.Fields("mvol").FontColor = MyColor.UnChgColor;
             recordItem.Fields("mval").FontColor = MyColor.UnChgColor;
             recordItem.Fields("deals").FontColor = MyColor.UnChgColor;
             recordItem.Fields("high").FontColor = Utilities.ComparePriceCFColor(highPrice, serieInfo);
             recordItem.Fields("low").FontColor = Utilities.ComparePriceCFColor(lowPrice, serieInfo);
             recordItem.Fields("avg").FontColor = Utilities.ComparePriceCFColor(num3, serieInfo);
             recordItem.Fields("pchg").FontColor = fontColor;
             recordItem.Fields("buyvolpct").FontColor = MyColor.BuyColor;
             recordItem.Fields("selvolpct").FontColor = MyColor.SellColor;
         }
         catch (Exception ex)
         {
             this.ShowError("UpdateLastPriceBBOTFEX", ex);
         }
     }
 }
예제 #17
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     if (this.FormState != ClientBaseForm.ClientBaseFormState.Closing)
     {
         try
         {
             if (!this.IsInfoLoading && !this._currentIsSET)
             {
                 if (this._seriesInfoTFEX != null && realtimeSeriesInfo != null)
                 {
                     string text = message.MessageType;
                     switch (text)
                     {
                     case "TP":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             TPMessageTFEX tPMessageTFEX = (TPMessageTFEX)message;
                             this.UpdateTopPriceInfo_TFEX(tPMessageTFEX.OrderBookId, tPMessageTFEX.Side, tPMessageTFEX.Price1, tPMessageTFEX.Price2, tPMessageTFEX.Price3, tPMessageTFEX.Price4, tPMessageTFEX.Price5, (long)tPMessageTFEX.Vol1, (long)tPMessageTFEX.Vol2, (long)tPMessageTFEX.Vol3, (long)tPMessageTFEX.Vol4, (long)tPMessageTFEX.Vol5);
                             if (base.IsAllowRender)
                             {
                                 this.intzaTP.EndUpdate();
                             }
                         }
                         break;
                     case "LS":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             LSMessageTFEX lSMessageTFEX = (LSMessageTFEX)message;
                             if (lSMessageTFEX.DealSource == 20)
                             {
                                 if (ApplicationInfo.IndexInfoTfex.TXIState != "3C")
                                 {
                                     this.UpdateOpenOrProjectOpenPriceTFEX(ApplicationInfo.IndexInfoTfex.TXIState, lSMessageTFEX.Price, realtimeSeriesInfo);
                                 }
                                 else
                                 {
                                     this.UpdateOpenOrProjectOpenPriceTFEX(ApplicationInfo.IndexInfoTfex.TXMState, lSMessageTFEX.Price, realtimeSeriesInfo);
                                 }
                             }
                             this.UpdateLastPrice(lSMessageTFEX.Price, "");
                             this.UpdateHeaderPrice(lSMessageTFEX.High, lSMessageTFEX.Low);
                             this.UpdateAllVolumeTFEX(lSMessageTFEX.Deals, (long)lSMessageTFEX.AccVolume, lSMessageTFEX.AccValue, (long)lSMessageTFEX.OpenQty, (long)lSMessageTFEX.LongQty, (long)lSMessageTFEX.ShortQty, lSMessageTFEX.OpenValue, lSMessageTFEX.LongValue, lSMessageTFEX.ShortValue, realtimeSeriesInfo.ContractSize, lSMessageTFEX.Basis);
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                                 this.intzaVolumeByBoard.EndUpdate();
                             }
                             int num = lSMessageTFEX.Vol;
                             int num2;
                             int.TryParse(num.ToString(), out num2);
                             this.UpdateTickerInfo_TFEX(lSMessageTFEX.Price, lSMessageTFEX.Side, (long)num2, lSMessageTFEX.LastTime, -1);
                             if (base.IsAllowRender)
                             {
                                 this.intzaLS.Redraw();
                             }
                         }
                         break;
                     case "PO":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             POMessageTFEX pOMessageTFEX = (POMessageTFEX)message;
                             if (ApplicationInfo.IndexInfoTfex.TXIState != "3C")
                             {
                                 this.UpdateOpenOrProjectOpenPriceTFEX(ApplicationInfo.IndexInfoTfex.TXIState, pOMessageTFEX.Equilibrium_price_I, realtimeSeriesInfo);
                             }
                             else
                             {
                                 this.UpdateOpenOrProjectOpenPriceTFEX(ApplicationInfo.IndexInfoTfex.TXMState, pOMessageTFEX.Equilibrium_price_I, realtimeSeriesInfo);
                             }
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     case "SD":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             SDMessageTFEX sDMessageTFEX = (SDMessageTFEX)message;
                             if (sDMessageTFEX.Lastdate.ToString().Length == 8)
                             {
                                 this.intzaInfoTFEX.Item("last_date").Text = Utilities.GetDateFormat(sDMessageTFEX.Lastdate.ToString());
                             }
                             IntzaBaseItem arg_487_0 = this.intzaInfoTFEX.Item("multiplier");
                             int num = sDMessageTFEX.Price_quot_factor;
                             arg_487_0.Text = num.ToString();
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     case "CA8":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             CA8MessageTFEX cA8MessageTFEX = (CA8MessageTFEX)message;
                             if (ApplicationInfo.IndexInfoTfex.TXISession == 2)
                             {
                                 this.intzaInfoTFEX.Item("settle").Text = Utilities.PriceFormat(cA8MessageTFEX.FixingPrice.ToString(), this._seriesInfoTFEX.NumOfDec);
                                 if (realtimeSeriesInfo.MarketCode == 4 || realtimeSeriesInfo.MarketCode == 5)
                                 {
                                     this.intzaInfoTFEX.Item("psettle").Text = Utilities.PriceFormat(cA8MessageTFEX.FixingPrice, this._seriesInfoTFEX.NumOfDec);
                                 }
                             }
                             else
                             {
                                 this.intzaInfoTFEX.Item("psettle").Text = Utilities.PriceFormat(cA8MessageTFEX.FixingPrice, this._seriesInfoTFEX.NumOfDec);
                             }
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     case "BU10":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             BU10MessageTFEX bU10MessageTFEX = (BU10MessageTFEX)message;
                             this.intzaInfoTFEX.Item("tickSize").Text = Utilities.PriceFormat(bU10MessageTFEX.StepSize, this._seriesInfoTFEX.NumOfDec);
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     case "TCF":
                         if (realtimeSeriesInfo.Symbol == this._seriesInfoTFEX.Symbol)
                         {
                             TCFMessageTFEX tCFMessageTFEX = (TCFMessageTFEX)message;
                             this.intzaInfoTFEX.Item("ceiling").Text = FormatUtil.PriceFormat(realtimeSeriesInfo.Ceiling.ToString(), realtimeSeriesInfo.NumOfDec, "");
                             this.intzaInfoTFEX.Item("floor").Text = FormatUtil.PriceFormat(realtimeSeriesInfo.Floor.ToString(), realtimeSeriesInfo.NumOfDec, "");
                             this.intzaInfoTFEX.Item("psettle").Text = Utilities.PriceFormat(tCFMessageTFEX.PrevFixPrice, realtimeSeriesInfo.NumOfDec);
                             if (base.IsAllowRender)
                             {
                                 this.intzaInfoTFEX.EndUpdate();
                             }
                         }
                         break;
                     }
                 }
                 else if (message.MessageType == "IU")
                 {
                     IUMessageTFEX iUMessageTFEX = (IUMessageTFEX)message;
                     if (this._seriesInfoTFEX != null && this._seriesInfoTFEX.UnderOrderBookId == iUMessageTFEX.OrderBookId)
                     {
                         if (this._seriesInfoTFEX.Group == 1 && this._seriesInfoTFEX.LastSalePrice != 0m)
                         {
                             this.intzaInfoTFEX.Item("basis").Text = (iUMessageTFEX.LastIndx - this._seriesInfoTFEX.StrikPrice).ToString();
                             this.intzaInfoTFEX.Item("basis").FontColor = Utilities.ComparePriceColor(iUMessageTFEX.LastIndx - this._seriesInfoTFEX.StrikPrice, 0m);
                         }
                         else if (this._seriesInfoTFEX.Group == 2 && this._seriesInfoTFEX.LastSalePrice != 0m)
                         {
                             this.intzaInfoTFEX.Item("basis").Text = (this._seriesInfoTFEX.StrikPrice - iUMessageTFEX.LastIndx).ToString();
                             this.intzaInfoTFEX.Item("basis").FontColor = Utilities.ComparePriceColor(this._seriesInfoTFEX.StrikPrice - iUMessageTFEX.LastIndx, 0m);
                         }
                         else if (this._seriesInfoTFEX.Group != 1 && this._seriesInfoTFEX.Group != 2 && this._seriesInfoTFEX.LastSalePrice != 0m && iUMessageTFEX.LastIndx != 0m)
                         {
                             this.intzaInfoTFEX.Item("basis").Text = (this._seriesInfoTFEX.LastSalePrice - iUMessageTFEX.LastIndx).ToString();
                             this.intzaInfoTFEX.Item("basis").FontColor = Utilities.ComparePriceColor(this._seriesInfoTFEX.LastSalePrice - iUMessageTFEX.LastIndx, 0m);
                         }
                         this.intzaInfoTFEX.Item("lastIndex").Text = iUMessageTFEX.LastIndx.ToString();
                         this.intzaInfoTFEX.Item("lastIndex").FontColor = MyColor.UnChgColor;
                     }
                     if (base.IsAllowRender)
                     {
                         this.intzaInfoTFEX.EndUpdate();
                     }
                 }
             }
             if (!this.IsBBOLoading)
             {
                 string text = this._mainGroupType;
                 if (text != null)
                 {
                     if (!(text == "Futures") && !(text == "Option"))
                     {
                         if (text == "Favorites")
                         {
                             this.ReceiveMessageBBO_TFEX(message, realtimeSeriesInfo);
                         }
                     }
                     else if (this._subGroupType == "SET50Option")
                     {
                         this.ReceiveMessageBBO_Options(message, realtimeSeriesInfo);
                     }
                     else
                     {
                         this.ReceiveMessageBBO_TFEX(message, realtimeSeriesInfo);
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             this.ShowError("ReceiveTfexMessage", ex);
         }
     }
 }
예제 #18
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     this.ViewOrderBox.ReceiveTfexMessage(message, realtimeSeriesInfo);
 }
예제 #19
0
 private void ReceiveMessageBBO_Options(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     try
     {
         string messageType = message.MessageType;
         if (messageType != null)
         {
             if (!(messageType == "TP"))
             {
                 if (messageType == "LS")
                 {
                     if (realtimeSeriesInfo != null)
                     {
                         int num = this.intzaOption.FindIndex("strike", realtimeSeriesInfo.StrikPrice.ToString().Replace(".000000", ""));
                         if (num > -1)
                         {
                             LSMessageTFEX lSMessageTFEX = (LSMessageTFEX)message;
                             if (realtimeSeriesInfo.Group == 1 && lSMessageTFEX.Sec == this.intzaOption.Records(num).Fields("sSeriesOC").Text.ToString())
                             {
                                 this.UpdateLastPriceBBOOption(num, "CALL", lSMessageTFEX.Price, lSMessageTFEX.Price - realtimeSeriesInfo.PrevFixPrice, realtimeSeriesInfo);
                                 if (base.IsAllowRender)
                                 {
                                     this.intzaOption.EndUpdate(num);
                                 }
                             }
                             else if (realtimeSeriesInfo.Group == 2 && lSMessageTFEX.Sec == this.intzaOption.Records(num).Fields("sSeriesOP").Text.ToString())
                             {
                                 this.UpdateLastPriceBBOOption(num, "PUT", lSMessageTFEX.Price, lSMessageTFEX.Price - realtimeSeriesInfo.PrevFixPrice, realtimeSeriesInfo);
                                 if (base.IsAllowRender)
                                 {
                                     this.intzaOption.EndUpdate(num);
                                 }
                             }
                         }
                     }
                 }
             }
             else if (realtimeSeriesInfo != null)
             {
                 string keyValue = Utilities.PriceFormat(realtimeSeriesInfo.StrikPrice);
                 int num = this.intzaOption.FindIndex("strike", keyValue);
                 if (num > -1)
                 {
                     TPMessageTFEX tPMessageTFEX = (TPMessageTFEX)message;
                     if (realtimeSeriesInfo.Group == 1 && tPMessageTFEX.OrderBookId.ToString() == this.intzaOption.Records(num).Fields("sSeriesOC").Text.ToString())
                     {
                         this.UpdateBBOTopPrice_Options(num, "CALL", tPMessageTFEX.Side, tPMessageTFEX.Vol1.ToString(), tPMessageTFEX.Price1.ToString(), realtimeSeriesInfo);
                         if (base.IsAllowRender)
                         {
                             this.intzaOption.EndUpdate(num);
                         }
                     }
                     else if (realtimeSeriesInfo.Group == 2 && tPMessageTFEX.OrderBookId.ToString() == this.intzaOption.Records(num).Fields("sSeriesOP").Text.ToString())
                     {
                         this.UpdateBBOTopPrice_Options(num, "PUT", tPMessageTFEX.Side, tPMessageTFEX.Vol1.ToString(), tPMessageTFEX.Price1.ToString(), realtimeSeriesInfo);
                         if (base.IsAllowRender)
                         {
                             this.intzaOption.EndUpdate(num);
                         }
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         this.ShowError("SecurityInfo::RecvMessage", ex);
     }
 }
예제 #20
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     if (!this.isLoadingData)
     {
         try
         {
             if (message.MessageType == "#T9I")
             {
                 this.ReceiveOrderInfoTFEX(message);
             }
         }
         catch (Exception ex)
         {
             this.ShowError("ReceiveMessage", ex);
         }
     }
 }
예제 #21
0
 private void ReceiveMessageBBO_TFEX(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     try
     {
         if (realtimeSeriesInfo != null)
         {
             string messageType = message.MessageType;
             if (messageType != null)
             {
                 if (!(messageType == "TP"))
                 {
                     if (!(messageType == "LS"))
                     {
                         if (!(messageType == "CA8"))
                         {
                             if (messageType == "TCF")
                             {
                                 if (realtimeSeriesInfo.Symbol != "")
                                 {
                                     int num = this.intzaBBO.FindIndex("stock", realtimeSeriesInfo.Symbol);
                                     if (num > -1)
                                     {
                                         TCFMessageTFEX tCFMessageTFEX = (TCFMessageTFEX)message;
                                         STIControl.ExpandTableGrid.RecordItem recordItem = this.intzaBBO.Records(num);
                                         recordItem.Fields("prior").Text = Utilities.PriceFormat(tCFMessageTFEX.PrevFixPrice, realtimeSeriesInfo.NumOfDec);
                                         if (base.IsAllowRender)
                                         {
                                             this.intzaBBO.EndUpdate(num);
                                         }
                                     }
                                 }
                             }
                         }
                         else if (realtimeSeriesInfo.Symbol != "")
                         {
                             int num = this.intzaBBO.FindIndex("stock", realtimeSeriesInfo.Symbol);
                             if (num > -1)
                             {
                                 CA8MessageTFEX cA8MessageTFEX = (CA8MessageTFEX)message;
                                 STIControl.ExpandTableGrid.RecordItem recordItem = this.intzaBBO.Records(num);
                                 recordItem.Fields("prior").Text = Utilities.PriceFormat(cA8MessageTFEX.FixingPrice, realtimeSeriesInfo.NumOfDec);
                                 if (base.IsAllowRender)
                                 {
                                     this.intzaBBO.EndUpdate(num);
                                 }
                             }
                         }
                     }
                     else if (realtimeSeriesInfo.Symbol != "")
                     {
                         int num = this.intzaBBO.FindIndex("stock", realtimeSeriesInfo.Symbol);
                         if (num > -1)
                         {
                             LSMessageTFEX lSMessageTFEX = (LSMessageTFEX)message;
                             this.UpdateLastPriceBBO_TFEX(num, lSMessageTFEX.Price, realtimeSeriesInfo.PrevFixPrice, (long)lSMessageTFEX.AccVolume, lSMessageTFEX.AccValue, (long)lSMessageTFEX.Deals, "", realtimeSeriesInfo, lSMessageTFEX.High, lSMessageTFEX.Low, (long)lSMessageTFEX.LongQty, (long)lSMessageTFEX.ShortQty);
                             this.ShowUnderLineBBOTFEX(num, lSMessageTFEX.Price, realtimeSeriesInfo.BidPrice1.ToString(), realtimeSeriesInfo.OfferPrice1.ToString());
                             if (base.IsAllowRender)
                             {
                                 this.intzaBBO.EndUpdate(num);
                             }
                         }
                     }
                 }
                 else if (realtimeSeriesInfo.Symbol != string.Empty)
                 {
                     int num = this.intzaBBO.FindIndex("stock", realtimeSeriesInfo.Symbol);
                     if (num > -1)
                     {
                         TPMessageTFEX tPMessageTFEX = (TPMessageTFEX)message;
                         if (tPMessageTFEX.Side == "B")
                         {
                             realtimeSeriesInfo.BidVol1 = (long)tPMessageTFEX.Vol1;
                             realtimeSeriesInfo.BidVol2 = (long)tPMessageTFEX.Vol2;
                             realtimeSeriesInfo.BidVol3 = (long)tPMessageTFEX.Vol3;
                             realtimeSeriesInfo.BidVol4 = (long)tPMessageTFEX.Vol4;
                             realtimeSeriesInfo.BidVol5 = (long)tPMessageTFEX.Vol5;
                         }
                         else if (tPMessageTFEX.Side == "A")
                         {
                             realtimeSeriesInfo.OffVol1 = (long)tPMessageTFEX.Vol1;
                             realtimeSeriesInfo.OffVol2 = (long)tPMessageTFEX.Vol2;
                             realtimeSeriesInfo.OffVol3 = (long)tPMessageTFEX.Vol3;
                             realtimeSeriesInfo.OffVol4 = (long)tPMessageTFEX.Vol4;
                             realtimeSeriesInfo.OffVol5 = (long)tPMessageTFEX.Vol5;
                         }
                         this.UpdateBBOTopPrice_TFEX(num, tPMessageTFEX.Side, tPMessageTFEX.Price1.ToString(), (long)tPMessageTFEX.Vol1, realtimeSeriesInfo.PrevFixPrice, realtimeSeriesInfo.LastSalePrice, realtimeSeriesInfo);
                         this.UpdateBidOfferVolPct(num, realtimeSeriesInfo.SumBidVol, realtimeSeriesInfo.SumOffVol);
                         if (this.intzaBBO.Records(num).Rows > 1)
                         {
                             this.UpdateBBOBidsTFEX(this.intzaBBO.Records(num), realtimeSeriesInfo, tPMessageTFEX.Side, tPMessageTFEX.Price2.ToString(), (long)tPMessageTFEX.Vol2, tPMessageTFEX.Price3.ToString(), (long)tPMessageTFEX.Vol3, tPMessageTFEX.Price4.ToString(), (long)tPMessageTFEX.Vol4, tPMessageTFEX.Price5.ToString(), (long)tPMessageTFEX.Vol5);
                         }
                         if (base.IsAllowRender)
                         {
                             this.intzaBBO.EndUpdate(num);
                         }
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         this.ShowError("SecurityInfo::RecvMessage", ex);
     }
 }
예제 #22
0
 public void ReceiveTfexMessage(IBroadcastMessage message, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
 }
예제 #23
0
 private void UpdateBBOBidsTFEX(STIControl.ExpandTableGrid.RecordItem rec, SeriesList.SeriesInformation sf, string side, string price2, long volume2, string price3, long volume3, string price4, long volume4, string price5, long volume5)
 {
     try
     {
         Color fontColor = MyColor.UnChgColor;
         if (side == "B")
         {
             if (volume2 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price2, sf);
                 rec.SubRecord[0].Fields("bidvol").Text = volume2;
                 rec.SubRecord[0].Fields("bidvol").FontColor = fontColor;
                 rec.SubRecord[0].Fields("bid").Text = Utilities.BidOfferPriceFormat(price2, volume2);
                 rec.SubRecord[0].Fields("bid").FontColor = fontColor;
             }
             if (volume3 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price3, sf);
                 rec.SubRecord[1].Fields("bidvol").Text = volume3;
                 rec.SubRecord[1].Fields("bidvol").FontColor = fontColor;
                 rec.SubRecord[1].Fields("bid").Text = Utilities.BidOfferPriceFormat(price3, volume3);
                 rec.SubRecord[1].Fields("bid").FontColor = fontColor;
             }
             if (rec.Rows == 5)
             {
                 if (volume4 != -1L)
                 {
                     fontColor = Utilities.ComparePriceCFColor(price4, sf);
                     rec.SubRecord[2].Fields("bidvol").Text = volume4;
                     rec.SubRecord[2].Fields("bidvol").FontColor = fontColor;
                     rec.SubRecord[2].Fields("bid").Text = Utilities.BidOfferPriceFormat(price4, volume4);
                     rec.SubRecord[2].Fields("bid").FontColor = fontColor;
                 }
                 if (volume5 != -1L)
                 {
                     fontColor = Utilities.ComparePriceCFColor(price5, sf);
                     rec.SubRecord[3].Fields("bidvol").Text = volume5;
                     rec.SubRecord[3].Fields("bidvol").FontColor = fontColor;
                     rec.SubRecord[3].Fields("bid").Text = Utilities.BidOfferPriceFormat(price5, volume5);
                     rec.SubRecord[3].Fields("bid").FontColor = fontColor;
                 }
             }
         }
         else if (side == "A")
         {
             if (volume2 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price2, sf);
                 rec.SubRecord[0].Fields("offvol").Text = volume2;
                 rec.SubRecord[0].Fields("offvol").FontColor = fontColor;
                 rec.SubRecord[0].Fields("offer").Text = Utilities.BidOfferPriceFormat(price2, volume2);
                 rec.SubRecord[0].Fields("offer").FontColor = fontColor;
             }
             if (volume3 != -1L)
             {
                 fontColor = Utilities.ComparePriceCFColor(price3, sf);
                 rec.SubRecord[1].Fields("offvol").Text = volume3;
                 rec.SubRecord[1].Fields("offvol").FontColor = fontColor;
                 rec.SubRecord[1].Fields("offer").Text = Utilities.BidOfferPriceFormat(price3, volume3);
                 rec.SubRecord[1].Fields("offer").FontColor = fontColor;
             }
             if (rec.Rows == 5)
             {
                 if (volume4 != -1L)
                 {
                     fontColor = Utilities.ComparePriceCFColor(price4, sf);
                     rec.SubRecord[2].Fields("offvol").Text = volume4;
                     rec.SubRecord[2].Fields("offvol").FontColor = fontColor;
                     rec.SubRecord[2].Fields("offer").Text = Utilities.BidOfferPriceFormat(price4, volume4);
                     rec.SubRecord[2].Fields("offer").FontColor = fontColor;
                 }
                 if (volume5 != -1L)
                 {
                     fontColor = Utilities.ComparePriceCFColor(price5, sf);
                     rec.SubRecord[3].Fields("offvol").Text = volume5;
                     rec.SubRecord[3].Fields("offvol").FontColor = fontColor;
                     rec.SubRecord[3].Fields("offer").Text = Utilities.BidOfferPriceFormat(price5, volume5);
                     rec.SubRecord[3].Fields("offer").FontColor = fontColor;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         this.ShowError("UpdateTopPrice", ex);
     }
 }
예제 #24
0
 private void UpdateTickerTFEX(LSMessageTFEX msg, SeriesList.SeriesInformation realtimeSeriesInfo)
 {
     if (this.intzaTickerTFEX.InvokeRequired)
     {
         this.intzaTickerTFEX.Invoke(new ucTickerSlide.UpdateLastSaleTickerTFEXCallBack(this.UpdateTickerTFEX), new object[]
         {
             msg,
             realtimeSeriesInfo
         });
     }
     else
     {
         try
         {
             if (!string.IsNullOrEmpty(realtimeSeriesInfo.Symbol))
             {
                 int num = this.intzaTickerTFEX.FocusItemIndex + 1;
                 num++;
                 if (num > this.intzaTickerTFEX.Rows)
                 {
                     num = 1;
                 }
                 if (num + 1 <= this.intzaTickerTFEX.Rows)
                 {
                     this.intzaTickerTFEX.ClearAllTextByRow(num);
                     this.intzaTickerTFEX.EndUpdate(num);
                 }
                 STIControl.SortTableGrid.RecordItem recordItem = this.intzaTickerTFEX.Records(num - 1);
                 decimal num2 = 0m;
                 decimal num3 = 0m;
                 if (realtimeSeriesInfo.PrevFixPrice > 0m)
                 {
                     num2 = msg.Price - realtimeSeriesInfo.PrevFixPrice;
                     num3 = num2 / realtimeSeriesInfo.PrevFixPrice;
                 }
                 recordItem.Fields("stock").Text = realtimeSeriesInfo.Symbol;
                 recordItem.Fields("side").Text = msg.Side;
                 recordItem.Fields("volume").Text = msg.Vol;
                 recordItem.Fields("price").Text = Utilities.PriceFormat(msg.Price, realtimeSeriesInfo.NumOfDec);
                 recordItem.Fields("change").Text = num2;
                 recordItem.Fields("pchg").Text = num3;
                 Color fontColor = Utilities.ComparePriceCFColor(msg.Price, realtimeSeriesInfo);
                 Color fontColor2 = Color.Yellow;
                 if (msg.Side.ToString() == "B")
                 {
                     fontColor2 = MyColor.BuyColor;
                 }
                 else if (msg.Side.ToString() == "S")
                 {
                     fontColor2 = MyColor.SellColor;
                 }
                 recordItem.Fields("stock").FontColor = fontColor;
                 recordItem.Fields("side").FontColor = fontColor2;
                 recordItem.Fields("volume").FontColor = fontColor2;
                 recordItem.Fields("price").FontColor = fontColor;
                 recordItem.Fields("change").FontColor = fontColor;
                 recordItem.Fields("pchg").FontColor = fontColor;
                 this.intzaTickerTFEX.SetFocusItem(num - 1);
             }
         }
         catch (Exception ex)
         {
             this.ShowError("UpdateLastSaleTicker", ex);
         }
     }
 }
예제 #25
0
 private void UpdateBBOTopPrice_Options(int rowIndex, string type, string side, string volume, string price, SeriesList.SeriesInformation seriesInfoForOptionCrtl)
 {
     if (this.intzaOption.InvokeRequired)
     {
         frmMarketWatch.UpdateBBOTopPriceOptionsCallBack method = new frmMarketWatch.UpdateBBOTopPriceOptionsCallBack(this.UpdateBBOTopPrice_Options);
         this.intzaOption.Invoke(method, new object[]
         {
             rowIndex,
             type,
             side,
             volume,
             price,
             seriesInfoForOptionCrtl
         });
     }
     else
     {
         try
         {
             if (rowIndex > -1)
             {
                 Color fontColor = MyColor.UnChgColor;
                 if (volume != "-1")
                 {
                     if (type == "CALL")
                     {
                         this.intzaOption.Records(rowIndex).Fields("sSeriesOC").Text = seriesInfoForOptionCrtl.Symbol;
                         if (side == "B")
                         {
                             fontColor = Utilities.ComparePriceCFColor(price, seriesInfoForOptionCrtl);
                             this.intzaOption.Records(rowIndex).Fields("callbid").Text = Utilities.PriceFormat(price);
                             this.intzaOption.Records(rowIndex).Fields("callbid").FontColor = fontColor;
                             this.intzaOption.Records(rowIndex).Fields("callbidvol").Text = volume;
                             this.intzaOption.Records(rowIndex).Fields("callbidvol").FontColor = fontColor;
                         }
                         else
                         {
                             fontColor = Utilities.ComparePriceCFColor(price, seriesInfoForOptionCrtl);
                             this.intzaOption.Records(rowIndex).Fields("calloffer").Text = Utilities.PriceFormat(price);
                             this.intzaOption.Records(rowIndex).Fields("calloffer").FontColor = fontColor;
                             this.intzaOption.Records(rowIndex).Fields("calloffvol").Text = volume;
                             this.intzaOption.Records(rowIndex).Fields("calloffvol").FontColor = fontColor;
                         }
                     }
                     else
                     {
                         this.intzaOption.Records(rowIndex).Fields("sSeriesOP").Text = seriesInfoForOptionCrtl.Symbol;
                         if (side == "B")
                         {
                             fontColor = Utilities.ComparePriceCFColor(price, seriesInfoForOptionCrtl);
                             this.intzaOption.Records(rowIndex).Fields("putbid").Text = Utilities.PriceFormat(price);
                             this.intzaOption.Records(rowIndex).Fields("putbid").FontColor = fontColor;
                             this.intzaOption.Records(rowIndex).Fields("putbidvol").Text = volume;
                             this.intzaOption.Records(rowIndex).Fields("putbidvol").FontColor = fontColor;
                         }
                         else
                         {
                             fontColor = Utilities.ComparePriceCFColor(price, seriesInfoForOptionCrtl);
                             this.intzaOption.Records(rowIndex).Fields("putoffer").Text = Utilities.PriceFormat(price);
                             this.intzaOption.Records(rowIndex).Fields("putoffer").FontColor = fontColor;
                             this.intzaOption.Records(rowIndex).Fields("putoffvol").Text = volume;
                             this.intzaOption.Records(rowIndex).Fields("putoffvol").FontColor = fontColor;
                         }
                     }
                 }
             }
             this.intzaOption.Redraw();
         }
         catch (Exception ex)
         {
             this.ShowError("UpdateTopPriceBBO_Options", ex);
         }
     }
 }
예제 #26
0
 private void MainUpdateLastSalePrice_TFEX(decimal lastPrice, decimal high, decimal low, decimal accValue, long accVolume, SeriesList.SeriesInformation sf_TFEX)
 {
     try
     {
         decimal num = 0m;
         decimal num2 = 0m;
         Color fontColor = MyColor.UnChgColor;
         if (accVolume > 0L)
         {
             decimal num3 = Math.Round(accValue / accVolume, 2);
             this.intzaInfo.Item("tbAverage").Text = Utilities.PriceFormat(num3, sf_TFEX.NumOfDec);
             this.intzaInfo.Item("tbAverage").FontColor = Utilities.ComparePriceCFColor(num3, sf_TFEX);
         }
         if (sf_TFEX.PrevFixPrice > 0m && lastPrice > 0m)
         {
             num = lastPrice - sf_TFEX.PrevFixPrice;
             num2 = (lastPrice - sf_TFEX.PrevFixPrice) / sf_TFEX.PrevFixPrice * 100m;
             fontColor = Utilities.ComparePriceColor(num, 0m);
         }
         this.intzaInfo.Item("tbChange").Text = Utilities.PriceFormat(num, true, sf_TFEX.NumOfDec);
         this.intzaInfo.Item("tbChangePct").Text = Utilities.PriceFormat(num2, true, "%");
         this.intzaInfo.Item("tbChange").FontColor = fontColor;
         this.intzaInfo.Item("tbChangePct").FontColor = fontColor;
         this.intzaInfo.Item("tbHigh").Text = Utilities.PriceFormat(high, sf_TFEX.NumOfDec);
         this.intzaInfo.Item("tbLow").Text = Utilities.PriceFormat(low, sf_TFEX.NumOfDec);
         this.intzaInfo.Item("tbHigh").FontColor = Utilities.ComparePriceCFColor(high, sf_TFEX);
         this.intzaInfo.Item("tbLow").FontColor = Utilities.ComparePriceCFColor(low, sf_TFEX);
     }
     catch (Exception ex)
     {
         this.ShowError("MainUpdateLastSalePrice_TFEX", ex);
     }
 }
예제 #27
0
 private void UpdateBBOTopPrice_TFEX(int rowIndex, string side, string price, long volume, decimal prior, decimal lastSalePrice, SeriesList.SeriesInformation serieInfo)
 {
     if (this.intzaBBO.InvokeRequired)
     {
         this.intzaBBO.Invoke(new frmMarketWatch.UpdateBBOTopPriceTFEXCallBack(this.UpdateBBOTopPrice_TFEX), new object[]
         {
             rowIndex,
             side,
             price,
             volume,
             prior,
             lastSalePrice,
             serieInfo
         });
     }
     else
     {
         try
         {
             if (rowIndex > -1)
             {
                 Color fontColor = MyColor.UnChgColor;
                 if (side == "B")
                 {
                     if (volume != -1L)
                     {
                         if (Utilities.GetTopPriceZero(volume, price))
                         {
                             this.intzaBBO.Records(rowIndex).Fields("bid").Text = "0.00";
                         }
                         else
                         {
                             this.intzaBBO.Records(rowIndex).Fields("bid").Text = Utilities.PriceFormat(price, serieInfo.NumOfDec);
                         }
                         this.intzaBBO.Records(rowIndex).Fields("bidvol").Text = volume;
                         if (Utilities.PriceFormat(lastSalePrice, serieInfo.NumOfDec) == Utilities.PriceFormat(price, serieInfo.NumOfDec))
                         {
                             if (ApplicationInfo.IndexInfoTfex.TXIState == "7" || ApplicationInfo.IndexInfoTfex.TXIState == "9")
                             {
                                 this.intzaBBO.Records(rowIndex).Fields("bid").FontStyle = FontStyle.Underline;
                             }
                             else
                             {
                                 this.intzaBBO.Records(rowIndex).Fields("bid").FontStyle = FontStyle.Underline;
                                 this.intzaBBO.Records(rowIndex).Fields("offer").FontStyle = FontStyle.Regular;
                             }
                         }
                         else
                         {
                             this.intzaBBO.Records(rowIndex).Fields("bid").FontStyle = FontStyle.Regular;
                         }
                         fontColor = Utilities.ComparePriceCFColor(price, serieInfo);
                         this.intzaBBO.Records(rowIndex).Fields("bid").FontColor = fontColor;
                         this.intzaBBO.Records(rowIndex).Fields("bidvol").FontColor = fontColor;
                     }
                 }
                 else if (side == "A")
                 {
                     if (volume != -1L)
                     {
                         if (Utilities.GetTopPriceZero(volume, price))
                         {
                             this.intzaBBO.Records(rowIndex).Fields("offer").Text = "0.00";
                         }
                         else
                         {
                             this.intzaBBO.Records(rowIndex).Fields("offer").Text = Utilities.PriceFormat(price, serieInfo.NumOfDec);
                         }
                         this.intzaBBO.Records(rowIndex).Fields("offvol").Text = volume;
                         if (Utilities.PriceFormat(lastSalePrice, serieInfo.NumOfDec) == Utilities.PriceFormat(price, serieInfo.NumOfDec))
                         {
                             if (ApplicationInfo.IndexInfoTfex.TXIState == "7" || ApplicationInfo.IndexInfoTfex.TXIState == "9")
                             {
                                 this.intzaBBO.Records(rowIndex).Fields("offer").FontStyle = FontStyle.Underline;
                             }
                             else
                             {
                                 this.intzaBBO.Records(rowIndex).Fields("bid").FontStyle = FontStyle.Regular;
                                 this.intzaBBO.Records(rowIndex).Fields("offer").FontStyle = FontStyle.Underline;
                             }
                         }
                         else
                         {
                             this.intzaBBO.Records(rowIndex).Fields("offer").FontStyle = FontStyle.Regular;
                         }
                         fontColor = Utilities.ComparePriceCFColor(price, serieInfo);
                         this.intzaBBO.Records(rowIndex).Fields("offer").FontColor = fontColor;
                         this.intzaBBO.Records(rowIndex).Fields("offvol").FontColor = fontColor;
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             this.ShowError("UpdateTopPriceBBOTFEX", ex);
         }
     }
 }
예제 #28
0
 private void UpdateOpenOrProjectOpenPriceTFEX(string state, decimal price, SeriesList.SeriesInformation sf)
 {
     try
     {
         if (state == "7")
         {
             if (price != 0m)
             {
                 this.intzaInfoTFEX.Item("open1").Text = Utilities.PriceFormat(price, sf.NumOfDec);
                 this.intzaInfoTFEX.Item("open1").BackColor = Utilities.ComparePriceCFColor(price, sf);
                 this.intzaInfoTFEX.Item("open1").FontColor = Color.Black;
             }
             else
             {
                 this.intzaInfoTFEX.Item("open1").BackColor = this.intzaInfoTFEX.BackColor;
             }
         }
         else if (state == "9")
         {
             if (price != 0m)
             {
                 this.intzaInfoTFEX.Item("open2").Text = Utilities.PriceFormat(price, sf.NumOfDec);
                 this.intzaInfoTFEX.Item("open2").BackColor = Utilities.ComparePriceCFColor(price, sf);
                 this.intzaInfoTFEX.Item("open2").FontColor = Color.Black;
             }
             else
             {
                 this.intzaInfoTFEX.Item("open2").BackColor = this.intzaInfoTFEX.BackColor;
             }
         }
         else if (state == "11")
         {
             if (price != 0m)
             {
                 this.intzaInfoTFEX.Item("open1").Text = Utilities.PriceFormat(price, sf.NumOfDec);
                 this.intzaInfoTFEX.Item("open1").BackColor = this.intzaInfoTFEX.BackColor;
                 this.intzaInfoTFEX.Item("open1").FontColor = Utilities.ComparePriceCFColor(price, sf);
             }
         }
         else if (state == "10")
         {
             if (price != 0m)
             {
                 this.intzaInfoTFEX.Item("open2").Text = Utilities.PriceFormat(price, sf.NumOfDec);
                 this.intzaInfoTFEX.Item("open2").BackColor = this.intzaInfoTFEX.BackColor;
                 this.intzaInfoTFEX.Item("open2").FontColor = Utilities.ComparePriceCFColor(price, sf);
             }
         }
         else if (state == "23")
         {
             if (price != 0m)
             {
                 this.intzaInfoTFEX.Item("open3").Text = Utilities.PriceFormat(price, sf.NumOfDec);
                 this.intzaInfoTFEX.Item("open3").BackColor = Utilities.ComparePriceCFColor(price, sf);
                 this.intzaInfoTFEX.Item("open3").FontColor = Color.Black;
             }
             else
             {
                 this.intzaInfoTFEX.Item("open3").BackColor = this.intzaInfoTFEX.BackColor;
             }
         }
         else if (state == "24")
         {
             if (price != 0m)
             {
                 this.intzaInfoTFEX.Item("open3").Text = Utilities.PriceFormat(price, sf.NumOfDec);
                 this.intzaInfoTFEX.Item("open3").BackColor = this.intzaInfoTFEX.BackColor;
                 this.intzaInfoTFEX.Item("open3").FontColor = Utilities.ComparePriceCFColor(price, sf);
             }
         }
     }
     catch (Exception ex)
     {
         this.ShowError("UpdateOpenOrProjectOpenPriceTFEX", ex);
     }
 }
예제 #29
0
 public static Color ComparePriceCFColor(object price, SeriesList.SeriesInformation seriesInfo)
 {
     decimal price2;
     decimal.TryParse(price.ToString(), out price2);
     return Utilities.ComparePriceCFColor(price2, seriesInfo);
 }