搜索
楼主: lonelypig

大家一起做一个数据提取软件,代码完全公开!

[复制链接]

发表于 2005-3-10 20:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
金币:
奖励:
热心:
注册时间:
2002-6-29

回复 使用道具 举报

发表于 2005-3-11 09:29 | 显示全部楼层
从分笔里面导最好。
金币:
奖励:
热心:
注册时间:
2004-3-30

回复 使用道具 举报

发表于 2005-3-11 13:46 | 显示全部楼层

是不是要得这个东东??

/****************************************************************************************
*                                                分析家证券投资分析系统行情接口规范V2.1
*                                                        (适用于单向数据传输方式)
****************************************************************************************/


****************************************************************************************/
*        驱动程序安装后,应该在系统注册库中注册以下信息,分析软件通过该注册信息启动动态库                *
*        HKEY_LOCAL_MACHINE/SOFTWARE/StockDrv 下                                                                                                *
*        Driver  = "驱动DLL全路径"                                                                                                                        *
****************************************************************************************/



#ifndef __STOCKDRV_H__
#define __STOCKDRV_H__

/////////////////////////////////////////////////////////////////////////////////
//增补说明
//1。2001年9月1日,增补深圳行情库SJS库的更改
//        a.工作模式增加RCV_WORK_SENDMSG模式,建议驱动程序支持RCV_WORK_MEMSHARE和RCV_WORK_SENDMSG两种工作模式以支持各种版本的分析家
//        b.RCV_WORK_SENDMSG工作模式与RCV_WORK_MEMSHARE的唯一区别在于使用RCV_REPORT_STRUCTExV2数据结构替代RCV_REPORT_STRUCTEx数据结构传输动态行情
//        c.若GetStockDrvInfo(RI_V2SUPPORT)返回1,则分析家启用RCV_WORK_SENDMSG工作模式,否则启用RCV_WORK_MEMSHARE工作模式,分析家采用这种方式来兼容前后版本
//        d.采用RCV_WORK_SENDMSG工作模式,分析家系统能够支持4位和6位深圳股票代码
//        e.RCV_WORK_SENDMSG工作模式只在分析家V4.01.00后的版本才支持。
/////////////////////////////////////////////////////////////////////////////////

// 工作方式类型定义
#define RCV_WORK_DEMAND                                0                                        // 查询接口,方式一
#define RCV_WORK_MEMSHARE                        2                                        // 内存共享直接引用,方式二
#define RCV_WORK_SENDMSG                        4                                        // 版本 2 建议使用的方式,对于六位代码的深圳市场必须使用这种模式       
// 其他工作方式保留


/*
指数代号-名称
1A0001  上证[url=www.macd.cn/result.php?sn=综合指数]综合指数[/url]                1A0002  上证A股指数                1A0003  上证B股指数
1B0001  上证工业指数                1B0002  上证[url=www.macd.cn/result.php?sn=商业指数]商业指数[/url]                1B0004  上证[url=www.macd.cn/result.php?sn=[url=www.macd.cn/result.php?sn=地产指数]地产指数[/url]][url=www.macd.cn/result.php?sn=地产指数]地产指数[/url][/url]
1B0005  上证公用事业                1B0006  上证综合                        1B0007  上证30指数

2A01        深证成分指数                2A02        深证成分A                        2A03        深证成分B
2B01        深证工业                    2B02        深证商业                        2B03        深证金融
2B04        深证地产                        2B05        深证公共事业                2B06        深证综合
2B07        深证基金                        2C01        深证指数                        2C02        深证A股
2C03        深证B股
*/

/////////////////////////////////////////////////////////////////////////////////////////
// 以下是接口方式二

// 证券市场
#define                SH_MARKET_EX                        'HS'                // 上海
#define                SZ_MARKET_EX                        'ZS'                // 深圳
#define                HK_MARKET_EX                        'KH'                // 香港

// 文件数据类型
// 结构数组形式的文件数据
#define                FILE_HISTORY_EX                        2                        // 补日线数据
#define                FILE_MINUTE_EX                        4                        // 补分钟线数据
#define                FILE_POWER_EX                        6                        // 补充除权数据

#define                FILE_BASE_EX                        0x1000                // 钱龙兼容基本资料文件,m_szFileName仅包含文件名
#define                FILE_NEWS_EX                        0x1002                // 新闻类,其类型由m_szFileName中子目录名来定
#define                FILE_HTML_EX                        0x1004                // HTML文件,m_szFileName为URL

