注意:本模型源码用于文华财经赢智WH8软件。 

01

策略源码

M1:=10;

M2:=20;

N1:=20;

N2:=30;

N3:=50;

N:=26;

TR :=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));

ATR :=MA(TR,N);

//ATR指标

TC..INTPART((MONEYTOT*0.02/(UNIT*ATR)));

//根据权益的2%计算下单手数,本人回测用的50资金,4个滑点。

MA1:MA(C,M1);//定义M1周期均线

MA2:MA(C,M2);//定义M2周期均线

TMP1:=CROSS(MA1,MA2);//两条均线金叉

TMP2:=CROSS(MA2,MA1);//两条均线死叉

L1:IFELSE(BARSSK>0,MIN(SKPRICE,REF(LLV(L,BARSSK),1)),SKPRICE);//如果是卖开仓后的K线那么L1取卖开信号价和卖开后的最低价的最小者卖开当根直接取卖开价

H1:IFELSE(BARSBK>0,MAX(BKPRICE,REF(HHV(H,BARSBK),1)),BKPRICE);//如果是买开仓后K线那么H1取买开信号价和买开后的最高价的最小者买开当根直接取买开价

SKP1:VALUEWHEN(CROSS(SKVOL,0.5),REF(SKPRICE,1)),COLORYELLOW;//当首次卖开仓时,SKP1取一个周期前的卖开信号价,黄色显示

BKP1:VALUEWHEN(CROSS(BKVOL,0.5),REF(BKPRICE,1)),COLORYELLOW;//当首次买开仓时,BKP1取一个周期前的买开信号价,黄色显示

S1:SKP1*(1+N1/1000);

S2:SKP1*(1-N2/1000);

S3:L1*(1+N3/1000);

SS1:BKP1*(1-N1/1000);

SS2:BKP1*(1+N2/1000);

SS3:H1*(1-N3/1000);//以上6句只是加减乘除运算

SS:IFELSE(L1<=S2&&S3>SKP1,SKP1,IFELSE(SKP1>=S3,S3,S1));//如果L1小于等于S2并且S3大于等于SKP1那么就取SKP1如果SKP1大于等于S3那么就取S3,否则取S1

SSS:IFELSE(H1>=SS2&&SS3<BKP1,BKP1,IFELSE(BKP1<=SS3,SS3,SS1));//原理同上,只是用最高点H1做判断的

REF(TMP1,1)&&BKVOL=0,BK(TC);//一个周期前满足TMP1条件并且当前多头模组持仓为0,那么买开LOT手多单

REF(MA2<MA1,1)&&BKVOL>0&&H>H1,BK(TC);//一个周期前满足MA2小于MA1并且多头持仓大于0并且H大于H1,买开LOT手多单

REF(TMP2,1)&&SKVOL=0,SK(TC);//一个周期前满足TMP2条件并且当前空头模组持仓为0,那么卖开LOT手多单

REF(MA2>MA1,1)&&SKVOL>0&&L<L1,SK(TC);//一个周期前满足MA2大于MA1并且空头持仓大于0并且L小于L1,卖开LOT手空单

BARSSK>0&&H>=SS&&SKVOL>0,BP(SKVOL);//卖开后满足H大于等于SS并且有空头持仓情况下,全平

BARSBK>0&&L<=SSS&&BKVOL>0,SP(BKVOL);//卖开后满足L小于等于SSS并且有多头持仓情况下,全平

02

资金曲线

03

回测报告

友情提示:本策略仅作为知识分享,供交流学习使用,不构成任何投资建议,不作为投资依据。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。