请教管理员老师,为什么下面的公式初始运行BAR数这么大,要几百个BAR,铂30分钟上1个月显示不了

Params

Numeric  ns(24);

Vars

   Series<Numeric> hi;

Series<Numeric> li;

Numeric trns;

   Numeric mas;

Numeric qs;

Numeric qshl;

 

Numeric trhl;

Numeric non;

Numeric n1;

   

   Series<Numeric> n1h;

   Series<Numeric> n1l;

 

Events

     

   onBar(ArrayRef<Integer> indexs)

   {  

       hi = h[1];

    li = l[1];

   

    trns = Average(hi-li,ns);

    mas = Average( open, ns);

    Qs = AvgDeviation(open,ns)*1.5;

    QsHl = (MAs+Qs)-(MAs-Qs);

   

    trhl = trns*2/qshl;

       non = iif(trhl==0,1,trhl);

       n1 =  RoundUp(ns*non,0);

       

    n1h = Highest(Hi, n1);

    n1l = Lowest(Li, n1);

   

    PlotNumeric("n1h",n1h,0,White);

    PlotNumeric("n1l",n1l,0,Green);

   

   }

起始bar数和回溯bar数
请教老师,下面的公式用在原油5分钟图表,初始运行BAR数非常大,10分钟正常,问题出在那?
开仓bar上读取不了开仓价
策略交易的BAR数有要求吗
1分钟BAR数据的23整点的BAR数据为什么没有?
大周期bar所对应小周期的bar确认
请教如何显示当前bar的剩余时间
技术请教:大小周期的跨周期策略如何判断小周期bar位于大周期bar的位置?
想不明白,换了台电脑,订阅的bar数为什么会一致呢?
bar运行机制

highest函数,根据函数手册里的说明,取过去n根bar里的最高价。你这里填了一个n1,n1又是roundup的ns*non,算出来几百个,所以导致计算不出来。

建议自己再琢磨一下算法

n1计算数一般在3-60以内,大部分在10几20几,没有几百

第二根bar怎么算出来3285?

你的可以显示计算结果,我的TBQUANT,1446标准版显示不了,啥也没有,好像跟你的版本不一样,麻烦再看看


trhl = trns*2/qshl;这行去掉*2会缩短点

n1h = Highest(Hi, n1);

    n1l = Lowest(Li, n1);减掉这2行计算就正常显示

那是因为我加了输出的commentary语句。

前面就告诉你了你的这个n1值计算出来太大了,导致回溯值不对。

你应该自己研究一下为什么一定要这样写

在不减少要计算的项目前提下怎么缩短公式运行初始化BAR数量,谢谢