RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;
VARIABLE: 基准价=0,flag1=0,flag2=0,flag3=0,VOL1=0,VOL2=0,VOL3=0;
//初始化底仓价格和调仓
IF CROSS(0,J) AND HOLDING=0 THEN BEGIN
基准价:=CLOSE;
END
SS:=1000000/基准价;
//交易条件
PD1:=基准价*1.1<C;
PD2:=(基准价*0.97)*1.1<C;
PD3:=(基准价*0.94)*1.15<C;
KD1:=CROSS(0,J);
KD2:=CROSS(基准价*0.97,L);
KD3:=CROSS(基准价*0.94,L);
//第二次进场的平仓;买每份的35%
PCC2:=(基准价*0.97)*1.1-OPEN;
IF PD2 THEN BEGIN
SELL(flag2=1,VOL2,LIMIT,OPEN+PCC2);
flag2:=2;
END
//第三次进场的平仓;买每份的20%
PCC3:=(基准价*0.94)*1.15-OPEN;
IF PD3 THEN BEGIN
SELL(flag3=1,VOL3,LIMIT,OPEN+PCC3);
flag3:=3;
END
//第一次进场的平仓;买每份的45%
PCC1:=基准价*1.1-OPEN;
IF PD1 THEN BEGIN
SELL(flag1=1,VOL1,LIMIT,OPEN+PCC1);
flag1:=0;
flag2:=0;
flag3:=0;
END
//第一次进场;买每份的45%
IF KD1 THEN BEGIN
T:=3;
BUY(HOLDING=0 AND flag1=0,SS*45/100,THISCLOSE);
T:=2;
VOL1:=ENTERVOL;
flag1:=1;
END
//第二次进场;买每份的35%
CZ2:=基准价*0.97-OPEN;
IF KD2 AND flag2=0 AND T=2 THEN BEGIN
BUY(1,SS*35/100,LIMITR,OPEN+CZ2);
T:=1;
VOL2:=ENTERVOL;
flag2:=1;
END
//第三次进场;买每份的20%
CZ3:=基准价*0.94-OPEN;
IF KD3 AND flag3=0 AND T=1 THEN BEGIN
BUY(1,SS*20/100,LIMITR,OPEN+CZ3);
T:=0;
VOL3:=ENTERVOL;
flag3:=1;
END
{
//-------------------以触及市价平仓--------------------------------
ZSPRICE:=基准价*(1-ZS/100);
ZSC:=ZSPRICE-OPEN;
IF L<=ZSPRICE AND HOLDING>0 AND ENTERBARS>0 THEN BEGIN
DRAWTEXT(1,LOW,'止损');
SELL(HOLDING>0,0,LIMITR,OPEN+ZSC);
END
{
ZYPRICE:=ENTERPRICE*(1+ZY/100);
ZYC:=ZYPRICE-OPEN;
IF H>=ZYPRICE AND HOLDING>0 AND ENTERBARS>0 THEN BEGIN
DRAWTEXT(1,HIGH,'止盈');
SELL(HOLDING>0,0,LIMITR,OPEN+ZYC);
END
回测中,在三次平仓中,最近的开仓就是77300.(5月27号)。然后后面的平仓分别以这个为标准,平了3次77300.但是第三次因为持仓不足77300,所以平了当前的池昌19400