基于MarketPosition == 0条件判断开仓,为什么会重复开仓?



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


打印出来的MarketPosition也是1.

代码如下:



有开仓逻辑限制,为什么还会重复开仓?
信号闪烁导致重复开仓
信号闪烁造成重复开仓的问题反馈
MarketPosition判断问题
策略没有开仓指令运行时怎么会产生开仓操作
我设置了检测持仓,为什么偶尔还是会重复下单?
PlayWavSound函数触发单一条件开仓时,单根K线多次重复语音播报问题
定义一个变量,判断上次均线交叉后是否有开仓,若有开仓返回1,否则返回0。应该怎么写这个变量表达式?
用a函数 为什么沪铜、沪银 容易导致重复开仓 而豆油和棕榈油 不会呢
关于异常开仓问题

是否跟我定义的变量有关系,之前定义的是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 呢?