Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:没有触发止损止盈就平仓的问题

1楼
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
按此在新窗口浏览图片



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


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 3 queries.