示例#1
0
 private void ProcessMessage(IBMessage message)
 {
     switch (message.Type)
     {
     case MessageType.OpenOrder:
         HandleOpenOrder((OpenOrderMessage)message);
         break;
     }
 }
示例#2
0
 private void ProcessMessage(IBMessage message)
 {
     switch (message.Type)
     {
         case MessageType.OpenOrder:
             HandleOpenOrder((OpenOrderMessage)message);
             break;
     }
 }
示例#3
0
 //This is the "UI entry point" and as such will handle the UI update by another thread
 public void HandleMessage(IBMessage message)
 {
     if (this.InvokeRequired)
     {
         MessageHandlerDelegate callback = new MessageHandlerDelegate(HandleMessage);
         this.Invoke(callback, new object[] { message });
     }
     else
     {
         UpdateUI(message);
     }
 }
示例#4
0
 //This is the "UI entry point" and as such will handle the UI update by another thread
 public void HandleMessage(IBMessage message)
 {
     if (this.InvokeRequired)
     {
         MessageHandlerDelegate callback = new MessageHandlerDelegate(HandleMessage);
         this.Invoke(callback, new object[] { message });
     }
     else
     {
         UpdateUI(message);
     }
 }
示例#5
0
        private void ProcessMessage(IBMessage message)
        {
            switch (message.Type)
            {
            case MessageType.OpenOrder:
                HandleOpenOrder((OpenOrderMessage)message);
                break;

            case MessageType.SoftDollarTiers:
                HandleSoftDollarTiers((SoftDollarTiersMessage)message);
                break;
            }
        }
示例#6
0
 private void UpdateUI(IBMessage message)
 {
     switch (message.Type)
     {
         case MessageType.ConnectionStatus:
             {
                 ConnectionStatusMessage statusMessage = (ConnectionStatusMessage)message;
                 if (statusMessage.IsConnected)
                 {
                     status_CT.Text = "Connected! Your client Id: "+ibClient.ClientId;
                     connectButton.Text = "Disconnect";
                 }
                 else
                 {
                     status_CT.Text = "Disconnected...";
                     connectButton.Text = "Connect";
                 }
                 break;
             }
         case MessageType.Error:
             {
                 ErrorMessage error = (ErrorMessage)message;
                 ShowMessageOnPanel("Request " + error.RequestId + ", Code: " + error.ErrorCode + " - " + error.Message + "\r\n");
                 HandleErrorMessage(error);
                 break;
             }
         case MessageType.TickOptionComputation:
         case MessageType.TickPrice:
         case MessageType.TickSize:
             {
                 HandleTickMessage((MarketDataMessage)message);
                 break;
             }
         case MessageType.MarketDepth:
         case MessageType.MarketDepthL2:
             {
                 deepBookManager.UpdateUI(message);
                 break;
             }
         case MessageType.HistoricalData:
         case MessageType.HistoricalDataEnd:
             {
                 historicalDataManager.UpdateUI(message);
                 break;
             }
         case MessageType.RealTimeBars:
             {
                 realTimeBarManager.UpdateUI(message);
                 break;
             }
         case MessageType.ScannerData:
             {
                 scannerManager.UpdateUI(message);
                 break;
             }
         case MessageType.OpenOrder:
         case MessageType.OpenOrderEnd:
         case MessageType.OrderStatus:
         case MessageType.ExecutionData:
         case MessageType.CommissionsReport:
             {
                 orderManager.UpdateUI(message);
                 break;
             }
         case MessageType.ManagedAccounts:
             {
                 orderManager.ManagedAccounts = ((ManagedAccountsMessage)message).ManagedAccounts;
                 accountManager.ManagedAccounts = ((ManagedAccountsMessage)message).ManagedAccounts;
                 exerciseAccount.Items.AddRange(((ManagedAccountsMessage)message).ManagedAccounts.ToArray());
                 break;
             }
         case MessageType.AccountSummaryEnd:
             {
                 accSummaryRequest.Text = "Request";
                 accountManager.UpdateUI(message);
                 break;
             }
         case MessageType.AccountDownloadEnd:
             {
                 break;
             }
         case MessageType.AccountUpdateTime:
             {
                 accUpdatesLastUpdateValue.Text = ((UpdateAccountTimeMessage)message).Timestamp;
                 break;
             }
         case MessageType.PortfolioValue:
             {
                 accountManager.UpdateUI(message);
                 if (exerciseAccount.SelectedItem != null)
                     optionsManager.HandlePosition((UpdatePortfolioMessage)message);
                 break;
             }
         case MessageType.AccountSummary:
         case MessageType.AccountValue:
         case MessageType.Position:
         case MessageType.PositionEnd:
             {
                 accountManager.UpdateUI(message);
                 break;
             }
         case MessageType.ContractDataEnd:
             {
                 searchContractDetails.Enabled = true;
                 contractManager.UpdateUI(message);
                 break;
             }
         case MessageType.ContractData:
             {
                 HandleContractDataMessage((ContractDetailsMessage)message);
                 break;
             }
         case MessageType.FundamentalData:
             {
                 fundamentalsQueryButton.Enabled = true;
                 contractManager.UpdateUI(message);
                 break;
             }
         case MessageType.ReceiveFA:
             {
                 advisorManager.UpdateUI((AdvisorDataMessage)message);
                 break;
             }
         default:
             {
                 HandleMessage(new ErrorMessage(-1, -1, message.ToString()));
                 break;
             }
     }
 }
