您现在的位置:程序化交易>> 股票公式>> 通达信>> 通达信知识>>正文内容

30分钟/60分钟周期指标中引用日线数据结果不对,请老师和高手指点 [通达信]

  • 咨询内容: 【代码】以所写的30分钟周期下的代码为例(p.s.60分钟周期diam只有第二句FI不一样): FID:=BARSLAST(DAY!=REF(DAY,1)); {当日k线的位置} FI:=BARSLAST(DAY!=REF(DAY,1)AND TIME=1000); {当日30分钟周期第一根k线位置} {前一日最后3个EMA快线的读数,对应FI+1, FI+2, 和FI+3} MDF1:=REF(EXPMA.EXP1,FI+1); MDF2:=REF(EXPMA.EXP1,FI+2); MDF3:=REF(EXPMA.EXP1,FI+3); MCON:=(MDF1-MDF2)>=(MDF2-MDF3); {30分钟EMA趋势仍在加速} {前三日的EMA快线的读数,对应FID+1, FID+2, FID+3} DDF1:=REF(EMA(C,12)#DAY,FID+1); DDF2:=REF(EMA(C,12)#DAY,FID+2); DDF3:=REF(EMA(C,12)#DAY,FID+3); DCON:= (DDF1-DDF2)>=(DDF2-DDF3); {日线EMA趋势加速仍有保持} REF(C,1)#DAY> REF(O,1)#DAY AND DCON; {前一日阳线,且满足日线EMA趋势加速未放缓} 【问题表现】当只考虑日线EMA趋势的情况下,60分钟周期和30分钟周期得到的结果应该一样。 然而,实际情况是有2、3支票不同,说明代码的实现上有问题。 对跨周期的引用方式不是很确定,估计是这方面出错;另外k线位置的定位也不是很有把握。 请老师和高手帮我看一看,谢谢了!

     

     来源:C X H 9 9 .C O M )

  • 通达信技术部:
    【代码】以所写的30分钟周期下的代码为例(p.s.60分钟周期diam只有第二句FI不一样):

    FID:=BARSLAST(DAY!=REF(DAY,1)); {当日k线的位置}
    FI:=BARSLAST(DAY!=REF(DAY,1)AND TIME=1000); {当日30分钟周期第一根k线位置}
    {前一日最后3个EMA快线的读数,对应FI+1, FI+2, 和FI+3}
    MDF1:=REF(EXPMA.EXP1,FI+1);
    MDF2:=REF(EXPMA.EXP1,FI+2);
    MDF3:=REF(EXPMA.EXP1,FI+3);
    MCON:=(MDF1-MDF2)>=(MDF2-MDF3); {30分钟EMA趋势仍在加速}

    {前三日的EMA快线的读数,对应FID+1, FID+2, FID+3}
    DDF1:=REF(EMA(C,12)#DAY,FID+1);
    DDF2:=REF(EMA(C,12)#DAY,FID+2);
    DDF3:=REF(EMA(C,12)#DAY,FID+3);
    DCON:= (DDF1-DDF2)>=(DDF2-DDF3); {日线EMA趋势加速仍有保持}
    REF(C,1)#DAY> REF(O,1)#DAY AND DCON; {前一日阳线,且满足日线EMA趋势加速未放缓}


    【问题表现】当只考虑日线EMA趋势的情况下,60分钟周期和30分钟周期得到的结果应该一样。
    然而,实际情况是有2、3支票不同,说明代码的实现上有问题。
    对跨周期的引用方式不是很确定,估计是这方面出错;另外k线位置的定位也不是很有把握。 请老师和高手帮我看一看,谢谢了!

     

  • 通达信客服:
    {前三日的EMA快线的读数,对应FID+1, FID+2, FID+3} 
    DDF1:=REF(EMA(C,12)#DAY,FID+1); 
    DDF2:=REF(EMA(C,12)#DAY,FID+2); 
    DDF3:=REF(EMA(C,12)#DAY,FID+3); 


    如果是想表达3日前的EMA(C,12)的数值
    需要分2个公式来编辑
    公式AA
    DDF1:=REF(EMA(C,12),FID+1);  


    再建公式BB来引用
    AA.DDF1#DAY

     

  • 网友交流: 谢谢版主,此时的FID可以作为参数输给AA吗? 我去试一试:D

     

  • 网友交流:
    FID:=BARSLAST(DAY!=REF(DAY,1));

    DDF1:=AA(FID).DF1#DAY-AA(FID).DF2#DAY;

    报错了!
    详细信息 : 引用的公式 AA 的第 1 个参数应为数值,而不是数组!

    BARSLAST函数返回的不是一个数字吗?

    这是什么问题?怎么解决呢?

 

有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友

可联系技术人员 QQ: 262069696  点击在线交流或微信号:cxh99cxh99  进行 有偿收费 编写!

怎么收费,代编流程等详情请点击阅读!

(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容