以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  没有触发止损止盈就平仓的问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=169091)

--  作者:13505480838
--  发布时间:2019/3/31 14:24:44
--  没有触发止损止盈就平仓的问题

INPUT:SS(1,1,999,1);//开仓手数

INPUT:ZY(3,0,999,1);//止盈 3%

INPUT:ZS(1,0,999,1);//止损 1%

 

B:=STKINDI(\'\',\'1.A\',0,1,0);

B1:=STKINDI(\'\',\'2.A1\',0,1,0);

B2:=STKINDI(\'\',\'3.A2\',0,3,0);

B3:=STKINDI(\'\',\'4.A3\',0,3,0);

B4:=STKINDI(\'\',\'5.A4\',0,6,0);

B5:=STKINDI(\'\',\'6.A5\',0,6,0);

开空:B and B1 and B2 and B3 and B4 and B5;

 

j:=STKINDI(\'\',\'1.A\',0,1,0);

j1:=STKINDI(\'\',\'2.A1\',0,1,0);

j2:=STKINDI(\'\',\'3.A2\',0,3,0);

j3:=STKINDI(\'\',\'4.A3\',0,3,0);

j4:=STKINDI(\'\',\'5.A4\',0,6,0);

j5:=STKINDI(\'\',\'6.A5\',0,6,0);

开多:j and j1 and j2 and j3 and j4 and j5;

 

KD:=开多;

KK:=开空;

 

 IF KD AND HOLDING<=0 THEN

 BEGIN

 SELLSHORT(HOLDING<0,0,MARKETR);

 BUY(HOLDING=0,SS,MARKETR);

 END

 

 IF KK  AND HOLDING>=0 THEN

 BEGIN

 SELL(HOLDING>0,0,MARKETR);

 BUYSHORT(HOLDING=0,SS,MARKETR);

 END

 

 

//盈利

DZYJ:=ENTERPRICE*(1+ZY/100);

IF HOLDING=SS AND C>=DZYJ THEN

BEGIN

 SELL(HOLDING=SS,0,MARKETR);

END

KZYJ:=ENTERPRICE*(1-ZY/100);

IF HOLDING=-1*SS AND C<=KZYJ THEN

BEGIN

 SELLSHORT(HOLDING=-1*SS,0,MARKETR);

END

 

 

 

 

//止损

DZS2:=ENTERPRICE*(1-ZS/100);

IF C<DZS2 AND HOLDING>0 AND ENTERBARS>0 THEN

BEGIN

SELL(HOLDING>0,0,MARKETR);

END

KZS2:=ENTERPRICE*(1+ZS/100);

IF C>KZS2 AND HOLDING<0 AND ENTERBARS>0 THEN

BEGIN

SELLSHORT(HOLDING<0,0,MARKETR);

END

 

 

当前持仓:HOLDING,COLORGRAY,LINETHICK0;

当前资产:ASSET,NOAXIS,COLORGRAY;


此主题相关图片如下:qq浏览器截图20190331142151.png
按此在新窗口浏览图片



 

--  作者:FireScript
--  发布时间:2019/4/1 9:56:34
--  
 止盈止损可能没有触发,但是我看你这个平仓这里是反手啊。是反向开仓的条件触发导致的吧。
--  作者:13505480838
--  发布时间:2019/4/1 11:25:55
--  
原因已找到,是触发了 反向开仓的条件导致的,就是这两个SELLSHORT(HOLDING<0,0,MARKETR);        SELL(HOLDING>0,0,MARKETR);在起作用,请问老师如果原公式不变动,只把这两句去除掉会不会影响策略的正常运行也就是说会不会改变这个策略的整体思路??不好意思,小白一个,找人编写的,自己一点不懂,麻烦老师了