以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  KD指标,当K、D值小于20时,取20,当K、D值大于80时,取80  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=180245)

--  作者:金台
--  发布时间:2020/6/1 11:04:27
--  KD指标,当K、D值小于20时,取20,当K、D值大于80时,取80
KD指标,当K、D值小于20时,取20,当K、D值大于80时,取80,怎么编写
--  作者:FireScript
--  发布时间:2020/6/1 11:17:13
--  
 result:if(k<20 and d<20,20,if(k>80 and d>80,80,0));

需要注意的是在以上2种情况之外 取值是0.

--  作者:金台
--  发布时间:2020/6/1 11:22:24
--  
两种情况以外,K\\D值不能正常显示吗,我想让它正常显示,只是出现这两种情况显示20,80
--  作者:FireScript
--  发布时间:2020/6/1 13:08:14
--  
那这样处理,在20-80之间 还是取原先正常的值。
input:n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K1:=SMA(RSV,P1,1);
D1:=SMA(K1,P2,1);
K:IF(K1<20,20,IF(K1>80,80,K1));
D:IF(D1<20,20,IF(D1>80,80,D1));
J:3*K-2*D,NODRAW;

[此贴子已经被作者于2020/6/1 13:08:23编辑过]

--  作者:金台
--  发布时间:2020/6/1 14:45:26
--  
哦,这个思路改写下面公式可以吗?BS1数值小于前60根K的最小BS1数值时取最小的那根BS1值,其他正常显示
N:=barslast(day<>ref(day,1))+1;


bs1:if(n=1 ,qt,qt-ref(qt,1)),noaxis;

--  作者:FireScript
--  发布时间:2020/6/1 14:51:18
--  
 bs:if(bs1<=ref(llv(bs1,60),1),ref(llv(bs1,60),1),bs1);