#define                FILE_SOFTWARE_EX                0x2000                // 升级软件

// 消息子类型
#define                News_Sha_Ex                                 2                        // 上证消息
#define                News_Szn_Ex                                 4                        // 深证消息
#define                News_Fin_Ex                                 6                        // 财经报道
#define                News_TVSta_Ex                         8                        // 电视台通知
#define                News_Unknown_Ex                         -1                        // 未知提供者

//Definition For nInfo of Function GetStockDrvInfo(int nInfo,void * pBuf);
#define                RI_IDSTRING                                1                        // 厂商名称,返回(LPCSTR)厂商名
#define                RI_IDCODE                                2                        // 卡号
#define                RI_VERSION                                3                        // 驱动程序版本
#define                RI_V2SUPPORT                        6                        // 支持深圳SJS库结构

#define                STKLABEL_LEN                        10                        // 股号数据长度,国内市场股号编码兼容钱龙
#define                STKNAME_LEN                                32                        // 股名长度


//////////////////////////////////////////////////////////////////////////////////
//行情数据(版本1数据结构RCV_WORK_MEMSHARE)
typedef struct tagRCV_REPORT_STRUCTEx
{
        WORD        m_wMarket;                                                                        // 股票市场类型
        char        m_szLabel[STKLABEL_LEN];                                        // 股票代码,以'\0'结尾
        char        m_szName[STKNAME_LEN];                                                // 股票名称,以'\0'结尾
       
        float        m_fLastClose;                                                                // 昨收
        float        m_fOpen;                                                                        // 今开
        float        m_fHigh;                                                                        // 最高
        float        m_fLow;                                                                                // 最低
        float        m_fNewPrice;                                                                // 最新
        float        m_fVolume;                                                                        // 成交量
        float        m_fAmount;                                                                        // 成交额

        float        m_fBuyPrice[3];                                                                // 申买价1,2,3
        float        m_fBuyVolume[3];                                                        // 申买量1,2,3
        float        m_fSellPrice[3];                                                        // 申卖价1,2,3
        float        m_fSellVolume[3];                                                        // 申卖量1,2,3
} RCV_REPORT_STRUCTEx;

//////////////////////////////////////////////////////////////////////////////////
//行情数据(版本2数据结构RCV_WORK_SENDMSG)
typedef struct tagRCV_REPORT_STRUCTExV2       
{
        WORD        m_cbSize;                                                                        // 结构大小
        time_t        m_time;                                                                                // 成交时间
        WORD        m_wMarket;                                                                        // 股票市场类型
        char        m_szLabel[STKLABEL_LEN];                                        // 股票代码,以'\0'结尾
        char        m_szName[STKNAME_LEN];                                                // 股票名称,以'\0'结尾
       
        float        m_fLastClose;                                                                // 昨收
        float        m_fOpen;                                                                        // 今开
        float        m_fHigh;                                                                        // 最高
        float        m_fLow;                                                                                // 最低
        float        m_fNewPrice;                                                                // 最新
        float        m_fVolume;                                                                        // 成交量
        float        m_fAmount;                                                                        // 成交额

        float        m_fBuyPrice[3];                                                                // 申买价1,2,3
        float        m_fBuyVolume[3];                                                        // 申买量1,2,3
        float        m_fSellPrice[3];                                                        // 申卖价1,2,3
        float        m_fSellVolume[3];                                                        // 申卖量1,2,3

        float        m_fBuyPrice4;                                                                // 申买价4
        float        m_fBuyVolume4;                                                                // 申买量4
        float        m_fSellPrice4;                                                                // 申卖价4
        float        m_fSellVolume4;                                                                // 申卖量4
} RCV_REPORT_STRUCTExV2;

//////////////////////////////////////////////////////////////////////////////////
//补充数据头
//数据头 m_dwHeadTag == EKE_HEAD_TAG
#define EKE_HEAD_TAG        0xffffffff

typedef struct        tagRCV_EKE_HEADEx
{
        DWORD        m_dwHeadTag;                                                                // = EKE_HEAD_TAG
        WORD        m_wMarket;                                                                        // 市场类型
        char        m_szLabel[STKLABEL_LEN];                                        // 股票代码
}RCV_EKE_HEADEx;

