ENTERHP:=VALUEWHEN(TEMPHOLDINGs>0 AND TENTERBARS>1,HHV(REF(H,1),TENTERBARS-1));
ENTERLP:=VALUEWHEN(TEMPHOLDINGs<0 AND TENTERBARS>1,LLV(REF(L,1),TENTERBARS-1));
IF TEMPHOLDINGs<>0 THEN BEGIN
IF TEMPHOLDINGs>0 THEN BEGIN
IF ENTERHP>=MENTPRICE+istart THEN STOPLINE:=ENTERHP-Trail_STOP;
ELSE STOPLINE:=MENTPRICE-istop;
END
ELSE IF TEMPHOLDINGs<0 THEN BEGIN
IF ENTERLP<=MENTPRICE-istart THEN STOPLINE:=ENTERLP+Trail_STOP;
ELSE STOPLINE:=MENTPRICE+istop;
END
END
//开空条间1:1.开仓时间在参数设定的允许范围内;2.目前没有持空;3.之前日内高点曾经突破过SSETUP这条线;4.当前K线向下突破enters这条线;5.日内交易次数小于参数设定值。
ENTERS1:=IF(CurrentTIME>=STARTTIME AND CurrentTIME<145500 AND TEMPHOLDINGs>=0 AND LDAYH>=SSETUP AND L<=ENTERS AND rfilter AND TRADECOUNT<TLMT,MIN(O,ENTERS),0) and bLongStopped+BShortStopped<1; //开空
//开多条间1:1.开仓时间在参数设定的允许范围内;2.目前没有持多;3.之前日内低点曾经突破过BSETUP这条线;4.当前K线向上突破enterb这条线;5.日内交易次数小于参数设定值。
ENTERL1:=IF(CurrentTIME>=STARTTIME AND CurrentTIME<145500 AND TEMPHOLDINGs<=0 AND LDAYL<=BSETUP AND H>=ENTERB AND rfilter AND TRADECOUNT<TLMT,MAX(O,ENTERB),0) and bLongStopped+BShortStopped<1; //开多
//开多条间2:1.开仓时间在参数设定的允许范围内;2.目前没有持仓;3.当前最高价突破BBREAK这条线;4.日内交易次数小于参数设定值。
ENTERL2:=IF(CurrentTIME>=STARTTIME AND CurrentTIME<145500 AND TEMPHOLDINGs=0 AND H>=BBREAK AND TRADECOUNT<TLMT,MAX(O,BBREAK),0) and bLongStopped+BShortStopped<1; //突破开多
//开空条间2:1.开仓时间在参数设定的允许范围内;2.目前没有持仓;3.当前最低价突破SBREAK这条线;4.日内交易次数小于参数设定值。
ENTERS2:=IF(CurrentTIME>=STARTTIME AND CurrentTIME<145500 AND TEMPHOLDINGs=0 AND L<=SBREAK AND TRADECOUNT<TLMT,MIN(O,SBREAK),0) and bLongStopped+BShortStopped<1; //突破开空
//空头止盈:1.持有空单;2.持仓时间大于1根K线周期;3.最高价突破止损线。
EXITS1:=IF(TEMPHOLDINGS<0 AND TENTERBARS>1 AND H>=STOPLINE,MAX(O,STOPLINE),0); //空头止盈
//多头止盈:1.持有多单;2.持仓时间大于1根K线周期;3.最低价突破止损线。
EXITL1:=IF(TEMPHOLDINGS>0 AND TENTERBARS>1 AND L<=STOPLINE,MIN(O,STOPLINE),0); //多头止盈
//空头止损:1.开仓时间在参数设定的允许范围内;2.目前持有空单;3.当前最高价减进场价大于等于止损值。
EXITS2:=IF(CurrentTIME>=STARTTIME AND CURRENTTIME<145958 AND TEMPHOLDINGS<0 AND H-MENTPRICE>=i_reverse AND rfilter,Max(o,MENTPRICE+i_reverse),0); //止损,平空
//多头止损:1.开仓时间在参数设定的允许范围内;2.目前持有多单;3.进场价减当前最低价大于等于止损值。
EXITL2:=IF(CURRENTTIME>=STARTTIME AND CURRENTTIME<145958 AND TEMPHOLDINGS>0 AND MENTPRICE-L>=I_REVERSE AND rfilter,min(o,MENTPRICE-i_reverse),0); //止损,平多