通达信普通行情接口, 提供的数据主要为A股行情数据, 使用方法: 先点击连接, 然后可以获取行情数据;
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; namespace TdxHqApiDemo { class Program { static void Main(string[] args) { //DLL是32位的,因此必须把C#工程生成的目标平台从Any CPU改为X86,才能调用DLL; //必须把TdxHqApi.dll复制到Debug或Release工程目录下; //无论用什么语言编程,都必须仔细阅读VC版内的关于DLL导出函数的功能和参数含义说明,不仔细阅读完就提出问题者因时间精力所限,恕不解答。 StringBuilder Result = new StringBuilder(1024 * 1024); StringBuilder ErrInfo = new StringBuilder(256); bool bool1 = TdxHq_Connect("218.18.103.38", 7709, Result, ErrInfo); if (!bool1) { Console.WriteLine(ErrInfo.ToString()); return; } Console.WriteLine(Result.ToString()); byte[] Market = { 0, 1, 1, 0 }; string[] Zqdm = { "000001", "600030", "600000", "000750" }; short Count = 4; bool1 = TdxHq_GetSecurityQuotes(Market, Zqdm, ref Count, Result, ErrInfo); if (bool1) { Console.WriteLine(Result.ToString()); } else { Console.WriteLine(ErrInfo.ToString()); } TdxHq_Disconnect(); } /// <summary> /// 连接通达信行情服务器,服务器地址可在券商软件登录界面中的通讯设置中查得 /// </summary> /// <param name="IP">服务器IP</param> /// <param name="Port">服务器端口</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_Connect(string IP, int Port, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 断开同服务器的连接 /// </summary> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] public static extern void TdxHq_Disconnect(); /// <summary> /// 获取证券的K线数据 /// </summary> /// <param name="Category">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> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目, 最大值800</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetSecurityBars(byte Category, byte Market, string Zqdm, short Start, ref short Count, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取指数的K线数据 /// </summary> /// <param name="Category">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> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">API执行前,表示用户要请求的K线数目, API执行后,保存了实际返回的K线数目, 最大值800</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetIndexBars(byte Category, byte Market, string Zqdm, short Start, ref short Count, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取分时数据 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetMinuteTimeData(byte Market, string Zqdm, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取历史分时数据 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Date">日期, 比如2014年1月1日为整数20140101</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetHistoryMinuteTimeData(byte Market, string Zqdm, int Date, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取F10资料的分类 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> /// [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetCompanyInfoCategory(byte Market, string Zqdm, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取F10资料的某一分类的内容 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="FileName">类目的文件名, 由TdxHq_GetCompanyInfoCategory返回信息中获取</param> /// <param name="Start">类目的开始位置, 由TdxHq_GetCompanyInfoCategory返回信息中获取</param> /// <param name="Length">类目的长度, 由TdxHq_GetCompanyInfoCategory返回信息中获取</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetCompanyInfoContent(byte Market, string Zqdm, string FileName, int Start, int Length, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取除权除息信息 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetXDXRInfo(byte Market, string Zqdm, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取财务信息 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据,出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetFinanceInfo(byte Market, string Zqdm, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取分时成交数据 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">API执行前,表示用户要请求的记录数目, API执行后,保存了实际返回的记录数目</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetTransactionData(byte Market, string Zqdm, short Start, ref short Count, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取历史分时成交数据 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Start">K线开始位置,最后一条K线位置是0, 前一条是1, 依此类推</param> /// <param name="Count">API执行前,表示用户要请求的记录数目, API执行后,保存了实际返回的记录数目</param> /// <param name="Date">日期, 比如2014年1月1日为整数20140101</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetHistoryTransactionData(byte Market, string Zqdm, short Start, ref short Count, int Date, StringBuilder Result, StringBuilder ErrInfo); /// <summary> /// 获取五档报价 /// </summary> /// <param name="Market">市场代码, 0->深圳 1->上海</param> /// <param name="Zqdm">证券代码</param> /// <param name="Count">API执行前,表示证券代码的记录数目, API执行后,保存了实际返回的记录数目</param> /// <param name="Result">此API执行返回后,Result内保存了返回的查询数据, 形式为表格数据,行数据之间通过\n字符分割,列数据之间通过\t分隔。一般要分配1024*1024字节的空间。出错时为空字符串。</param> /// <param name="ErrInfo">此API执行返回后,如果出错,保存了错误信息说明。一般要分配256字节的空间。没出错时为空字符串。</param> /// <returns>成功返货true, 失败返回false</returns> [DllImport("TdxHqApi.dll", CharSet = CharSet.Ansi)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool TdxHq_GetSecurityQuotes(byte[] Market, string[] Zqdm, ref short Count, StringBuilder Result, StringBuilder ErrInfo); } }
时间: 2024-10-12 00:20:12