用C++编写易盛程序化交易指令..docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用C编写易盛程序化交易指令.

用C++编写易盛程序化交易指令(易盛程序化交易VS2008环境开发指引)郑州易盛信息技术有限公司综述本文介绍怎样在Visual Studio 2008平台上使用易盛程序化交易客户端?(2.0)提供的接口开发交易指令。使用VS2008开发交易指令有下列优势:使用纯C++方式编程,符合高级程序员的开发习惯方便使用第三方库。如:STL等可以利用VS2008强大的Debug功能进行调试,跟踪代码执行。使用VS2008开发易盛程序化交易指令相对采用易盛公式编辑器稍显复杂,需要进行一些环境配置;另外,参数、变量、特别是序列变量的定义,以及函数的调用均需采用标准的C++方式。这些差异将在以下内容做详细介绍。程序安装目录假设易盛程序化交易客户端被安装在:“D:\易盛程序化交易系统”。在客户端安装目录下,找到EXPERTS目录并打开,可以看到以下两个目录:include: D:\易盛程序化交易系统\experts\includelib: D:\易盛程序化交易系统\experts\libVS2008开发环境配置创建项目打开vs2008,点击菜单 文件 - 新建 - 项目,弹出如下对话框:选择左侧树形菜单:Visual C++ - Win32 ,在右侧模板里,选择“Win32项目”,并填写项目名称、位置,点击确定按钮,弹出如下对话框:点击“下一步”,界面如下图:应用程序类型请选择DLL点击“完成”按钮后,生成的新项目目录结构如下图(左)所示。其中,dllmain.cpp文件我们不需要,可以删除。删除该文件后项目目录结构如下图(右)所示 环境配置右键点击项目名称,选择菜单属性,弹出如下图所示窗口选择左侧属性菜单“常规,将右侧面板中的“字符集”设置为“使用多字节字符集”,如下图选择左侧属性菜单“调试,将右侧面板中的“命令”设置为“D:\易盛程序化交易系统\ EsunnyTrader.exe”,如下图:选择左侧属性菜单“C/C++,将右侧面板中的“附加包含目录”设置为“D:\易盛程序化交易系统\experts\include”,如下图选择左侧属性菜单“C/C++-“代码生成,将右侧面板中的“运行库”设置为“多线程调试(/MTd)”;如下图。(编译Release版,请将这项设置为 “多线程(MT) ”)选择左侧属性菜单“连接器,将右侧面板中的输出文件设置为 D:\易盛程序化交易系统\Experts\dll\Sample.dll; 将附加库目录设置为“E:\易盛程序化交易系统\experts\lib”; 选择左侧属性菜单“连接器-“输入,将右侧面板中的“附加依赖项”设置为“fmllibd.lib”;如下图。(编译Release版,请将这项设置为fmllib.lib)点击“确定”按钮完成设置编写代码打开Sample,输入如下代码:// 该示例演示怎样使用Visual Studio 进行易盛程序化动态库开发//在VS 2008环境下编译测试通过//编译完成后可以直接按 F5 调试运行//#include stdafx.h#include userlib.hclass MFML:public UserLib{public: //定义成员变量Numeric P1;Numeric P2; NumericSeries MA1;NumericSeries MA2; //将P1,P2声明为数字型参数BEGIN_PARAMETE_MAP(4)PARAMETE_FLOAT(P1,10,5,20,参数一)//格式(名称,默认值,最小值,最大值,注释)PARAMETE_FLOAT(P2,2.5,0.5,5.5,参数二) //格式(名称,默认值,最小值,最大值,注释)END_PARAMETE_MAP() //构造函数,构造函数中必须完成以下两件事情: //1.调用InitParams进行参数初始化,否则参数无法使用 //2.给每个序列变量设置运行信息(m_gInfo),否则序列变量无法正常工作 MFML(){InitParams();//该句用于初始化参数值MA1.m_gInfo = m_gInfo; //所有的序列变量都需要设置运行信息gInfoMA2.m_gInfo = m_gInfo; //所有的序列变量都需要设置运行信息gInfo} //Exec函数为该DLL的调用入口。相当于ETL语言的Begin....End区域void Exec(){MA1 = Average(Close(),5);MA2 = Average(Close(),20);PlotNumeric(MA1,MA1);PlotNumeric(MA2,MA2);if(CrossOver(MA1,MA2)){Buy(1,Q_AskPrice());}else if(CrossUnder(MA1,MA2)){Se

文档评论(0)

yxnz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档