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)); }
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)); }
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(); }
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)); }