lowest函数两种写法获取的值不一致

data-href=data-href=

为什么这里的代码获取的两个值是不一致的?

我现在想获取某一个区间的最小值,那如何获取?

Lowest/Lowest无法获取指定周期的最小值
以下两种条件写法是否完全等价
if语句lowest计算值不对
获取峰值和峰谷的写法
获取指标值的写法对吗
函数返回值的问题
AvgEntryPrice()函数在888合约发生换月之后返回值和换月之前的值不一致
如何获取指定的BAR之间的最大值和最小值
程序自带lowest函数计算结果错误咨询
A函数写法问题

我有个猜测 倒腾半天没有搞出来该怎么验证

b1-a1 会出现负数,highest和lowest里面用了for

测试了一下 for 如果是 to负数 ,就直接跳过了 不会进入循环

然后会出现什么就不知道了  

也可能不止这一个地方会出现问题

你说的应该有道理

出现了负值

怎么突然开始挖坟

还真是。。。

上面一个同学

周六跟的贴.......7号的

他跟了帖却没有发任何代码。

嘿 有道理!~!!!

我有个猜测 倒腾半天没有搞出来该怎么验证

b1-a1 会出现负数,highest和lowest里面用了for

测试了一下 for 如果是 to负数 ,就直接跳过了 不会进入循环

然后会出现什么就不知道了  

也可能不止这一个地方会出现问题

他这种条件在0轴以上计算没问题

0轴以下是负数

0轴以上也没对,用abs也没对

我猜还跟用序列变量做参数的函数,调取一次才传一次参数,传入序列参数重新组成了新的序列变量作为下一次调用的计算基础

如果周期数不断在变化,有可能单独存储的序列就乱了。

以上是我的猜测

所以,我想验证 highest和lowest函数在计算的时候,到底是取的哪几根bar上的值,但是还没想出来该怎么print


我自定义了一个函数,不传入序列变量,只传入周期数计算,数据就是正确的了。

Defs
    //此处添加策略函数
    Numeric LL_my (Integer K)
    {
                //print("\n");
        //print("===============");

                Integer i;
        Array<Numeric> arr;
        for i = 1 to k
            {
                ArrayPushBack(arr, low[i]);
                        ////print("CurrentBar=" + text(CurrentBar));
        ////print("datetime=" + DateTimeToString(date + time));
        ////print("low["+text(i)+"]=" + text(low[i]));
                
            }
         numeric result = LowestArray(arr);
        
//        result = Lowest(low[1],K); //错误写法,不过其实我没有理解为什么这样传给lowest不行,但是一个个传给diy函数却可以
            
            Return result ;
  

    }


那问题就简单了

应该是est函数内部算法

自己改写一下就行了

看看源码应该知道问题在哪了

我印象中

ave函数以前也是

后来官方改过一次

avgFC以前也是这样

不让传参数

自己重新一个

源码我也还是看不出问题

因为源码上也看不出哪些bar的数据传进来了 哪些没有

就尴尬了

当我啥也没说😊

我也遇到了同样的问题,lowest(low[a] , b) ,当a=1,b=2的时候 ,与lowest(low[1] , 2) , 得出来的不一样。

确定没放在条件语句里, 直接隶属于onbar下面

是Range[0:DataCount-1] 下层

data-href=这个代码,确定值是不一样的,没想明白原因,也没放条件里,也没去回溯值,怎么就会不一样呢

\"\"

这里L[a1]的问题。a1在每根bar上的值如果不一样,那么传入函数内部的回溯对象也不一样,会导致函数内部的值产生错误。这个问题需要深入理解函数传入参数及函数执行的机制。

这就跟我猜的差不多了,肯定是a1发生变化,导致传参以后内部数据发生变化了。

一开始就是因为没提供这些线索才无法确认问题出在哪里

真不是a1发生变化了,因为只要在那个地方写个循环,用a1,就会得出根lowest不一样的正确值,如果是参数变化了,用a1也是一样的

我一直觉得程序员是不太会争论问题的,因为代执行结果会说明一切。

talk is cheap,show me the code

我做了测试,我写在主程序里,两个结果是一样的

没放条件语句,onbar里面写的, 只不过a1和b1是变量,如果a1和b1,固定不变的话值是对的,但是问题是为什么a1和b1发生变化,它就不一致了呢,没想明白原因。而且那个莫名其秒的值怎么出来的

\"\"

按照你的描述完全无法复现你说的结果

\"data-href=\"这个代码,确定值是不一样的,没想明白原因,也没放条件里,也没去回溯值,怎么就会不一样呢

我把lowest函数,重新写了一个,加了一个回溯数的参数,直接把a1,给进去,他计算的就没有问题!!

lowest1(L,  a1-ba, a1);

您好!您这段代码是不是放在一个条件语句里?