程序化交易公式看看可以吗 (文华财经WH6赢顺V6.7)

投资者咨询:程序化交易公式看看可以吗 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-9-4 11:40
 条件
周线macd开口向上(在零轴上方)日线macd开口向上(在零轴上方),日线macd日线macd在零轴上第一次死叉,

开仓多单
1小时macd金叉,

平仓
开仓以后日线macd第一次死叉,或者macd两条线第一次顶背离

止损开仓价下浮10个点
技术人员回复
日期:2018-9-4 13:28
需要使用跨周期模型

先建立引用模型AA

DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
A:=CROSS(DIFF,DEA);
B:=CROSSDOWN(DIFF,DEA);
AA:=CROSSDOWN(DIFF,DEA)&&SUM(CROSSDOWN(DIFF,DEA),BARSLAST(CROSS(DEA,0))+1)=1;

回测模型

#IMPORT [WEEK,1,AA] AS VAR1
#IMPORT [DAY,1,AA] AS VAR2
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
HH:=VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(H,N1));//上次MACD红柱期间合约最大值
HH2:=VALUEWHEN(CROSSDOWN(DIFF,DEA),REF(HH,1));//上上次MACD红柱期间合约最大值
MHD:=VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(MACD,N1));//上次MACD红柱期间MACD最大值
MHD2:=VALUEWHEN(CROSSDOWN(DIFF,DEA),REF(MHD,1));//上上次MACD红柱期间MACD最大值
A:=CROSSDOWN(DIFF,DEA)&&HH>HH2&&MHD<MHD2;//顶背离

VAR1.DIFF>0&&VAR1.DEA>0&&VAR2.DIFF>0&&VAR2.DEA>0&&VAR2.AA&&CROSS(DIFF,DEA),BK;
A||VAR2.B||C<=BKPRICE-10*MINPRICE ,SP;
AUTOFILTER;