Cpp

升级公告

版本号版本变动信息发布时间
2.5.4.7V2.5.4.6-> V2.5.4.72024-7-5
  1. 接入外汇交易中心外汇市场/货币市场/债券市场基准产品及外汇/本币市场成交收盘行情等数据;
  2. 升级指标详情https://quantapi.eastmoney.com/About/MessageDetail?type=3&id=&version=2.5.4.7&menuId=3
  3. 其他bug修复

目录

接口配置接口配置登录函数退出函数数据函数截面函数序列函数专题报表宏观数据资讯函数资讯订阅板块截面函数功能函数条件选股宏观指标查询资讯板块查询取消资讯订阅板块函数交易日历交易日偏移区间交易日数内存释放函数设置主回调函数获取错误码信息设置路径函数设置代理函数人工激活函数指标校验函数代码校验函数日期宏组合函数新建组合组合资金调配组合查询批量下单组合报表查询删除组合错误类型错误类型常见问题激活注册登录函数序列函数截面函数

 

接口配置

 

接口配置

 

文件存放位置

在量化接口官网(http://quantapi.eastmoney.com/)下载压缩包EMQuantAPI_CPP.zip,下载完成后解压。其中:

 

EMQuantAPI C++接口配置的系统环境要求与方法

系统环境要求

配置方法

 

登录函数

初始化登录函数,登录验证通过以后,即可正常使用接口函数获取数据

参数

参数名简称定义输入/输出描述
pLoginInfo账户信息EQLOGININFO输入账户名和账户密码结构体
(V2.5.4.6版本开始支持账密登录。若传入此参数且账号密码均不为空则使用账密登录模式。若要使用原有登录模式,此参数传入空)
options可选参数const char*输入附加参数,可填NULL,可填附加字段。见附注1
pfnCallback回调函数logcallback输出日志回调函数,不可传NULL

返回

0表示执行成功,其他表示失败;可以通过geterrstring函数取得错误信息。

范例

附注1 登录函数可选参数列表:

中文名称英文名称取值范围说明
服务器测速TestLatency0,1;
缺省值:0
取值0,不测速,连接默认服务器 ;
取值1,登录前服务器测速,并保存为默认
强制登录ForceLogin0,1;
缺省值:0
取值0,当线上已存在该账户时,不强制登录 ;
取值1,当线上已存在该账户时,强制登录,将前一位在线用户踢下线 ;
记录登录信息标记RecordLoginInfo0,1;
缺省值:1
取值0,不记录;
取值1,追加记录登录信息到logininfo.log文件,文件位于serverlist.json.e所在目录下
日志级别LogLevel1,2,3;
缺省值:2
取值1,Debug;
取值2,Info;
取值3,Error
上行短信登录LoginMode取值范围:SXDL
取值SXDL,进行上行短信登录验证,务必配合PhoneNumber参数一起使用。使用方法:用户先使用API绑定的手机号发送内容“SXDL”到9535711完成发送后,然后设置LoginMode和PhoneNumber参数,并调用start函数。成功后,自动生成userinfo。
手机号码PhoneNumber取值范围:中国境内11位有效手机号,且有API接口权限同上
HTTP超时时间设置HTTPTimeout默认值 15设置HTTP超时时间,单位秒
HTTP三网地址设置USEHTTP1,2,3取值1,电信;
取值2,移动;
取值3,联通
注意:不能跟参数UseProxy、UseInnerNet一起使用
内置代理设置UseProxy-1,0,1,2,3
默认值-1
使用前需要开通IP白名单,
取值-1,不做任何操作;
取值0,不使用代理,则不传;
取值1,使用内置代理1;
取值2,使用内置代理2;
取值3,使用内置代理3
是否使用外网UseInnerNet-1,0,1
默认值-1
取值 0和-1 都表示使用外网, 其余值使用内网例如1。注意:UseProxy 与 UseInnerNet 同时使用时,UseInnerNet设置参数失效

 

 

 

退出函数

退出登录

无参数

返回

0表示执行成功,其他表示失败;可以通过geterrstring函数取得错误信息。

范例

 

 

 

数据函数

 

截面函数

获取股票,指数,基金,期货等各个证券品种或组合的基本资料,财务,估值等截面数据

参数名简称定义输入/输出描述
codes证券代码const char*输入东财代码,支持多代码输入,以半角逗号分隔,不支持跨品种证券输入
indicators指标简称const char*输入指标名称,支持多指标输入,以半角逗号分隔,最多不超过64个,详细指标列表见指标手册
options可选参数const char*输入附加参数,可填NULL
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败;可以通过geterrstring函数取得错误信息;

范例

(注:截面函数每分钟请求次数不能超过700次)

 

 

 

序列函数

获取股票,指数,基金,期货等各个证券品种或组合的序列数据

参数

参数名简称定义输入/输出描述
codes证券代码const char*输入东财代码,支持多代码输入,以半角逗号分隔
indicators指标简称const char*输入指标名称,支持多指标输入,以半角逗号分隔,最多不超过64个,详细指标列表见指标手册
startdate起始日期const char*输入支持格式: YYYYMMDD,YYYY/MM/DD,YYYY/M/D,YYYY-MM-DD,YYYY-M-D
EndDate截止日期const char*输入支持格式: YYYYMMDD,YYYY/MM/DD,YYYY/M/D,YYYY-MM-DD,YYYY-M-D
options可选参数const char*输入附加参数,可填附加字段,见附注2
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息;

范例

附注2 序列函数可选参数列表:

中文名称英文名称取值范围说明
日期周期Period1--4
缺省值:1
日期周期:日,周,月,年
分别对应:1,2,3,4
复权方式AdjustFlag1--3
缺省值:1
不复权--1
后复权--2
前复权--3
币种CurType1--4
缺省值:1
原始币种--1
人民币--2
美元--3
港币--4
按日期排序Order1--2
缺省值:1
升序--1
降序--2
市场类型Market见说明
缺省值:“CNSESH”
CNSESH 上海证券交易所
CNSESZ 深圳证券交易所
HKSE00 香港证券交易所
USSE00 美国证券交易所
USSEND 美国纳斯达克市场
USSENY 纽约证券交易所
CNFEBC 渤海商品交易所
CNFEDC 大连商品交易所
CNFESF 上海期货交易所
CNFEZC 郑州商品交易所
INE000 上海国际能源交易中心
CNGCSH 上海黄金交易所
HKME00 香港商品交易所
0 自然日
1 全部市场交易日
CNSH00 沪股通交易日
CNSHHK 沪港股通交易日
CNSZ00 深股通交易日
CNSZHK 深港股通交易日
NYMEX0 纽约商业期货交易所
USFENY 纽约商品交易所
CME000 芝加哥商业交易所
LDMETL 伦敦金属交易所
LDEXCH 伦敦证券交易所
SGSE00 新加坡交易所
沿用之前数据filldata0,1
缺省值:0
不沿用--0
沿用--1
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

(注:序列函数每分钟请求次数不能超过700次)

 

 

 

专题报表

提供专题报表数据

参数

参数简称定义输入/输出描述
ctrName报表名称const char*输入东财报表名称,详细枚举见指标手册
indicators报表字段简称const char*输入报表字段简称,支持多字段输入,以半角逗号分隔,传空或匹配不到时展示报表全部字段,字段枚举详见量化官网
options报表参数const char*输入报表参数明细,详见量化官网,其他可选参数见附注3
pEQCtrData返回数据EQCTRDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

 

附注3 专题报表函数可选参数列表:

中文名称英文名称取值范围说明
编码类型ENCODEUTF-8;
GBK;
GB2312
默认值为空(代表自动判断)
部分文字无法准确判断编码,需要指定编码
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

 

 

宏观数据

获取宏观指标数据

参数

参数名简称定义输入/输出描述
edbids宏观指标idconst char*输入宏观指标id,支持多代码输入,最多不超过100个,以半角逗号分隔,宏观指标列表见量化接口官网-命令生成-宏观数据
options可选参数const char*输入附加参数,可填””,可填附加字段,见附注5
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息;

范例

附注5 宏观数据函数可选参数列表:

中文名称英文名称取值范围说明
起始日期StartDate支持格式: YYYYMMDD, YYYY/MM/DD,YYYY/M/D,YYYY-MM-DD,YYYY-M-D若StartDate不传,从第一条数据开始返回;
若EndDate不传,返回至最新一条数据;
若都不传则输出全部数据.
截止日期EndDate同上同上
最新一条数据IsLatest取值范围:0,1
缺省值:0
取值0,选定日期范围内数据;
取值1,最新一条数据
请求指标真实发布日期IsPublishDate取值范围:0,1
缺省值:0
取值0,不请求publishdate;
取值1,请求publishdate
备注:只有部分EDB指标有发布日期
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒
调整返回日期FixDate取值范围:0,1
缺省值:0
取值0,按原始日期返回,不进行调整;
取值1,调整返回的日期为每个周期对应的最后一个自然日,如年频指标则返回每年的12月31日

 

 

 

资讯函数

提供多个证券品种的公告、新闻等历史资讯和多个板块的历史资讯查询

参数

参数简称定义输入/输出描述
codes证券代码或板块代码const char*输入东财代码,支持多代码,以半角逗号分开。证券代码和板块代码不能混用。板块代码需先调用资讯板块查询函数获取。
content请求内容类型const char*输入companynews-公司资讯
industrynews-行业资讯
report-公告
regularreport-定期公告
tradeinfo-重大事项(交易信息)
content为前面几个的时候codes必须为证券代码
sectornews-板块资讯
content为sectornews时codes必须为板块代码
content支持前面五个混合,以半角逗号分隔。sectornews和其他不能混合请求
emode请求模式枚举int输入eCfnMode_StartToEnd = 1 # starttime和endtime中间的所有资讯 eCfnMode_EndCount = 2 # 提取endtime的近count条数据
options可选参数const char*输入附加参数,可填””,可填附加字段,详见下表
pEQData返回数据EQDATA*&输出需调用releasedata释放

options可选参数

中文名称英文名称说明
开始时间starttime模式一必传,模式二无意义。YYYYMMDDHHMMSS或者YYYYMMDD
结束时间endtimeYYYYMMDDHHMMSS或者YYYYMMDD。为空则为当前时间
资讯条数count模式二必传,模式一无意义,在模式二返回以endtime为基准的近count条资讯

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息;

pEQData中指标字段说明

输出字段字段中文
datetime展示时间(公告只展示日期,部分盘后公告展示日期是下一个交易日)
eitime生产时间(公告只提供2017/01/01之后的数据并且只含日期)
code证券代码或板块代码
content请求类型
title资讯标题
infoCode资讯编码
medianname来源
url链接

范例

 

 

 

资讯订阅

订阅多个证券品种的公告、新闻等资讯和多个板块的资讯

参数

参数简称定义输入/输出描述
codes证券代码或板块代码const char*输入东财代码,支持多代码,以半角逗号分开。证券代码和板块代码不能混用。板块代码需先调用资讯板块查询函数获取。
content请求内容类型const char*输入companynews-公司资讯
industrynews-行业资讯
report-公告
regularreport-定期公告
tradeinfo-重大事项(交易信息)
content为前面几个的时候codes必须为证券代码
sectornews-板块资讯
content为sectornews时codes必须为板块代码
content支持前面五个混合,以半角逗号分隔。sectornews和其他不能混合请求
options可选参数const char*输入””,预留,暂无可选参数
pfncallback回调函数Datacallback输入资讯订阅回调,可以使用该函数对返回的数据进行处理
lpUserParam LPVOID输入用户参数,回调时原样返回
nErrorID同步错误码EQErr&输出标识异步函数是否成功进入回调

返回

EQID(int) 流水号

范例

 

 

 

板块截面函数

获取沪深京股票板块的基本资料、财务等截面数据

参数名简称定义输入/输出描述
blockcodes证券代码const char*输入东财板块代码,以B_开头,如 "B_018005001001",支持多代码输入,以半角逗号分隔,最多不超过6个
indicators指标简称const char*输入指标名称,支持多指标输入,以半角逗号分隔,最多不超过15个,详细指标列表见指标手册
options可选参数const char*输入附加参数,可填NULL,见附注6
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败;可以通过geterrstring函数取得错误信息;

范例

附注6 板块截面函数可选参数列表:

中文名称英文名称取值范围说明
是否取最新板块成分isHistory0,1
必传参数
0,取最新板块成分
1,取历史板块成分
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

(注:板块截面函数不支持多线程)

 

 

 

 

功能函数

 

条件选股

条件选股函数

参数

参数简称定义描述
cpsCodes板块代码或证券代码const char*控制选股范围,CPS函数只能选取沪深京的板块和证券代码,取值格式有两种:
1. 板块代码,以B_开头,如 "B_001004",常见板块代码见附注7;
2.东财代码,多个代码间用半角逗号隔开,如"000001.SZ,000002.SZ,600000.SH"
cpsIndicators条件参数const char*定义条件表达式使用的参数,多个参数之间用英文分号隔开,内部各参数用半角逗号隔开,具体指标和英文简称见指标手册CSS部分,如: s1,LISTDATE;s2,TOTALSHARE,2021-06-18
cpsConditions条件表达式const char*条件表达式,各表达式用 and 连接,表达式支持的操作符:ANY,CONTAINALL,ISNULL,ISNOTNULL,比较运算符, 算术运算符,逻辑运算符(必须小写)如and、or、not 等,具体操作符释义详见附注8;条件参数引用格式: [参数名1],例如: [s1] >10 and [s2] > [s1] and not CONTAINANY ([s3],重工,银行);若选择的条件是日期,需加d( ),例如:[s4]>d(2017/7/21),若选日期区间,需用多项日期表达式,用and连接,例如:[s4]>d(2013-09-30) and [s4]<d(2014-07-10)
cpsOptions附加参数const char*其他附加条件,如排序、取前N条选股结果等,具体使用规则见附注9
pEQData返回数据EQDATA*&需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注7 常见板块代码:

板块名称板块代码
全部A股001004
上证A股001005
深证A股001006
深证B股001013
上证B股001012
全部B股001011
创业板001010
中小板001009
深证主板001008
深证主板A股001007
风险警示股票001023
风险警示股票(深交所)001025
风险警示股票(上交所)001024
已发行待上市股票001020
正在发行的股票001019
*ST001018
ST001017
全部A股(非金融石油石化)001044
可转债标的001046
融资融券标的001045
深股通001041
沪深股通001047
深证主板B股001033
中小板(含ST,ST*)001032
深证主板A股(含ST,ST*)001031
沪股通001038
中证500成份009006062
中证1000成份009007552
上证50指数成份009007063
上证180指数成份009007060
创业板综成份009007145
创业板指成份009007144
中小板综成份009007125
中小板指成份009007124
上证综合指数成份009007104
沪深300成份009006195
深证综合指数成份009007251
MSCI中国(概念类)007230
预盈预增007054
预亏预减007053

附注8 操作符列表:

分类操作符描述详细举例
算术运算符+ - * /加 减 乘 除  
比较运算符> = < >= <= <>大于 等于 小于 大于或等于 小于或等于 不等于  
逻辑运算符and or not与 或 非  
 ANY CONTAINANY包含任意一个 ANY( s[1] , 中国 , 美国 ) 表示当变量s1中包含“中国”或“美国”则成立
 CONTAINALL包含所有值 CONTAINALL ( s[1] , 中国 , 美国 ) 表示当变量s1中包含“中国”且包含“美国”则成立
 MAX取最大的N个值用在Top表达式中,对选股结果取TOPtop=max([s1],100)
 MIN取最小的N个值用在在Top表达式中,对选股结果取最小的N行top=min([s2],100)
 ISNULL ISNOTNULL等于空值 不等于空值条件选股取空值或不取空值,多项输入用and连接isnull([s1])and isnotnull([s2])

附注9 排序表达式和Top表达式使用规则:

字段说明取值格式取值示例
排序表达式:对返回的结果进行排序格式:orderby=[rd|ra],(rd为降序,ra为升序) 支持变量引用,引用格式为方括号+变量名 多个排序字段间,以=> 符号分隔 支持的操作符:rd,ra,算术运算符,“=>”分隔符orderby=rd([s1]*2) => ra([s2])
Top表达式:对返回结果按指定排序提取前N行格式:top=max(排序字段表达式,行数)或top=min(排序字段表达式,行数) 支持变量引用,引用格式为方括号+变量名 支持的操作符and,or,算术运算符top = max([s1],100) and min([s2],100)
板块成分日期:选择的板块成分的日期格式:sectordate=板块历史成分的日期,若sectordate不传则默认取最新的一天。sectordate=2018-07-18
超时时间设置格式:RECVtimeout=正整数,单位秒,如 设置60代表60秒RECVtimeout=60

 

 

 

宏观指标查询

获取宏观指标ID详情信息

参数

参数名简称定义输入/输出描述
edbids宏观指标idconst char*输入宏观指标id,支持多代码输入,最多不超过100个,以半角逗号分隔
indicators详情字段简称const char*输入详情字段简称,支持多字段输入,以半角逗号分隔,传空或匹配不到时则输出全部字段,详细字段列表见附注10
options可选参数const char*输入附加参数,可填NULL,可填附加字段
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注10 宏观指标信息查询函数支持字段列表:

字段简称中文简称备注
ID指标ID 
Name指标名称 
Unit单位 
Source来源 
Region国家/地区 
Frequency日期频率1 日 2 周 3 旬 4 半月 5 月 6 季 7 半年 8 年 9 不定期
Startdate起始日期 
Enddate截止日期 
Updatetime更新时间 

 

 

 

资讯板块查询

获取资讯函数和资讯订阅函数支持的板块信息

参数

参数名简称定义输入/输出描述
options可选参数const char*输入附加参数,可填NULL,可填附加字段
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

pEQData指标字段说明

输出字段字段中文
seccode板块代码
secname板块名称
psecname母板块中文名称

范例

 

 

 

取消资讯订阅

取消特定或所有的资讯订阅

参数

参数名简称定义描述
serialID流水号数字传入特定流水号,取消对应的资讯订阅;
传入0,取消所有的资讯订阅

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

 

 

 

板块函数

获取Choice金融终端指定系统板块证券代码成分列表,目前只支持沪深股票、上交所期权的历史成分查询,其他板块只能获取最新成分

参数

参数简称定义输入/输出描述
pukeycode板块代码const char*输入通过 Choice 量化接口网站命令生成(http://quantapi.eastmoney.com/Cmd/Sector?from=web)获取
enddate截止日期const char*输入支持格式: YYYYMMDD,YYYY/MM/DD,YYYY/M/D,
YYYY-MM-DD,YYYY-M-D
options可选参数const char*输入附加参数,可填NULL,见附注11
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注11 板块函数可选参数列表:

中文名称英文名称取值范围说明
自选股板块查询selfblock11-自选股板块,获取本账号最新的全部自选股板块代码和名称,例sector(“”,””,”selfblock=1”),板块代码和日期传空。
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

 

 

 

交易日历

获取指定交易市场,指定时间区间的日期序列,不建议使用未来交易日

参数

参数名简称定义输入/输出描述
startdate起始日期const char*输入支持格式: YYYYMMDD, YYYY/MM/DD,YYYY/M/D,YYYY-MM-DD ,YYYY-M-D
enddate截止日期const char*输入支持格式: YYYYMMDD, YYYY/MM/DD,YYYY/M/D,YYYY-MM-DD ,YYYY-M-D
options可选参数const char*输入附加参数,可填NULL,可填附加字段,见附注12
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注12 交易日函数可选参数列表:

中文名称英文名称取值范围说明
日期周期Period1--5,缺省值:1日期周期:日,周,月,年,季
分别对应:1,2,3,4,5
按日期排序Order1,2
缺省值:1
升序--1; 降序--2
市场类型Market见说明,缺省值:“CNSESH”CNSESH 上海证券交易所
CNSESZ 深圳证券交易所
HKSE00 香港证券交易所
USSE00 美国证券交易所
USSEND 美国纳斯达克市场
USSENY 纽约证券交易所
CNFEBC 渤海商品交易所
CNFEDC 大连商品交易所
CNFESF 上海期货交易所
CNFEZC 郑州商品交易所
INE000 上海国际能源交易中心
CNGCSH 上海黄金交易所
HKME00 香港商品交易所
CNSH00 沪股通交易日
CNSHHK 沪港股通交易日
CNSZ00 深股通交易日
CNSZHK 深港股通交易日
NYMEX0 纽约商业期货交易所
USFENY 纽约商品交易所
CME000 芝加哥商业交易所
LDMETL 伦敦金属交易所
LDEXCH 伦敦证券交易所
SGSE00 新加坡交易所
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

 

 

 

交易日偏移

获取指定市场交易日历推算第N天交易日

参数

参数名简称定义输入/输出描述
tradedate交易日期const char*输入支持格式: YYYYMMDD,YYYY/MM/DD,YYYY/M/D,YYYY-MM-DD ,YYYY-M-D
offday偏移天数数字输入N=0时,返回交易日当天; N>0时,交易日往后取最近第N个交易日的日期,若交易日期为最新交易日并N>0,则返回最新交易日; N<0,时,交易日往前取最近第N个交易日的日期。
options可选参数const char*输入附加参数,可填附加字段,见附注13
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注13 偏移N天函数可选参数列表:

中文名称英文名称取值范围说明
市场类型Market见说明,缺省值:“CNSESH”CNSESH 上海证券交易所
CNSESZ 深圳证券交易所
HKSE00 香港证券交易所
USSE00 美国证券交易所
USSEND 美国纳斯达克市场
USSENY 纽约证券交易所
CNFEBC 渤海商品交易所
CNFEDC 大连商品交易所
CNFESF 上海期货交易所
CNFEZC 郑州商品交易所
INE000 上海国际能源交易中心
CNGCSH 上海黄金交易所
HKME00 香港商品交易所
CNSH00 沪股通交易日
CNSHHK 沪港股通交易日
CNSZ00 深股通交易日
CNSZHK 深港股通交易日
NYMEX0 纽约商业期货交易所
USFENY 纽约商品交易所
CME000 芝加哥商业交易所
LDMETL 伦敦金属交易所
LDEXCH 伦敦证券交易所
SGSE00 新加坡交易所
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

 

 

 

区间交易日数

获取指定交易市场,指定时间区间的交易日个数

参数

参数名简称定义输入/输出描述
startdate起始日期const char*输入支持格式: YYYYMMDD, YYYY/MM/DD,YYYY/M/D ,YYYY-MM-DD ,YYYY-M-D
enddate截止日期const char*输入支持格式: YYYYMMDD, YYYY/MM/DD,YYYY/M/D ,YYYY-MM-DD ,YYYY-M-D
options可选参数const char*输入附加参数,可填附加字段,见附注13
num返回数据int& num输出区间交易日数

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

 

 

 

内存释放函数

静态数据同步接口返回数据释放申请的内存

参数

参数简称定义输入/输出描述
pEqData void输入静态数据接口返回数据指针

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

 

 

 

设置主回调函数

设置异步请求主回调函数

参数

参数简称定义输入/输出描述
pfnCallback主回调函数datacallback输入 

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

 

 

 

获取错误码信息

获取错误码相应的错误信息

参数

参数简称定义输入/输出描述
errcode错误码EQErr输入错误码,详见错误类型定义列表
lang语言枚举EQLang输入 

返回

错误信息字符串

范例

 

 

 

设置路径函数

设置ServerList.json.e文件存放目录

参数

参数简称定义描述
dir文件目录const char*ServerList.json.e文件存放目录

范例

 

 

 

设置代理函数

设置网络代理函数

参数

参数简称定义描述
type代理类型ProxyTypeePT_NONE:不使用代理
ePT_HTTP:HTTP代理
ePT_HTTPS:HTTPS代理
ePT_SOCK4:SOCK4代理
ePT_SOCK5:SOCK5代理
proxyip代理服务器地址const char*代理服务器IP
proxyport代理服务器端口unsigned short代理服务器Port
verify是否验证账户名和密码boolTrue:验证代理服务器账户名和密码
False:不验证
proxyuser账户名const char*代理服务器账户名
proxypwd密码const char*代理服务器密码

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

 

 

人工激活函数

本函数可独立使用,无需调用start。本函数适用于无界面运行环境(如远程linux)或无法运行LoginActivator程序的情况,激活成功后将通过邮件获得的登录令牌"userInfo"放到"ServerList.json.e"同级目录,再调用start登录

参数

参数简称定义输入/输出描述
pLoginInfo账户信息EQLOGININFO*输入账户名和账户密码结构体,必传
options附加参数const char*输入附加参数,必须输入邮箱信息,如“email=who@what.com
pfnCallback回调函数logcallback输出日志回调函数,不可传NULL

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

 

指标校验函数

支持校验css/csd/cses函数的代码+指标模式

参数

参数简称定义输入/输出描述
emcodes证券代码const char*输入东财代码或组合代码或板块代码,支持多代码输入,以半角逗号分隔
indicators字段简称const char*输入指标字段简称,支持多字段输入,以半角逗号分隔
options参数const char*输入参数明细,见附注14
pEQCtrData返回数据EQCTRDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注14 指标校验函数可选参数列表:

中文名称英文名称取值范围说明
函数种类funtypecss、csd、csescss-截面函数
csd-序列函数
cses-板块截面函数
:单个传入,不支持多个拼接

 

代码校验函数

支持判断东财代码是否有效,同时提供补齐后缀的功能

参数

参数简称定义输入/输出描述
emcodes证券代码const char*输入东财代码,支持多代码输入,以半角逗号分隔
options参数const char*输入附注15
pEQCtrData返回数据EQCTRDATA*&输出需调用releasedata释放,返回固定的四列数据 :INDEX(序号)、 CODE(传入代码)、 T/F(正确与否,适用校验模式) 、FULLCODES(全代码,适用补全模式)

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注15 代码校验函数可选参数列表:

中文名称英文名称取值范围说明
数据返回类型Returntype0,10-检测模式,结果查看T/F字段;
1-补全模式,结果查看FULLCODES字段,有可能为空或者None,也有可能有多种后缀
证券品种SecuType1-8适配Returntype=1使用,默认值为1,
1-股票,
2-债券,
3-基金理财,
4-利率,
5-指数,
6-期货现货,
7-期权,8-外汇
证券市场SecuMarket0-5适配Returntype=1使用,默认值为1,
当SecuType=1时,0-全部,1-沪深,2-三板,3-港股,4-美股,5-伦股;
当SecuType=2时,0-全部,1-交易所,2-银行间,3-其他;
当SecuType=3时,0-全部,1-交易所,2-场外,3-理财;
当SecuType=4时,0-全部,1-交易所,2-银行间,3-其他;
当SecuType=5时,0-全部,1-东财优先,2-申万优先;
当SecuType=6时,0-全部;
当SecuType=7时,0-全部;
当SecuType=8时,0-全部,1-人民币中间价,2-银行间,3-国际外汇

 

日期宏

在日期参数中可直接使用字母替代或者加减法运算获取对应的日期,分为相对日期和绝对日期。

 

相对日期

可用于日期相对计算。

相对日期参数英文描述
交易日TD搭配market参数 可按照指定市场交易日历返回,默认CNSESH上交所,市场列表参考附注12 交易日历函数参数列表
日历日D 
日历周W 
日历月M 
日历季Q 
日历半年HY 
日历年Y 
开始日期SD引用标识,如 当StartDate="20221020"时,则可设置EndDate="SD+5D" 代表取2022年10月20日到这之后的5天的日期区间
截止日期ED引用标识,如 当EndDate="20221020"时,则可设置StartDate="ED-5D" 代表取截止日期的前五天到截止日的日期区间

 

绝对日期

特殊,可返回指定字母对应的具体日期。

绝对日期参数英文描述
上市首日S仅支持css/csd
最新N 
最新报告期MRQ仅支持css
去年一季LQ1 
去年中报LQ2 
去年三季LQ3 
去年年报LQ4 
今年一季RQ1 
今年中报RQ2 
今年三季RQ3 
今年年报RQ4 
本年初RYF 
本周一RWF 
本月初RMF 
上周末LWE 
上月末LME 
上半年末LHYE 
下半年初RHYF 
上年末LYE 

说明

  1. 支持加减法运算,比如 'ED-10D' 代表 从截止日前推 10 天;'SD+5TD' 代表从开始日往后推5个交易日。
  2. 运算中,数字代表 N 个周期,只支持整数。
  3. 负号 '-' 代表前推,没有负号或用加号代表后推。
  4. 不带SD/ED标识,则默认从最新开始推,比如 '-5D' 从最新往前推5天。

举例:

  1. 起始日期为1个周前,截至日期为最新 StartDate= -1W , EndDate= N
  2. 报告期为最新 ReportDate = MRQ

 

 

组合函数

 

新建组合

新建组合

参数

参数名参数简称定义描述
combinCode组合代码const char*组合代码,英文和数字,最大10位,单个账户最多支持30个
combinName组合名称const char*组合名称
initialFound初始资金int64_t初始资金,上限99999999999
remark组合说明const char*组合说明
options附加参数const char*附加参数,可填空字串,可填附加字段,见附注16

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注16 新建组合函数可选参数列表:

中文名称英文名称取值范围说明
组合类型combintype1-4 默认11 成长型
2 指数型
3 平衡型
4 稳健型
创建公司createcompanyconst char*默认留空
业绩基准criteria1-16 默认31 上证指数
2 深证成指
3 沪深300指数
4 上证A股指数
5 上证180指数
6 上证50指数
7 深证100指数
8 中小板指
9 中小板综
10 创业板指
11 深证综指
12 三板做市指数
13 基金指数
14 中证500指数
15 中证100指数
16 中证1000指数

 

 

 

组合资金调配

提供组合出入金调配

参数

参数名参数简称定义描述
combinCode组合代码const char*组合代码,英文和数字,最大10位,单个账户最多支持30个
transferdirect资金调配方向const char*in:增加资金 out:减少资金
date调配日期const char*交易日期格式:YYYYMMDD,YYYY/MM/DD,YYYY/M/D,YYYY-MM-DD,YYYY-M-D
opCash调配资金量double增加或减少的资金量,上限100000000000
remark说明const char*说明
options附加参数const char*附加参数,可填空字串,可填附加字段,见附注17

返回

0表示执行成功,其他表示失败;可以通过geterrstring函数取得错误信息

范例

附注17 组合资金调配函数可选参数列表:

中文名称英文名称取值范围说明
调配方式transfertype1-21 单个组合增加或减少
2 组合间调配
组合2 IDcombincode2const char*若transfertype为2 则必传
调配时间time24小时格式:HHMMSS,仅在当天有效

 

 

 

组合查询

提供组合账户信息相关数据

参数

参数名简称定义输入/输出描述
options附加参数const char*输入附加参数,详见附注18
pEQData返回数据EQDATA*&输出需调用releasedata释放,详见附注19

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注18 附加参数明细

中文名称英文名称取值范围说明
组合类型combinetype0-我管理的组合
1-我关注的组合
默认值:0

附注19 返回数据具体参数明细

参数名简称备注
COMBINCODE组合代码 
GROUPNAME组合名称 
STARTCAST初始资金 
RESTFOUND剩余资金 
CREATEDATE创建日期 
MODIFYDATE最近调整日期 
GROUPTYPE组合类型1:成长型 2:指数型 3:平衡型 4:稳健型
MONEYTYPE基准货币1:人民币 2:美元 3:港币
criteria组合业绩基准1 上证指数
2 深证成指
3 沪深300指数
4 上证A股指数
5 上证180指数
6 上证50指数
7 深证100指数
8 中小板指
9 中小板综
10 创业板指
11 深证综指
12 三板做市指数
13 基金指数
14 中证500指数
15 中证100指数
16 中证1000指数
CREATECOMPANY创建公司 
REMARK组合说明 
LEVEL组合等级1:普通组合 2:POP组合
FOLLOWEDID关注组合ID仅在请求关注组合数据时,返回对应ID

 

 

 

批量下单

组合批量下单

参数

参数名简称定义描述
pOrderInfo下单信息数组指针ORDERINFO*下单信息数组指针
orderInfoSize下单信息条数int下单信息条数
combinCode组合代码const char*组合代码
remark备注信息const char*备注信息
options附加参数const char*附加参数,见附注20

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

附注20 组合交易附加参数options列表

中文名称英文名称取值范围说明
补入现金方式autoAddCash0--2,缺省值:00:不补充
1:先扣除可用现金,不足再补充
2:全部外部补充本次批量买入操作所需现金
下单模式OrderMode0--2,缺省值:00:按数量交易 volume传入交易数量
1:调仓至目标数量,volume传目标数量
2:调仓至目标权重,volume传目标权重,总权重相加不能超过1
备注:1 和 2 不支持逆回购

 

 

 

组合报表查询

查询组合报表信息

参数

参数名参数简称定义输入/输出描述
combinCode组合代码const char*输入组合代码,支持单次查询单个组合的单个报表
indicator报表名称const char*输入报表名称,hold(持仓查询), record(交易记录查询),Contri(业绩贡献-已清仓股票),stagePerf(周期回报-阶段回报),profAna(盈亏分析-区间分析),RiskAna(风险分析),VarAna(VAR分析),GDaily(组合日报),TDaily(交易日报),ctransferrecord(资金调配查询)
options附加参数const char*输入附加参数,可填空字符串,可填附加字段,见指标手册
pEQData返回数据EQDATA*&输出需调用releasedata释放

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

 

 

 

删除组合

删除组合

参数

参数名参数简称定义描述
combinCode组合代码const char*组合代码
options附加参数const char*附加参数,可填NULL或空值

返回

0表示执行成功,其他表示失败,可以通过geterrstring函数取得错误信息

范例

 

 

 

错误类型

 

错误类型

错误标识错误描述错误代码
EQERR_SECCUSS成功0
EQERR_NO_LOGIN用户未登陆10001001
EQERR_USERNAMEORPASSWORD_ERR用户名或密码错误10001002
EQERR_NO_ACCESS用户无API权限10001003
EQERR_ACCESS_EXPIRE用户API权限过期10001004
EQERR_GETUSERINFO_FAIL获取用户信息失败10001005
EQERR_DLLVESION_EXPIREDLL版本号过期10001006
EQERR_NO_LV2_ACCESS用户无API_LV2权限10001007
EQERR_LV2_ACCESS_EXPIRE用户API_LV2权限过期10001008
EQERR_LOGIN_COUNT_LIMIT账号登陆数达到上限10001009
EQERR_LOGIN_FAIL用户登陆失败10001010
EQERR_LOGIN_DISCONNECT用户登陆掉线10001011
EQERR_ACCESS_INSUFFICIENCE用户权限不足10001012
EQERR_IS_LOGIN用户正在登录10001013
EQERR_NEED_ACTIVATE需要登录激活10001014
EQERR_LOGIN_SERVICE_ERR登录服务异常10001015
EQERR_IS_MANUAL_ACTIVATE正在人工激活10001016
EQERR_NOTNEED_MANUAL_ACTIVATE无需人工激活10001017
EQERR_MANUAL_ACTIVATE_FAIL人工激活失败10001018
EQERR_DIFFRENT_DEVICE激活设备与登录设备不一致10001019
EQERR_USERINFO_EXPIREDuserInfo已失效需重新激活10001020
EQERR_INFOQUERY_LOGIN_FAIL资讯查询服务登录验证失败10001023
EQERR_INFOSUB_LOGIN_FAIL资讯订阅服务登录验证失败10001024
EQERR_INFO_FLOW_FAIL资讯服务流量验证失败10001025
EQERR_SMS_INVALIED无效的上行短信10001026
EQERR_CHQQUOTE_LOGIN_FAIL专项服务登录验证失败10001027
EQERR_CHQQUOTE_ACCESS_FAIL专项服务权限验证失败10001028
EQERR_GET_TRADE_FAIL获取交易日失败10000001
EQERR_INIT_OBTAIN_CLASS_FAIL初始化主类失败10000002
EQERR_NEW_MEM_FAIL申请内存失败10000003
EQERR_PARSE_DATA_ERR解析数据错误10000004
EQERR_UNGZIP_DATA_FAILgzip解压失败10000005
EQERR_UNKNOWN_ERR未知错误10000006
EQERR_FUNCTION_INTERNAL_ERR函数内部错误10000007
EQERR_OUTOF_BOUNDS数组越界10000008
EQERR_NO_DATA无数据10000009
EQERR_SYSTEM_ERROR系统级别错误10000010
EQERR_SERVERLIST_ERROR服务器列表错误10000011
EQERR_OPERATION_FAILURE操作失败10000012
EQERR_SERVICE_ERROR服务错误10000013
EQERR_GETSERVERLIST_FAIL获取服务器列表失败10000014
EQERR_SERVICE_TIMEOUT服务超时10000015
EQERR_FREQUENCY_OVER请求频次过高10000016
EQERR_OVERSEAS_IP_RESTRICTED海外IP受限10000017
EQERR_POP_GROUP_NOT_SUPPORTPOP组合不支持此操作10000018
EQERR_SOCKET_ERR网络错误10002001
EQERR_CONNECT_FAIL网络连接失败10002002
EQERR_CONNECT_TIMEOUT网络连接超时10002003
EQERR_RECVCONNECTION_CLOSED网络接收时连接断开10002004
EQERR_SENDSOCK_FAIL网络发送失败10002005
EQERR_SENDSOCK_TIMEOUT网络发送超时10002006
EQERR_RECVSOCK_FAIL网络接收错误10002007
EQERR_RECVSOCK_TIMEOUT网络接收超时10002008
EQERR_HTTP_FAILhttp访问失败10002010
EQERR_WAIT_NET_RES_TIMEOUT等待网络响应超时10002011
EQERR_INFO_RECONNECT资讯服务器重连10002013
EQERR_INFO_RECONNECT_FAIL资讯服务器连续重连失败10002014
EQERR_CHQQUOTE_RECONNECT专项服务器重连10002015
EQERR_CHQQUOTE_RECONNECT_FAIL专项服务器连续重连失败10002016
EQERR_INPARAM_EMPTY传入参数为空10003001
EQERR_OUTPARAM_EMPTY传出参数为空10003002
EQERR_PARAM_ERR参数错误10003003
EQERR_START_DATE_ERR起始日期格式不正确10003004
EQERR_END_DATE_ERR截止日期格式不正确10003005
EQERR_START_BIGTHAN_END起始日期大于截至日期10003006
EQERR_DATE_ERR日期格式不正确10003007
EQERR_CODE_INVALIED无效的证券代码10003008
EQERR_CODE_REPEAT证券代码重复10003009
EQERR_INDICATOR_INVALIED无效的指标10003010
EQERR_USERNAME_EMPTY用户名为空10003011
EQERR_PASSWORD_EMPTY密码为空10003012
EQERR_TO_UPPER_LIMIT订阅数或股票总数达到上限10003013
EQERR_MIXED_INDICATOR不支持的混合指标10003014
EQERR_INDICATOR_TO_UPPER_LIMIT单次订阅指标达到上限10003015
EQERR_BEYOND_DATE_SUPPORT超出日期支持范围10003016
EQERR_BASE_LESS_THAN_END复权基期小于截止日期10003017
EQERR_MIXED_CODES_MARKET不支持的混合证券品种10003018
EQERR_NO_SUPPORT_CODES_MARKET不支持的证券代码品种10003019
EQERR_ORDER_TO_UPPER_LIMIT交易条数超过上限10003020
EQERR_NO_SUPPORT_ORDERINFO不支持的交易信息10003021
EQERR_INDICATOR_REPEAT指标重复10003022
EQERR_INFOBKCODE_INVALIED资讯板块代码错误10003023
EQERR_INFOSIZE_TOOLARGE资讯数据量过大10003024
EQERR_INFO_SEARCH_NODATA资讯查询不到数据10003025
EQERR_INFOBKCODE_REPEAT资讯板块代码重复10003026

 

常见问题

 

激活注册

  1. Mac下无法使用打开激活工具?

  2. 有图形界面的Linux点击激活工具无反应?

    • 在命令行使用./LoginActivator
    • 使用chmod命令获取执行权限
  3. 错误提示:获取图片验证码失败,稍后再试?

    • 确认是否有外网限制,如有网络限制,需要将Choice服务器添加至网络白名单,联系choice相关工作人员(400-620-1818)获取白名单地址;
    • 发送serverlist.json.e同级目录下的激活日志ActivatorLog.txt给Choice相关工作人员。
  4. 错误提示:发送激活码失败?

    • 重启激活工具
    • serverlist.json.e同级目录下的激活日志ActivatorLog.txt错误提示,直接联系下Choice相关工作人员(400-620-1818)
  5. 无图形界面怎么激活?

    • 运行人工激活函数manualactive或者询问客服人员获取人工激活脚本
  6. 如何使人工激活函数进行激活?

    • 以64位为例。取消\x64\EmQuantAPITestExe文件夹中main.cpp中的注释,并将自己的账号密码邮箱填进语句中,代码如下。
    • 在makefile文件夹中使用make命令编译生成新的emquantapitest文件。
    • 运行bin目录下的emquantapitest。如果观察到

    [Em_Info][2019-06-18 16:22:54]:manual activate begin. [Em_Info][2019-06-18 16:22:54]:manual activate success, please contact with your service manager to get token file.

    即可联系客户经理完成人工激活的剩余步骤。

  7. Linux或者mac报错Errno13 Permission denied

    • 运行注册文件权限不足,需要切换到root
  8. 报错丢失MSVCP100.dll或者WinError126或者WinError 193

 

登录函数

  1. 如何使用上行短信登录

    • 手机号绑定API接口账号
    • 主动发送短信内容 "SXDL" 到 9535711 (三网合一,不区分运营商)
    • 完成上行短信发送后,调用登录函数start("LoginMode=SXDL,PhoneNumber=xxxxxxxx"),xxxxxx替换为发送短信的手机号
    • 最后登录成功,并且生成userinfo登录令牌
    • userinfo生成之后,下次登录无需重复进行短信验证登录

    注意: 1)发送短信会有通讯费用产生

    2)不需要userInfo文件 登录成功后会生成一个userInfo文件

    3)发送短信之后没有回执

    4)短信失效时间10分钟

  2. 报错login count up to limit

    • 确认下是否在多台电脑或者多进程使用,因为账号不能同时在多个IP地址上登录,并且不支持多进程。可以在start参数中加强制登录参数ForceLogin=1。正式账号可联系客户经理开通多点登录服务。
  3. 报错EQERR_USERINFO_EXPIRED

    • 一般是修改密码导致的,一旦修改密码,需要重新激活。
  4. 报错EQERR_DIFFRENT_DEVICE

    • 激活时设备和当前设备不一致。如果是由于设备更换,需要重新激活。确认设备号是否变化可通过查看userinfo同级目录下的登录日志文件logininfo.log中devicenumber最近的登录中是否变化。同一设备上只需要首次使用的时候激活。激活文件有效期一年。
  5. 报错userInfo不存在或不可用

    • 需要先运行激活程序生成userInfo文件

 

序列函数

  1. 报错em_csd无权限?

  2. 市场类型没有想要的市场怎么办?

    • 可以选择自然日 market=0,再自行过滤。

 

截面函数

各个函数中的ReportDate要传什么?