//补充日线数据
typedef union tagRCV_HISTORY_STRUCTEx
{
        struct
        {
                time_t        m_time;                                //UCT
                float        m_fOpen;                        //开盘
                float        m_fHigh;                        //最高
                float        m_fLow;                                //最低
                float        m_fClose;                        //收盘
                float        m_fVolume;                        //量
                float        m_fAmount;                        //额
                WORD        m_wAdvance;                        //涨数,仅大盘有效
                WORD        m_wDecline;                        //跌数,仅大盘有效
        };
        RCV_EKE_HEADEx        m_head;
}RCV_HISTORY_STRUCTEx;

//补充分时线数据
typedef union tagRCV_MINUTE_STRUCTEx
{
        struct{
                time_t        m_time;                                // UCT
                float        m_fPrice;
                float        m_fVolume;
                float        m_fAmount;
        };
        RCV_EKE_HEADEx        m_head;
}RCV_MINUTE_STRUCTEx;

//补充除权数据
typedef union tagRCV_POWER_STRUCTEx
{
        struct
        {
                time_t        m_time;                                // UCT
                float        m_fGive;                        // 每股送
                float        m_fPei;                                // 每股配
                float        m_fPeiPrice;                // 配股价,仅当 m_fPei!=0.0f 时有效
                float        m_fProfit;                        // 每股红利
        };
        RCV_EKE_HEADEx        m_head;
}RCV_POWER_STRUCTEx;

//////////////////////////////////////////////////////////////////////////////////
// 文件类型数据包头
//  注一:
//        m_wDataType == FILE_BASE_EX
//                                m_dwAttrib = 股票证券市场,m_szFileName仅包含文件名
//  m_wDataType == FILE_NEWS_EX
//                                m_dwAttrib = 消息来源,m_szFileName 包含目录的文件名,目录名为消息来源
//                                如:  "上交所消息\\0501Z012.TXT","新兰德\\XLD0001.TXT"
//  m_wDataType == FILE_HTML_EX
//                                m_dwAttrib 保留, m_szFileName为URL
//        m_wDataType        == FILE_SOFTWARE_EX
//                                m_dwAttrib 分析软件类型, 用于初步判断
//                                m_szFileName 分析软件 ID 特征字符串 + '\\' + 文件名
//                                如 "SuperStk\\SuperStk.EXE",
//                                ID 特征字符串为 "SuperStk", "SuperStk.EXE" 为文件名
//                                特征字符串 和 文件名及其含义由分析软件商定义
//  注二:
//                数据文件循环播出,每个文件有唯一的序列号,以避免重复接收
typedef struct tagRCV_FILE_HEADEx
{
        DWORD        m_dwAttrib;                                                        // 文件子类型
        DWORD        m_dwLen;                                                        // 文件长度
        DWORD        m_dwSerialNo;                                                // 序列号
        char        m_szFileName[MAX_PATH];                                // 文件名 or URL
} RCV_FILE_HEADEx;

//////////////////////////////////////////////////////////////////////////////////
//  数据通知消息
//直接数据引用通知消息
//        wParam = RCV_WPARAM;
//  lParam 指向 RCV_DATA结构;
//        返回 1 已经处理, 0 未处理或不能处理

#define RCV_REPORT                        0x3f001234
#define RCV_FILEDATA                0x3f001235

// 注一:
//          记录数表示行情数据和补充数据(包括 Header)的数据包数,对文件类型数据, = 1
// 注二:
//          若 m_bDISK = FALSE, m_pData 为数据缓冲区指针
//                 ******** 数据共享,不能修改数据 **********
//                 m_bDISK = TRUE,  m_pData 为该文件的存盘文件名,一般情况只有
//                 升级软件等大文件用存盘方式
typedef struct tagRCV_DATA
{
        int                                        m_wDataType;                        // 文件类型
        int                                        m_nPacketNum;                        // 记录数,参见注一
        RCV_FILE_HEADEx                m_File;                                        // 文件接口
        BOOL                                m_bDISK;                                // 文件是否已存盘的文件
        union
        {
                RCV_REPORT_STRUCTEx  *        m_pReport;
                RCV_REPORT_STRUCTExV2 *        m_pReportV2;
                RCV_HISTORY_STRUCTEx *        m_pDay;
                RCV_MINUTE_STRUCTEx  *        m_pMinute;
                RCV_POWER_STRUCTEx         *        m_pPower;
                void                                 *        m_pData;                // 参见注二
        };
} RCV_DATA;

