等级: 免费版
- 注册:
- 2023-4-11
- 曾用名:
|

楼主 |
发表于 2023-4-15 14:52
|
显示全部楼层
感谢老师回复,测试后发现如下问题
VARIABLE:HIGHPRICE=0;
EMA13:=EMA(C,10),COLORWHITE;
EMA21:=EMA(C,21),COLORYELLOW;
EMA34:=EMA(C,34),COLORFF00FF;
EMA60:=MA(C,55),COLORFFCC66;
X1:=(C+L+H)/3;
X2:=EMA(X1,5);
X3:=EMA(X2,4);
MID:=(3*CLOSE+LOW+OPEN+HIGH)/6;
AA:(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20))/210,COLORRED;
DK:=IF(X2>X3 AND C>EMA13 AND CROSS(C,AA),1,0);
KK:=IF(X2<X3 AND C<EMA13 AND CROSS(AA,C),1,0);
//开多单
IF DK THEN BEGIN
多开:BUY(1,1,MARKET);
// HIGHPRICE:=ENTERPRICE; //将开仓价保存到最高价
END
bar:TYPEBAR(1,1)+1;
//1:初始止损
//持仓情况:1手持仓
//解发平仓:当开仓后,初始止损为开仓位K线最低价,触发则立即止损;
//**********经测试,初始止损平仓逻辑不正确,应该为:例如棕榈油05合约多开后,从第二根K线开始计算,价格下破多开时当根K线的最低价,初始止损平仓
IF HOLDING=1 AND TYPEBAR(1,1)>0 AND ENTERPRICE<LOW THEN BEGIN
初始止损:SELL(1,1,MARKET);
END
DRAWNUMBER(ENTERPRICE-LOW>0,LOW,ENTERPRICE-LOW,0);
//2:强制平仓:
//持仓情况:1手持仓
//触发平仓:当前K线收盘价 - 多持仓均价 <= -20点(对应变动单位),强制平仓;
//**********经测试,强制平仓执行的逻辑不正确,例如棕榈油05合约,多开后从第二根K线开始计算,应亏损达到20点平仓,实际是没有到目标就平仓了(触发条件:开仓后从第2根K线开始计算与开仓价相差-20点,强制平仓)
IF HOLDING=1 AND TYPEBAR(1,1)>0 AND OPENPROFIT<=-20*MINDIFF THEN BEGIN
强平:SELL(1,1,MARKET);
END
//3:保本平仓
//持仓情况:1手持仓(单次开仓)
//触发平仓:当开仓后浮动盈利>8点,后当收盘价 - 多持仓均价 <=2 保本平仓所有仓位;
//**********经测试,实际盘中没有看到效果,该策略触发条件:例如棕榈油05合约,多单开仓价为5000,价格上涨至5010(浮盈超过8点)后回落至当时多开价格5000(或多持仓价格5000),保本平仓
IF HOLDING=1 AND HHV(OPENPROFIT,bar)>=8*MINDIFF AND OPENPROFIT<=2*MINDIFF THEN BEGIN
保本1:SELL(1,1,MARKET);
END
//持仓情况:2手持仓(多次开仓)
//触发平仓:当开仓后浮动盈利>6点,后当收盘价 - 多持仓均价 <=2 保本平仓所有仓位;
//**********还未测试,
IF HOLDING=2 AND TYPEBAR(1,1)>0 AND HHV(OPENPROFIT,bar)>=6*MINDIFF AND OPENPROFIT<=2*MINDIFF THEN BEGIN
保本2:SELL(1,2,MARKET);
END
//持仓情况:3手持仓(多次开仓)
//触发平仓:当开仓后浮动盈利>4点,后当收盘价 - 多持仓均价 <=2 保本平仓所有仓位;
//**********还未测试,
IF HOLDING=3 AND TYPEBAR(1,1)>0 AND HHV(OPENPROFIT,bar)>=4*MINDIFF AND OPENPROFIT<=2*MINDIFF THEN BEGIN
保本3:SELL(1,3,MARKET);
END |
|