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