Exemple #1
0
        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;
        }
Exemple #2
0
        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));
            }
        }
Exemple #4
0
        /// <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);
            }
        }
Exemple #5
0
        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);
            }
        }