if c>TORDERPRICE(1,1)+5 and tbuyholding(0)>0 then tsell(1,50%,mkt),PERTRADER;
if c>TORDERPRICE(1,1)+10 and tbuyholding(0)>0 then tsell(1,0,mkt);
if c<TORDERPRICE(1,1)-5 and tbuyholding(0)>0 then tsell(1,0,mkt);
使用这个的时候,当第一句出现的时候,会不停的反复平仓,该怎么解决?
就是,平一半的仓,,当价格反复的时候,它就会不停的平一半的仓
比如平仓手数就是100,50,25。。。。。一直下去
那可以改为挂单吗?
就是当买入多单后,立即挂在买入价+5的价格卖出多单一半的仓位,另一半挂在买入价+10的价格卖出多单。
止损就是在买入多单后,当价格在买入价-10的价格时,撤销之前的挂单,立刻平仓。
假设开10手
if 开多条件 then begin
tbuy(1,10,mkt);
sleep(1000);
tsell(1,5,lmt,tenterprice+5);
tsell(1,5,lmt,tenterprice+10);
end
if 止损条件 then begin
tcancel(1,0);
tsell(1,0,mkt);
end
当有持仓,且为挂单时,用tbuyholding(1)=0这个语句,符合开仓条件时仍然是开仓的。
我希望是在有持仓,且为挂单时,不开仓。直到无持仓,无挂单时,符合条件再开仓。
再用tisremain判断下没有没有未成交单,
tisremain(0)=0
if tenterbars<20 and A then tsell(1,0,mkt);
if tenterbars>=20 and b then tsell(1,0,mkt);