查询价格在某点一定范围的持仓单的数量

楼主  收藏   举报   帖子创建时间:  2019-05-05 13:01 回复:0 关注量:277
本帖最后由 ztrangle 于 2018-3-7 21:04 编辑

求一段,查询持仓价格在某点(例如1333),一定范围(例如+-0.2)内的多单或空单持仓手数自的代码。谢谢!自己写了一段自定义查询函数,如下:
double NBNumber()
{
      double BLT,Blt,BlT;
      BlT=(下单变差+滑点+1)*Point;//目标值中心范围
for (int i=0; i<OrdersTotal(); i++)
    {
       if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      {
       if (OrderType()==OP_BUY  && OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber )   
         {
           Blt=ABS(AskGridPrice(),OrderOpenPrice()); //订单持仓值与中心值的绝对值,这个调试没问题
           if (Blt>=BlT) continue;
           BLT+= OrderLots();
         }  
       }  
    }  
      return (BLT);
}  

//反复测试了几次,最后一个if条件不起作用,导致返回的数据是所有持仓的数据,并且输出的结果是循环了两次的值。这样写法问题在哪?如何写才能得到正确返回值,求大神指导,谢谢啦{:132_160:}
打赏