-- 作者:王锋
-- 发布时间:2017/3/13 17:52:31
--
4.1版本主要增加了几个扩展函数,此外,金字塔对于升级采取的旧版本兼容模式,因此不会影响你编写的旧版本。
其中更新增加的函数如下:
////////////////////////////////////////////////////////////////////////// //以下函数4.1版本金字塔支持 //获取期权保证金 //////////////////////////////////////////////////////////////////////////
#define OPTIONMARGINRATE_EXTFUN 0x001 //参数结构 typedef struct{ WORD m_nMarket; //品种市场 char m_szLabel[10]; //期权品种代码 float m_fP1; //P1为保证金公式调整系数1,目前交易所默认为12%,即取值0.12; float m_fP2; //P2为保证金公式调整系数2,目前交易所默认为7%,即取值0.07; BYTE m_nType; //0为取义务仓开仓保证金最低标准 1为义务仓维持保证金最低标准。 }OPTIONMARGINRATE_EXTFUN_ST; //返回值 返回double类型的保证金数据指针(为避免数据区被其他功能调用破坏,请及时保存该指针数据内容) // 若返回NULL表示调用失败
////////////////////////////////////////////////////////////////////////// //引用任意品种任意周期的任意指标输出,其使用方法与PEL中的StkIndiEx函数相同(具体使用范例详见CMainWindowDlg::OnButton1Gedata函数) //注意:4.10版本以后的功能 //////////////////////////////////////////////////////////////////////////
#define STKINDIEX_EXTFUN 0x002 //参数结构 typedef struct{ WORD m_nMarket; //品种市场 char m_szLabel[10]; //品种代码 char m_szIndiName[256]; //调用的指标、交易系统,例如 "MA.MA1(8,12,26,60)"表示调用MA均线的MA1线条,参数依次为9,12,26,60 // “RSI”表示调用RSI指标,参数为默认公式参数 // 若没有指定公式线,默认返回最后一个可见线数据 BYTE m_nCoType; //坐标轴类型 0交易日坐标 1自然日 2交易交易时间 BYTE m_nPeriod; //周期类型,有效值范围为(0-24),依次表示: //0 1分钟 1 5分钟 2 15分钟 3 30分钟 4 60分钟 5日线 6周线 7月线 8年线 9多日线 10分笔成交 //11多小时线 12多秒线 13多分钟线 14季度线 15半年线 16节气线 17 3分钟 18 10分钟 19 多笔线 BYTE m_nPower; //是否采取复权模式 0不采取 1采取 int m_nPeriodNum; //当m_nPeriod周期>=20时,m_nPeriodNum为自定义N周期的具体数字 DWORD m_nDataNum; //引用的具体数据个数,该数字必须是大于0的数字;注意:如果数字过大会影响效率 }STKINDIEX_EXTFUN_ST;
//返回值及结构定义 //调用返回的数据结构 typedef struct{ DATE m_timeDate; //对应的K线周期时间 double m_dbValues; //指标线数值 }STKINDIEX_EXTFUN_DATA;
//调用返回的结构 //注意1、该返回值使用共享内存,多次调用将只会保存后者的结果数据,因此调用后该结果值应该自行存放其他数组中。 // 2、该函数效率较低,不要频繁调用该函数,建议自行采取算法将结果值保存,以便重复使用。 typedef struct{ STKINDIEX_EXTFUN_DATA * m_pValues; //调用返回的数据 int m_nDataCount; //调用返回的数据个数,若为-1表示调用失败 }STKINDIEX_EXTFUN_DATA_RET;
/////////////////////////////////////////////////////////////////////////////////////////////////// //调取历史财务数据 ////注意:4.10版本以后的功能 //////////////////////////////////////////////////////////////////////////
#define FINANCE_EXTFUN 0x003 //调用参数结构 BLOCK_STRUCT
//返回值及结构定义 //注意: 该返回值使用共享内存,多次调用将只会保存后者的结果数据,因此调用后该结果值应该自行存放其他数组中。 typedef struct{ FINANCE_STRUCTEx * m_pData; //历史财务数据结构数组 UINT m_nDataCount; //数组个数 }FINANCEEX_EXTFUN_DATA;
////////////////////////////////////////////////////////////////////////////////////////////////// //获取扩展持仓信息 ////注意:4.10版本以后的功能 //////////////////////////////////////////////////////////////////////////
#define HOLDINGINFO3_EXTFUN 0x004
typedef struct { int BuyHoding; //该该持仓品种买入持仓总量 double BuyCost; //该持仓品种持仓成本 int BuyTodayHoding; //该持仓品种今买持总量(对于证券市场,该参数为实际可用持仓) int SellHoding; //该持仓品种卖出持仓总量 double SellCost; //该持仓品种卖出持仓成本 int SellTodayHoding;//该持仓品种的今卖出持仓总量(对于证券市场,该参数为实际可用持仓) double PNL; //该持仓品种浮动盈亏 double UseMargin; //该持仓品种的保证金占用 char szCode[10]; //该持仓品种代码 WORD Market; //该持仓品种市场 BYTE HoldType;// 仓位类型 表示该持仓的类型,针对不同市场, // 为0 分别为 期货(投机仓) 股票(普通仓) 期权(普通仓) ; // 为1 分别为 期货(保值仓) 股票(融资仓) 期权(备兑仓) }HOLDINGINFO3_DATA;
//调用参数结构 typedef struct { UINT Index; //输入参数,指定基于0索引的持仓和约信息,持仓和约总量参见 Holding2 属性。 char * szAccount; //输入参数,可缺省,登陆其他帐户(CTP,金仕达,恒生,股票等)的帐户名称,若不填写则表示当前默认的帐户 HOLDINGINFO3_DATA stRetHolding; //输出参数,相应的持仓信息填写与此 }HOLDINGINFO3_EXTFUN_DATA;
//返回值:若返回NULL表示调用失败
////////////////////////////////////////////////////////////////////////// //获取扩展未成交信息 ////注意:4.10版本以后的功能 //////////////////////////////////////////////////////////////////////////
#define ORDERINFO3_EXTFUN 0x005
typedef struct { int OrderID; //未成交订单ID int ConSign; //本次委托数量 int Filled; //已成交数量 int Remaining; //未成交数量 int Action; //动作类型 0买入 1卖出 int OrderType; //订单类型 0限价 1市价 2停损 3市价停损 double LmtPrice; //当OrderType等于0时为限价,为3时为停损限价 char szAccount[32]; //帐户信息数组 int Kaiping; //开平仓类型 0开仓 1平仓 char szCode[10]; //该持仓品种代码 WORD Market; //该持仓品种市场 BYTE HoldType;// 仓位类型 表示该持仓的类型,针对不同市场, // 为0 分别为 期货(投机仓) 股票(普通仓) 期权(普通仓) ; // 为1 分别为 期货(保值仓) 股票(融资仓) 期权(备兑仓) }ORDERINFO3_DATA;
//调用参数结构 typedef struct { UINT Index; //输入参数,指定基于0索引的持仓和约信息,和约总量参见 OrderNum2 属性。 ORDERINFO3_DATA stRetOrder; //输出参数,相应的合约信息填写与此 }ORDERINFO3_EXTFUN_DATA;
//返回值:若返回NULL表示调用失败
////////////////////////////////////////////////////////////////////////// //获取扩展当日成交明细信息 ////注意:4.10版本以后的功能 //////////////////////////////////////////////////////////////////////////
#define TRADEDETALIED3_EXTFUN 0x006
typedef struct { DATE Date; //成交时间 char szCode[10]; //该持仓品种代码 WORD Market; //品种市场 int OrderType; //成交单类型,0限价 1市价 2停损 3限价停损 int Action; //成交方向 0买入 1卖出 float Price; //成交价格 int Volume; //成交量 int Kaiping; //开平仓类型,0开仓 1平仓 BYTE HoldType;// 仓位类型 表示该持仓的类型,针对不同市场, // 为0 分别为 期货(投机仓) 股票(普通仓) 期权(普通仓) ; // 为1 分别为 期货(保值仓) 股票(融资仓) 期权(备兑仓) }TRADEDETALIED3_DATA;
//调用参数结构 typedef struct { UINT Index; //输入参数,基于0索引的成交明细 char * szAccount; //输入参数,成交帐户,可省略,若省略则表示当前默认激活帐户 TRADEDETALIED3_DATA stRetDetalied; //输出参数,相应的成交明细信息填写与此 }TRADEDETALIED3_EXTFUN_DATA;
//返回值:若返回NULL表示调用失败
////////////////////////////////////////////////////////////////////////// //请求刷新同步指定或全部登录的两融账户中的可融券信息 ////注意:4.10版本以后的功能 #define SYNCHROSECURITIES_EXTFUN 0x007 //输入参数: char * szAccount 指定需要刷新的账户,若为空字符串则表示刷新全部账户的可融券信息 //返回值: 无 //////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////// //得到指定账户的可融券品种数量 ////注意:4.10版本以后的功能 #define SECURITIES_COUNT_EXTFUN 0x008 //输入参数: char * szAccount 指定需要刷新的账户,若为空字符串则表示刷新全部账户的可融券信息 //返回值 返回double类型的可融券品种数量数据指针(为避免数据区被其他功能调用破坏,请及时保存该指针数据内容) //注意:使用该函数方法前请务必调用SYNCHROSECURITIES_EXTFUN函数已确保可融券信息已经下载到客户端 //////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////// //得到指定账户的指定基于0索引的融券信息 ////注意:4.10版本以后的功能 #define GET_SECURITIES_EXTFUN 0x009
//调用参数结构 typedef struct { UINT Index; //输入参数,指定基于0索引可融券品种索引,可融券品种数量调用SECURITIES_COUNT_EXTFUN扩展函数得到。 char * szAccount; //输入参数,指定的账户,若为空字符串则表示当前默认账户 char szCode[10]; //输出参数,该持仓品种代码 WORD Market; //输出参数,品种市场 int Volume; //输出参数,可融券数量 }SECURITIES_EXTFUN_DATA;
|