以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请问设定条件下的公式怎么写  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=182169)

--  作者:3huihui
--  发布时间:2020/9/14 10:40:46
--  请问设定条件下的公式怎么写
比如设定在某条件下的某种条件成立

例如:macd>0 and diff<0为设定条件,在此情况下diff距离0的距离小于macd距离0的数值则条件成立

--  作者:FireScript
--  发布时间:2020/9/14 10:43:02
--  
比较下绝对值就行了。

cd:if(macd>0 and diff<0 and abs(diff)<abs(macd),1,0);

--  作者:3huihui
--  发布时间:2020/9/14 11:30:07
--  
谢谢老师,借鉴您的,我刚刚尝试了一下自己编写公式,下面这条通不过,是函数应用错了么

PARTLINE(if(MA1>ma3 and ma2>ma3) and abs(MA1>ma3 or ma2>ma3),ma3, COLORyellow),LINETHICK2;

--  作者:FireScript
--  发布时间:2020/9/14 12:14:12
--  
 if(MA1>ma3 and ma2>ma3) and abs(MA1>ma3 or ma2>ma3),ma3, COLORyellow)
你这里怎么把颜色函数当做if的参数了。肯定不行的啊

--  作者:3huihui
--  发布时间:2020/9/14 12:18:55
--  
颜色函数弄到后面也不行,公式意思是,当MA1 AND MA2都大于MA3时,MA1 OR MA2小于MA3,则MA3变色
--  作者:wenarm
--  发布时间:2020/9/14 13:23:35
--  

当MA1 AND MA2都大于MA3时,MA1 OR MA2小于MA3     这个条件横不成立。

直接说你要实现什么样的效果

[此贴子已经被作者于2020/9/14 13:24:10编辑过]

--  作者:FireScript
--  发布时间:2020/9/14 13:23:40
--  
 PARTLINE 函数是画分段线的。你要变色,你只能画2段。


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

ma3:=ma(c,3);
ma5:=ma(c,5);
PARTLINE(ma3>ma5,ma3,COLORyellow),LINETHICK2;
PARTLINE(ma3<=ma5,ma3,COLORRED),LINETHICK2;

你自己参考这个修改。一个颜色对应一个条件

--  作者:3huihui
--  发布时间:2020/9/14 18:36:22
--  
我想要的是,当MA1和MA2双线都在MA3之下时,前两个的其中任意一个大于MA3才变色,该怎么写呢
--  作者:FireScript
--  发布时间:2020/9/15 8:50:18
--  
 “MA1和MA2双线都在MA3之下时,前两个的其中任意一个大于MA3” 什么意思这个?
意思是原本2个线在ma3下面 当其中一个任何一个上穿时候变色?
[此贴子已经被作者于2020/9/15 8:50:32编辑过]

--  作者:FireScript
--  发布时间:2020/9/15 8:57:23
--  
 ma1:ma(c,3);
ma2:ma(c,5);
ma3:ma(c,10),COLORGREEN;

PARTLINE(ma3>ma1 and ma3>ma2,ma3,COLORGREEN),LINETHICK2;
PARTLINE(not(ma3>ma1 and ma3>ma2),ma3,COLORRED),LINETHICK2;