请教:我就是把第一个的括号去掉 改成第二个的了,但是结果却不一样了。
IF ((((HOLDING = 0) AND (((KD1 = 1) OR (KD2 = 1)) OR ((KD3 = 1) OR (KD4 = 1)))) AND (HIGH >= (KDJ + 0.2))) AND (KD = 1)) THEN
IF (HOLDING = 0 //没有单子
AND (KD1 = 1 OR KD2 = 1 OR KD3 = 1 OR KD4 = 1)//High三连增 or Low三连增 or 前一根bar三连增 or 前一根bar三连增
AND HIGH >= (KDJ + 0.2) //向上突破前三根K线最高
AND KD = 1 //多头排列
)
THEN
[此贴子已经被作者于2014/4/16 11:14:39编辑过]
cond1:((((HOLDING = 0) AND (((KD1 = 1) OR (KD2 = 1)) OR ((KD3 = 1) OR (KD4 = 1)))) AND (HIGH >= (KDJ + 0.2))) AND (KD = 1)) ;
cond2:(HOLDING = 0 AND (KD1 = 1 OR KD2 = 1 OR KD3 = 1 OR KD4 = 1) AND HIGH >= (KDJ + 0.2) AND KD = 1 );
你写成这样,看看cond1和cond2是不是一样的
@2楼我看您也是都加了括号,那是不是在金字塔里面必须要加括号才可以呢?我上面第一个也是正常的,我只是想简化一下,所以去掉了一些我认为不必要的括号,结果就不一样了
[此贴子已经被作者于2014/4/16 11:47:57编辑过]
@2楼 不好意思,我上面的表述有问题 您写的和我写的是一样是吧?
或者您的意思是让我将那个条件分别赋给俩个变量 然后IF(变量) 这样吗?
我不知道你的kd1,kd2是什么,所以想要本地测试是做不到的,所以要你按照我的指示来进行排错测试。
先看看上面的显示数值分别是多少
[此贴子已经被作者于2014/4/16 13:31:30编辑过]
就是Bool类型的变量,金字塔没有在写像我那样的表达式的时候必须上括号这一说吧?
AND 和OR 判断,顺序是从前往后,如果要后面的某些判断要先执行,那么就用括号给括起来