以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  帮忙写个MACD金叉死叉的简单策略  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=182355)

--  作者:liuyong10086
--  发布时间:2020/9/25 13:34:03
--  帮忙写个MACD金叉死叉的简单策略
DIF:=EMA(C,12)-EMA(C,26);DEA:=EMA(DIF,9);
ss:=cross(dea,dif);jj:cross(dif,dea);

这是MACD金叉的选股公式,但是不能公式评测,,需要加上开多空语句,,

求助版主帮我写个MACD简单的金叉和死叉的策略,,能同时公式评测多头和空头,蹦本地条件预警就好!!



--  作者:FireScript
--  发布时间:2020/9/25 13:45:43
--  
 DIF:=EMA(C,12)-EMA(C,26);
DEA:=EMA(DIF,9);
ss:=cross(dea,dif);
jj:cross(dif,dea);

//下面是按照金叉死叉 反手的逻辑编写的
if ss then  //死叉平多开空
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market);    
end


if jj then //金叉平空开多
begin
sellshort(holding<0,holding,market);
buy(holding=0,1,market);    
end

至于预警,你其实只要把ss和jj设置成预警条件即可。

--  作者:liuyong10086
--  发布时间:2020/9/25 14:10:56
--  
公式属性有平仓设置,只加开仓语句,开多,开空,能否??

DIF:=EMA(C,12)-EMA(C,26);
DEA:=EMA(DIF,9);
ss:=cross(dea,dif);
jj:cross(dif,dea);


if ss then  //死叉平多开空
begin
buyshort(holding=0,1,market);    
end


if jj then //金叉平空开多
begin
buy(holding=0,1,market);    
end



去掉平仓语句这样对吗?

--  作者:FireScript
--  发布时间:2020/9/25 14:17:22
--  
 这样不行。图表的逻辑里面必须是一个闭环的逻辑才行。开平逻辑必须是完整的才可以。
--  作者:liuyong10086
--  发布时间:2020/9/25 14:27:21
--  
1
图片点击可在新窗口打开查看此主题相关图片如下:4444444444.jpg
图片点击可在新窗口打开查看
2
图片点击可在新窗口打开查看此主题相关图片如下:5555555.jpg
图片点击可在新窗口打开查看

图1是,公式评测设置里面的平仓条件,,
图2是公式属性的平仓条件。。

你是说无论是单独的开多单,,还是单独的开空单,,以及同时评测多空单策略,,都必须在公式里定义一个平仓循环是吧?

那图1 和图2 的平仓设置就没有用了?可以这样理解否?

--  作者:FireScript
--  发布时间:2020/9/25 14:32:53
--  
 1.对的。 图表指标本身必须是一个完整的开平。否则至多只能单边。
2.第二张图那个只对旧交易系统有效。现在旧交易系统几乎没用了。第一张图那个有效,但是仅限于回测中体现出来。