引用 公式一名:macddzq
DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA :=EMA(DIFF,9);
MACD1 :=2*(DIFF-DEA);
M30:=ref(macd1,1) > 0 and macd1>ref(macd1,1),close; //MACD1上一周期大于0,且本周期MACD1大于上一周期
M15:=ref(macd1,1) > 0 and macd1>ref(macd1,1),close; //MACD1上一周期大于0,且本周期MACD1大于上一周期
M20:=ref(macd1,1) < 0 and macd1<ref(macd1,1),close; //MACD1上一周期小于0,且本周期MACD1小于上一周期
M21:=ref(macd1,1) < 0 and macd1<ref(macd1,1),close; //MACD1上一周期小于0,且本周期MACD1小于上一周期
公式2
DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA :=EMA(DIFF,9);
MACD1 :=2*(DIFF-DEA);
M31:=STKINDI('','macddzq.M30',0,4); //30分钟MACD1上一周期大于0,且本周期MACD1大于上一周期
M16:=STKINDI('','macddzq.M15',0,3); //15分钟MACD1上一周期大于0,且本周期MACD1大于上一周期
M330:=STKINDI('','macddzq.M20',0,4); //30分钟MACD1上一周期小于0,且本周期MACD1小于上一周期
M150:=STKINDI('','macddzq.M21',0,3); //15分钟MACD1上一周期小于0,且本周期MACD1小于上一周期
手数:=ss;
//交易条件
if M31 AND M16 AND AA then begin //
sellshort(1,手数,market);
buy(holding=0,手数,market);
end
if M330 AND M150 AND MM then begin
sell(1,手数,market);
buyshort(holding=0,手数,market);
end
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
测试通过,加载图表上没有反应,是不是哪里不对劲大神们?交易当前周期 1 3 5分钟都没反应
交易思想是,当前图表比如 5分钟周期DIFF>0,判断30分钟MACD大于0,且比上一周期MACD值大,15分钟也是,开多
5分钟周期DIFF<0,判断30分钟MACD<0,且比上一周期MACD值小,15分钟也是,开空
M30:=ref(macd1,1) > 0 and macd1>ref(macd1,1),close;
这是个条件语句,你在后面跟着",close;"是什么意思?
如果你引用的均是同一个条件,在被引用的macddzq公式中,不需要重复写,只要引用公式中控制好周期和偏移量即可。
注:被引用的变量,必须使用":"赋值,你用的全部是":="