[PEL] 复制代码
k:=1;//首次开仓手数;
jk:=1;//加仓手数;
tt:=3;//开仓每个信号之间的间距;
tp:=100;//止盈
lp:=20;//止损;
ma5:ema(c,5);
ma15:ema(c,15);
ma55:ema(c,55);
n_jc_ma5_ma15:=sumbars(cross(ma5,ma15),1);//金叉加仓;
n_sc_ma5_ma15:=sumbars(cross(ma15,ma5),1);//死叉减仓;
barsbk:ref(c,typebar(1,1));
barssp:=ref(c,typebar(1,2));
//开仓
kd:=cross(c>ma55 and min(ma5,ma15)>ma55,0.5);
buy(kd and holding=0,k,market);
jd:=min(barsbk,barssp)>=tt and c>=ma55 and n_jc_ma5_ma15=1;//加仓
buy(holding>0 and jd,tk,market);
pd1:=min(barsbk,barssp)>=tt and c>=ma55 and n_sc_ma5_ma15=1;//减仓
sell(pd1,tk,market);
pd2:=cross(ma55,c);//下穿55日均线时候,平所有仓位;
sell(pd2,holding,market);
dzy:=c>avgenterprice+tp*mindiff;//止盈100跳;
sell(dzy,holding,market);
dzs:=c<avgenterprice-lp*mindiff;//止损20跳;
sell(dzs,holding,market);
barssk:ref(c,typebar(1,3));
barssp:=ref(c,typebar(1,4));
kk1:=cross(c<ma55 and max(ma5,ma15)<ma55,0.5);
buyshort(kk1 and holding=0,k,market);
kk2:=min(barssk,barssp)>=tt and c<ma55 and n_sc_ma5_ma15=1;
buyshort(kk2 and holding=0,jk,market);
pk1:=min(barssk,barssp)>=tt and c<ma55 and n_jc_ma5_ma15=1;
sellshort(pk1,jk,market);
pk2:=cross(c,ma55);
sellshort(pk2,holding,market);
pk3:=c<avgenterprice-lp*mindiff;
sellshort(pk3,holding,market);