以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=180778) |
-- 作者:意气风发 -- 发布时间:2020/6/23 14:47:42 -- 止损代码 SS:SETTLE; A1:=REF(SETTLE,1); A2:=SETTLE>A1; A3:=C>SETTLE; A4:SETTLE<A1; A5:=C<SETTLE; M:=IF(EXIST(TIME=2100,DAYBARPOS),1,TIME>=910); COUNTSIG(BK,DAYBARPOS)=0&&A2&&A3&&(TIME>=2100||TIME<1430)&&M,BK; COUNTSIG(SK,DAYBARPOS)=0&&A4&&A5&&(TIME>=2100||TIME<1430)&&M,SK; ZS1:=(SKPRICE-BKPRICE)/SKPRICE*100,NODRAW; ZS2:=(BKPRICE-SKPRICE)/BKPRICE*100,NODRAW; AA..ZS1+ZS2<=-1; A2&&A3&&(TIME>=2100||TIME<1430)&&(ISLASTSK||ISLASTBP||ISLASTSPK)&&COUNT(AA,DAYBARPOS)=0&&M,BPK; A4&&A5&&(TIME>=2100||TIME<1430)&&(ISLASTBK||ISLASTSP||ISLASTBPK)&&COUNT(AA,DAYBARPOS)=0&&M,SPK; CLOSEMINUTE1<=3,CLOSEOUT; AUTOFILTER; CHECKSIG(CLOSEOUT,\'A\',0,\'C\',0,0); 这是一个完整的日内模型代码,但没有止损,我想加个止损代码,请问该如何编写?我的止损条件是,当累计亏损累计达到-1%时,当天就不再交易。举个例子,假如当天第一笔多单买开价格5000,后价格下跌,反手做空,卖平及卖开价格是4960,此时亏损率为(4960-5000)/5000=-0.8%,反手做空后,价格又涨到了4970,此时又亏损了(4960-4970)/4960=-0.2%,这时,我希望模型能进行全平操作,因为累积亏损达到了-0.8%+(-0.2%)=-1%。另,这是文华上的麦语言代码,在文华上能查看函数说明,当然也可以问我。
|
-- 作者:意气风发 -- 发布时间:2020/6/23 15:01:21 -- 模型里面的zs1和zs2达不到止损的效果。 |
-- 作者:gxx978 -- 发布时间:2020/6/23 15:06:58 -- 大致理清了这段逻辑,我们会借鉴里面的开平仓条件,加上你的止损需求编写金字塔代码的。需要使用全局变量记录当天的亏损率,来进行止损。代码编写需要时间,我们会尽快回复,关注此贴就可以,不必重复发帖。 |
-- 作者:gxx978 -- 发布时间:2020/6/23 16:21:12 -- 代码如下,以供参考: VARIABLE:PROFIT=0,KD=0,KK=0,ZZ=0; //PROFIT记录亏损率,KD和KK分别控制日内分别只开1次,ZZ用来控制止损后不再交易。 N1:=TODAYBAR;
M:TIME>010000 AND TIME<183000;
XPRICE:=REF(ENTERPRICE,1); //获取上次开仓价 IF KD=0 AND ZZ=0 AND A2 AND A3 AND M THEN BEGIN
IF PROFIT<-0.01 THEN BEGIN |