DIF:=EMA(C,12)-EMA(C,26);DEA:=EMA(DIF,9);
ss:=cross(dea,dif);jj:cross(dif,dea);
这是MACD金叉的选股公式,但是不能公式评测,,需要加上开多空语句,,
求助版主帮我写个MACD简单的金叉和死叉的策略,,能同时公式评测多头和空头,蹦本地条件预警就好!!
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设置成预警条件即可。
公式属性有平仓设置,只加开仓语句,开多,开空,能否??
DIF:=EMA(C,12)-EMA(C,26);DEA:=EMA(DIF,9);ss:=cross(dea,dif);jj:cross(dif,dea);
if ss then //死叉平多开空beginbuyshort(holding=0,1,market); endif jj then //金叉平空开多beginbuy(holding=0,1,market); end
去掉平仓语句这样对吗?
这样不行。图表的逻辑里面必须是一个闭环的逻辑才行。开平逻辑必须是完整的才可以。
1
此主题相关图片如下:4444444444.jpg
2
此主题相关图片如下:5555555.jpg
图1是,公式评测设置里面的平仓条件,,
图2是公式属性的平仓条件。。
你是说无论是单独的开多单,,还是单独的开空单,,以及同时评测多空单策略,,都必须在公式里定义一个平仓循环是吧?
那图1 和图2 的平仓设置就没有用了?可以这样理解否?
1.对的。 图表指标本身必须是一个完整的开平。否则至多只能单边。
2.第二张图那个只对旧交易系统有效。现在旧交易系统几乎没用了。第一张图那个有效,但是仅限于回测中体现出来。