开拓者期货期权程序化系统交易论坛

标题: currentbar的用法 [打印本页]

作者: skykisser    时间: 2012-4-12 08:19:09     标题: currentbar的用法

请问currentbar的用法,穿堂风大侠的关于dual thrust的帖子中有一句“If(CurrentBar > 54*Max(Mday,Nday))//使用的是5分钟周期,其它的周期自己做相应修改”,请问这句话怎么理解,如果改成15分钟线怎么改,如果想通用所有周期应该如何编写。因为在调试中,如果简单取消这条语句,调试结果有很大差异。谢谢各位了
作者: alex647l    时间: 2012-4-12 08:41:42

看了半天为什么是54,LZ你打错了。。是44,因为一天有225分钟,就是45个5分钟。。。。
作者: skykisser    时间: 2012-4-12 11:39:08

感谢提醒,如果15分钟就改为15咯?
作者: 莫小漠    时间: 2012-4-12 19:12:57

只是说限制信号发生在几天之后。
像风兄写的过滤条件,5分钟周期,45根bar为一天,即如果bar自第一根到最新只有一天的则不开仓。超过一天且有信号发生时再。。。

也可以这样写,定义一个变量用于天数的累加。然后用在判断上。
EG:
Params
        Numeric DayCnts;
Vars
        If(BarStatus==0)
        {
                DayCnts=1;
        }
        If(Date!=Date[1])
        {
                DayCnts=DayCnts+1;
        }
        If(con && DayCnts>1)
        {
                ........;
        }
End
作者: 傻了吧    时间: 2012-4-12 20:56:03

楼上的代码适应性更好。。收藏了
作者: skykisser    时间: 2012-4-13 12:42:13

谢谢小漠兄,终于明白了,还学到了更深的东西
作者: skykisser    时间: 2012-4-13 12:48:37

追问两个问题: 1, 为什么要设置这样的限制,有什么好处吗?如果不设置,有什么缺陷?2,如果想适用所有周期,如何修改呢,谢谢了
作者: cxy1000    时间: 2012-5-2 12:18:33

因为要用到前一天的波幅,所以必须保证前一日数据的完整性,否侧,计算出来的上下轨将是失真的。
作者: 张伟    时间: 2012-10-13 06:04:22

If(con && DayCnts>1)
con代表什么?





欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2