如何做到换月不开仓?? (文华财经WH6赢顺V6.7)

投资者咨询:如何做到换月不开仓?? (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-6-27 14:52
 老师,我的程序在换月的时候会默认满足条件,但是实际上不应该开仓,如何做到换月的时候不开仓呢??
SETDEALPERCENT(20);
Z1:=0.06;
Z2:=-0.06;
ZT:=YSETTLE*(1+Z1);//涨停
DT:=YSETTLE*(1+Z2);//跌停
BKN:=COUNTSIG(BK,DAYBARPOS);
SKN:=COUNTSIG(SK,DAYBARPOS);
(C>=ZT OR H>=ZT)&& BKN=0,BK;//
(C<=DT OR L<=DT) && SKN=0,SK;//
TRADE_OTHER('AUTO');
B1:=(BKHIGH-BKPRICE)*MINPRICE/(C*MARGIN)>=0.12 AND (BKHIGH-BKPRICE)*MINPRICE/(C*MARGIN)<0.25 ;//上涨最高盈利在12%至25%之间
B2:= (BKHIGH-C)/(BKHIGH-BKPRICE)>0.9;//回撤大于10%
B3:=(BKHIGH-BKPRICE)*MINPRICE/(C*MARGIN)>=0.25 AND (BKHIGH-C)/(BKHIGH-BKPRICE)>0.2;//上涨最高盈利大于25%且回撤大于20%
B4:= (C-BKPRICE)<55*MINPRICE;//55跳止损
ISLASTBK &&(B1 AND B2) OR B3 OR B4,SP;
S1:(SKPRICE-SKLOW)*MINPRICE/(C*MARGIN)>=0.12 AND (SKPRICE-SKLOW)*MINPRICE/(C*MARGIN)<0.5;//下跌最高盈利在12%至25%之间
S2:(C-SKLOW)/(SKPRICE-SKLOW)>0.9;//回撤大于10%
S3:((SKPRICE-SKLOW)*MINPRICE/(C*MARGIN)>=0.25 AND (C-BKLOW)/(SKPRICE-SKLOW)>0.2);//下跌最高盈利大于25%且回撤大于20%
S4:(SKPRICE-C)<-55*MINPRICE;//55跳止损
ISLASTSK && (S1 AND S2) OR S3 OR S4,BP;
AUTOFILTER;

 
技术人员回复
日期:2018-6-27 15:26
 换月移仓与您加载的模型没有关系的

合约在换月的时候还有持仓,程序会自动平掉老仓,在开同方向的新仓的,以保证程序可以连续的执行下去

所以函数编写是控制不了自动换月移仓操作的



如果您想要程序化自动运行的时候,换月不开仓,可以通过手动来实现,方法如下:

模型不写TRADE_OTHER('AUTO');函数,之后交易指数合约,手动指定当前主力合约为交易合约

当主力合约换月,并程序执行完平仓后,在重新指定交易合约新的主力合约,这样就可以连续运行下去了