以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助]求老师写一个MACD金叉的值大于上一次MACD金叉的值开多 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=171477) |
-- 作者:szgjzt001 -- 发布时间:2019/8/6 10:13:15 -- [求助]求老师写一个MACD金叉的值大于上一次MACD金叉的值开多
DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P);
请问老师我写的对么? MACD金叉,并且diff的值大于上一次MACD金叉的值,开多 aa:=ref(cross(diff,dea),1); if cross(diff,dea) and diff>aa then buy(1,1,limirt,c);
|
-- 作者:FireScript -- 发布时间:2019/8/6 10:31:01 -- aa:=ref(cross(diff,dea),1); 你想用这个表达上次金叉吗? 应该这样做,获取到上上次金叉位置 用SUMBARS获取。然后再用ref回溯到这个位置进行取值。
len:SUMBARS(2,cross(diff,dea)); last_jc:=ref(diff,len); |
-- 作者:szgjzt001 -- 发布时间:2019/8/8 16:20:44 -- DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P); DEA : =EMA(DIFF,M); MACD1 : =2*(DIFF-DEA), COLORSTICK; len:SUMBARS(1,cross(diff,dea)); last_jc:=ref(diff,len); if cross(dea,diff) and holding>0 then sell(1,0,limitr,c); if HOLDING=0 and cross(diff,dea)>last_jc then buy(1,0,limitr,c); 想法是这次MACD金叉,并且MACD金叉的位置大于上次MACD的位置开多。这么写好像不对啊?老师帮写一下。谢谢
|
-- 作者:FireScript -- 发布时间:2019/8/8 16:28:52 -- “MACD金叉的位置大于上次MACD的位置开多” 这啥意思。本次macd的值大于上次macd的值? |
-- 作者:szgjzt001 -- 发布时间:2019/8/9 13:53:06 -- 是的老师,帮我写一个完整点的。谢谢您。 ![]() |
-- 作者:FireScript -- 发布时间:2019/8/9 14:23:07 -- input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6),n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置 DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P); DEA : =EMA(DIFF,M); MACD1 : =2*(DIFF-DEA), COLORSTICK; len:SUMBARS(2,cross(diff,dea));//这里调整下参数,因为开仓条件还需要当前是金叉。该函数会把当前的也统计进去。 last_jc:=ref(macd1,len);//这里要取macd1的值 if cross(dea,diff) and holding>0 then sell(1,0,limitr,c);// if HOLDING=0 and macd1>last_jc then buy(1,0,limitr,c); 供参考。
|
-- 作者:szgjzt001 -- 发布时间:2019/8/9 15:03:54 -- 老师你写的这个我看了,显示的不对,是不是得用上全局变量啊? |
-- 作者:FireScript -- 发布时间:2019/8/9 15:24:20 -- len:SUMBARS(cross(diff,dea),2);//这里调整下参数,因为开仓条件还需要当前是金叉。该函数会把当前的也统计进去。 last_jc:ref(macd1,len-1);//这里要取macd1的值 这里修正了下。你再看下。
[此贴子已经被作者于2019/8/9 15:27:06编辑过]
|