/* 消息处理程序 DEMO
LONG OnStkDataOK(UINT wParam,LONG lParam)
{
        RCV_DATA*                pHeader;
        pHeader = (RCV_DATA *)lParam;
        switch( wParam )
        {
        case RCV_REPORT:                                                // 共享数据引用方式,股票行情
                for(i=0; i<pHeader->m_nPacketNum; i++)
                {
                        pHeader->m_pReport ...
                        // 数据处理
                }
                break;

        case RCV_FILEDATA:                                                // 共享数据引用方式,文件
                switch(pHeader->m_wDataType)
                {
                case FILE_HISTORY_EX:                                // 补日线数据
                        break;
                case FILE_MINUTE_EX:                                // 补分钟线数据
                        break;
                case FILE_POWER_EX:                                        // 补充除权数据
                        break;
                case FILE_BASE_EX:                                        // 钱龙兼容基本资料文件,m_szFileName仅包含文件名
                        break;
                case FILE_NEWS_EX:                                        // 新闻类,其类型由m_szFileName中子目录名来定
                        break;
                case FILE_HTML_EX:                                        // HTML文件,m_szFileName为URL
                        break;
                case FILE_SOFTWARE_EX:                                // 升级软件
                        break;
                }
                break;
        default:
                return 0;                                                        // unknown data
        }
        return 1;
}
*/


//////////////////////////////////////////////////////////////////////////////////
//APIs
#ifdef __cplusplus
extern "C"{
#endif

//////////////////////////////////////////////////////////////////////////////////
// 注册函数

// 股票初始化
// 入口参数:
//                hWnd                        处理消息的窗口句柄
//                Msg                                用户自定义消息
//                nWorkMode                接口工作方式,参见工作方式类型定义
// 返回参数:
//                 1                                成功       
//                -1                                失败
// 注:
//                注册后,驱动程序会向处理窗口发送消息; 若不注册,通过查询方式亦可取得数据
//                若股票接收没启动,则启动股票接收程序
int WINAPI        Stock_Init(HWND hWnd,UINT Msg,int nWorkMode);

// 退出,停止发送消息
// 入口参数:
//                hWnd                        处理消息的窗口句柄,同 Stock_Init 的调用入口参数
//        返回参数:
//                 1                                成功       
//                -1                                失败
int WINAPI         Stock_Quit(HWND hWnd);

// 激活接收程序,进行设置
// 入口参数:
//                        bSetup                TRUE                显示窗口,进行设置
//                                                FALSE                隐含窗口
// 返回参数:
//                         1                        成功
//                        -1                        失败
int        WINAPI  SetupReceiver(BOOL bSetup);

//        取得股票驱动信息
//        入口参数:
//                        nInfo                索引
//                        pBuf                缓冲区
//        出口参数:
//                        nInfo == RI_IDSTRING,        返回特征字符串长度, pBuf 为特征字符串
//                                                                        如:        "TongShi_StockDrv_1.00"
//                        nInfo == RI_IDCODE,                返回信息卡 ID 号, pBuf 为字符串形式的 ID 号
//                                                                        如:        0x78001234          "78001234"
//                        nInfo == RI_VERSION,        返回信息卡版本号, pBuf 为字符串版本
//                                                                        如:  1.00                  "1.00"               
//                        nInfo == RI_V2SUPPORT,        返回是否支持深圳SJS库结构, pBuf无效
DWORD WINAPI  GetStockDrvInfo(int nInfo,void * pBuf);


void WINAPI  ReInitStockInfo();

//重新取得股票数据

#ifdef __cplusplus
}
#endif
金币:
奖励:
热心:
注册时间:
2005-3-8

回复 使用道具 举报

签到天数: 5 天

股指家园

发表于 2005-3-11 16:29 | 显示全部楼层
顶!!!!!!!
金币:
奖励:
热心:
注册时间:
2002-6-5

回复 使用道具 举报

 楼主| 发表于 2005-3-15 18:44 | 显示全部楼层
我需要,多谢ak4701的支持,我的邮箱事wupangzi@hotmail.com
金币:
奖励:
热心:
注册时间:
2005-2-17

回复 使用道具 举报

发表于 2005-3-16 13:30 | 显示全部楼层
我最新完成了一个上证,深证上市股票的时时数据更新程序
平均两分钟搜索更新数据,并生成一个股票数据文本文件
(也可以改成数据库),对数据有兴趣的朋友可以联系我
(e-mail:stockseller@163.com)
金币:
奖励:
热心:
注册时间:
2004-10-30

