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

求教一个问题关于CLOSE D [开拓者 TB]

  • 咨询内容: Params
            Numeric daysAgo(2);
    Vars
            NumericSeries barCnt;
            NumericSeries dayClose;
            Numeric i;
            Numeric j;
            Numeric nIndex(0);
            Numeric CBIndex;
    Begin
            CBIndex = CurrentBar;
            If(CBIndex == 0 || Date != Date[1])
            {
                    barCnt = 1;
            }Else
            {
                    barCnt = barCnt + 1;
            }
            dayClose = Close;
                   
            If(daysAgo == 0)
            {
                    return dayClose;
            }Else//从这里这个ELSE就不理解了,求解释关于下面这一部分的意义所在。
            {
                    For i = 1 To daysAgo
                    {
                            If( i == 1)
                            {       
                                    j = 0; //还有这个J的存在意义。
                            }Else
                            {
                                    j = j + BarCnt[j];                               
                            }
                            If (j > CBIndex )
                                    Return InvalidNumeric;
                            nIndex = nIndex + BarCnt[j];
                    }
                    Return dayClose[nIndex];
            }
    End
    如果 DAYSAGEO=2,在ELSE里,是怎么个情况,可能在这个地方背住了,过不来,求大神解释一下,

     

  • TB技术人员: 又来了,基本上每个初学的都在这里卡住了

    i=1,j=0,nIndex=BarCnt[0]即从当天开盘到当前的K线数

    i=2,j=BarCnt[0]
    nIndex = BarCnt[0]+BarCnt[BarCnt[0]](往前回溯BarCnt[0]即前一天最后一根K线,那么这个就是从前一天第一根K线到前一天最后一K的总K线数。。。)
    那么这个nIndex就是从前一天第一根K线到今天最新一根K线的K线数了
    dayClose[nIndex]就是两天前的收盘价了

     

  • TB客服: 里面的几个嵌套给我闹得有点迷糊,BarCnt[BarCnt[0],是最后一根K线,也就是储存着全天K线数量,然后又几天就向前累加几个BarCnt[BarCnt[0],是这个意思吧,最后累加起来,返回当日的DAYCLOSE,完事,顺便在求教一下,TB有调试模式吗?怎么能够逐行调试,然后看到变量值?有办法做到吗?

 

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

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容