您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

关于求当日K线根数的问题 [开拓者 TB]

  • 咨询内容: 老师,以下这个公式求的是当日的第一根K线到现在的Bar数,用的是while循环,如果加载到豆粕小时线上,在currentbar=0的第一根K线上,由于不满足while循环条件,直接跳出,Todaybars=0;在currentbar=1的第二根K线上,由于currentbar>0并且date[0]==date[1],满足循环条件,所以todaybars=0+1=1;在currentbar=2的第三根K线上,由于currentbar>1并且date[1]==date[2],满足循环条件,所以todaybars=1+1=2;依次类推,在currentbar=8的第9根K线上(由于有夜盘,实际上是第二天的第一根K线),由于currentbar>7并且date[7]==date[8],满足循环条件,所以todaybars=7+1=8,但此时公式返回的却是0值,这个逻辑我想知道我是哪里理解错了?
    Vars
    Numeric TodayBars;
    Begin
    {
    TodayBars=0;
    While(currentBar>TodayBars and Date[TodayBars]==Date[TodayBars+1])
    {
    TodayBars=TodayBars+1;
    }
    Commentary("todaybars="+text(todaybars));
    }
    End

     

  • TB技术人员: 上面这个问题想明白了,我自问自答,每根K线TodayBars=0;都会重新计算一遍,但是此公式如果加载到有夜盘的品种,会把晚间的K线算到当日中来,所以我把它改为:

     

  • TB客服: Vars
    Numeric TodayBars;
    Begin
    {
    TodayBars=0;
    While(currentBar>TodayBars and TrueDate[TodayBars]==TrueDate[TodayBars+1])
    {
    TodayBars=TodayBars+1;
    }
    Commentary("todaybars="+text(todaybars));
    }
    End

     

  • 网友回复: 可是修改后并不能如愿返回当日K线根数啊,二是如currentbar一样计算K线根数,郁闷,哪位大仙给解释下?

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容