如图,平仓反手会出现同一根K线开平仓,具体代码框架如下,请大神帮忙看看~
KD:=AAA AND HOLDING=0;
KK:=BBB AND HOLDING=0;
//开仓
IF KD THEN
BEGIN
开多:BUY(1,SS,MARKET),ORDERQUEUE;
END
IF KK THEN
BEGIN
开空:BUYSHORT(1,SS,MARKET),ORDERQUEUE;
END
//平仓
PD:=CCC AND HOLDING>0 AND ENTERBARS>1;
PK:=DDD AND HOLDING<0 AND ENTERBARS>1;
ZS:=EEE AND ABS(HOLDING)>0 AND ENTERBARS>0;
IF PD OR GDZS THEN
BEGIN
SELL(1,0,MARKET),ORDERQUEUE;
BUYSHORT(FFF AND HOLDING=0,SS,MARKET),ORDERQUEUE;
END
IF PK OR GDZS THEN
BEGIN
SELLSHORT(1,0,MARKET),ORDERQUEUE;
BUY(GGG AND HOLDING=0,SS,MARKET),ORDERQUEUE;
END
K线信号仍然是一样的,只是回测本来是下一根K线开盘价执行变成本根K线收盘价执行而已呀.

此主题相关图片如下:捕获2.jpg

INPUT:SS(8,1,30); //开仓手数
INPUT:ZSJG(20000,10000,30000,1000); //止损价格
MA1:MA(C,13);
MA2:MA(C,26);
KD:=CROSS(MA1,MA2) AND HOLDING=0; //开多
KK:=CROSS(MA2,MA1) AND HOLDING=0; //开空
//开仓
IF KD THEN
BEGIN
开多:BUY(1,SS,MARKETR),ORDERQUEUE;
END
IF KK THEN
BEGIN
开空:BUYSHORT(1,SS,MARKETR),ORDERQUEUE;
END
//平仓
PD:=CROSS(MA2,MA1) AND HOLDING>0 AND ENTERBARS>1; //平多
PK:=CROSS(MA1,MA2) AND HOLDING<0 AND ENTERBARS>1; //平空
GDZS:=-OPENPROFIT>=ZSJG AND ABS(HOLDING)>0 AND ENTERBARS>1; //固定止损
IF PD OR GDZS THEN
BEGIN
SELL(1,0,MARKETR),ORDERQUEUE;
BUYSHORT(MA2>MA1 AND HOLDING=0,SS,MARKETR),ORDERQUEUE;
END
IF PK OR GDZS THEN
BEGIN
SELLSHORT(1,0,MARKETR),ORDERQUEUE;
BUY(MA1>MA2 AND HOLDING=0,SS,MARKETR),ORDERQUEUE;
END
嗯嗯,简单来说就这样的,不管是MARKETR还是MARKET都会出现同根K线开平仓~