计算结果失真问题

 

挂单计算返回的结果为0


int GuadB()

  {

   int POS = 0;

   int total=OrdersTotal(); 

   for(int i=0; i<total; i++) {

      ENUM_ORDER_TYPE type = (ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE); // 订单类型                               

      if(type == ORDER_TYPE_BUY_LIMIT) {

         POS +=1;} }

    return(POS);

 }

int GuadS()

  {

   int POS = 0;

   int total=OrdersTotal(); 

   for(int i=0; i<total; i++) {                         

      ENUM_ORDER_TYPE type=(ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE); 

      if(type == ORDER_TYPE_SELL_LIMIT) {

         POS +=1;} }

    return(POS);

 }

附加的文件:
0v59.PNG  77 kb
onsh2.PNG  33 kb
 

逻辑上  这种写法 是没问题的,但是没发现问题在哪里? 难道是没经过 for 计算,还是说 type 不等于  ORDER_TYPE_SELL_LIMIT        ORDER_TYPE_BUY_LIMIT;

手工挂单进去,没有 ORDER_MAGIC ,也不需要读取 ORDER_TICKET,那  为什么计算得出的结果是0

 
【新手必看】如何防止机器人误判:讨论代码时请使用代码表述功能
【新手必看】如何防止机器人误判:讨论代码时请使用代码表述功能
  • 2023.06.13
  • Sky All
  • www.mql5.com
大家好,我是官网版主。 官网内部有机器人辅助管理,目的是自动下架一些有误导性的内容。 内容过长,或同一个IP多次注册,容易导致机器人误判,而被无辜删帖。 如果您被无故删帖,我们对这种体验感到万分抱歉。 为了防止机器人误判,请在讨论代码的时候使用代码表述功能...