示例#7
0
        private void UpdateUI(IBMessage message)
        {
            switch (message.Type)
            {
            case MessageType.ConnectionStatus:
            {
                ConnectionStatusMessage statusMessage = (ConnectionStatusMessage)message;
                if (statusMessage.IsConnected)
                {
                    status_CT.Text     = "Connected! Your client Id: " + ibClient.ClientId;
                    connectButton.Text = "Disconnect";
                }
                else
                {
                    status_CT.Text     = "Disconnected...";
                    connectButton.Text = "Connect";
                }
                break;
            }

            case MessageType.Error:
            {
                ErrorMessage error = (ErrorMessage)message;
                ShowMessageOnPanel("Request " + error.RequestId + ", Code: " + error.ErrorCode + " - " + error.Message + "\r\n");
                break;
            }

            case MessageType.TickOptionComputation:
            case MessageType.TickPrice:
            case MessageType.TickSize:
            {
                HandleTickMessage((MarketDataMessage)message);
                break;
            }

            case MessageType.MarketDepth:
            case MessageType.MarketDepthL2:
            {
                deepBookManager.UpdateUI(message);
                break;
            }

            case MessageType.HistoricalData:
            case MessageType.HistoricalDataEnd:
            {
                historicalDataManager.UpdateUI(message);
                break;
            }

            case MessageType.RealTimeBars:
            {
                realTimeBarManager.UpdateUI(message);
                break;
            }

            case MessageType.ScannerData:
            {
                scannerManager.UpdateUI(message);
                break;
            }

            case MessageType.OpenOrder:
            case MessageType.OpenOrderEnd:
            case MessageType.OrderStatus:
            case MessageType.ExecutionData:
            case MessageType.CommissionsReport:
            {
                orderManager.UpdateUI(message);
                break;
            }

            case MessageType.ManagedAccounts:
            {
                orderManager.ManagedAccounts   = ((ManagedAccountsMessage)message).ManagedAccounts;
                accountManager.ManagedAccounts = ((ManagedAccountsMessage)message).ManagedAccounts;
                exerciseAccount.Items.AddRange(((ManagedAccountsMessage)message).ManagedAccounts.ToArray());
                break;
            }

            case MessageType.AccountSummaryEnd:
            {
                accSummaryRequest.Text = "Request";
                accountManager.UpdateUI(message);
                break;
            }

            case MessageType.AccountDownloadEnd:
            {
                break;
            }

            case MessageType.AccountUpdateTime:
            {
                accUpdatesLastUpdateValue.Text = ((UpdateAccountTimeMessage)message).Timestamp;
                break;
            }

            case MessageType.PortfolioValue:
            {
                accountManager.UpdateUI(message);
                if (exerciseAccount.SelectedItem != null)
                {
                    optionsManager.HandlePosition((UpdatePortfolioMessage)message);
                }
                break;
            }

            case MessageType.AccountSummary:
            case MessageType.AccountValue:
            case MessageType.Position:
            case MessageType.PositionEnd:
            {
                accountManager.UpdateUI(message);
                break;
            }

            case MessageType.ContractDataEnd:
            {
                searchContractDetails.Enabled = true;
                contractManager.UpdateUI(message);
                break;
            }

            case MessageType.ContractData:
            {
                HandleContractDataMessage((ContractDetailsMessage)message);
                break;
            }

            case MessageType.FundamentalData:
            {
                fundamentalsQueryButton.Enabled = true;
                contractManager.UpdateUI(message);
                break;
            }

            case MessageType.ReceiveFA:
            {
                advisorManager.UpdateUI((AdvisorDataMessage)message);
                break;
            }

            default:
            {
                HandleMessage(new ErrorMessage(-1, -1, message.ToString()));
                break;
            }
            }
        }
示例#8
0
 public void HandleIncomingMessage(IBMessage message)
 {
     ProcessMessage(message);
 }
示例#9
0
 public void HandleIncomingMessage(IBMessage message)
 {
     ProcessMessage(message);
 }