[求助]根据之前几次是否盈利控制开仓手数 (文华财经WH8赢智V8.2)

投资者咨询:[求助]根据之前几次是否盈利控制开仓手数 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-17 15:31
老师好,请教假设想进行如下控制:

假如之前5次交易之中有一次交易,该次交易的盈利大于该次交易平仓时总权益的50%(即假设该次交易平仓时总权益10万,该次交易盈利5万以上), 则本次交易的开仓手数为固定1手,
假如没有上述情况,则开仓手数为总权益的25%/该品种每手所需资金)。

请教能否做到。

抱歉补充一点,如果说这个是有checksig_min函数的话,有没有可能做到不统计信号消失的交易数?
 
技术人员回复
日期:2018-7-17 16:46
 请参考:

VARIABLE:K:=0;
CON:LASTOFFSETPROFIT/MONEYTOT*100;
COM:=COUNTSIG(BK,0)+COUNTSIG(SK,0);
ND:=IF(CROSS((BKVOL=0||ISNULL(BKVOL))&&(SKVOL=0||ISNULL(SKVOL)),0.5),1,0);
NNX:SUMBARS(ND,5);
IF COM<=5  THEN
BEGIN
K:=MONEY*0.25/(C*MARGIN*UNIT);
END
IF COM>5&&EXIST(CON>50,NNX)=0  THEN
BEGIN
K:=MONEY*0.25/(C*MARGIN*UNIT);
END
IF COM>5&&EXIST(CON>5,NNX)=1  THEN
BEGIN
K:=1;
END

EVERY(ISUP,3),BK(K);
EVERY(ISDOWN,3),SP(BKVOL);

投资者咨询:[求助]根据之前几次是否盈利控制开仓手数 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-17 15:31
 老师好,加载后有个问题,ND的返回值始终为0,猜测是因为整个交易模型是全程BPK-SPK所致,即买平后立即反手开多,卖平后立即反手开空,中间不存在空仓所致,请问如果是全程BPK-SPK的情况下,ND这一行如何修改?
技术人员回复
日期:2018-7-17 21:03
 这么试下

VARIABLE:K:=0;
CON:LASTOFFSETPROFIT/MONEYTOT*100;
COM:=COUNTSIG(BK,0)+COUNTSIG(SK,0)+COUNTSIG(BPK,0)+COUNTSIG(SPK,0);
ND:=IF(BARSBP=1||BARSSP=1,1,0);
NNX:SUMBARS(ND,5);
IF COM<=5  THEN
BEGIN
K:=MONEY*0.25/(C*MARGIN*UNIT);
END
IF COM>5&&EXIST(CON>50,NNX)=0  THEN
BEGIN
K:=MONEY*0.25/(C*MARGIN*UNIT);
END
IF COM>5&&EXIST(CON>5,NNX)=1  THEN
BEGIN
K:=1;
END

EVERY(ISUP,3),BK(K);
EVERY(ISDOWN,3),SP(BKVOL);