static bool CreateAndOpenMarket15() { //创建 IMarket // char* path 指 xxx.exe 同级子目录中的 xxx.dll 文件 int err = -1; market = ITradeApi.XFinApi_CreateMarketApi("XTA_W32/Api/CTP_v6.3.15_20190220/XFinApi.CTPTradeApiSE.dll", out err); if (err > 0 || market == null) { Console.WriteLine(string.Format("* Market XFinApiCreateError={0};", StrCreateErrors[err])); return(false); } //注册事件 marketEvent = new MarketEvent(); market.SetListener(marketEvent); //连接服务器 OpenParams openParams = new OpenParams(); openParams.HostAddress = CfgSE.MarketAddress; openParams.BrokerID = CfgSE.BrokerID; openParams.UserID = CfgSE.UserName; openParams.Password = CfgSE.Password; openParams.IsUTF8 = true; market.Open(openParams); return(true); }
////////////////////////////////////////////////////////////////////////////////// //行情测试 static void MarketTest() { //创建 IMarket // char* path 指 xxx.exe 同级子目录中的 xxx.dll 文件 int err = -1; market = ITradeApi.XFinApi_CreateMarketApi("XTA_W32/Api/XTP_v1.1.18.13_20180516/XFinApi.XTPTradeApi.dll", out err); if (err > 0 || market == null) { Console.WriteLine(string.Format("* Market XFinApiCreateError={0};", StrCreateErrors[err])); return; } //注册事件 marketEvent = new MarketEvent(); market.SetListener(marketEvent); //连接服务器 OpenParams openParams = new OpenParams(); openParams.HostAddress = Cfg.MarketAddress; openParams.UserID = Cfg.UserName; openParams.Password = Cfg.Password; openParams.Configs.Add("AuthCode", Cfg.AuthCode); openParams.Configs.Add("ClientID", Cfg.ClientID);//可选 openParams.IsUTF8 = true; market.Open(openParams); /* * 连接成功后才能执行订阅行情等操作,检测方法有两种: * 1、IMarket.IsOpened()=true * 2、MarketListener.OnNotify中 * (int)XFinApi.TradeApi.ActionKind.Open == notifyParams.ActionType && * (int)ResultKind.Success == notifyParams.ResultType */ /* 行情相关方法 * while (!market.IsOpened()) * Thread.Sleep(1000); * * //订阅行情,已在MarketEvent.OnNotify中订阅 * XFinApi.QueryParams param = new XFinApi.QueryParams(); * param.ExchangeID = Cfg.ExchangeID; * param.InstrumentID = Cfg.InstrumentID; * market.Subscribe(param); * * //取消订阅行情 * market.Unsubscribe(param); */ }