1、开多单或空单后,每次检测上一次开仓价,收盘价在上一次开仓价下跌10点,加仓;收盘价在上一次开仓价上浮10个点,加仓,不计次数。
2、下跌加仓后,没有达到平仓条件,收盘价在上一次开仓价上浮10个点就不加仓了,上浮加仓后,没有达到平仓条件,收盘价在上一次开仓价下跌10点,就没有加仓。
我需要解决的问题,空单为例,每盈利10个点加仓一次,如果加仓后均价没有盈利或亏损,每逢亏损10个点又加仓一次,又如果加仓盈利后,每盈利10个点又加仓一次,直到达到平仓条件为止。
请老师帮忙写一下,如上面文字没有说清楚,请老师看图写一下程序,亏损10个点我也要加仓,盈利10个点我也要加仓。或者按上一次的开仓价,亏损10个点我也要加仓,盈利10个点我也要加仓。
老师,我按上面的加上去的,但没有达到效果。帮我看一下,谢谢。
//声明参数
INPUT : A(5,1,30,3) ;
INPUT : B(15,5,100,10);
INPUT : SS(1,1,10000,1) ;
//中间变量
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;
jccond1:c-ENTERPRICE>=10*MINDIFF;
jccond2:ENTERPRICE-c>=10*MINDIFF;
cond:(count(jccond1 or jccond2,ENTERBARS)=1 and (JCCOND1 or JCCOND2)) or ((JCCOND1 and count(JCCOND2,ENTERBARS)=1) or (JCCOND2 and count(JCCOND1,ENTERBARS)=1)) ;
//交易条件
开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件
//交易系统
if 开多平空条件 then begin
sellshort(holding<0 ,HOLDING,MARKETR)IGNORECHECKPRICE;
buy(holding=0,ss,MARKETR)IGNORECHECKPRICE;
end
if 开空平多条件 then begin
sell(holding>0 ,HOLDING,MARKETR)IGNORECHECKPRICE;
buyshort(holding=0,ss,MARKETR)IGNORECHECKPRICE;
end
if 开多平空条件 and cond then begin
sellshort(holding<0 ,HOLDING,MARKETR)IGNORECHECKPRICE;
buy(holding>0 ,ss,market);
end
if 开空平多条件 and cond then begin
sell(holding>0 ,HOLDING,MARKETR)IGNORECHECKPRICE;
buyshort(holding<0 ,ss,market);
end
这样写也不行。
if 开多平空条件 then begin
sellshort(holding<0 ,HOLDING,MARKETR)IGNORECHECKPRICE;
buy(holding>0 and cond,ss,market);
end
if 开空平多条件 then begin
sell(holding>0 ,HOLDING,MARKETR)IGNORECHECKPRICE;
buyshort(holding<0 and cond,ss,market);
end