Example #1
0
        static public void UserInputProviderId(out IDataProvider dataProvider, out IExecutionProvider executionProvider, ProviderManager pm)
        {
            string providerId = Interaction.InputBox("輸入交易所代號", "", "89");//89=deribit by user define

            dataProvider      = pm.GetDataProvider(int.Parse(providerId));
            executionProvider = pm.GetExecutionProvider(int.Parse(providerId));
            if (dataProvider == null || executionProvider == null)
            {
                throw new Exception("provider is null");
            }
        }
        /// <summary>
        /// 获取订单助手,使用指定默认的CTP插件
        /// </summary>
        /// <returns></returns>
        public static OrderAgent GetCtpAgent(this ProviderManager manager)
        {
            var ctp = (XProvider)manager.GetExecutionProvider(QuantBoxConst.PIdCtp);

            ctp.ConnectTrader = true;
            var agent = GetAgent(manager, OrderAgent.DefaultName);

            if (agent == null)
            {
                agent = new OrderAgent(ProviderManagerFrameworkField.Getter(manager));
                manager.AddNew(agent);
            }
            agent.ExecutionProvider = ctp;
            return(agent);
        }
 public static XProvider GetProvider(this ProviderManager manager, string typeName, byte id, string server, string user)
 {
     foreach (var p in manager.Providers)
     {
         if (p is XProvider xp && xp.GetType().Name == typeName)
         {
             var(s, u, _) = xp.GetConnectInfo();
             if (s == server && u == user)
             {
                 return(xp);
             }
         }
     }
     return((XProvider)manager.GetExecutionProvider(id));
 }
Example #4
0
 public static XProvider GetCtp(this ProviderManager manager, string server, string user)
 {
     foreach (var p in manager.Providers)
     {
         if (p is XProvider xp && xp.GetType().Name == "QuantBoxCtpse")
         {
             var(s, u, _) = xp.GetConnectInfo();
             if (s == server && u == user)
             {
                 return(xp);
             }
         }
     }
     return((XProvider)manager.GetExecutionProvider(QuantBoxConst.PIdCtp));
 }
Example #5
0
        public override void Run()
        {
            Instrument instrument1 = InstrumentManager.Instruments["AAPL"];
            Instrument instrument2 = InstrumentManager.Instruments["MSFT"];

            strategy = new MyStrategy(framework, "BollingerBands");

            strategy.AddInstrument(instrument1);
            strategy.AddInstrument(instrument2);

            strategy.DataProvider      = ProviderManager.GetDataProvider("QuantRouter");
            strategy.ExecutionProvider = ProviderManager.GetExecutionProvider("QuantRouter");

            BarFactory.Add(instrument1, BarType.Time, barSize);
            BarFactory.Add(instrument2, BarType.Time, barSize);

            StartStrategy();
        }
Example #6
0
        public override void Run()
        {
            Instrument instrument1 = InstrumentManager.Instruments["AAPL"];
            Instrument instrument2 = InstrumentManager.Instruments["MSFT"];

            strategy = new MyStrategy(framework, "RSI");

            strategy.AddInstrument(instrument1);
            strategy.AddInstrument(instrument2);

            strategy.DataProvider      = ProviderManager.GetDataProvider("QuantRouter");
            strategy.ExecutionProvider = ProviderManager.GetExecutionProvider("QuantRouter");

            DataSimulator.DateTime1 = new DateTime(2013, 01, 01);
            DataSimulator.DateTime2 = new DateTime(2013, 12, 31);

            BarFactory.Add(instrument1, BarType.Time, barSize);
            BarFactory.Add(instrument2, BarType.Time, barSize);

            StartStrategy();
        }
 /// <summary>
 /// 获取默认的CTP插件
 /// </summary>
 /// <returns></returns>
 public static XProvider GetCtp(this ProviderManager manager)
 {
     return((XProvider)manager.GetExecutionProvider(QuantBoxConst.PIdCtp));
 }