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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [求助]请问交易测评时所取的数据是用测评周期中的开盘数据还是用收盘数据计算的呢?

   

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


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

主题:[求助]请问交易测评时所取的数据是用测评周期中的开盘数据还是用收盘数据计算的呢?

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


加好友 发短信
等级:论坛游侠 帖子:201 积分:0 威望:0 精华:0 注册:2017/7/21 16:37:33
[求助]请问交易测评时所取的数据是用测评周期中的开盘数据还是用收盘数据计算的呢?  发帖心情 Post By:2017/12/19 21:27:09 [只看该作者]

最近测试时发现一个问题,想了解确认一下:比如交易策略定位在日周期,也就是说一天只交易一次,即每天开盘第一时间建仓或平仓,不过交易策略中用到小时线指标,都是用上一周期(小时)的数据,比如用到小时线的MACD,向上买入,向下卖出,假如有一种情况,某一天开盘时小时线开盘时MACD是向上的,按照策略必然是买入,但收盘时小时线MACD是向下的, 这时如果按照策略就应该卖出了,但一天只交易一次,也就是说当天开盘时是买入的而不是卖出。那么交易策略测试时如果按日周期测试的话是取的当天开盘时的数据呢还是收盘时的数据呢?因为取的数据不同对结果是完全不同的,从而影响到测评的准确性。

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2017/12/20 8:52:36 [只看该作者]

您的开仓语句具体是怎么写的呢? 用的market,还是marketr;在回测中, market是按次周期开盘价,marketr是按本周期收盘价;或者用limit可以指定开盘价还是收盘价的

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


加好友 发短信
等级:论坛游侠 帖子:201 积分:0 威望:0 精华:0 注册:2017/7/21 16:37:33
  发帖心情 Post By:2017/12/20 9:23:30 [只看该作者]

我的是用market,你的意思是说在回测中, market时是按次周期开盘价时这一当时的策略指标计算策略仓位并取当时相应数据计算评测的对吗?
[此贴子已经被作者于2017/12/20 9:24:57编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:201 积分:0 威望:0 精华:0 注册:2017/7/21 16:37:33
  发帖心情 Post By:2017/12/20 10:00:41 [只看该作者]

如果是这样的话,我感觉测评有很大的问题,与实际结果严重不符合,这是测评程序的设计有问题导致。为什么这么说呢?让我先来澄清一下相关概念先:上一周期,本周期,次周期,它们是依次排在图上的K线柱,对吧?策略都是按照历史数据进行设计的,也就是上一周期以上的数据,当然,上一周期的收盘价与本周期的开盘价一般相差不大,为简单起见我们就先当它们一样来讨论先,但本周期的收盘价与本周期的开盘价就大不一样了。那么我们分析一下:如果是market,它是按次周期的开盘价计算的,也就是我们简单估计的本周期的收盘价计算的,但实际上我们策略是按上一周期的收盘价开平仓的,也就是简单估计中的本周期的开盘价开平仓的,很明显,策略或实盘开平仓是本周期开盘价,而测评却取的是本周期收盘价,两者数据大不相同,那么结果怎么会一样呢?如果真是如此,测评岂不是误导人?

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2017/12/20 10:08:55 [只看该作者]

如果想指定在本周期开盘价开仓,可以使用 limitr 函数 ,比如buy(1,1,limitr,open);//测评中按本周期的开盘价买入开仓 

 回到顶部