以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- 连续亏损3次和资金回撤4%,停止建仓 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=172553) |
-- 作者:wxx212 -- 发布时间:2019/10/22 14:09:36 -- 连续亏损3次和资金回撤4%,停止建仓 想实现:连续亏损3次以上或者资金回撤10%,停止程序建仓,如果有仓位,只出场不建仓.资金盈利5¥ 或者 连续亏损到10次 或者 连续盈利3次 重新 开启程序 进场 这个要怎么实现 源码如下: aa:ma(c,100); bb:ma(c,300); KD:=cross(c,aa) and c>=bb ; //开多条件 PD:=cross(aa,c); //平多条件 KK:=cross(aa,c) and c<=bb; //开空条件 PK:=cross(c,aa); //平空条件 平空:SELLSHORT(PK,10,MARKET); //平空信号 开多:BUY(KD AND HOLDING=0,1,MARKET); //开多信号 平多:SELL(PD,1,MARKET); //平多信号 开空:BUYSHORT(KK AND HOLDING=0,1,MARKET); //开空信号 资产:asset,noaxis;
|
-- 作者:FireScript -- 发布时间:2019/10/22 14:36:20 -- 连亏 这个 可以参考这个例子. VARIABLE:ct:=0; aa:=ma(c,5); bb:=ma(c,10); KD:=cross(c,aa) and c>=bb ; //开多条件 PD:=cross(aa,c); //平多条件 KK:=cross(aa,c) and c<=bb; //开空条件 PK:=cross(c,aa); //平空条件 连亏次数:ct; if pk and holding<0 then begin 平空:SELLSHORT(PK,10,MARKET); ct:=if(NUMPROFIT(1)<0,ct+1,0); end 开多:BUY(KD AND HOLDING=0 and ct<=3,1,MARKET); if pd and holding>0 then begin 平多:SELL(PD,1,MARKET);//平多信号 ct:=if(NUMPROFIT(1)<0,ct+1,0); end //开多信号 开空:BUYSHORT(KK AND HOLDING=0 and ct<=3,1,MARKET); 用的全局变量。但是这里面没有考虑再次进场问题。这个可以你自行尝试下。 |
-- 作者:wxx212 -- 发布时间:2019/10/22 15:51:51 -- 那么资金回撤4%和重新开启进出场的条件呢,应该怎么弄? |
-- 作者:yukizzc -- 发布时间:2019/10/22 16:08:03 -- 连亏三次后停止建仓,这个时候你本身就停止了建仓 后面开启建仓的条件也都无法满足了,连续盈利、连续亏损10次都和连亏3次是反集
|