在OrderSelect()中调用OrderOpenPrice()会导致崩溃MT4(在W7上)

时间:2016-10-21 22:11:04

标签: mql4 metatrader4

下一个功能关闭我的EA中的订单。在引用3 rd if(...) -code-block时,它工作正常。

当在功能中激活时,MT4停止并且W7弹出一条消息,指出程序有问题(MT4)。定义变量 prijsOpen 与否无效。

有人可以告诉我有什么问题吗?

void sluitBUY( double waarde ){
   for ( int i = 0; i < OrdersTotal(); i++ ){
       if (  OrderSelect( i, SELECT_BY_POS, MODE_TRADES ) == true ){
          double prijsOpen   =  OrderOpenPrice();
          if (  OrderType()  == 0 ){
             if (  waarde    != 0
                && prijsOpen <  waarde
                   ) //<============================================ CAUSES CRASH
                OrderClose( OrderTicket(),
                            OrderLots(),
                            OrderClosePrice(),
                            3,
                            clrCyan
                            );
          }
       }
   } 
}

1 个答案:

答案 0 :(得分:0)

我发现您提供的代码没有任何问题。但我已经看到了你所描述的行为。您的MT4平台可能已损坏。在不同的MT4实例上尝试相同的代码,看看它是否仍有相同的问题。我猜它不会。