INPUT:M(35,5,300,30),N(2,0.1,10,1),ZJL(5,1,10000,1),BZJBL(10,1,100,1);
MID := MA(CLOSE,M);//中轨
UPPER:= MID + N*STD(CLOSE,M);//上轨
LOWER:= MID - N*STD(CLOSE,M);//下轨
手数:=INTPART((ZJL*10000)/(CLOSE*MULTIPLIER*BZJBL/100));
IF 手数<1 THEN 手数:=1;
开多条件:=C>UPPER AND HOLDING=0;//上穿上轨开多
开空条件:=C<LOWER AND HOLDING=0;//下穿下轨开空
平多条件:=C<MID AND HOLDING>0; //下穿中轨平多
平空条件:=C>MID AND HOLDING<0; //上穿中轨平空
IF 开多条件 THEN BUY(1,手数,MARKET);
IF 开空条件 THEN BUYSHORT(1,手数,MARKET);
IF 平多条件 THEN SELL(1,ABS(HOLDING),MARKET);
IF 平空条件 THEN SELLSHORT(1,ABS(HOLDING),MARKET);
这段源代码是在金字塔上写的。参数M就是均线的参数,这个可以根据爱好调整下,参数N一般取2,你要是喜欢调整也可以自己调整。为了方便多个品种组合,我加了两个参数,一个是ZJL,表示开仓动用的资金量,单位是万,20表示动用20万开仓,20万会用完。一个是BZJBL,保证金比例,即测试品种的保证金比例,单位是百分比,10 表示保证金比例是10%。
模型原理昨天说了,代码也很清楚,一看就明白的。我测试了下,选了32个品种测试,所有品种适用相同的参数,每个品种分配20万资金一直不变,一直都只用20万,每个品种起始金额都设成100万(相当于起始资金3200万,任何时候都只用20*32=640万),滑点加不加都无所谓,一年3到4次的交易,单次盈利很大,滑点可以忽略,手续费是默认设置:
联系客服