设为首页收藏本站

 找回密码
 注册
楼主: 追涨杀跌
打印 上一主题 下一主题

跨周期数据转换函数以及跨周期技术指标调用的实现 [复制链接]

Rank: 2

精华
0
UID
49422
积分
83
帖子
58
主题
13
阅读权限
30
注册时间
2011-6-24
最后登录
2019-6-18
31#
发表于 2011-7-4 23:55:32 |只看该作者
强烈关注此贴

使用道具 举报

Rank: 1

精华
0
UID
38025
积分
32
帖子
7
主题
1
阅读权限
10
注册时间
2011-5-6
最后登录
2021-10-8
32#
发表于 2011-7-5 10:32:24 |只看该作者
问题已解决,老师能不能贴个跨周期的SAR计算程序啊。
程序化交易

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
0
UID
20842
积分
931
帖子
382
主题
2
阅读权限
255
注册时间
2010-12-3
最后登录
2022-2-15
33#
发表于 2011-7-5 14:04:01 |只看该作者
问题已解决,老师能不能贴个跨周期的SAR计算程序啊。


接受你的任务,不过可能需要些时日,耐心等一下

使用道具 举报

Rank: 1

精华
0
UID
38025
积分
32
帖子
7
主题
1
阅读权限
10
注册时间
2011-5-6
最后登录
2021-10-8
34#
发表于 2011-7-7 14:14:53 |只看该作者
回复 39# 追涨杀跌


    又发现一个问题,我是在5分钟线上调用1小时线,这样一来转换出来的情况是 9点-10点是9根,10-11点是12根,11:00-11:30是6根,1:00-2:00是12根,2:00-3:00是12根, 3:00-3:15是3根
  可我需要根据小时线去做比较,比如这个小时的小时图跟上个小时的小时图的比较,这样的话,很难实现比较啊,而且每个小时的数据量都不同啊
谁能帮我解答下.多谢!
程序化交易

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
30159
积分
1116
帖子
280
主题
23
阅读权限
60
注册时间
2011-3-23
最后登录
2019-3-21
35#
发表于 2011-7-7 15:36:13 |只看该作者
比如针对在5分钟取60分钟数据,假设5分钟与60分钟都从第一个bar开始计算:
5分钟的12个bar对应60分钟一个bar;
5分钟的的第一个bar的开盘价对应60分钟第一个bar的开盘价,5分钟第12个bar的收盘价对应60分钟第一个bar的收盘价;
   跨周期的数据处理有两种情况,以5分钟跨期引用60分钟的双均线为例

第一种是:一种函数运算方法和数据库引用类似,在5分钟第一个bar就引用了5分钟第12个bar的收盘价,即对应的60分钟的收盘价,实际上引用了未来数据来判断行情;
以双均线为例,5分钟的12个bar内双均线可能反复交叉,但是只要第12个bar即60分钟的收盘价,使得均线为多头排列,那么中间的交叉在历史测试中式看不出来的,但是实盘中是会存在的。

第二种情况:以5分钟的12个bar中每一个bar的收盘价判断引用的60分钟的均线多空头排列情况,这样即使在这12个bar中,均线会来回交叉,但是可以被记录下来的可以在历史测试中看到,这就相当于以5分钟为一个报价节把60分钟的行情动态化啦,但是被引用的均线的计算周期数如 ma(close,n)这个n应该是指60分钟周期,但是把60分钟的收盘价分解成了12个,但是计算的周期和效果应该是60分钟的均线

请问追涨杀跌老师,第二种处理方法如何实现 ,2,3,4,5楼帖子中的用户函数是用的哪种处理数据方法

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
0
UID
20842
积分
931
帖子
382
主题
2
阅读权限
255
注册时间
2010-12-3
最后登录
2022-2-15
36#
发表于 2011-7-7 17:21:31 |只看该作者
这就要用到MtBar函数的返回值了, 比如:
mtBarCnt = MtBar(TimeFrame,BarsBack,refCurBar,refOpen,refHigh,refLow,refClose,refVol,refOpenInt);
如果你的参数TimeFrame=60的话,你就可以通过这个mtBarCnt的值回溯读到上一个小时线的值,然后再根据那根BAR的mtBarCnt找到再上一个小时的值,就像一根链条,一环扣一环,用循环就可以读到所有的小时线。
请仔细研读一下我所贴的MtSummation函数中For循环部分的代码。你就会明白的

使用道具 举报

Rank: 1

精华
0
UID
38025
积分
32
帖子
7
主题
1
阅读权限
10
注册时间
2011-5-6
最后登录
2021-10-8
37#
发表于 2011-7-8 10:03:01 |只看该作者
问题已经解决了,老师,跨周期SAR出来了吗?
程序化交易

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
0
UID
20842
积分
931
帖子
382
主题
2
阅读权限
255
注册时间
2010-12-3
最后登录
2022-2-15
38#
发表于 2011-7-8 10:42:59 |只看该作者
回复 43# kevinwimax

这几天没空,我心里记着这事,您放心。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
0
UID
20842
积分
931
帖子
382
主题
2
阅读权限
255
注册时间
2010-12-3
最后登录
2022-2-15
39#
发表于 2011-7-8 10:57:34 |只看该作者
比如针对在5分钟取60分钟数据,假设5分钟与60分钟都从第一个bar开始计算:
5分钟的12个bar对应60分钟一个ba ...
读书山林 发表于 2011-7-7 15:36


我给的例子中,都是用大周期的前一根K线来计算指标的。但实际上MtBar函数中的BarsBack参数如果设置为0,调用MtBar后,小周期K线上保留的大周期数据就是你说的第二种情况。但后面的指标函数中,却没有考虑这个参数为0的情况,所以如果设为0,计算出来的指标会不正常。我这两天正好帮客户写代码碰到了这个问题,我准备把这部分完善一下。但最近确实手头还有好多事,所以,请继续关注这个帖子。

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
30159
积分
1116
帖子
280
主题
23
阅读权限
60
注册时间
2011-3-23
最后登录
2019-3-21
40#
发表于 2011-7-8 12:43:44 |只看该作者
我给的例子中,都是用大周期的前一根K线来计算指标的。但实际上MtBar函数中的BarsBack参数如果设置为0,调用MtBar后,小周期K线上保留的大周期数据就是你说的第二种情况。但后面的指标函数中,却没有考虑这个参数为0的情况,所以如果设为0,计算出来的指标会不正常。


也就是说老师给出的指标函数实现的是:第三种情况====用大周期的前一根K线来计算指标。这样以来如果引用的周期数比较大比如日线,事实上是延迟了一个交易日即用上一个交易日的数据做判断,这样以来会比较滞后。
MtBar用户函数中的BarsBack参数如果设置为0是第二种情况,设置为1是第三种情况,这样理解对吗?

还请追涨老师把求和函数 和 均线函数,按第二种情况方式做个范例出来,即引用大周期数据不用再返回大周期的上一个bar的数据,而是根据小周期的每个bar的数据来判断大周期的情况。老师辛苦啦

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-9 08:45

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部