下面是我设置的开多条件,在同一K线形态上,A上两多 or B上生多 or C上趋多 or D多头多 or F趋上生这5种情况有可能都成立,这时结果开仓开出了50手,但我的要求是当开多条件成立只开10手,如何处理???
开多:=A上两多 or B上生多 or C上趋多 or D多头多 or F趋上生;
IF 开多 THEN//如果" 开多"成立,那么
BEGIN
IF HOLDING=0 THEN BUY(1,10,THISCLOSE ),IGNORECHECKPRICE;//如果没有持单,那么以市价买入ss手
IF HOLDING>0 THEN BUY(1,10,THISCLOSE );//如果持有多单 加多信号
IF HOLDING<0 THEN//如果持有空单,那么
BEGIN
SELLSHORT(1,0,THISCLOSE ),IGNORECHECKPRICE;//平空单,以市价空头卖出所有持仓量
BUY(1,10,THISCLOSE),IGNORECHECKPRICE;//开多单,以市价买入10手
END
END
当你第一次开多10手以后,后面的这个语句,就会在在开多条件满足时,不断加仓。
IF HOLDING>0 THEN BUY(1,10,THISCLOSE );//如果持有多单 加多信号
哪如何能实现在当前K线无论多少成立,只开一次10手的仓,而在后面10根K线后如果持有多单出现开多条件,进行加仓操作呢?
不是!是在一根K线上开的单只能开10手,不能开10的倍数,而在其他K线上如果出现开多条件,同样要开出10手
IF HOLDING>0 THEN BUY(1,10,THISCLOSE );//如果持有多单 加多信号
IF HOLDING=0 THEN BUY(1,10,THISCLOSE ),IGNORECHECKPRICE;//如果没有持单,那么以市价买入ss手
这2句调换下位置。
纠正下调换顺序不行的。ENTERBARS用这个函数,当开仓后10根以后,才能进行增仓操作。
IF HOLDING=0 THEN BUY(1,10,THISCLOSE ),IGNORECHECKPRICE;//如果没有持单,那么以市价买入ss手
IF HOLDING>0 and ENTERBARS>10 THEN BUY(1,10,THISCLOSE );//如果持有多单 加多信号