设为首页收藏本站

 找回密码
 注册
查看: 2122|回复: 2
打印 上一主题 下一主题

使用TBProfileString跨周期的疑问 [复制链接]

Rank: 2

精华
0
UID
72275
积分
74
帖子
13
主题
7
阅读权限
30
注册时间
2011-10-17
最后登录
2012-6-27
跳转到指定楼层
1#
发表于 2012-2-29 16:13:43 |只看该作者 |倒序浏览
看到帮助文档中提供的例子,照葫芦画瓢写出了其它比如1分钟调用5分钟均线数据等,
但是这时候遇到一个问题,就是无法像例子中那样规避未来函数,
帮助文档中规避了未来函数的例子应该是:
当前周期所从属同一大周期的bar使用的大周期均线数据都是前一天的。
这样通过判断date就可以了

5分钟调用一小时的,使用hour判断也可以,
但如果是调用其他非整数时间和日期时候怎么办?
比如我要用1分钟调用15分钟的数据,如何避免未来函数?


这个问题困扰我很久。

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
2#
发表于 2012-6-23 00:43:25 |只看该作者
是说帮助里的SetTBProfileString跨周期例子么?

strKey = DateToString(Date);
这里可以换做  strKey = TimetoString(Time);
可以得到大周期BAR的time相应值和对应MA值
然后判断小周期内确认是所属于大周期已经走完,是则引用当前大周期均线值;否则引用上一周期。

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
3#
发表于 2012-6-25 14:45:37 |只看该作者
一个5分引用30分的代码如下
If(Time>=0.090000 && Time<0.093000)
        {
        StrKey=0.090000;
        }
        Else If(Time>=0.093000 && Time<0.100000)
        {
        StrKey=0.093000;
        }
        Else If(Time>=0.100000 && Time<0.103000)
        {
        StrKey=0.100000;
        }
        Else If(Time>=0.103000 && Time<0.110000)
        {
        StrKey=0.103000;
        }
        Else If(Time>=0.133000 && Time<0.140000)
        {
        StrKey=0.133000;
        }
        Else If(Time>=0.140000 && Time<0.143000)
        {
        StrKey=0.140000;
        }
        Else If(Time>=0.143000 && Time<0.150000)
        {
        StrKey=0.143000;
        }

然后用 GetTBProfileString2File("C:\TB.log",DateToString(Date),TimeToString(StrKey))   就可以调用你在30分上生成的相关指标

使用道具 举报

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

bottom

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

GMT+8, 2024-5-23 22:42

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部