public void EnterMarketOrder(String BS, String m_Qty) { Krs.Ats.IBNet.Order m_Order = new Order(); m_Order.Action = (BS == "B" ? ActionSide.Buy : ActionSide.Sell); m_Order.OutsideRth = false; m_Order.OrderType = OrderType.Market; m_Order.TotalQuantity = Convert.ToInt32(m_Qty); m_Client.PlaceOrder(NextOrderId, m_Contract, m_Order); ++NextOrderId; }
static void Main(string[] args) { /* * OrderManager om = new OrderManager(); * MainViewModel.Instance.test(); */ //IBController controller = new IBController(MainViewModel.Instance); //controller.test(); //Console.ReadLine(); IBClient client = new IBClient(); client.Connect("localhost", 4002, 1); Task.Run(() => client.PlaceOrder(1000, new Contract("MHIN9", "HKFE", SecurityType.Future, "HKD"), new Order())); Task.Run(() => client.CancelOrder(1000)); var c = JsonConvert.DeserializeObject <Dictionary <string, string> >(""); Dictionary <string, Dictionary <string, GTA> > t = new Dictionary <string, Dictionary <string, GTA> >(); t.Add("buy", new Dictionary <string, GTA>() { { "GTA", new GTA() { DT = DateTime.Now } } }); string s1 = JsonConvert.SerializeObject(t); string s = "{'buy':{'GTA':{'DT':'15:39'}}}"; var dateTimeConverter = new IsoDateTimeConverter { DateTimeFormat = "HH:mm" }; Dictionary <string, Dictionary <string, GTA> > t1 = JsonConvert.DeserializeObject <Dictionary <string, Dictionary <string, GTA> > >(s, dateTimeConverter); //Console.ReadLine(); /* * Test test = new Test(); * test.Names.Add("chan"); * List<string> t = test.Names; * Test test1 = null; * PropertyInfo pi; * test1 = (Test)Reflection.GetPropertyParent(t, "Test.Names", out pi);*/ Regex r1 = new Regex(@"(?<dateFormat>y*[-\/]*M*[-\/]*[Dd]*)(?<dateFormat>M*[-\/]*[Dd]*[-\/]*y*)(?<dateFormat>[Dd]*[-\/]*M*[-\/]*y*)(?<timeFormat>[Hh]*[:]*m*[:]*s*[ ]*t*)"); Regex r2 = new Regex(@"([Hh]*[:]*m*[:]*s*[ ]*t*)"); //var p1 = new PcreRegex(@"(y*[-\/]*M*[-\/]*[Dd]*)(M*[-\/]*[Dd]*[-\/]*y*)([Dd]*[-\/]*M*[-\/]*y*)([Hh]*[:]*m*[:]*s*[ ]*t*)"); string input = "MMDDyyyy HH:mm:ss"; MatchCollection match = r1.Matches(input); Match m2 = r2.Match(input); //var m3 = p1.Match(input); if (m2.Success) { //string v = match.Groups[1].Value; //Console.WriteLine("Between One and Three: {0}", v); } }
public void OnCreateBrokerOrder(PhysicalOrder physicalOrder) { if (trace) { log.Trace("OnCreateBrokerOrder " + physicalOrder); } SymbolInfo symbol = physicalOrder.Symbol; Contract contract = SymbolToContract(symbol); // Contract contract = new Contract(symbol.Symbol,"SMART",SecurityType.Stock,"USD"); // Contract contract = new Contract(symbol.Symbol,"GLOBEX",SecurityType.Future,"USD","201006"); Order brokerOrder = ToBrokerOrder(physicalOrder); while (nextValidId == 0) { Thread.Sleep(10); } nextValidId++; client.PlaceOrder(nextValidId, contract, brokerOrder); physicalToLogicalOrderMap.Add(nextValidId, physicalOrder.LogicalOrderId); if (debug) { log.Debug("Place Order: " + contract.Symbol + " " + OrderToString(brokerOrder)); } }
/// <summary> /// The main entry point for the application. /// </summary> //[STAThread] static void Main(string[] args) { client = new IBClient(); client.ThrowExceptions = true; client.TickPrice += client_TickPrice; client.TickSize += client_TickSize; client.Error += client_Error; client.NextValidId += client_NextValidId; client.UpdateMarketDepth += client_UpdateMktDepth; client.RealTimeBar += client_RealTimeBar; client.OrderStatus += client_OrderStatus; client.ExecDetails += client_ExecDetails; Console.WriteLine("Connecting to IB."); client.Connect("127.0.0.1", 7496, 0); TF = new Contract("TF", "NYBOT", SecurityType.Future, "USD", "200909"); YmEcbot = new Contract("YM", "ECBOT", SecurityType.Future, "USD", "200909"); ES = new Contract("ES", "GLOBEX", SecurityType.Future, "USD", "200909"); SPY = new Contract("SPY", "GLOBEX", SecurityType.Future, "USD", "200909"); ZN = new Contract("ZN", "ECBOT", SecurityType.Future, "USD", "200909"); ZB = new Contract("ZB", "ECBOT", SecurityType.Future, "USD", "200909"); ZT = new Contract("ZT", "ECBOT", SecurityType.Future, "USD", "200909"); AAPL = new Contract("ZF", "ECBOT", SecurityType.Future, "USD", "200909"); //TickNasdaq = new Contract("TICK-NASD", "NASDAQ", SecurityType.Index, "USD"); //VolNasdaq = new Contract("VOL-NASD", "NASDAQ", SecurityType.Index, "USD"); //AdNasdaq = new Contract("AD-NASD", "NASDAQ", SecurityType.Index, "USD"); //TickNyse = new Contract("TICK-NYSE", "NYSE", SecurityType.Index, "USD"); //VolNyse = new Contract("VOL-NYSE", "NYSE", SecurityType.Index, "USD"); //AdNyse = new Contract("AD-NYSE", "NYSE", SecurityType.Index, "USD"); //New Contract Creation Features Equity Google = new Equity("GOOG"); client.RequestMarketData(14, Google, null, false, false); client.RequestMarketDepth(15, Google, 5); client.RequestRealTimeBars(16, Google, 5, RealTimeBarType.Trades, false); Order BuyContract = new Order(); BuyContract.Action = ActionSide.Sell; BuyContract.OutsideRth = false; BuyContract.LimitPrice = 560; BuyContract.OrderType = OrderType.Market; BuyContract.TotalQuantity = 1; BuyContract.AuxPrice = 560; client.PlaceOrder(NextOrderId, Google, BuyContract); client.RequestIds(1); client.RequestExecutions(34, new ExecutionFilter()); client.RequestAllOpenOrders(); //Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Form1()); while (true) { Thread.Sleep(100); } }
static void Main(string[] args) { client = new IBClient(); client.ThrowExceptions = true; client.TickPrice += client_TickPrice; client.TickSize += client_TickSize; client.Error += client_Error; client.NextValidId += client_NextValidId; client.UpdateMarketDepth += client_UpdateMktDepth; client.RealTimeBar += client_RealTimeBar; client.OrderStatus += client_OrderStatus; client.ExecDetails += new EventHandler <ExecDetailsEventArgs>(client_ExecDetails); Console.WriteLine("Connecting to IB."); client.Connect("127.0.0.1", 7496, 0); ER2 = new Contract("ER2", "GLOBEX", SecurityType.Future, "USD", "200806"); YmEcbot = new Contract("YM", "ECBOT", SecurityType.Future, "USD", "200806"); ES = new Contract("ES", "GLOBEX", SecurityType.Future, "USD", "200806"); SPY = new Contract("SPY", "GLOBEX", SecurityType.Future, "USD", "200806"); ZN = new Contract("ZN", "ECBOT", SecurityType.Future, "USD", "200806"); ZB = new Contract("ZB", "ECBOT", SecurityType.Future, "USD", "200806"); ZT = new Contract("ZT", "ECBOT", SecurityType.Future, "USD", "200806"); ZF = new Contract("ZF", "ECBOT", SecurityType.Future, "USD", "200806"); TickNasdaq = new Contract("TICK-NASD", "NASDAQ", SecurityType.Index, "USD"); VolNasdaq = new Contract("VOL-NASD", "NASDAQ", SecurityType.Index, "USD"); AdNasdaq = new Contract("AD-NASD", "NASDAQ", SecurityType.Index, "USD"); TickNyse = new Contract("TICK-NYSE", "NYSE", SecurityType.Index, "USD"); VolNyse = new Contract("VOL-NYSE", "NYSE", SecurityType.Index, "USD"); AdNyse = new Contract("AD-NYSE", "NYSE", SecurityType.Index, "USD"); //New Contract Creation Features Equity Google = new Equity("GOOG"); //Forex Test Forex EUR = new Forex("EUR", "USD"); client.RequestMarketData(14, Google, null, false, false); client.RequestMarketDepth(15, Google, 5); client.RequestRealTimeBars(16, Google, 5, RealTimeBarType.Trades, false); client.RequestMarketData(17, EUR, null, false, false); Order BuyContract = new Order(); BuyContract.Action = ActionSide.Buy; BuyContract.OutsideRth = false; BuyContract.LimitPrice = 820; BuyContract.OrderType = OrderType.Limit; BuyContract.TotalQuantity = 1; client.PlaceOrder(502, ER2, BuyContract); client.RequestExecutions(34, new ExecutionFilter()); while (true) { Thread.Sleep(100); } }