コード例 #1
0
ファイル: TestPluginMgr.cs プロジェクト: wanwei/sc2
        private static IPluginMgr GetPluginMgr()
        {
            string path = ScConfig.Instance.ScPath;

            path = path.Replace("Debug", "Mock") + "\\plugin\\";
            IPluginMgr pluginMgr = PluginMgrFactory.CreatePluginMgr(path);

            return(pluginMgr);
        }
コード例 #2
0
        public void TestKLineDataTime()
        {
            IPluginMgr          mgr        = PluginMgrFactory.DefaultPluginMgr;
            PluginInfo          pluginInfo = mgr.GetPlugin("CnFutures");
            IPlugin_HistoryData plugin     = PluginMgrFactory.DefaultPluginMgr.CreatePluginObject <IPlugin_HistoryData>(pluginInfo);

            List <TradingSession> dayOpen = plugin.GetTradingSessions("m05");
            //List<double[]> openTimes = null;
            //OpenTimePeriodUtils.GetKLineTimeList(1, 1, openTimes, KLinePeriod.KLinePeriod_1Minute);
        }
コード例 #3
0
ファイル: TestPluginMgr.cs プロジェクト: wanwei/sc2
        public void TestGetPluginObject()
        {
            IPluginMgr     pluginMgr     = GetPluginMgr();
            IPlugin_Market plugin_Market = pluginMgr.GetPluginObject <IPlugin_Market>("MOCK.MARKET");

            AssertMockMarketObject(plugin_Market);

            IPlugin_HistoryData plugin_HistoryData = pluginMgr.GetPluginObject <IPlugin_HistoryData>("MOCK.HISTORYDATA");

            AssertMockHistoryDataObject(plugin_HistoryData);
        }
コード例 #4
0
 public FormChoosePlugin()
 {
     InitializeComponent();
     this.pluginMgr = PluginMgrFactory.DefaultPluginMgr;
     this.plugins   = pluginMgr.GetPlugins(typeof(IPlugin_HistoryData));
     for (int i = 0; i < plugins.Count; i++)
     {
         PluginInfo plugin_HistoryData = plugins[i];
         cbProvider.Items.Add(plugin_HistoryData.PluginName);
         pluginObjects.Add(pluginMgr.CreatePluginObject <IPlugin_HistoryData>(plugin_HistoryData));
     }
     cbProvider.SelectedIndex = 0;
 }
コード例 #5
0
ファイル: TestPluginMgr.cs プロジェクト: wanwei/sc2
        public void TestPluginScan()
        {
            IPluginMgr        pluginMgr = GetPluginMgr();
            List <PluginInfo> plugins   = pluginMgr.GetAllPlugins();

            Assert.AreEqual(4, plugins.Count);

            List <PluginInfo> plugins_Market = pluginMgr.GetPlugins(typeof(IPlugin_Market));

            Assert.AreEqual(2, plugins_Market.Count);

            List <PluginInfo> plugins_HistoryData = pluginMgr.GetPlugins(typeof(IPlugin_HistoryData));

            Assert.AreEqual(2, plugins_HistoryData.Count);
        }
コード例 #6
0
ファイル: TestPluginMgr.cs プロジェクト: wanwei/sc2
        public void TestGetPluginById()
        {
            IPluginMgr pluginMgr    = GetPluginMgr();
            PluginInfo pluginMarket = pluginMgr.GetPlugin("MOCK.MARKET");

            AssertMockMarket(pluginMarket);
            PluginInfo pluginMarketWeb = pluginMgr.GetPlugin("MOCK.MARKET.WEB");

            AssertMockMarketWeb(pluginMarketWeb);
            PluginInfo pluginHistoryData = pluginMgr.GetPlugin("MOCK.HISTORYDATA");

            AssertMockHistoryData(pluginHistoryData);
            PluginInfo pluginHistoryDataSina = pluginMgr.GetPlugin("MOCK.HISTORYDATA.SINA");

            AssertMockHistoryDataSina(pluginHistoryDataSina);
        }
