public IBApp.IBAppClasses.PlaceOrder placeOrder; // PlaceOrder class variable // Linking system events and handlers public Form1() { InitializeComponent(); // Form components init // Instances ibClient = new IBClient(signal); contractManager = new ContractManager(ibClient, fundamentalsOutput, contractDetailsGrid); contractSearch = new IBAppClasses.ContractSearch(ibClient); // Events ibClient.Error += ibClient_Error; ibClient.NextValidId += ibClient_NextValidId; // For log messages ibClient.ContractDetails += (reqId, contractDetails) => HandleMessage(new ContractDetailsMessage(reqId, contractDetails)); // Request contract details https://interactivebrokers.github.io/tws-api/contract_details.html#gsc.tab=0 ibClient.ConnectionClosed += ibClient_ConnectionClosed; // Update UI when disconnect button is clicked // Order placeOrder = new IBAppClasses.PlaceOrder(ibClient); // New instance }
public Form1() { InitializeComponent(); ChromeDriver.Navigate().GoToUrl("https://profit.ly/profiding"); // Go to URL file:///D:/1/profitly.html https://profit.ly/profiding // listView1 setup listView1.View = View.Details; listView1.GridLines = true; // Horizoltal lines listView1.Columns.Add("Time:"); listView1.Columns[0].Width = 60; listView1.Columns.Add("Source:", -2, HorizontalAlignment.Left); listView1.Columns.Add("Message:"); listView1.Columns[2].Width = 400; // listView2 setup listView2.View = View.Details; listView2.GridLines = true; // Horizoltal lines listView2.Columns.Add("Time:"); listView2.Columns[0].Width = 60; listView2.Columns.Add("Source:", -2, HorizontalAlignment.Left); listView2.Columns.Add("Message:"); listView2.Columns[2].Width = 400; // listView3 setup listView3.View = View.Details; listView3.GridLines = true; // Horizoltal lines listView3.Columns.Add("Time:"); listView3.Columns[0].Width = 60; listView3.Columns.Add("Message:"); listView3.Columns[1].Width = 200; logz = new ListViewLogging(); // Broker connector ibClient = new IBClient(signal); //contractManager = new ContractManager(ibClient, fundamentalsOutput, contractDetailsGrid); contractSearch = new IBApp.IBAppClasses.ContractSearch(ibClient); // The class which search for the given contract placeOrder = new IBApp.IBAppClasses.PlaceOrder(ibClient); // Event handlers ibClient.Error += ibClient_Error; ibClient.ContractDetails += (reqId, contractDetails) => HandleMessage(new ContractDetailsMessage(reqId, contractDetails)); // Request contract details https://interactivebrokers.github.io/tws-api/contract_details.html#gsc.tab=0 ibClient.ConnectionClosed += ibClient_ConnectionClosed; // Update UI when disconnect button is clicked // Order events ibClient.NextValidId += ibClient_NextValidId; // Receives next valid order id. Will be invoked automatically upon successfull API client connection. Used for sending connection status ibClient.OrderStatus += (orderId, status, filled, remaining, avgFillPrice, permId, parentId, lastFillPrice, clientId, whyHeld) => HandleMessage(new OrderStatusMessage(orderId, status, filled, remaining, avgFillPrice, permId, parentId, lastFillPrice, clientId, whyHeld)); ibClient.OpenOrder += (orderId, contract, order, orderState) => HandleMessage(new OpenOrderMessage(orderId, contract, order, orderState)); ibClient.OpenOrderEnd += () => HandleMessage(new OpenOrderEndMessage()); // Search and contract details ibClient.ContractDetails += (reqId, contractDetails) => HandleMessage(new ContractDetailsMessage(reqId, contractDetails)); // This method will provide all the contracts matching the contract provided.It can also be used to retrieve complete options and futures chains. ibClient.ContractDetailsEnd += (reqId) => HandleMessage(new ContractDetailsEndMessage()); // After all contracts matching the request were returned, this method will mark the end of their reception // Execution details ibClient.ExecDetails += (reqId, contract, execution) => HandleMessage(new ExecutionMessage(reqId, contract, execution)); ibClient.ExecDetailsEnd += reqId => addTextToBox("ExecDetailsEnd. " + reqId + "\n"); // Comission ibClient.CommissionReport += commissionReport => HandleMessage(new CommissionMessage(commissionReport)); // FUndamential and historical data ibClient.FundamentalData += (reqId, data) => HandleMessage(new FundamentalsMessage(data)); ibClient.HistoricalData += (reqId, date, open, high, low, close, volume, count, WAP, hasGaps) => HandleMessage(new HistoricalDataMessage(reqId, date, open, high, low, close, volume, count, WAP, hasGaps)); // Positoon ibClient.Position += (account, contract, pos, avgCost) => HandleMessage(new PositionMessage(account, contract, pos, avgCost)); // provides the portfolio's open positions. }