外汇EA
判断最新出场单是否是当前K线出场的
回复:0  浏览:61
  • 楼主admin 圈主
  • 2019-05-05 15:02
正序循环读取历史单,过滤非本K线商品的历史单,读取到最新一个出场的历史单。获取其出场时间
然后用 iBarShift函数取得此时间对应的K线序号。
如果返回的K线序号是0,说明是当前这根K线出场的

  1. int GetLastHistOrderCloseK()
  2. {
  3. for(int i=OrdersHistoryTotal()-1;i>=0;i--)
  4. {
  5.   OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
  6.   if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
  7.     {      
  8.      int K=iBarShift(NULL,0,OrderCloseTime(),false);
  9.      return(K);
  10.     }
  11. }
  12. }