请教各位老师
我需要开多必须写在平多前面,不是100%开仓,有仓位控制,
且是T+1,即今天开仓的不能平
平多处如何写才能保证平掉的不是今天开仓的部分,谢谢指点
用enterbars>0 不行,假设今天又买进(开多)部分仓位,那么今天的enterbars是0,但是今天有平多条件,需要平掉今天之前开的仓,用holding>0 也不行,会变成t+0,假设今天是首次开多,那么满足平多条件当天就平多,不符合t+1规则
谢谢帮助
自己解决了
rp1:=ref(enterbars=0,1) and ref(kd,1);
rp2:=ref(exitbars>enterbars,1);
rp1+rp2>0
这里处理不好也会严重偷价,现在从利润率2400 变成199了,哈哈
比如我昨天有1000股仓位,今天符合开多条件的触价条件1,触价条件2可以再加仓两次即今天再开多2000股,但同时今天也满足平多条件,即昨天开仓的1000股可以高位卖出
这样今天的enterbars还是0,kd=1,我需要求助怎么实现把今天之前(可能是昨天开多的1000股也可能是几天前开多的1000股)按照今天的平多条件高位卖出,同时不影响今天在低位时继续开多,但是今天开多的仓位不能今天被平掉
[此贴子已经被作者于2015/7/27 12:21:51编辑过]
代码如下:
现:ROUND(cash(0)),NODRAW;
持:holding,nodraw;
L1:=REF(L,1)*1;
L2:=REF(L,1)*0.95;
BS1:=ROUND((现/2)/L1);
BS2:=ROUND((现/2)/L2);
H2:=REF(H,1)*1.05;
H1:=REF(H,1)*1;
B2:BUY(L<=L2 ,BS2,LIMITR,L2);
B1:BUY(L<=L1 ,BS1,LIMITR,L1);
S2:sell(holding>0 AND H>=H2,持/2,LIMITR,H2);
S1:sell(holding>0 AND H>=H1,持/2,LIMITR,H1);
请改代码,实现在开多和平多都满足的当日,当日开的仓不能被平掉,同时当日之前开的仓可以今天平掉