在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例C/C++网络编程 → Choice数据量化接口 Windows平台C++库、文档及实例

Choice数据量化接口 Windows平台C++库、文档及实例

C/C++网络编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:8.89M
  • 下载次数:16
  • 浏览次数:261
  • 发布时间:2022-02-07
  • 实例类别:C/C++网络编程
  • 发 布 人:yifei58@126.com
  • 文件格式:.zip
  • 所需积分:2
 相关标签: windows window wind c++ win

实例介绍

【实例简介】Choice数据量化接口 Windows平台C 库、文档及实例

【实例截图】

【核心代码】

int _tmain(int argc, _TCHAR* argv[])
{
char DllPath[MAX_PATH] = {0};

#ifdef _WIN64  
strcpy_s(DllPath, "../lib/EmQuantAPI_x64.dll");
#else  
strcpy_s(DllPath, "../lib/EmQuantAPI.dll");
#endif  

//加载dll地址
HMODULE hDll = LoadLibraryA(DllPath);
if(hDll == NULL)
{
return 0;
}
emsetserverlistdir = (psetserverlistdir)GetProcAddress(hDll, "setserverlistdir");
emsetcallback = (psetcallback)GetProcAddress(hDll, "setcallback");
emmanualactivate = (pmanualactivate)GetProcAddress(hDll, "manualactivate");
emsetproxy = (psetproxy)GetProcAddress(hDll, "setproxy");
emstart = (pstart)GetProcAddress(hDll, "start");
emstop = (pstop)GetProcAddress(hDll, "stop");
emgeterrstring = (pgeterrstring)GetProcAddress(hDll, "geterrstring");
emcsd = (pcsd)GetProcAddress(hDll, "csd");
emcss = (pcss)GetProcAddress(hDll, "css");
emtradedates = (ptradedates)GetProcAddress(hDll, "tradedates");
emsector = (psector)GetProcAddress(hDll, "sector");
emgetdate = (pgetdate)GetProcAddress(hDll, "getdate");
emcsq = (pcsq)GetProcAddress(hDll, "csq");
emcsqcancel = (pcsqcancel)GetProcAddress(hDll, "csqcancel");
emreleasedata = (preleasedata)GetProcAddress(hDll, "releasedata");
emcsc = (pcsc)GetProcAddress(hDll, "csc");
emcmc = (pcmc)GetProcAddress(hDll, "cmc");
emchmc = (pchmc)GetProcAddress(hDll, "chmc");
emcst = (pcst)GetProcAddress(hDll, "cst");
emctr = (pctr)GetProcAddress(hDll, "ctr");
emcsqsnapshot = (pcsqsnapshot)GetProcAddress(hDll, "csqsnapshot");
emcps = (pcps)GetProcAddress(hDll, "cps");
empquery = (ppquery)GetProcAddress(hDll, "pquery");
emporder = (pporder)GetProcAddress(hDll, "porder");
emedb = (pedb)GetProcAddress(hDll, "edb");
emedbquery = (pedbquery)GetProcAddress(hDll, "edbquery");
empcreate = (ppcreate)GetProcAddress(hDll, "pcreate");
empdelete = (ppdelete)GetProcAddress(hDll, "pdelete");
empreport = (ppreport)GetProcAddress(hDll, "preport");
emtradedatesnum = (ptradedatesnum)GetProcAddress(hDll, "tradedatesnum");

emcfn     = (pcfn)GetProcAddress(hDll, "cfn");
emcfnquery = (pcfnquery)GetProcAddress(hDll,"cfnquery");
emcnq     = (pcnq)GetProcAddress(hDll,"cnq");
empcnqcancel = (pcnqcancel)GetProcAddress(hDll,"cnqcancel");
empctransfer = (ppctransfer)GetProcAddress(hDll,"pctransfer");
emcses = (pcses)GetProcAddress(hDll,"cses");
emchq = (pchq)GetProcAddress(hDll, "chq");
emchqcancel = (pchqcancel)GetProcAddress(hDll, "chqcancel");
emchqsnapshot = (pchqsnapshot)GetProcAddress(hDll, "chqsnapshot");
emcfc = (pcfc)GetProcAddress(hDll, "cfc");
emcec = (pcec)GetProcAddress(hDll, "cec");
if( !emsetserverlistdir || !emsetcallback || !emmanualactivate || !emsetproxy || !emstart || !emstop || !emgeterrstring || !emcsd || !emcss || !emtradedates || !emsector 
|| !emgetdate || !emcsq || !emcsqcancel || !emreleasedata|| !emcsc || !emcmc || !emchmc  || !emcst|| !emctr || !emcsqsnapshot || !emcps || !empquery || !emporder
|| !emedb || !emedbquery || !empcreate || !empdelete || !empreport || !emtradedatesnum|| !emcfn || !emcfnquery || !emcnq || !empcnqcancel || !empctransfer || !emcses
|| !emchq || !emchqcancel || !emchqsnapshot || !emcfc || !emcec)
{
FreeLibrary(hDll);
printf("GetProcAddress fail. Press enter...\n");
getchar();
return 0;
}

//设置主回调函数 注:一定要设置一个主回调函数,否则收不到账号掉线通知
emsetcallback(obtainCallback);
//设置配置文件目录
emsetserverlistdir("../lib");
//初始化和设置日志回调以及登陆  option参数"TestLatency=0"服务器不测速  "TestLatency=1"服务器测速选择最优(会有个服务器测速的过程)
//本动态库中的日志是通过回调接口输出给用户,目前write2Log中只是将日志输出到屏幕,用户可以更改为写到文件
EQErr errid = emstart(NULL, "TestLatency=0,ForceLogin=1", write2Log);
if(errid != EQERR_SUCCESS)
{
printf("Login fail [%d] %s. Press enter to continue\n", errid, emgeterrstring(errid, eLang_en));
getchar();
return 0;
}

//注意:2.4.0.0改动点
//异步函数末尾增加了错误码返回参数,在调用时可以根据错误码来判断是否请求成功
//异步函数支持设置每个请求分别设置不同的回调函数,就不需要根据流水号来配对订阅结果了,同时会导致重连的错误不会单独在某个订阅里回调了,直接转化成服务器重连的错误在主回调通知
//每个函数流水号分别生成(原先是全局生成的),如需使用需要根据requestid serialid一起来区分。

printf("登录成功\n");
Sleep(2000);cfcTest();
Sleep(2000);cecTest();
Sleep(2000);cfntest();
Sleep(2000);cfnquerytest();
Sleep(2000);cfntest2();
Sleep(2000);
int nId =cnqtest();
Sleep(2000);
int nId2 = cnqtest2();
Sleep(1000);
printf("cnqcancel subscribe %d \n",nId2);
cnqtest3();
Sleep(2000);
empcnqcancel(nId2);
int ncount = 0;
while(1)
{
Sleep(1000);
if( ncount == 60)
break;
}
printf("cnqcancel subscribe \n");
empcnqcancel(0);

Sleep(2000); tradedatesnumTest();
Sleep(2000); cmcTest();
Sleep(2000); csdTest(); 
Sleep(2000); cssTest();
Sleep(2000); csesTest();
Sleep(2000); tradedatesTest();
Sleep(2000); sectorTest();
Sleep(2000); getdateTest();
Sleep(2000); csqsnapshotTest();
Sleep(2000); ctrTest();
Sleep(2000); cpsTest();
Sleep(2000); 
errid = pcreateTest();
if(errid == EQERR_SUCCESS)
{
Sleep(2000); pctransferTest();
Sleep(2000); porderTest();
Sleep(2000); preportTest(1);
Sleep(2000); preportTest(2);
Sleep(2000); pqueryTest();
Sleep(2000); pdeleteTest();
}
Sleep(2000); edbTest();
Sleep(2000); edbqueryTest();
Sleep(2000); cstTest();
Sleep(2000); csqTest();
//csq订阅20秒钟后取消订阅
int count = 0;
while(1)
{
Sleep(10);
if( count == 2000)
break;
}
csqcancelTest();

printf("按任意键退出\n");
getch();
//退出
emstop();
FreeLibrary(hDll);
return 0;
}

