用輪詢模式 ,目前貌似沒有保本效應(yīng),策略哪里寫的有問題嗎?是不是holding寫錯(cuò)啦,代碼如下:
HH:=HHV(H,ENTERPRICE);//買開倉位置到現(xiàn)在最高價(jià)
LL:=LLV(L,ENTERPRICE);//賣開倉位置到現(xiàn)在最低價(jià)
//出現(xiàn)25個(gè)點(diǎn)以上的利潤,最高點(diǎn)到現(xiàn)在回落50%
DD:= HH-ENTERPRICE>=25*MINDIFF AND C<0.5*HH;
KK:= ENTERPRICE-LL>=25*MINDIFF AND C>0.5*LL;
IF HOLDING>0&& DD THEN
SELL(1,HOLDING,LIMITR,CLOSE); //平多
IF HOLDING>0&& KK THEN
SELLSHORT(1,HOLDING,LIMITR,CLOSE); //平空
//120點(diǎn)止盈,15止損
HH:=HHV(H,ENTERPRICE);//買開倉位置到現(xiàn)在最高價(jià)
LL:=LLV(L,ENTERPRICE);//賣開倉位置到現(xiàn)在最低價(jià)
HH1:=0.5*(HH+ENTERPRICE);
LL1:=0.5*(LL+ENTERPRICE);
//出現(xiàn)25個(gè)點(diǎn)以上的利潤,但是不到100
DD:= HH-ENTERPRICE>=25*MINDIFF AND C<HH1;
KK:= ENTERPRICE-LL>=25*MINDIFF AND C>LL1;
PD:= (C>=ENTERPRICE+120*MINDIFF) OR (ENTERPRICE-25*MINDIFF>=C ) OR DD; //平多條件
PK:=(C>=ENTERPRICE+25*MINDIFF) OR (ENTERPRICE-120*MINDIFF>=C) OR KK; //平空條件
IF HOLDING>0&& DD THEN
SELL(1,HOLDING,LIMITR,CLOSE); //平多
IF HOLDING>0&& KK THEN
SELLSHORT(1,HOLDING,LIMITR,CLOSE); //平空
改成了這個(gè) 大致可以 但是不明白為啥最后一行 要求 holding>0? 平空不是要求有空倉嗎?
用holding<0多了很多無用的交易啊
HH:=HHV(H,ENTERPRICE);//買開倉位置到現(xiàn)在最高價(jià)
LL:=LLV(L,ENTERPRICE);//賣開倉位置到現(xiàn)在最低價(jià)
HH1:=0.5*(HH+ENTERPRICE);
LL1:=0.5*(LL+ENTERPRICE);
//出現(xiàn)25個(gè)點(diǎn)以上的利潤,但是不到100
DD:= HH-ENTERPRICE>=20*MINDIFF AND C<HH1;
KK:= ENTERPRICE-LL>=20*MINDIFF AND C>LL1;
PD:= (C>=ENTERPRICE+120*MINDIFF) OR (ENTERPRICE-15*MINDIFF>=C ) ; //止損
PK:=(C>=ENTERPRICE+15*MINDIFF) OR (ENTERPRICE-120*MINDIFF>=C) ; //止損
IF HOLDING>0&& PD THEN
SELL(1,HOLDING,LIMITR,CLOSE); //平多
IF HOLDING<0&& PK THEN
SELLSHORT(1,HOLDING,LIMITR,CLOSE); //平空
IF HOLDING>0&&DD THEN
SELL(1,HOLDING,LIMITR,CLOSE); //平多
IF HOLDING<0&& KK THEN
SELLSHORT(1,HOLDING,LIMITR,CLOSE); //平空