using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace TdxHqDemoCSharp { internal class Program { /// /// 连接通达信行情服务器,服务器地址可在券商软件登录界面中的通讯设置中查得 /// /// 服务器IP /// 服务器端口 /// 账号,普通行情是guest, L2行情是L2账号 /// 密码,普通行情是空串, L2行情是L2账号的密码 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回 ConnectionID, 失败返回-1 [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] public static extern int TdxHq_Connect(string IP, ushort Port, string Account, string Password, StringBuilder Result, StringBuilder ErrInfo); /// /// 断开同服务器的连接 /// [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] public static extern void TdxHq_Disconnect(int ConnectionID); /// /// 获取逐笔成交数据 /// /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推 /// API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetDetailTransactionData(int ConnectionID, byte Market, string Zqdm, int Start, ref ushort Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取逐笔还原数据 /// /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推 /// API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetDetailOriginalTransactionData(int ConnectionID, byte Market, string Zqdm, int Start, ref ushort Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取深圳逐笔委托数据 /// /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推 /// API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetDetailOrderData(int ConnectionID, byte Market, string Zqdm, int Start, ref ushort Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 批量获取多个证券的十档报价数据 /// /// 市场代码, 0->深圳 1->上海, 第i个元素表示第i个证券的市场代码 /// 证券代码, Count个证券代码组成的数组 /// API执行前,表示用户要请求的证券数目,最大50, API执行后,保存了实际返回的数目 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetSecurityQuotes10(int ConnectionID, byte[] Market, string[] Zqdm, ref ushort Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取买卖队列数据 /// /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetBuySellQueue(int ConnectionID, byte[] Market, string[] Zqdm, int Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取市场内所有证券的数量 /// /// 连接ID /// 市场代码, 0->深圳 1->上海 /// 此API执行返回后,Result内保存了返回的证券数量 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetSecurityCount(int ConnectionID, byte Market, ref ushort Result, StringBuilder ErrInfo); /// /// 获取市场内从某个位置开始的1000支股票的股票代码 /// /// 连接ID /// 市场代码, 0->深圳 1->上海 /// 股票开始位置,第一个股票是0, 第二个是1, 依此类推,位置信息依据TdxHq_GetSecurityCount返回的证券总数确定 /// API执行后,保存了实际返回的股票数目, /// 此API执行返回后,Result内保存了返回的证券代码信息,形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetSecurityList(int ConnectionID, byte Market, ushort Start, ref ushort Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取证券的K线数据 /// /// 连接ID /// K线种类, 0->5分钟K线 1->15分钟K线 2->30分钟K线 3->1小时K线 4->日K线 5->周K线 6->月K线 7->1分钟 10->季K线 11->年K线< / param> /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推 /// API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目, 最大值800 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetSecurityBars(int ConnectionID, byte Category, byte Market, string Zqdm, ushort Start, ref ushort Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取指数的K线数据 /// /// 连接ID /// K线种类, 0->5分钟K线 1->15分钟K线 2->30分钟K线 3->1小时K线 4->日K线 5->周K线 6->月K线 7->1分钟 8->1分钟K线 9->日K线 10->季K线 11->年K线< / param> /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推 /// API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目, 最大值800 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetIndexBars(int ConnectionID, byte Category, byte Market, string Zqdm, ushort Start, ref ushort Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取分时数据 /// /// 连接ID /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetMinuteTimeData(int ConnectionID, byte Market, string Zqdm, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取历史分时数据 /// /// 连接ID /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// 日期, 比如2014年1月1日为整数20140101 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetHistoryMinuteTimeData(int ConnectionID, byte Market, string Zqdm, int Date, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取F10资料的分类 /// /// 连接ID /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false /// [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetCompanyInfoCategory(int ConnectionID, byte Market, string Zqdm, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取F10资料的某一分类的内容 /// /// 连接ID /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// 类目的文件名, 由TdxHq_GetCompanyInfoCategory返回信息中获取 /// 类目的开始位置, 由TdxHq_GetCompanyInfoCategory返回信息中获取 /// 类目的长度, 由TdxHq_GetCompanyInfoCategory返回信息中获取 /// 此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetCompanyInfoContent(int ConnectionID, byte Market, string Zqdm, string FileName, int Start, int Length, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取除权除息信息 /// /// 连接ID /// 市场代码, 0->深圳 1->上海, 第i个元素表示第i个证券的市场代码 /// 证券代码, Count个证券代码组成的数组 /// API执行前,表示用户要请求的证券数目, API执行后,保存了实际返回的数目 /// 此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetXDXRInfo(int ConnectionID, byte[] Market, string[] Zqdm, int Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取财务信息 /// /// 连接ID /// 市场代码, 0->深圳 1->上海, 第i个元素表示第i个证券的市场代码 /// 证券代码, Count个证券代码组成的数组 /// API执行前,表示用户要请求的证券数目, API执行后,保存了实际返回的数目 /// 此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetFinanceInfo(int ConnectionID, byte[] Market, string[] Zqdm,int Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取分时成交数据 /// /// 连接ID /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推 /// API执行前,表示用户要请求的记录数目, API执行后,保存了实际返回的记录数目 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetTransactionData(int ConnectionID, byte Market, string Zqdm, ushort Start, ref ushort Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取历史分时成交数据 /// /// 连接ID /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推 /// API执行前,表示用户要请求的记录数目, API执行后,保存了实际返回的记录数目 /// 日期, 比如2014年1月1日为整数20140101 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetHistoryTransactionData(int ConnectionID, byte Market, string Zqdm, ushort Start, ref ushort Count, int Date, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取五档报价 /// /// 连接ID /// 市场代码, 0->深圳 1->上海, 第i个元素表示第i个证券的市场代码 /// 证券代码, Count个证券代码组成的数组 /// API执行前,表示证券代码的记录数目, API执行后,保存了实际返回的记录数目 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetSecurityQuotes(int ConnectionID, byte[] Market, string[] Zqdm, ref ushort Count, StringBuilder Result, StringBuilder ErrInfo); /// /// 获取集合竞价数据 /// /// 连接ID /// 市场代码, 0->深圳 1->上海 /// 证券代码 /// 开始位置 /// 欲获取的条数,API执行后,保存了实际返回的条数 /// 此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。 /// 此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。 /// 成功返回true, 失败返回false [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetCallAuctionData(int ConnectionID, byte Market, string Zqdm, int Start, ref int Count, StringBuilder Result, StringBuilder ErrInfo); static void Main(string[] args) { //开始获取行情数据 StringBuilder Result = new StringBuilder(1024 * 1024); StringBuilder ErrInfo = new StringBuilder(256); //连接服务器 string[] ServerAddress = { "高级行情_深圳双线1|112.74.31.192|7719", "高级行情_深圳双线2|124.71.222.84|7719", "高级行情_深圳双线3|139.9.2.221|7719", "高级行情_深圳双线4|47.112.105.142|7719", "高级行情_深圳双线5|120.24.189.167|7719", "高级行情_上海双线1|139.196.174.113|7719", "高级行情_上海双线2|47.103.108.38|7719", "高级行情_上海双线3|139.196.175.118|7719", "高级行情_武汉电信1|119.97.185.49|7719", "高级行情_武汉电信2|59.175.238.45|7719", "高级行情_北京双线1|123.249.28.184|7719", "高级行情_北京双线2|39.98.108.148|7719", "高级行情_深圳双线6|139.9.208.12|7719", "高级行情_深圳双线7|120.76.118.89|7719", "高级行情_深圳双线8|139.9.211.54|7719", "高级行情_上海双线4|123.60.164.170|7719", "高级行情_上海双线5|106.14.221.88|7719", "高级行情_上海双线6|123.60.162.102|7719", "高级行情_上海双线7|47.116.113.0|7719", "高级行情_上海双线8|47.116.113.74|7719", "高级行情_上海双线9|47.100.220.104|7719", "高级行情_深圳双线9|139.9.1.206|7719", "高级行情_北京双线3|39.99.132.128|7719", "高级行情_深圳双线10|47.112.243.219|7719", "高级行情_深圳双线11|47.112.176.254|7719", "高级行情_深圳双线12|47.112.102.66|7719", "高级行情_北京双线4|119.3.183.88|7719", "高级行情_北京双线5|139.9.143.183|7719", "高级行情_北京双线6|120.46.206.187|7719", "高级行情_上海双线10|47.100.176.37|7719", "高级行情_上海双线11|101.132.115.34|7719", "高级行情_上海双线12|106.14.195.70|7719", "高级行情_深圳双线13|116.205.235.110|7719", "高级行情_深圳双线14|116.205.238.42|7719", "高级行情_深圳双线15|116.205.239.160|7719", }; int ConnectionID = -1; foreach (string it in ServerAddress) { int k1 = it.IndexOf("|", 0); int k2 = it.IndexOf("|", k1 + 1); string Name = it.Substring(0, k1); string IP = it.Substring(k1 + 1, k2 - 1 - k1); ushort Port = ushort.Parse(it.Substring(k2 + 1)); Console.WriteLine( "连接{0} [{1}:{2}]", Name, IP, Port); ConnectionID = TdxHq_Connect(IP, Port, "L2账号", "L2密码", Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_Connect", Result, ErrInfo); if (ConnectionID != -1) { break; } } if (ConnectionID == -1) { return; } //获取证券数量 byte Market = 0; ushort Count = 0; bool bool1 = TdxHq_GetSecurityCount(ConnectionID, Market, ref Count, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetSecurityCount", Count, ErrInfo); //获取证券列表 ushort Start = 0; Count = 0; bool1 = TdxHq_GetSecurityList(ConnectionID, Market, Start, ref Count, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetSecurityList", Result, ErrInfo); //获取股票K线 byte Category = 4; string Zqdm = "000001"; Start = 0; Count = 10; bool1 = TdxHq_GetSecurityBars(ConnectionID, Category, Market, Zqdm, Start, ref Count, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetSecurityBars", Result, ErrInfo);//数据种类, 0->5分钟K线 1->15分钟K线 2->30分钟K线 3->1小时K线 4->日K线 5->周K线 6->月K线 7->1分钟K线 8->1分钟K线 9->日K线 10->季K线 11->年K线 //获取指数K线 Start = 0; Count = 10; bool1 = TdxHq_GetIndexBars(ConnectionID, Category, Market, "399001", Start, ref Count, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetIndexBars", Result, ErrInfo);//数据种类, 0->5分钟K线 1->15分钟K线 2->30分钟K线 3->1小时K线 4->日K线 5->周K线 6->月K线 7->1分钟K线 8->1分钟K线 9->日K线 10->季K线 11->年K线 //获取分时图数据 bool1 = TdxHq_GetMinuteTimeData(ConnectionID, Market, Zqdm, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetMinuteTimeData", Result, ErrInfo); //获取历史分时图数据 bool1 = TdxHq_GetHistoryMinuteTimeData(ConnectionID, Market, Zqdm, 20230904, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetHistoryMinuteTimeData", Result, ErrInfo); //获取分笔图数据 Start = 0; Count = 10; bool1 = TdxHq_GetTransactionData(ConnectionID, Market, Zqdm, Start, ref Count, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetTransactionData", Result, ErrInfo); //获取历史分笔图数据 Start = 0; Count = 10; bool1 = TdxHq_GetHistoryTransactionData(ConnectionID, Market, Zqdm, Start, ref Count, 20140904, Result, ErrInfo); ; Console.WriteLine("{0}:{1}{2}", "TdxHq_GetHistoryTransactionData", Result, ErrInfo); //获取五档报价数据 ushort ZqdmCount = 2; byte[] Markets = { 0, 1 }; string[] Zqdms = { "000001", "600000" }; bool1 = TdxHq_GetSecurityQuotes(ConnectionID, Markets, Zqdms, ref ZqdmCount, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetSecurityQuotes", Result, ErrInfo); //获取F10数据的类别 bool1 = TdxHq_GetCompanyInfoCategory(ConnectionID, Market, Zqdm, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetCompanyInfoCategory", Result, ErrInfo); //获取F10数据的某类别的内容 bool1 = TdxHq_GetCompanyInfoContent(ConnectionID, Market, Zqdm, "000001.txt", 0, 100000, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetCompanyInfoContent", Result, ErrInfo); //获取除权除息信息 bool1 = TdxHq_GetXDXRInfo(ConnectionID, Markets, Zqdms, 2, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetXDXRInfo", Result, ErrInfo); //获取财务信息 bool1 = TdxHq_GetFinanceInfo(ConnectionID, Markets, Zqdms, 2, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetFinanceInfo", Result, ErrInfo); //获取集合竞价数据 int nCount = 500; bool1 = TdxHq_GetCallAuctionData(ConnectionID, Market, Zqdm, 0, ref nCount, Result, ErrInfo);Console.WriteLine("{0}:{1}{2}", "TdxHq_GetFinanceInfo", Result, ErrInfo); //获取十档报价数据 bool1 = TdxHq_GetSecurityQuotes10(ConnectionID, Markets, Zqdms, ref ZqdmCount, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetSecurityQuotes10", Result, ErrInfo); //获取买卖队列数据 bool1 = TdxHq_GetBuySellQueue(ConnectionID, Markets, Zqdms, ZqdmCount, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetBuySellQueue", Result, ErrInfo); //获取逐笔成交数据 int nStart = 0; Count = 10; bool1 = TdxHq_GetDetailTransactionData(ConnectionID, Market, Zqdm, nStart, ref Count, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetDetailTransactionData", Result, ErrInfo); //获取逐笔还原数据 nStart = 0; Count = 10; bool1 = TdxHq_GetDetailOriginalTransactionData(ConnectionID, Market, Zqdm, nStart, ref Count, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetDetailOriginalTransactionData", Result, ErrInfo); ////获取逐笔委托数据 nStart = 0; Count = 10; bool1 = TdxHq_GetDetailOrderData(ConnectionID, Market, Zqdm, nStart, ref Count, Result, ErrInfo); Console.WriteLine("{0}:{1}{2}", "TdxHq_GetDetailOrderData", Result, ErrInfo); TdxHq_Disconnect(ConnectionID); } } }