: | : | :期货量化学习 | :期货量化 |
返回列表 发帖

鼎元全自动C++软件【策略设计:头文件test.h】说明

鼎元全自动C++软件【策略设计:头文件test.h】说明

test.h文件主要就是两个部分:

(1)、外部引用和调用部分:(默认即可,无需改动)



(2)一个class类文件:


论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

test的类文件说明:

1、两个public文件:


都默认即可,属于配置文件。多年不变的那种。
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

2、多个private文件:
  1. //***********************************************************************************TEST头文件类变量(开始)
  2. //下面勿动即可
  3. private:
  4.         int numod = 0;
  5.         HWND hwnd;
  6.         string t1, t2, t3, t4, t0; //关于时间的变量,在策略中会用到
  7.         //在交易界面设置时传递的变量(开始)*****************************************
  8.         string sName;  //在策略中可以直接调用到策略运行面板中本策略的设计的名称
  9.         string sPeriod; //可以在策略中调用到本策略运行面板设置的跑策略bar的周期
  10.         string sInst; //可以在策略中调用的策略运行面板中的本策略的品种
  11.         //在交易界面设置时传递的变量(结束)*****************************************
  12.      //下面勿动即可   
  13.         //map结构设计开始
  14.         map<string, CThostFtdcDepthMarketDataField>mapMd;
  15.         map<string, CThostFtdcInstrumentField>mapInstrument;
  16.         map<string, CThostFtdcOrderField>mapOrder;
  17.         map<string, CThostFtdcTradeField>mapTrade;
  18.         map<string, map<string, TPOSITION>>mapPos;
  19.         map<string, CThostFtdcTradingAccountField>mapAcc;
  20.         map<string, map<string, TKVALUE>>mapReal;
  21.         map<string, double>mapSub;
  22.         map <string, map<string, map<string, TKVALUE>>>mapK;
  23.         map<string, TDETAIL> mapPosDeta;
  24.         map<string, map<string, TCOMMISSION>>mapCom;
  25.         map<int, string>maps;    //  日志信息
  26.         //map结构设计结束
  27.         //交易相关的变量设计开始
  28. //下面勿动即可
  29. private:
  30.         int n = 0;
  31.         map<string, TDLLPARM>parm;
  32.         list<string>lst;
  33.         list<string>lstActionOrdrSysID;
  34.         list<string>lstbeigenOrdrSysID;
  35.         bool IsActionOrdrSysID(string orderid);
  36.         bool IsbeigenOrdrSysID(string orderid);
  37.         string state = "stop";
  38.         string path = "D:\\data\\log";
  39.         void OnState(string s);
  40.         void end();
  41.         void tend(TDLLPARM t);
  42.         void SubscribeMarketData(string s);
  43.         void OrderInsert(string acc, string inst, char bs, char oc, int volume, double price, string forfok, string ref2);
  44.         void OrderAction(CThostFtdcOrderField t);
  45.         void RsqBar(string period, string inst);
  46.         void InsertLog(string msg);
  47.         void RsqInstrument(string inst);
  48.         void RsqRspQryOrder();
  49.         void RsqRspQryTrade();
  50.         void RsqPosition();
  51.         void RsqPositionDetail(string acc);
  52.         void RsqCommissionRate();
  53.         void RsqAccount();
  54.         void sound(string s);
  55.         //委托与交易相关变量传递**************************************开始
  56.         void chedan();
  57.         void shuchurizhi();
  58.         void xieruzhuangtai();
  59.         void chongfa(CThostFtdcOrderField t);
  60.         void closesell1(string sInvestorID, string sName, int sl, double jg);
  61.         void closebuy1(string sInvestorID, string sName, int sl, double jg);
  62.         void closesell2(string sInvestorID, string sName, int sl, double jg);
  63.         void closebuy2(string sInvestorID, string sName, int sl, double jg);
  64.         //委托与交易相关变量传递**************************************结束
  65.         //
  66. //交易相关的变量设计结束
  67. //下面是我设计的公式模板调用变量名称,熟悉懂的可以修改,不懂的先研究,谨慎乱改
  68. private:
  69.         //公式指标(function)变量设计(开始)******************************************
  70.         double iff(bool cond1, int num, int ref);//iff函数
  71.         double max2(double a, double b);//返回a,b中较大值
  72.         double max3(double a, double b, double c);//返回a,b,c中最大值
  73.         double min2(double a, double b); //返回a,b中较小值
  74.         double min3(double a, double b, double c);//返回a,b,c中最小值
  75.         double average(string period, string inst, int num); //均线函数变量
  76.         double averageref(string period, string inst, int num, int ref); //均线average[1]功能函数变量
  77.         double highest(string period, string inst, int num); //最高价highest函数变量
  78.         double highestref(string period, string inst, int num, int ref);//最高high[1]功能函数变量
  79.         double lowest(string period, string inst, int num); //最低价lowest函数变量
  80.         double lowestref(string period, string inst, int num, int ref);//最低lowest[1] 功能函数变量
  81.         double avgtruerange(string period, string inst, int num); //averagetruerange函数变量,atr计算功能
  82.         double bollingerbands(string period, string inst, int num,int ref);//BOLL计算公式;
  83.         double Variance(string period, string inst, int num);//方差计算公式变量
  84.         double StandardDev(string period, string inst, int num);//标准差计算公式变量
  85.         double xaverage(string period, string inst, int num);//xaverage计算公式;
  86.         double ema(string period, string inst, int num);//ema计算公式;
  87.         vector<double>emaarray(vector<double> pc, int num); //ema计算公式(返回数组);
  88.         vector<double>averagearray(vector<double> pc, int num); //ema计算公式(返回数组);
  89.         double closeref(string period, string inst, int ref);//获得close[ref]值
  90.         double macd(string period, string inst, int num, int num1, int num2);//macd计算公式变量
  91.         //公式指标(function)变量设计(结束)******************************************
  92. //下面是策略设计需要的一些变量与参数,设计策略时多会根据需要修改
  93. private:
  94.         //公共变量设计(开始)*******************************
  95.         int hd, yxpc, jg, fx, ss, tm, dbfx;  //一些公共变量设置,hd:滑点,yxpc:优先平仓,jg:时间间隔,fx:方向,ss:手数,tm:时间,dbfx:单笔风险
  96.         int num; //公式计算中周期的公共变量使用。
  97.         int ref; //公式指标中[ref]回溯周期参数;
  98.         vector<double>pc;//进行数组设计时统一的数组变量,方便以后使用中统一口径;
  99.         //公共变量设计(结束)*******************************
  100. private:
  101.         //软件界面策略参数设置相关的变量设计(开始)*******************************
  102.         int length;  //length:均线类的参数周期统一使用变量,方便后面使用中统一口径;
  103.         int lots; //交易手数统一变量,方便在以后使用中统一口径
  104.         int cscc; //初始持仓;
  105.         //软件界面策略参数设置相关的变量设计(结束)*******************************

  106. };
复制代码
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

上面我对test.h头文件做了很多说明,大家不明白的可以随时咨询我,在策略设计中一点建议:

1、均线或高低点类的周期变量,建议统一使用length。

2、交易手数建议统一使用lots

3、均线变量建议统一使用average

4、length周期最高最低建议统一使用highest,lowest。

5、初始持仓建议统一使用cscc。

有更好的或更多的建议欢迎在这里提出,这些变量的统一为的是方便更多人快速理解变量的意义。
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

返回列表