回复 使用道具 举报

发表于 2005-3-16 17:40 | 显示全部楼层

有这么复杂吗,在宏汇NSD中很简单!

看宏汇NSD中的数据输出:
程序如下,当然这个程序只能够在宏汇NSD中使用,您可以在www.hh.com.cn/nsd下载宏汇NSD,然后在菜单上选择“工具->数据输出”,再在数据输出窗口左上角选择“新建数据输出”,在选择数据输项目里选择“分笔数据输出2”,以后的操作都是向导,直至完成。
////////////////////////////////////////////////////////////////////////
//  输出指定品种和指定日期的分笔数据(Tick)
////////////////////////////////////////////////////////////////////////

//定义dbf类
DBF类 dbf;

//定义输出文件的路径和名称
char dbfname[128];
//sprintf(dbfname, "%s\\0001.dbf", 输出路径);
sprintf(dbfname, "%s\\%s%s%d至%d的分笔数据.dbf", 输出路径,当前品种代码,当前品种名称,开始日期,截止日期);
输出("文件保存路径为%s", dbfname);
//输出("%s", dbfname);

//判断创建数据库是否成功
if (!dbf.创建数据库(dbfname))
{
        显示调试信息(错误, "创建“%s”失败", dbfname);
        return;
}

//判断用户选择字段信息
if (是否含有字段("时间"))      dbf.添加字段("Time",  'C', 20, 0, "时间");
if (是否含有字段("价格"))      dbf.添加字段("Price", 'N', 6, 2, "价格");
if (是否含有字段("买/卖"))     dbf.添加字段("BS",    'C', 2, 0, "买/卖");
if (是否含有字段("成交量"))    dbf.添加字段("Volume",'N', 6, 0, "成交量");
if (是否含有字段("成交金额"))  dbf.添加字段("Money", 'N', 6, 2, "成交金额");
if (是否含有字段("成交笔数"))  dbf.添加字段("bishu", 'N', 6, 0, "成交笔数");

if (是否含有字段("卖量5"))  dbf.添加字段("SV5", 'N', 6, 0, "卖量5");
if (是否含有字段("卖量4"))  dbf.添加字段("SV4", 'N', 6, 0, "卖量4");
if (是否含有字段("卖量3"))  dbf.添加字段("SV3", 'N', 6, 0, "卖量3");
if (是否含有字段("卖量2"))  dbf.添加字段("SV2", 'N', 6, 0, "卖量2");
if (是否含有字段("卖量1"))  dbf.添加字段("SV1", 'N', 6, 0, "卖量1");
if (是否含有字段("卖价5"))  dbf.添加字段("SP5", 'N', 6, 2, "卖价5");
if (是否含有字段("卖价4"))  dbf.添加字段("SP4", 'N', 6, 2, "卖价4");
if (是否含有字段("卖价3"))  dbf.添加字段("SP3", 'N', 6, 2, "卖价3");
if (是否含有字段("卖价2"))  dbf.添加字段("SP2", 'N', 6, 2, "卖价2");
if (是否含有字段("卖价1"))  dbf.添加字段("SP1", 'N', 6, 2, "卖价1");
if (是否含有字段("买量1"))  dbf.添加字段("BV1", 'N', 6, 0, "买量1");
if (是否含有字段("买量2"))  dbf.添加字段("BV2", 'N', 6, 0, "买量2");
if (是否含有字段("买量3"))  dbf.添加字段("BV3", 'N', 6, 0, "买量3");
if (是否含有字段("买量4"))  dbf.添加字段("BV4", 'N', 6, 0, "买量4");
if (是否含有字段("买量5"))  dbf.添加字段("BV5", 'N', 6, 0, "买量5");
if (是否含有字段("买价1"))  dbf.添加字段("BP1", 'N', 6, 2, "买价1");
if (是否含有字段("买价2"))  dbf.添加字段("BP2", 'N', 6, 2, "买价2");
if (是否含有字段("买价3"))  dbf.添加字段("BP3", 'N', 6, 2, "买价3");
if (是否含有字段("买价4"))  dbf.添加字段("BP4", 'N', 6, 2, "买价4");
if (是否含有字段("买价5"))  dbf.添加字段("BP5", 'N', 6, 2, "买价5");
if (是否含有字段("买比"))   dbf.添加字段("bsRatio", 'N', 6, 2, "买比");

