以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  我就是把第一个的括号去掉 改成第二个的了,结果不一样。  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=63991)

--  作者:qq代人发帖
--  发布时间:2014/4/16 11:14:14
--  我就是把第一个的括号去掉 改成第二个的了,结果不一样。
请教:我就是把第一个的括号去掉 改成第二个的了,但是结果却不一样了。
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编辑过]

--  作者:jinzhe
--  发布时间:2014/4/16 11:30:02
--  

 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是不是一样的


--  作者:yangshuai
--  发布时间:2014/4/16 11:47:13
--  
@2楼我看您也是都加了括号,那是不是在金字塔里面必须要加括号才可以呢?我上面第一个也是正常的,我只是想简化一下,所以去掉了一些我认为不必要的括号,结果就不一样了
[此贴子已经被作者于2014/4/16 11:47:57编辑过]

--  作者:yangshuai
--  发布时间:2014/4/16 11:52:29
--  
@2楼  不好意思,我上面的表述有问题  您写的和我写的是一样是吧?  
--  作者:yangshuai
--  发布时间:2014/4/16 11:56:29
--  
或者您的意思是让我将那个条件分别赋给俩个变量  然后IF(变量)  这样吗?
--  作者:jinzhe
--  发布时间:2014/4/16 13:31:16
--  

我不知道你的kd1,kd2是什么,所以想要本地测试是做不到的,所以要你按照我的指示来进行排错测试。

先看看上面的显示数值分别是多少

[此贴子已经被作者于2014/4/16 13:31:30编辑过]

--  作者:yangshuai
--  发布时间:2014/4/16 14:34:37
--  
就是Bool类型的变量,金字塔没有在写像我那样的表达式的时候必须上括号这一说吧?
--  作者:jinzhe
--  发布时间:2014/4/16 14:56:35
--  
AND 和OR 判断,顺序是从前往后,如果要后面的某些判断要先执行,那么就用括号给括起来