金字塔的共享行情数据介绍

Discussion in '金字塔决策交易系统' started by ytweiwei, Jan 28, 2010.

  1. 服务器端的设置

    金字塔的金钻版支持服务器端的UPD数据广播,具体方法如下:

    首先创建一个名为 QuoteBC.ini 的文本文件,存放于金字塔安装目录下的Setting目录.

    QuoteBC.ini文件的具体内容如下:



    [Server]
    Broadcast=1
    BroadcastIP=
    BroadcastPort=7855



    其中解释含义如下:

    [Server] 表示属于服务器端组功能

    Broadcast 为数据开关,为1表示开启服务器的UDP数据广播,为0表示关闭

    BroadcastIP 为服务器端定向发送的客户端IP地址,若不填则表示为所有局域网的客户发送

    BroadcastPort 为服务器为指定端口发送的数据包,默认为7855端口



    将含有上述文字的文本文件创建完毕后,重新启动金字塔软件,然后金钻版的服务器端在收到行情数据后即可往局域网发送广播数据包,客户端即可完成接收.



    客户端的接收设置

    单击"工具"菜单中的"接收系统",弹出接收系统设置对话框,然后选择"显示内网接口"复选框,然后从接口列表上双击内网行情数据启动接收.

    局域网的客户端默认的接收端口是7855,若需要改动接口,创建一个名为 QuoteBC.ini 的文本文件,存放于金字塔安装目录下的Setting目录.



    [Client]
    BroadcastPort=7850



    将上述设置保存该文本文件即可完成客户端的接收设置.



    接收内网的行情数据包

    金字塔的UDP内网广播数据包,采用C语言结构,这就为第三方软件的局域网数据接收提供了可能,结构如下:

    #pragma pack( push, 1 )

    typedef struct
    {
    time_t m_time; // 成交时间
    WORD m_wMarket; // 股票市场类型
    char m_szLabel[STKLABEL_LEN]; // 股票代码,以'\0'结尾
    char m_szName[STKNAME_LEN]; // 股票名称,以'\0'结尾

    float m_fLastJS; // 昨结算
    float m_fLastClose; // 昨收
    float m_fOpen; // 今开
    float m_fHigh; // 最高
    float m_fLow; // 最低
    float m_fNewPrice; // 最新
    float m_fVolume; // 成交量
    float m_fAmount; // 成交额
    float m_fNewJS; // 当前结算
    float m_fOI; // 持仓量
    float m_upperLimitPrice; // 涨停板
    float m_lowerLimitPrice; // 跌停板
    BYTE m_bMainReport; // 是否主力和约
    BYTE m_nFlag1; // 标志1
    BYTE m_nFlag2; // 标志2
    BYTE m_nReserve[1];
    float m_fPrvOI; // 昨持仓

    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

    float m_fBuyPrice5; // 申买价5
    float m_fBuyVolume5; // 申买量5
    float m_fSellPrice5; // 申卖价5
    float m_fSellVolume5; // 申卖量5

    float m_fBuyPrice6; // 申买价6
    float m_fBuyVolume6; // 申买量6
    float m_fSellPrice6; // 申卖价6
    float m_fSellVolume6; // 申卖量6

    float m_fBuyPrice7; // 申买价7
    float m_fBuyVolume7; // 申买量7
    float m_fSellPrice7; // 申卖价7
    float m_fSellVolume7; // 申卖量7

    float m_fBuyPrice8; // 申买价8
    float m_fBuyVolume8; // 申买量8
    float m_fSellPrice8; // 申卖价8
    float m_fSellVolume8; // 申卖量8

    float m_fBuyPrice9; // 申买价9
    float m_fBuyVolume9; // 申买量9
    float m_fSellPrice9; // 申卖价9
    float m_fSellVolume9; // 申卖量9

    float m_fBuyPrice10; // 申买价10
    float m_fBuyVolume10; // 申买量10
    float m_fSellPrice10; // 申卖价10
    float m_fSellVolume10; // 申卖量10
    } RCV_REPORT_STRUCTExQH;

    #pragma pack(pop)
     
  2. #define STKLABEL_LEN 10 // 股号数据长度,国内市场股号编码兼容钱龙
    #define STKNAME_LEN 32 // 股名长度
     
  3. 这个功能有几个典型应用:
    (1)可以实现TS2000i、Get -rt版 动态接收期货行情。
    如果你有这一方面的需求,可以发邮件到:Kit998@189.cn 或者QQ=475049
    (2)可以用VC、 VB等语言实现一个仅仅完成策略执行的最好效率算法。
    (3)可以把动态数据直接装入SQL数据库,做复杂的数据分析并保存结果,在金字塔中直接调用结果。