.
├── Choice数据量化接口 Windows平台C 库、文档及实例_EMQuantAPI_CPP.zip
└── EMQuantAPI_CPP
    ├── EMQuantAPI_CPP.pdf
    ├── EmQuantAPISample
    │   ├── EmQuantAPISample
    │   │   ├── EmQuantAPISample.cpp
    │   │   ├── EmQuantAPISample.vcxproj
    │   │   ├── EmQuantAPISample.vcxproj.filters
    │   │   ├── EmQuantAPISample.vcxproj.user
    │   │   ├── stdafx.cpp
    │   │   ├── stdafx.h
    │   │   └── targetver.h
    │   ├── EmQuantAPISample.sln
    │   ├── bin
    │   │   ├── EmQuantAPISample.exe
    │   │   └── EmQuantAPISample_x64.exe
    │   ├── include
    │   │   └── EmQuantAPI.h
    │   └── lib
    │       ├── EmQuantAPI.dll
    │       ├── EmQuantAPI.lib
    │       ├── EmQuantAPI_x64.dll
    │       ├── EmQuantAPI_x64.lib
    │       ├── LoginActivator.exe
    │       └── ServerList.json.e
    └── 指标手册V2.5.3.0.CHM

6 directories, 20 files



标签: windows window wind c++ win

实例下载地址

Choice数据量化接口 Windows平台C++库、文档及实例

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警