如何检查票是否仍然打开或已关闭?

Bub*_*nja 3 mql4

如果我开设了一个OrderSend设置止损的头寸,我如何检查它是否仍然打开,或者相反,它是否因为止损盈而被关闭?

Dan*_*iaz 5

您必须拥有在发送 OrderSend() 请求时收到的票证 ID。
为了确定交易是否开放,请使用以下命令:

 int ticket; //your ticket from OrderSend in global variables
 bool isOrderExist(const int _ticket){
    if(OrderSelect(_ticket,SELECT_BY_TICKET)){
       return(OrderCloseTime()==0);
    }else{
       int error=GetLastError();
       return(error!=4108 && error!=4051);
    }
 }
Run Code Online (Sandbox Code Playgroud)

为了检查订单是否因 SL 或 TP 或任何其他原因关闭 - 您应该从 中选择订单OrdersHistory(),然后检查注释(通常在注释中添加“[sl]”或“[tp]”)或比较关闭价格和 SL 和 TP