php 转通达信数据格式,[转载]通达信数据接口及日线数据格式

一、中天软件stock 2000 日数据 (*.day)股票数据格式

每一条记录的长度为40字节:

1-4字节为日期,02

b9 30 01转换为十进制是:19970307

5-8字节为开盘价*1000

9-12字节为最高价*1000

13-16字节为最低价*1000

17-20字节为收盘价*1000

25-28字节为成交量(手)

其余12字节未使用

翻译的时候是这样的 02 b9 30 01

=>>0130b902(16进制)

转10进制19970307,

其它的也是如D4 30 00 00是表达为000030D4

是12500(就是12.5¥)

二、RSR证券数据引擎组件TTDXManager使用说明

1、安装组件:用Delphi7打开TDXManager.dpk文件,点“install”按钮,安装完毕后,在Delphi组件面版上TDX栏里生成TTDXManger组件。

然后点Tools-->Environments

Options-->Library,

将组件目录加入到目录列表中。

2、TTDXManager类之方法介绍:

function Connect: boolean;

用途:连接到数据服务器

参数:无

返回值: True=连接成功 False=连接失败

procedure Run;

用途:对组件消息进行处理

提示:因为本组件是模仿消息队列模式工作的,请求命令先加入到消息列表,然后通过Run过程逐一取出消息进行处理的。因此必须循环运行Run过程。

procedure Get_PK (Const codenames:

string); 用途:发送获取股票盘口请求

参数:

codenames

用,分隔的代码列表,比如,想获取中体产业和万科A的盘口,Get_PK ('600158SH,000002SZ');

procedure Get_TestRealPK (Const code: string; market, Time:

integer);

用途:发送获取实时盘口请求

参数:

code 证券代码

market 市场类别,0=深圳 1=上海

Time 开始时间 145522表示获取14:55:22后的最后一笔交易时的盘口,如果没有最新交易,该请求不会返回数据

procedure Get_K_Days (Const code: string; market, startcount,

count: integer);

用途: 发送获取历史日K线数据请求

参数:

code 证券代码

market 市场类别

startcount 从现在往前的第几天开始

count 希望获得的天数

procedure Get_Deals (Const code: string; market, startcount,

count: integer);

用途: 发送获取分笔成交数据请求

参数:

code 证券代码

market 市场类别

startcount 从现在往前的第几笔数据

count 希望获得的交易笔数

procedure Get_Mins (Const code: string;

market, start: integer);

用途: 发送获取分时图请求

参数:

code 证券代码

market 市场类别

start 从现在开始的第几分钟开始

procedure Get_InitData (ID :integer);

用途: 发送获取初始化市场信息请求

参数:

ID 市场类别 0=深圳 1=上海

function GetMarketMode (Const StkCode,

StkName: string): byte;

用途: 查询市场类别编号

参数:

StkCode 证券代码

StkName 证券名称

本函数必须在成功初始化市场信息数据后才能正确返回

function GetStockCode (Const

StkName: string):string;

用途: 根据证券名称返回证券代码

参数:

StkName 证券名称

本函数必须在成功初始化市场信息数据后才能正确返回

3、属性介绍:

property Host :string;

数据服务器地址 默认为国信证券深圳1服务器

property Port :integer;

数据服务器端口 默认为7709,这个一般不要变动

property RegKeyString :string;

组件注册字符串 未通过注册的则为试用版。试用版在接收到一定数量的数据后,将可能出现随机不解包

4、事件介绍:

TOnReadTDXStockDataEvent= procedure(Const pData: pTTdxData)of

object;

TRNotifyEvent = procedure of object;

TOnAfterReadEvent = procedure (msg :integer) of object;

TOnDecodePacket_PKDAT = procedure (data: array of TTDX_PKDAT; StockCount: integer)of

object;

接收到使用Get_PK请求命令后而返回的盘口信息数据

StockCount 表示盘口数据包含的证券数目

TOnDecodePacket_REALPK =

procedure (data: TTDX_REALPKDAT) of object;

接收到使用 Get_TestRealPK 请求命令后而返回的盘口信息数据

TOnDecodePacket_DAYS = procedure (StockInfo: TCallBackStockInfo; data: array of

TTDX_DAYInfo; start, daysCount: integer)of object;

接收到使用Get_K_Days 请求命令后而返回的日K线数据

TOnDecodePacket_DEALS = procedure (StockInfo: TCallBackStockInfo; data: array of

TTDX_DEALINFO; start, Count: integer)of object;

接收到使用 Get_Deals 请求命令后返回的分笔交易数据

TOnDecodePacket_MINS = procedure (StockInfo: TCallBackStockInfo; data: array of

TTDX_MIN; start, Count: integer) of object;

接收到使用 Get_MINS 请求命令后返回的分时图数据

TOnDecodePacket_INITMARKET = procedure (data: array of TTDX_STOCKINFO; Market: byte; Count:

integer)of object;

接收到使用 Get_InitData 请求命令而返回的市场初始化数据

5、如何实际编程获得中体产业盘口实时数据1、在主窗体上放置一个TTimer组件,在OnTimer事件中执行TTDXManager.Run

2、使用Connect连接到服务器

3、发送Get_PK('600158SH');

4、在OnDecodePacket_PKDAT事件中处理实际获得的数据

{ 更新日志 2010.10.27 增加采用注册回调函数方式获取数据,详细函数声明请参考 uFunction.pas 相关数据结构声明请参考 TDXGrobal.pas 以S_打头的均为注册回调函数的函数 procedure S_InitMarketData (TDXManager: longword; CallBack :TOnDecodePacket_INITMARKET); stdcall; procedure S_GetPK (TDXManager: longword; CallBack :TOnDecodePacket_PKDAT); stdcall; procedure S_GetTestRealPK (TDXManager: longword; CallBack :TOnDecodePacket_REALPK); stdcall; procedure S_GetKDays (TDXManager: longword; CallBack :TOnDecodePacket_DAYS); stdcall; procedure S_GetDeals (TDXManager: longword; CallBack :TOnDecodePacket_DEALS); stdcall; procedure S_GetMins (TDXManager: longword; CallBack :TOnDecodePacket_MINS); stdcall; procedure S_Get_QH_KDays (TDXManager: longword; CallBack :TOnDecodePacket_FUTURES_DAYS); stdcall; procedure S_Get_QH_TestRealPK (TDXManager: longword; CallBack :TOnDecodePacket_FUTURES_PKDAT); stdcall; procedure S_Get_QH_Mins (TDXManager: longword; CallBack :TOnDecodePacket_FUTURES_MINS); stdcall; procedure S_Connected (TDXManager: longword; CallBack :TRNotifyEvent); stdcall; procedure S_DisConnected (TDXManager: longword; CallBack :TRNotifyEvent); stdcall; 2010.10.26 //期货,函数用法基本同普通股票函数,在使用 R_Connect 时,请指定期货服务器地址及端口(7721) procedure R_Get_QH_KDays (TDXManager: longword; StkCode :PChar; startcount, count: integer); stdcall; procedure R_Get_QH_TestRealPK (TDXManager: longword; StkCode :PChar); stdcall; } { ****************************************** 以下为Delphi版的数据结构和相关调用函数声明 使用其他开发语言的,只要换成自己语言的相应格式就可以了 目前在 RSRStock.dll 中,提供了如下几个导出函数: DLLVER, R_Open, R_Close, R_Connect, R_DisConnect, R_InitMarketData, R_GetPK, R_GetTestRealPK, R_GetKDays, R_GetDeals, R_GetMins, R_GetMarket, R_GetMarketByStockCode, R_GetMarketByStockName,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值