//定义分笔成交类
分笔成交类 clsTick;

//输出("%d - %d", 开始索引, 截止索引);


//取数据日期(周期),并输出成交价格、成交量和成交金额
long lDate, lTime;
char szMark[4];
char szTime[32];
for (int j=开始索引; j<=截止索引; j++)
{
       
        lDate = K线数据[j].取日期();
        输出("输出%s股票 %d的分笔数据",当前品种代码,lDate);
        if (!clsTick.读取分笔成交(lDate))
        {
                输出("输出日期为%d 的数据失败! 请先下载该代码的Tick数据", lDate);
                continue;       
        }
       
        int total = clsTick.总笔数();
        int intVolume=0;
        输出("成交总笔数%d", total);
        for (int i=0; i<total; i++)
        {
                sprintf(szMark, "%c", clsTick[买卖标志]);
                lTime = clsTick.取时间();
                sprintf(szTime, "%2d-%2d-%2d %2d:%2d:%2d", lDate / 10000, lDate / 100 % 100, lDate % 100, lTime / 10000, lTime / 100 % 100, lTime % 100);
                dbf.设置字符串("Time", szTime);
                dbf.设置数据("Price",clsTick[成交价]);
                dbf.设置字符串("BS",szMark);
                intVolume=(i>0)?clsTick[成交量]-clsTick[i-1][成交量] : clsTick[成交量];
                dbf.设置数据("Volume",intVolume);
                dbf.设置数据("Money",intVolume*clsTick[成交价]);
                dbf.设置数据("bishu",(i>0) ? clsTick[成交笔数]-clsTick[i-1][成交笔数] : clsTick[成交笔数]);
               
               
                dbf.设置数据("SV5",clsTick[卖量5]);
                dbf.设置数据("SV4",clsTick[卖量4]);
                dbf.设置数据("SV3",clsTick[卖量3]);
                dbf.设置数据("SV2",clsTick[卖量2]);
                dbf.设置数据("SV1",clsTick[卖量1]);
                dbf.设置数据("SP5",clsTick[卖价5]);
                dbf.设置数据("SP4",clsTick[卖价4]);
                dbf.设置数据("SP3",clsTick[卖价3]);
                dbf.设置数据("SP2",clsTick[卖价2]);
                dbf.设置数据("SP1",clsTick[卖价1]);
                dbf.设置数据("BV1",clsTick[买量1]);
                dbf.设置数据("BV2",clsTick[买量2]);
                dbf.设置数据("BV3",clsTick[买量3]);
                dbf.设置数据("BV4",clsTick[买量4]);
                dbf.设置数据("BV5",clsTick[买量5]);
                dbf.设置数据("BP1",clsTick[买价1]);
                dbf.设置数据("BP2",clsTick[买价2]);
                dbf.设置数据("BP3",clsTick[买价3]);
                dbf.设置数据("BP4",clsTick[买价4]);
                dbf.设置数据("BP5",clsTick[买价5]);
               
                dbf.设置数据("bsRatio",clsTick[买卖比]);               
                dbf.追加记录();
        }
}

//关闭打开的数据
dbf.关闭();


结果就是一个DBF数据库
金币:
奖励:
热心:
注册时间:
2004-11-24

回复 使用道具 举报

发表于 2005-3-16 20:40 | 显示全部楼层
dfzsbvfdazbcxbv z
金币:
奖励:
热心:
注册时间:
2003-9-30

回复 使用道具 举报

发表于 2005-3-17 00:53 | 显示全部楼层
我需要,多谢ak4701的支持,我的邮箱事wupangzi@hotmail.com

发一个000039 今天分笔数据给你,你仔细查看,如有用,我再整理源程序给你. 毕竟是几年前的东西了,整理很花时间.   程序用FOXPRO2.5 编写.
金币:
奖励:
热心:
注册时间:
2003-12-22

回复 使用道具 举报

发表于 2005-3-17 09:22 | 显示全部楼层
当然会一点C语言的基本知识的话,用起宏汇NSD中的编程功能可以说是容易之极,不会的朋友也可以按照提供的模版依葫芦画瓢慢慢学习!
现在宏汇NSD中集成了下面的一些基本的数据输出:
日K线数据输出;
市场成交集中度;
大盘股对综指影响度;
板块成交动态;
行业成交动态;
分笔数据输出;
成交分布分析;
价量成交分布;
地区成交动态;
市场总体概括;

