
等级: 新手上路
- 注册:
- 2024-7-20
- 曾用名:
|
老师您好,我从wh过来的,麦语言基本可以操作,移植策略时碰到了问题,请您指点一下(已经修改金字塔的语言并回测,按理每日交易次数最多3次,回测发现尽然高达几十次):
代码:
VV:=2;
N:=BARSLAST(DATE<>REF(DATE,1))+1;
STH:=H>REF(H,1)&&H>=REFX(H,1)&&H>=REFX(H,2);
STL:=L<REF(L,1)&&L<=REFX(L,1)&&L<=REFX(L,2);
KK:=HHV(H,TODAYBAR)>REF(MAX(C,VALUEWHEN(TODAYBAR=1,O)),TODAYBAR)&&EXIST(STL,TODAYBAR)&&EXIST(STH,TODAYBAR)&&VALUEWHEN(STL,L<=REF(VALUEWHEN(STL,L),1))&&H>VALUEWHEN(STH,H);
DD:=LLV(L,TODAYBAR)<REF(MIN(C,VALUEWHEN(TODAYBAR=1,O)),TODAYBAR)&&EXIST(STL,TODAYBAR)&&EXIST(STH,TODAYBAR)&&VALUEWHEN(STH,H>=REF(VALUEWHEN(STH,H),1))&&L<VALUEWHEN(STL,L);
KKX:=HHV(H,TODAYBAR)>REF(MAX(C,VALUEWHEN(TODAYBAR=1,O)),TODAYBAR)&&EXIST(STL,TODAYBAR)&&EXIST(STH,TODAYBAR)&&STH&&VALUEWHEN(STL,L<=REF(VALUEWHEN(STL,L),1))&&H>REF(VALUEWHEN(STH,H),1);
DDX:=LLV(L,TODAYBAR)<REF(MIN(C,VALUEWHEN(TODAYBAR=1,O)),TODAYBAR)&&EXIST(STL,TODAYBAR)&&EXIST(STH,TODAYBAR)&&STL&&VALUEWHEN(STH,H>=REF(VALUEWHEN(STH,H),1))&&L<REF(VALUEWHEN(STL,L),1);
KKP:=REF(L-(1*MINDIFF),BARSLAST(STL));
DDP:=REF(H+(1*MINDIFF),BARSLAST(STH));
KD:=KK||KKX;//开多条件
PD:=KKP; //平多条件
MK:=DD||DDX;//开空条件
PK:=DDP; //平空条件
PK:=SELLSHORT(PK AND HOLDING<0,VV,MARKET); //平空信号
KD:=BUY(KD AND HOLDING=0,VV,MARKET); //开多信号
PD:=SELL(PD AND HOLDING>0,VV,MARKET); //平多信号
MK:=BUYSHORT(MK AND HOLDING=0,VV,MARKET); //开空信号
//止盈
ZYD:=SELL(C-AVGENTERPRICE>=15*MINDIFF,HOLDING,MARKET);
ZYK:=SELLSHORT(AVGENTERPRICE-C>=15*MINDIFF,HOLDING,MARKET);
由于未来函数的问题,逐k给了我很多不建议的提示,我不知道序列和逐可对我的策略是否有影响,能否请老师帮我修改一下,如果可以能否改为后台程序化,并增加一个下午收盘前5分钟清仓即可,谢谢老师!
|
|