这是一个系统自带的三进三出交易法。
可应用在期货上,单个品种的持仓手数都很大,在公式里如何设置手数?
在期货下单功能,自定义下单设置里,设置了手数,可自动交易时还是按公式内的手数。
//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//申明变量
INPUT:N1(20,10,99),N2(15,0,99),首仓(35,0,100),二仓(65,0,100),三仓(100,0,100),首止损(5,0,15)
,二止损(10,0,15),启用期(960101,901219,1500101),FL(5,0,30);
ST:=SMA(H-L,20,1); U:MA(C,N1); D:MA(C,N2);
PP:=AVGENTERPRICE; NB:=ENTERBARS; NS:=EXITBARS;
测试期:=DATE>启用期;
持仓:=HOLDING;
券值:=持仓*C; {券值}
总资产:=券值+CASH(0);
空仓历时:=BARSLAST(持仓=0);
仓位:=券值/总资产*100; {仓位%}
浮利率:=C/PP*100-100; {持仓股获利率}
SV:=INTPART(总资产/C/300+1)*100; {标准购买单位}
M:=CROSS(U,D);
P:=CROSS(D,U);
M1:=M AND 测试期;
M2:=CROSS(C,REF(C,NB)*0.9) AND 测试期; { AND 持仓<SV*2}
M3:=CROSS(C,REF(C,NB)*(100+FL)/100) AND 测试期; { AND 持仓<SV*3}
MV1:=SV; {INTPART((总资产*首仓-100*C*持仓)/C/10000)*100仓位控制到仓1}
MV2:=SV; {INTPART((总资产*二仓-100*C*持仓)/C/10000)*100仓位控制到仓2}
MV3:=INTPART(CASH(0)/C/100)*100; {INTPART((总资产*三仓-100*C*持仓)/C/10000)*100仓位控制到仓3}
F1:=CROSS(HHV(C,NB+1)*(100-首止损)/100,C);
F2:=CROSS(HHV(C,NB+1)*(100-二止损)/100,C);
P1:=F1*(SUM(F1,NB)=1);
P2:=F2*(SUM(F2,NB)=1);
P3:=P OR CROSS(HHV(C,NB+1)*0.85,C);
PV1:=SV;
PV2:=SV;
PV3:=持仓;
//交易系统
开1:BUY(M1,MV1,THISCLOSE); //开仓1
开2:BUY(M2 AND SUM(P1+P2+P3,NB)=0,MV2,THISCLOSE); //开仓2
开3:BUY(M3 AND SUM(P1+P2+P3,NB)=0 AND M2=0,MV3,THISCLOSE); //开仓3
抛1:SELL(P1,PV1,THISCLOSE); //平仓1
抛2:SELL(P2,PV2,THISCLOSE); //平仓2
抛3:SELL(P3,PV3,THISCLOSE); //平仓3
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
开1:BUY(M1,MV1,THISCLOSE); //开仓1
开2:BUY(M2 AND SUM(P1+P2+P3,NB)=0,MV2,THISCLOSE); //开仓2
开3:BUY(M3 AND SUM(P1+P2+P3,NB)=0 AND M2=0,MV3,THISCLOSE); //开仓3
抛1:SELL(P1,PV1,THISCLOSE); //平仓1
抛2:SELL(P2,PV2,THISCLOSE); //平仓2
抛3:SELL(P3,PV3,THISCLOSE); //平仓3