如何写macd的3个指标从都小于0的状态变成都大于0的状态?
3个指标不需要同时上去。
用中间变量形式书写
如:DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA := EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA), COLORSTICK;
DIFF : ABS(EMA(CLOSE,S) - EMA(CLOSE,P));
DEA : ABS(EMA(DIFF,M));
MACD1 : ABS(2*(DIFF-DEA)), COLORSTICK;
单从数值的角度看,我用了ABS(X) 绝对值函数 不知道是否满足你的要求
楼上两位,我是想知道如何捕捉到 diff、dea、macd1 三个指标从0以下上穿到0以上的点
例如,diff=-0.01、dea=-0.02、macd1=-0.01
随着时间推移,可能变成diff=0.05 dea=0.03 macd1=0.003
。。。。。
相当于定位到3个指标从负数变成正数的那个点
楼主捕捉到后想做什么操作?能否直接比较diff和0的值?
if diff>0 then
begin
操作
end
if diff<o
if diff= 0
....
两位好,我想在达到这个点后开多
我现在写法:(diff>0 and dea>0 and cross(macd1,0)) or (diff>0 and macd1>0 and cross(dea,0)) or (macd1>0 and dea>0 and cross(diff,0)),
也就是说判断2个在0上方,1个上穿。。。。
但是没有体现出:开始3个指标都小于0,然后变成都大于0 这种状态
假设限制在10个周期内,开始时候3个指标都小于0,10个周期内3个指标都变成大于0
这样要如何写呢?
cond1:=all(stkindi('','macd.diff',0,6,-1)<0,3);
cond2:=time>000930 and time<001530;
能否用时间和all函数加以判断,楼主指的是开始3个周期macd均是小于0,然后排除前三个周期后使后10个周期macd均变成小于0?