以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  增加 exitbars 大于5后,所有开平仓信号都消失  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=181139)

--  作者:保罗1122
--  发布时间:2020/7/11 1:30:27
--  增加 exitbars 大于5后,所有开平仓信号都消失

   本人希望在现有模型上增加一条限制:新开仓必须距离上次平仓的周期大于5根k线,可是当

开仓条件增加 exitbars 大于5后,所有开平仓信号都消失。

如在5分钟周期,对所有主力合约测试,如果不加exitbars >5 ,会有几十次开平仓机会;增加后一个信号也没有。

 

如下为简单的测试模型:


INPUT:ZS(5,1,50,1);
INPUT:ZY(20,0,100,5);
INPUT:SS(1,0,100000,100);////手数


DIFF:=EMA(CLOSE,12) - EMA(CLOSE,24);
DEA:=EMA(DIFF,4);
MACD:=2*(DIFF-DEA),COLORSTICK;

 

IF CROSS(DIFF,DEA)  && exitbars>5 && HOLDING=0  THEN /////开仓条件
BEGIN
SELLSHORT(1,SS,MARKET);
BUY(HOLDING=0,SS,MARKET); ////开仓            
END

IF C<=ENTERPRICE-ZS*MINDIFF AND HOLDING>0 AND ENTERBARS>0    /////平仓条件
THEN  SELL(1,SS,MARKET); /////平仓
IF C>ENTERPRICE+ZY*MINDIFF  AND HOLDING>0 AND ENTERBARS>0    /////平仓条件
THEN  SELL(1,SS,MARKET); /////平仓

 

[此贴子已经被作者于2020/7/11 1:30:56编辑过]

--  作者:FireScript
--  发布时间:2020/7/13 8:33:51
--  
因为你没有考虑最开始时候的情况。最开始要开仓的位置 它前面是没有任何操作的,自然就没有平仓。exitbars返回值是-1.这样就导致后续一直无法开仓了。
试着改成这样:
exitbars=-1 or exitbars>5