[求助]关于移动止损 (文华财经WH8赢智V8.2)

投资者咨询:[求助]关于移动止损 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-17 14:40
老师好,我调整了一下程序自带的移动止损程序,如下,逻辑为:高点回撤一定幅度,反多做空,低点反弹一定幅度,反空做多。但是没有信号,烦请老师帮忙看一下?谢谢!!

A:=MINPRICE1;//取模组交易合约的最小变动价位
HH:=HHV(H,BARSBK+1);
LL:=LLV(L,BARSSK+1);//以上取买开仓以来最高价;卖开仓以来最低价;
SL:=A*INTPART(K/10*HH/A);//计算止损幅度
TC..INTPART((REF(MONEYTOT,1)*0.003/10/SL));//仓位计算
 (C<HH-SL)&&BKPRICE>0,SPK(TC);//高点回撤SL,平多反手
(C>LL+SL)&&SKPRICE>0,BPK(TC);//低点反弹SL,平空反手
CHECKSIG_MIN(BPK, 'A', 0, 'C' ,0);
CHECKSIG_MIN(SPK, 'A', 0, 'C' ,0);

技术人员回复
日期:2018-8-17 15:05

 1楼源码中没有考虑到首次开仓的情况

 

所有的开仓条件都使用SKPRICE>0 或者  BKPRICE>0,所以永远不满足开仓条件

 

所以 HH:=HHV(H,BARSBK+1)也不会有返回值

 

可以这样修改:

 

K:=10;
A:=MINPRICE1;//取模组交易合约的最小变动价位
HH:HHV(H,BARSBK+1);
LL:LLV(L,BARSSK+1);//以上取买开仓以来最高价;卖开仓以来最低价;
SL:K*A;//计算止损幅度
TC..INTPART((REF(MONEYTOT,1)*0.003/10/SL));//仓位计算

 

//添加一个首次开仓

EXIST(CROSS(SKVOL+BKVOL,0.5),BARPOS)=0&&ISUP,BK(TC);
EXIST(CROSS(SKVOL+BKVOL,0.5),BARPOS)=0&&ISDOWN,SK(TC);

 

 (C<HH-SL)&&BKPRICE>0,SPK(TC);//高点回撤SL,平多反手
(C>LL+SL)&&SKPRICE>0,BPK(TC);//低点反弹SL,平空反手
CHECKSIG_MIN(BPK, 'A', 0, 'C' ,0);
CHECKSIG_MIN(SPK, 'A', 0, 'C' ,0);

 

 

 

 

投资者咨询:[求助]关于移动止损 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-17 14:40
 谢谢!