OrderSend()疑问,小问题希望大家解答【已解决】

楼主  收藏   举报   帖子创建时间:  2019-05-05 14:52 回复:0 关注量:253
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green); 这是入场语句 记得一定要判断入场是否成功,因为很多服务器由于滑点或者服务器价格变动而不能入场成功,所以,要判断入场不成功后作出提示。ticket就是定单入场是否成功的标记。
           if(ticket>0) 大于0说明入场成功
             {
              if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());      
            
             }
  
  这里OrderSend()返回的ticket应该是此订单发送成功后返回它的ticket值吧。
  这个ticket值应该是OrderSelect()语句后用OrderTicket()来获得的一样的把。
  知道答案了:多此一问,一般都是
  if(OrderSelect(12, SELECT_BY_POS)==true)
  order=OrderTicket()
  OrderSelect(12, SELECT_BY_POS)函数的第二个参数取SELECT_BY_POS的时候才用OrderTicket()的
  也就是把订单的序号转化成订单的ticket值。

[ 本帖最后由 瞬间的光辉 于 2008-1-7 09:38 编辑 ]
打赏