关于OrderSelect我的泪史分享!

楼主  收藏   举报   帖子创建时间:  2019-05-05 15:07 回复:0 关注量:183
我的EA中有一个测试主单的亏损情况然后做补单,但一个多星期调下来一点进涨都没有,老是出问题,并且找不到问题在哪!用print来打印当前单号,发现了问题的所在!
  
  我的模拟仓中目前有两个单!
  单号分别为:
  12117616
  12035683
  
  我写了个测试程序如下:
  int start()
    {
  if(OrderSelect(12117616,SELECT_BY_TICKET,MODE_TRADES)) Print("1:选中单子:单号:"+OrderTicket());
  sele();
  Print("3:选中单子:单号:"+OrderTicket());
    }
   
    void sele()
    {
    if(OrderSelect(12035683,SELECT_BY_TICKET,MODE_TRADES)) Print("2:选中单子:单号:"+OrderTicket());
   
    return;
    }
  
  打印的结果如下:
  2012.10.22 11:55:57 A_test01 EURUSD,H1: 3:选中单子:单号:12035683
  2012.10.22 11:55:57 A_test01 EURUSD,H1: 2:选中单子:单号:12035683
  2012.10.22 11:55:57 A_test01 EURUSD,H1: 1:选中单子:单号:12117616
  
  总结出的结果为:select选中的单子,他相当于一个全局变量,选中那个,不改变之前就是那个~这就是我犯的错!
  以原来以打印1和3应该都为12117616
  ,造成了好久都没弄明白~
  贴子的组识比较乱,不知道大家明白我说什么了没!
打赏