以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 策略编写求助区 (http://222.73.7.161/bbs/list.asp?boardid=11) ---- [求助]如何写macd的3个指标都小于0变成都大于0 (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=11652) |
-- 作者:zhrong -- 发布时间:2012/5/13 0:41:48 -- [求助]如何写macd的3个指标都小于0变成都大于0 如何写macd的3个指标从都小于0的状态变成都大于0的状态? 3个指标不需要同时上去。 [此贴子已经被作者于2012-5-13 0:43:36编辑过]
|
-- 作者:Leon -- 发布时间:2012/5/13 18:32:09 -- 用中间变量形式书写 如:DIFF := EMA(CLOSE,S) - EMA(CLOSE,P); |
-- 作者:RogarZ -- 发布时间:2012/5/14 8:56:01 -- DIFF : ABS(EMA(CLOSE,S) - EMA(CLOSE,P)); DEA : ABS(EMA(DIFF,M));
单从数值的角度看,我用了ABS(X) 绝对值函数 不知道是否满足你的要求 |
-- 作者: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个指标从负数变成正数的那个点 |
-- 作者: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编辑过]
|
-- 作者:RogarZ -- 发布时间:2012/5/14 9:39:34 -- drawicon(diff>0 and dea>0 and macd1>0,0,1); 加了这个命令看是否符合你的要求
|
-- 作者: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 这种状态 |
-- 作者:董小球 -- 发布时间:2012/5/14 13:52:17 -- 那我觉得你应该判断3次 上一根K线上的X是不是小于0 并且 这根K线上的X是不是大于0 |
-- 作者:zhrong -- 发布时间:2012/5/14 14:39:55 -- 假设限制在10个周期内,开始时候3个指标都小于0,10个周期内3个指标都变成大于0
这样要如何写呢? |
-- 作者: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? |