欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 模拟回测

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6083人关注过本帖树形打印复制链接

主题:模拟回测

帅哥哟,离线,有人找我吗?
jinzhe
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/18 9:02:24    Post IP:58.246.57.26[显示全部帖子]

是希望我写回测主程序吗?



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/18 9:27:48    Post IP:58.246.57.26[显示全部帖子]

开平条件为平均线 MA20与MA60

请就这一句话扩展为正常的交易车略



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/18 9:54:20    Post IP:58.246.57.26[显示全部帖子]

ma1:ma(c,20);
ma2:ma(c,60);
KD:=ma1>ma2;         //开多条件
PD:= ma1<ma2;         //平多条件
KK:= ma1<ma2;         //开空条件
PK:= ma1>ma2;         //平空条件
variable:模拟资金=1000000;      //设模拟资金100万元
variable:模拟做空开平仓次数=0 ;         //记录开平仓次数用
variable:模拟做多开平仓次数=0 ;         //记录开平仓次数用
向前回测数量:=2000;             //向前回测2000根K柱
           
手续费:=1;                           //买进卖出各计一个点的手续费
//-----------------------------------------------------------------------
//回测主程
if barpos=datacount-向前回测数量 then begin
 模拟资金=1000000;     
 模拟做空开平仓次数=0 ;       
 模拟做多开平仓次数=0 ; 
end
      
if kd and holding=0 then begin
 buy(1,1,market);
 模拟做多开平仓次数:=模拟做多开平仓次数+1;
 模拟资金:=模拟资金-手续费*multiplier;
end

if kk and holding=0 then begin
 buyshort(1,1,market);
 模拟做空开平仓次数:=模拟做空开平仓次数+1;
 模拟资金:=模拟资金-手续费*multiplier;
end

if pd and holding>0 then begin
 sell(1,1,market);
 模拟做多开平仓次数:=模拟做多开平仓次数+1;
 模拟资金:=模拟资金-手续费*multiplier;
end

if pk and holding<0 then begin
 sellshort(1,1,market);
 模拟做空开平仓次数:=模拟做空开平仓次数+1;
 模拟资金:=模拟资金-手续费*multiplier;
end

//-----------------------------------------------------------------------
//到当时行情时,强制平仓离开时得出下面模拟结果


做空开平仓次数:模拟做空开平仓次数 ;         //记录开平仓次数
做多开平仓次数:模拟做多开平仓次数 ;         //记录开平仓次数
剩余资金: 模拟资金;                      //模拟资金(减少手续费的资金)



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/18 13:56:07    Post IP:58.246.57.26[显示全部帖子]

那做不到


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/18 17:20:43    Post IP:58.246.57.26[显示全部帖子]

从左往右数第2000根k线开始初始变量,这样就符合你要往前测2000根k线的要求

有没有用你删掉,然后k线图上显示2000多根k线就明白了,会把2000根k线以外的数据算进去



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/18 17:33:26    Post IP:58.246.57.26[显示全部帖子]

说明现在的k线图上的k线数量在2000根以内,所以才会没有效果


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/21 9:25:28    Post IP:58.246.57.26[显示全部帖子]

if barpos=datacount-向前回测数量 then begin
 模拟资金=8000000;                                               //按理修改后,结果会发生变化,但是没有
 模拟做空开平仓次数=100 ;                                       //按理修改后,结果会发生变化,但是没有
 模拟做多开平仓次数=100 ;                                        //按理修改后,结果会发生变化,但是没有
end

//--------------------------------
variable:模拟资金=1000000;      //设模拟资金100万元                          //修改这个会改变结果
variable:模拟做空开平仓次数=0 ;         //记录开平仓次数用                      //修改这个会改变结果
variable:模拟做多开平仓次数=0 ;         //记录开平仓次数用                      //修改这个会改变结果
向前回测数量:=200;             //向前回测2000根K柱                                                              //修改这个结果没有反应,按理这个应会变才对

顺序不对,要改成

 


//--------------------------------
variable:模拟资金=1000000;      //设模拟资金100万元                          //修改这个会改变结果
variable:模拟做空开平仓次数=0 ;         //记录开平仓次数用                      //修改这个会改变结果
variable:模拟做多开平仓次数=0 ;         //记录开平仓次数用                      //修改这个会改变结果
向前回测数量:=200;             //向前回测2000根K柱                                                              //修改这个结果没有反应,按理这个应会变才对

if barpos=datacount-向前回测数量 then begin
 模拟资金=8000000;                                               //按理修改后,结果会发生变化,但是没有
 模拟做空开平仓次数=100 ;                                       //按理修改后,结果会发生变化,但是没有
 模拟做多开平仓次数=100 ;                                        //按理修改后,结果会发生变化,但是没有
end


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/21 9:25:49    Post IP:58.246.57.26[显示全部帖子]

k线数量够不够2000根,要输出datacount 函数,而不是靠感觉


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/21 14:31:41    Post IP:58.246.57.26[显示全部帖子]

variable:n=0;
向前回测数量:=20;
if barpos=datacount-向前回测数量 then n:=0;
if c>O then n:=n+1;
nn:n;

 

这个是按照上面思路写的测试代码,你可以看下NN是不是在最后20个周期重新开始计算了



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2015/12/21 14:40:37    Post IP:58.246.57.26[显示全部帖子]

if barpos=datacount-向前回测数量 then begin
 模拟资金=1000000;     
 模拟做空开平仓次数=0 ;       
 模拟做多开平仓次数=0 ; 
end

明白了是这段搞错了,哈哈,要这样写:

 

if barpos=datacount-向前回测数量 then begin
 模拟资金:=1000000;     
 模拟做空开平仓次数:=0 ;       
 模拟做多开平仓次数:=0 ; 
end



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
总数 24 1 2 3 下一页