Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共14 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]如何写macd的3个指标都小于0变成都大于0

1楼
zhrong 发表于:2012/5/13 0:41:48

如何写macd的3个指标从都小于0的状态变成都大于0的状态?

3个指标不需要同时上去。

[此贴子已经被作者于2012-5-13 0:43:36编辑过]
2楼
Leon 发表于:2012/5/13 18:32:09

用中间变量形式书写

如:DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  := EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA), COLORSTICK;

3楼
RogarZ 发表于:2012/5/14 8:56:01

DIFF : ABS(EMA(CLOSE,S) - EMA(CLOSE,P))

DEA  : ABS(EMA(DIFF,M));
MACD1 : ABS(2*(DIFF-DEA)), COLORSTICK;

 

单从数值的角度看,我用了ABS(X) 绝对值函数  不知道是否满足你的要求


4楼
zhrong 发表于:2012/5/14 9:05:21

楼上两位,我是想知道如何捕捉到 diff、dea、macd1 三个指标从0以下上穿到0以上的点

例如,diff=-0.01、dea=-0.02、macd1=-0.01

随着时间推移,可能变成diff=0.05 dea=0.03  macd1=0.003

。。。。。

相当于定位到3个指标从负数变成正数的那个点

5楼
Leon 发表于:2012/5/14 9:22:07

楼主捕捉到后想做什么操作?能否直接比较diff和0的值?

if diff>0 then

begin

操作

end

 

if diff<o

if diff= 0

....

 

[此贴子已经被作者于2012-5-14 9:23:00编辑过]
6楼
RogarZ 发表于:2012/5/14 9:39:34
drawicon(diff>0 and dea>0 and macd1>0,0,1);
加了这个命令看是否符合你的要求
7楼
zhrong 发表于:2012/5/14 11:15:09

两位好,我想在达到这个点后开多

我现在写法:(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 这种状态

8楼
董小球 发表于:2012/5/14 13:52:17
那我觉得你应该判断3次 上一根K线上的X是不是小于0 并且 这根K线上的X是不是大于0
9楼
zhrong 发表于:2012/5/14 14:39:55

假设限制在10个周期内,开始时候3个指标都小于0,10个周期内3个指标都变成大于0

 

这样要如何写呢?

10楼
Leon 发表于:2012/5/14 15:35:30

cond1:=all(stkindi('','macd.diff',0,6,-1)<0,3);

cond2:=time>000930 and time<001530;

 

能否用时间和all函数加以判断,楼主指的是开始3个周期macd均是小于0,然后排除前三个周期后使后10个周期macd均变成小于0?

共14 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.