请教:
aa:=IF ((C>ref(C,1),vol,0));//如果判断成立,当前bar已经是第二个bar的值,我想把第一根bar的成交量也相加进来,如何做到?‘
bb:=sum(aa,todaybar);
谢谢
不是你第二句的写法吗。自己用sum函数统计就行了。
不是的,我第二句BB的写法,是漏掉了第一笔取值的,
在两个bar的比较中(当前bar和前一根bar),如果条件成立开始取值,只是从第2根bar开始取值的,
这样就漏掉了前一个bar的取值;//我在连续满足中需要第一个bar的成交量
所以请教....
我是求算法的,
我真实的应用场景不同:条件是 C>MA20 and 阳线;//已经定义
这里的问题:如果前一个bar和当前的bar判断比较时,前一个bar允许大于和小于MA20两种情况,//都是符合条件的,只要符合阳线且当前bar>MA20
若如此则sum对前一个bar的取值(小于MA20) 需要加/减这一根bar的单独取值;
//因为大量使用到此种情况,不能忽略,所以才请教...
且“banzhuan”老师的验证方法也不妥,在连续阳线取值,求成交量相加中,依然漏掉了第一个bar阳线的取值
banzhuan老师:
我1楼写法是举例子,真正的应用场景是连续阳线取值成交量相加和5楼相加;
这是一个普遍且容易遗漏的逻辑,当前bar和前一个bar比较,条件成立 计算机肯定只取当前bar的值,不可能向前追溯一根bar的值相加,所以您的验证一定不正确。
但前面一根bar的值却是我需要的。
您贴个测试代码,做好能上传截图说明看下,证明您说的是对的。