打印本文打印本文 关闭窗口关闭窗口

跨周期引用,没有信号的问题请教

作者:金字塔 来源:cxh99.com 发布时间:2015年06月05日
  • 咨询内容:

    各位,大家好

    我在编写金字塔的跨周期引用代码的时候,有一个明显的疑问和问题,具体如下:

    要求:IF合约1分钟K线和30分钟K线同时金叉或死叉形成共振信号,则开多或开空

     

     


    此主题相关图片如下:金叉共振.jpg

    例如30分钟上一根K线已经形成金叉了,这跟K线的周期是13:15--14:15;走到现在的K线其周期是14:15--14:45,这根K线在1分钟周期则可以有30根K线,在这段时间里一分钟K线出现金叉,则形成开多信号!

    但事实上,在测试的过程中没有信号的产生,请问是怎么回事呢?哪里出错了?

     

    代码如下:

    ma30_3:=stkindi('','wjg.ma3',0,4,-1);//引用30分钟'wjg'指标中的ma3均线
    ma30_7:=stkindi('','wjg.ma7',0,4,-1););//引用30分钟'wjg'指标中的ma7均线

    ma1_3:=ma(c,3);

    ma1_7:=ma(c,7);

    kd:=cross(ma1_3,ma1_7) and barslast(cross(ma30_3,ma30_7))=1;这个开多信号为,当前1分钟K线金叉,且30分钟周期上一根K线金叉

     

    事实上,我在测试中很多应有的开仓信号没有,请指出问题所在,谢谢!

     

    疑问:cross这个金叉或死叉是 ‘时点’ 信号,通过barslast转为时段信号有效吗?即如上面所说的在30分钟的当前K线内是barslast(cross(ma30_3,ma30_7))=1成立,在1分钟K线则是由30根可以继续成立?可以这样子理解吗?

     

  • 金字塔客服: 大周期引用小周期的数值不是把小周期里面的数值都判断一遍,而是引用小周期最后一根数值。比如30分钟引用1分钟那么就是引用1分钟里面30根k线最后一根k线的数值,所以中间的数值不会被引用的

     

  • 用户回复:

    首先,谢谢@jinzhe版主

    引用周期数据不是只能在小周期引用大周期的数据吗?

     

    是不是在小周期引用大周期的时候,上面的表达方式,依然是只能引用30分钟最新的一根k线的数值?

    如果是,那有其他的表达方式,能够引用30分钟前一根K线的数值的方法吗?

    谢谢!

     

  • 网友回复: 小周期引用大周期就是要偏移引用,引用前一个周期的数据

     

  • 网友回复:

    先谢谢了,我自己琢磨琢磨

打印本文打印本文 关闭窗口关闭窗口