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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [原创]多周期回测的问题

   

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


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

主题:[原创]多周期回测的问题

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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
[原创]多周期回测的问题  发帖心情 Post By:2014/1/23 9:09:22 [显示全部帖子]

各位高手,请教一个问题:我用高低点突破的模型(类似HANS123)做回测,当日只交易一次,即高低点(高低点采用前一日的数据)突破就开仓,当日平仓。为什么在5分钟、30分钟、60分钟回测的结果会不一样。因为如果5分钟突破了,30分钟、60分钟肯定也突破了,回测结果也应该一样啊,求指教。

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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
  发帖心情 Post By:2014/1/23 10:57:48 [显示全部帖子]

开仓是用的
开多:buy(开多条件 and holding=0,手数,limitr,向上突破值);
开空:buyshort(开空条件 and holding=0,手数,limitr,向下突破值);

平仓用的
收盘平多:sell(1,手数,market);
收盘平空:sellshort(1,手数,market);

不知道是不是因为用 LIMITR 的原因...

谢谢!

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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
  发帖心情 Post By:2014/1/23 11:12:21 [显示全部帖子]

信号都有。举个例子:30分钟和60分钟的。
30分钟:9点半—10点产生做多信号,交易做多,然后到收盘平仓
60分钟:9点半—10点产生做多信号,交易做多;10点到10点半再产生一个做空信号。这时候会发现成交单有的是在9点半—10点这段时间做多交易,有的是在10点—10点半这段时间做空交易的。也都是只交易一次,在收盘平仓。

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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
  发帖心情 Post By:2014/1/23 11:30:33 [显示全部帖子]

我把30分钟和60分钟的交易明细找出来对比了下。
发现就是60分钟如果在前2个30分钟都有信号的情况下,大部分情况都是在第一个30分钟交易,这部分交易结果与30分钟是一样的。
但是还有一少部分情况是在第二个30分钟交易,这部分交易结果与30分钟不同甚至交易方向完全相反,我没有设置在第一个30分钟不交易条件
我的理解是如果用下面的公式测试,60分钟周期也应该在信号出来就交易啊,而不管是不是在第几个30分钟。不知道这样理解对不对?
开多:buy(开多条件 and holding=0,手数,limitr,向上突破值);
开空:buyshort(开空条件 and holding=0,手数,limitr,向下突破值);



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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
  发帖心情 Post By:2014/1/23 11:51:39 [显示全部帖子]

策略用的就是论坛发布的区间突破

input:PercentOfRange(0.5,0,1,0.1);  
input:LOTS(1,0,9,1);

        HighD:=callstock(stklabel,vthigh,6,-1);
        LowD:=callstock(stklabel,vtlow,6,-1);
        OpenD:=valuewhen(date<>REF(date,1),open);
        
        RangeT:= HighD-LowD;
        UpperBand: OpenD +PercentOfRange*RangeT;
        LowerBand: OpenD -PercentOfRange*RangeT;

开多条件:=h>UpperBand;
开空条件:=l<LowerBand;

if time>093000 and time<140000  then begin
开多:buy(开多条件 and holding=0,LOTS,limitr,UpperBand);
开空:buyshort(开空条件 and holding=0,LOTS,limitr,LowerBand);
end

if time>=145000 then BEGIN
收盘平多:sell(1,LOTS,market);
收盘平空:sellshort(1,LOTS,market);
end


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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
  发帖心情 Post By:2014/1/23 12:28:53 [显示全部帖子]

对应如果是开盘后5分钟满足突破,对应策略在5分钟周期不会报单,对应30分钟周期策略就会报单

为什么不会报单,不是盘中突破就会报单吗?

那如果是30分钟满足突破,是不是30分钟不会报单,60分钟会报单?

另外,代码如何改成实时突破的形式啊?


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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
  发帖心情 Post By:2014/1/23 14:06:01 [显示全部帖子]

多谢各位版主!

可是我用沪深300指数数据测试的啊,也会出现9点15开始计时的情况吗?

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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
  发帖心情 Post By:2014/1/23 14:28:02 [显示全部帖子]

我是在HS300上测试30f、1h上出现的问题呀,就是1h信号出现问题

就是60分钟如果在前2个30分钟都有信号的情况下,大部分情况都是在第一个30分钟交易,这部分交易结果与30分钟是一样的。
但是还有一少部分情况是在第二个30分钟交易,这部分交易结果与30分钟不同甚至交易方向完全相反


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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
  发帖心情 Post By:2014/1/23 15:49:32 [显示全部帖子]

2.周期变大,可能这根k线满足多个交易条件,这个时候信号取决于你交易语句的顺序。如果交易周期变大,收益增加,一般是这个问题。

对,我的问题应该是第二个(在其它品种上测试的时候出现,非hs300),60f测试收益明显大于30f,但是我的语句要怎么改呢?貌似没问题啊

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


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2011/11/19 22:12:50
  发帖心情 Post By:2014/1/23 16:33:16 [显示全部帖子]

我其实想要的是:在60f周期上测试,信号第一次出来就交易,然后到收盘平仓。测试60f周期时,做的这个策略,经常在第一个30f的出现信号时不会交易,等到第二个30f中出现信号才交易,特别是在上下限值取很小的时候。但是,在30f周期上测试不会出现这种情况。
难道这个不能实现吗?还是写的程序有问题?


 回到顶部
总数 12 1 2 下一页