里面很多数据输出对于普通用户可能用不着,这可是为深交所专门写的!
金币:
奖励:
热心:
注册时间:
2004-11-24

回复 使用道具 举报

签到天数: 1 天

发表于 2005-3-17 19:51 | 显示全部楼层
ak4701:

能否把你的分笔提取代码给我一份?谢谢
我的邮箱
jxbking@263.net

谢谢
金币:
奖励:
热心:
注册时间:
2004-7-7

回复 使用道具 举报

 楼主| 发表于 2005-3-19 22:23 | 显示全部楼层
居然有这么多牛人,真是太好了。
金币:
奖励:
热心:
注册时间:
2005-2-17

回复 使用道具 举报

发表于 2005-3-20 02:47 | 显示全部楼层

只有分析家自己才有技术文档,其它都是朦的,绝对不100%正确;

你要分笔数据干吗,有道理的话可以给个插件你;
金币:
奖励:
热心:
注册时间:
2004-10-25

回复 使用道具 举报

发表于 2005-3-22 02:18 | 显示全部楼层

直接在上面讨论比较好

大家好,我会写一些VB的程序,只是功底不深。我能用读二制文件的方法读大智慧的日数据,但读5分钟数据时,日期格式是10位的,不是很明白,那位好心人能帮我解决一下???
金币:
奖励:
热心:
注册时间:
2005-3-15

回复 使用道具 举报

发表于 2005-3-22 02:31 | 显示全部楼层

TO ak4701

ak4701 你好,我试着在EXCEL里用VBA采用读二制文件的方法读取了分析家的分笔交易数据。问题结果我根本看不明白。转换出来的东西是每行22个记录。我不知道是我的编程能力有限还是思路出了问题。能否帮我点明,我实在看不懂了。下面是第一行的数据。
-65823756 768 1106784000 996 2087 2087 809056563 12592 62128128 3407872 54330002 77988853 101320009 127927990 -1 -1 -1 -1 -1 -1 -1 -1
谢谢了先。
金币:
奖励:
热心:
注册时间:
2005-3-15

回复 使用道具 举报

签到天数: 9 天

发表于 2005-3-22 16:35 | 显示全部楼层
支持你的工作,只是偶不懂编程。
金币:
奖励:
热心:
注册时间:
2004-3-16

回复 使用道具 举报

发表于 2005-3-22 21:22 | 显示全部楼层
支持你的工作,只是偶不懂编程。
金币:
奖励:
热心:
注册时间:
2001-6-30

回复 使用道具 举报

发表于 2005-3-22 22:20 | 显示全部楼层
不懂,但看出来了,是个好提议,也是个好东西,帮你顶,俺虽然不会编程,但俺还不是很笨,还有时间肯学,有什么需要的,发个短信来,俺支持您,希望能帮上你什么忙
金币:
奖励:
热心:
注册时间:
2005-1-24

回复 使用道具 举报

发表于 2005-3-31 10:42 | 显示全部楼层
to chen712
     源程序以发给你。 在PRP文件中,从第24字节开始到622268字节,每64字节为一条记录,每条记录中以4字节表示一个数值,这些数据记录了该文件个股分笔资料的位置(索引表),再从这个表中即可找出对应的分笔资料。
    其实你用16进制文件编辑器打开PRP文件,你就会发现一些规律,再进行下一步处理。
    用程序改写PRP文件相应部分,再由分析家读取,则更直接些。
金币:
奖励:
热心:
注册时间:
2003-12-22

回复 使用道具 举报

发表于 2005-3-31 11:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
金币:
奖励:
热心:
注册时间:
2005-2-19

回复 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站声明:1、本站所有广告均与MACD无关;2、MACD仅提供交流平台,网友发布信息非MACD观点与意思表达,因网友发布的信息造成任何后果,均与MACD无关。
MACD俱乐部(1997-2019)官方域名:macd.cn   MACD网校(2006-2019)官方域名:macdwx.com
值班热线[9:00—17:30]:18292674919   24小时网站应急电话:18292674919
找回密码、投诉QQ:89918815 友情链接QQ:95008905 广告商务联系QQ:17017506 电话:18292674919
增值电信业务经营许可证: 陕ICP19026207号—2  陕ICP备20004035号

举报|意见反馈|Archiver|手机版|小黑屋|MACD俱乐部 ( 陕ICP备20004035号 )

GMT+8, 2024-5-18 09:08 , Processed in 0.085543 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表