求助:布林交易系统,经常会出现多次开仓然后只平仓一次,比如:单边下跌行情,下轨位置分别下了三次10手的多单,共计持仓30手,反弹到上轨只平掉10手单,还剩余20张单没平。能否弄成:多次开仓,然后该平仓时一次性平掉之前开的所有单子。
你的帖子不是策略编写类的帖子,不符合版规,我们会予以转移至公式区板块
你把平仓语句的参数修改下。
sell(平仓条件,holding,market);
平空也是一样。你只要把平仓手数改成holding就行了。
谢谢老师,还有个问题,限制开仓次数怎么写,比如,布林交易系统,一直涨,它会一路开N次空单,能否限制单边只能连续开仓3次,
可以参考这个,这个是日内交易次数的范例,和限制连开次数的原理是一样,都是用全局变量做标记。你可以先自行参照这个原理尝试下。
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=173541
老师,我是小白,写不出来,限制连续开仓次数,不只日内,有可能跨越好几天,不限时间。麻烦老师帮我写一下,拜托了
//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//适用模式:“走完一根K线以后”
//若用户模式选为“固定时间间隔”,请将"交易条件"中的CLOSE改为OPEN,避免信号闪烁。
//中间变量
MID: MA(CLOSE,M);//布林中轨
UPPER: MID + K*STD(CLOSE,M);//布林上轨
LOWER: MID - K*STD(CLOSE,M);//布林下轨
手数:=ss;
VARIABLE:ct1:=0,ct2:=0;
//交易条件
开多平空条件:=CROSS(C,LOWER);//开多平空条件
开空平多条件:=CROSS(UPPER,C);//开多平空条件
if 开多平空条件 then
begin
ct1:=ct1+1;
ct2:=0;
end
if 开空平多条件 then
begin
ct1:=0;
ct2:=ct2+1;
end
//交易系统
平空:SELLSHORT(开多平空条件,holding,MARKET);
平多:SELL(开空平多条件,holding,MARKET);
开多:BUY(开多平空条件 and ct1<3,手数,MARKET);
开空:BUYSHORT(开空平多条件 and ct2<3,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
//注意交易系统先开后平的原则
试下。