为何信号闪烁开仓后第二根bar没有平仓?反而成为锁仓交易了,请看下代码有何问题

问题:为何信号闪烁开仓后第二根bar没有平仓?反而成为锁仓交易了,请看下代码有何问题?

需求:当根bar出现信号闪烁策略开仓后,在其后第二根bar平仓

事实上:第二根没有平仓,信号闪烁时开仓的仓位变成锁仓交易了

 

代码:

series<bool> posibuy(False); //多头仓位初始为0,判断为false

global Numeric buypoint; //设置全局变量buypoint,记录多头开仓时点的currentbar值

series<bool> strategybuy;//将开仓条件strategybuy设置为一个序列变量

posibuy=posibuy[1];

if(!posibuy and strategybuy ){ buy(1,open);posibuy=True;buypoint=currentbar;}//符合多头开仓条件,开仓1手

if(posibuy and (currentbar-buypoint)==1 and !strategybuy[1]){sell(1,open);posibuy=false;}

//发生信号闪烁后,strategybuy[1]应该会判定为false,平仓1手

同一根bar反向开仓2次问题
图表有开仓信号,但系统判定信号闪烁,未进行开仓如何解决,我确认代码是没有闪烁的问题
锁仓
bar里面均线金叉后立马在当前bar进行开仓操作如何避免信号闪烁问题
开仓后没有信号
信号闪烁问题
请教定时开平仓出现信号闪烁的问题
请问一下信号闪烁之后成交了,然后信号又没有了,成交的仓位有什么办法自动平掉?或者怎么让消失的信号恢复
针对股指期货日内交易,有没有锁仓命令
加仓信号闪烁问题

sell的信号变成了开仓? 

开了开平互转?还是净持仓 

王老师您好:

具体是这样

if(!posibuy and strategybuy ){ buy(1,open);posibuy=True;buypoint=currentbar;}信号出现后策略是在bar1正常开多仓的;

但是信号闪烁后、开仓信号消失,我准备在第二根bar2平仓,故执行if(posibuy and (currentbar-buypoint)==1 and !strategybuy[1]){sell(1,open);posibuy=false;策略并不会平仓。

也就是说:在bar1闪烁时已开的多头仓位变成了锁仓交易,TB系统检测不出我开了一个多单,我使用了A_totalposition函数实盘也检查了一遍,发现信号闪烁时开的仓位totalposition=0

请问:bar1发生信号闪烁后,我欲在bar2的open平仓,这一交易需求如何实现?