コード例 #7
0
ファイル: TestPluginMgr.cs プロジェクト: wanwei/sc2
        public void TestGetPluginByType()
        {
            IPluginMgr        pluginMgr = GetPluginMgr();
            List <PluginInfo> plugins   = pluginMgr.GetPlugins(MarketType.CnFutures, typeof(IPlugin_HistoryData));

            Assert.AreEqual(1, plugins.Count);
            AssertMockHistoryData(plugins[0]);
            plugins = pluginMgr.GetPlugins(MarketType.CnStock, typeof(IPlugin_HistoryData));
            Assert.AreEqual(1, plugins.Count);
            AssertMockHistoryDataSina(plugins[0]);
            plugins = pluginMgr.GetPlugins(MarketType.CnFutures, typeof(IPlugin_Market));
            Assert.AreEqual(1, plugins.Count);
            AssertMockMarket(plugins[0]);
            plugins = pluginMgr.GetPlugins(MarketType.CnStock, typeof(IPlugin_Market));
            Assert.AreEqual(1, plugins.Count);
            AssertMockMarketWeb(plugins[0]);
        }
コード例 #8
0
ファイル: MarketFactory.cs プロジェクト: wanwei/sc2
        public MarketPluginMgr(MarketType marketType)
        {
            IPluginMgr        pluginMgr = PluginMgrFactory.DefaultPluginMgr;
            List <PluginInfo> plugins   = pluginMgr.GetPlugins(marketType, typeof(IPlugin_Market));

            marketDataConnections   = new List <ConnectionInfo>();
            marketTraderConnections = new List <ConnectionInfo>();

            for (int i = 0; i < plugins.Count; i++)
            {
                PluginInfo     pluginInfo    = plugins[i];
                IPlugin_Market plugin_Market = pluginMgr.GetPluginObject <IPlugin_Market>(pluginInfo);

                AddMarketDataConnections(pluginInfo.PluginID, plugin_Market, plugin_Market.MarketData.GetAllConnections());
                AddMarketTraderConnections(pluginInfo.PluginID, plugin_Market, plugin_Market.MarketTrader.GetAllConnections());
            }
        }
コード例 #9
0
        private IPlugin_DataUpdater GetDataUpdater(DataUpdaterConfigInfo updaterInfo)
        {
            if (updaterInfo.pluginName != null && updaterInfo.pluginName != "")
            {
                IPluginMgr pluginMgr  = PluginMgrFactory.DefaultPluginMgr;
                PluginInfo pluginInfo = pluginMgr.GetPlugin(updaterInfo.PluginName);
                if (pluginInfo != null)
                {
                    IPlugin_DataUpdater dataUpdater = pluginMgr.GetPluginObject <IPlugin_DataUpdater>(pluginInfo);
                    foreach (string key in dic_Arguments.Keys)
                    {
                        dataUpdater.SetValue(key, dic_Arguments[key]);
                    }
                    return(dataUpdater);
                }
                LogHelper.Warn(GetType(), "数据更新配置:‘" + updaterInfo.name + "’配置的更新插件" + updaterInfo.pluginName + "找不到对应插件");
            }

            string clsName = updaterInfo.ClassName;

            if (clsName != null && clsName != "")
            {
                Type type = Type.GetType(clsName);
                if (type == null)
                {
                    LogHelper.Warn(GetType(), "");
                }
                IPlugin_DataUpdater dataUpdater = (IPlugin_DataUpdater)Activator.CreateInstance(type);
                foreach (string key in dic_Arguments.Keys)
                {
                    dataUpdater.SetValue(key, dic_Arguments[key]);
                }
                return(dataUpdater);
            }
            LogHelper.Warn(GetType(), "数据更新配置:‘" + updaterInfo.name + "’没有配置任何更新类");
            return(null);
        }