我在前面的那根阴线已经开了2手多单,但是为什么在画圈的这根K线又建了2手多单呢?


打印出来的MarketPosition也是1.
代码如下:


是否跟我定义的变量有关系,之前定义的是series类型

另外,我前面写了均线止损逻辑,不知道会不会对下面的开仓逻辑有影响?
AvgValue20 = AverageFC(Close,MALength);
PlotNumeric("MA20",AvgValue20);
//空单止损
if(Close[1]<=AvgValue20[1] && Close>AvgValue20)
{
myExitPrice = Close;
// myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); // 大跳空的时候用开盘价代替
// BuyToCover(0,myExitPrice); // 数量用0的情况下将全部平仓
// CanOpenShort = True;
If(BuyToCover(0,myExitPrice))
{//下单成功,做多标识取消
CanOpenShort=True;
}
}
//多单止损
if(Close[1]>=AvgValue20[1] && Close<AvgValue20)
{
myExitPrice = Close;
// myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 大跳空的时候用开盘价代替
// Sell(0,myExitPrice); // 数量用0的情况下将全部平仓
// PreBreakoutFailure = True;
// CanOpenLong = True;
If(Sell(0,myExitPrice))
{//下单成功,做多标识取消
CanOpenLong=True;
}
}
11.3
今天又出现这个问题了。

在11.3收盘的时候又出现下单了,从图上可以看出,我在下单之前用了MarketPosition 。CanOpenLong做了双重控制,还是可以重复开多单。消息中心未出现闪烁信号。

onbarclose设置执行的时间是:

看看消息中心有没有那个闪烁提示


正常开仓没问题,你已有仓位了A,MarketPosition ==0条件1不附合,那往下走条件2附合,B附合走条件3开仓。1、改MarketPosition <=0,2、查B有仓位了是False,为什么变成True了,3、把3删IF(..........)
按说1条件不符合,应该就走不进去了,为啥还要判断2 、和3 呢?