cancel open position mql5

 



void CheckAndCancelBuyStopOrders() {

    string chartSymbol = _Symbol; // Get the current chart symbol


    

    for(int i = OrdersTotal() - 1; i >= 0; i--) {

        ulong orderTicket = OrderGetTicket(i); // Get the ticket number of the order

        if(orderTicket > 0) {

            string orderSymbol = OrderGetString(ORDER_SYMBOL);

             

            ENUM_ORDER_TYPE orderType = ENUM_ORDER_TYPE(OrderGetInteger(ORDER_TYPE));

               

            

            if(orderSymbol == chartSymbol && orderType == ORDER_TYPE_BUY_STOP) {

                bool result = trade.OrderDelete(orderTicket); // Attempt to cancel the order

                if(result) {

                    Print("Buy Stop order ", orderTicket, " on ", orderSymbol, " has been successfully canceled.");

                } else {

                    Print("Failed to cancel Buy Stop order ", orderTicket, ", error code: ", GetLastError());

                }

            }

        } else {

            Print("Failed to get order ticket for index ", i, ", error code: ", GetLastError());

        }

    }

}


void CheckAndCancelSELLStopOrders() {

    string chartSymbol = _Symbol;

    

    for(int i = OrdersTotal() - 1; i >= 0; i--) {

        ulong orderTicket = OrderGetTicket(i); 

        if(orderTicket > 0) {

            string orderSymbol = OrderGetString(ORDER_SYMBOL);

          

            ENUM_ORDER_TYPE orderType = ENUM_ORDER_TYPE(OrderGetInteger(ORDER_TYPE));

         

            

            if(orderSymbol == chartSymbol && orderType == ORDER_TYPE_SELL_STOP) {

                bool result = trade.OrderDelete(orderTicket); 

                if(result) {

                    Print("Buy Stop order ", orderTicket, " on ", orderSymbol, " has been successfully canceled.");

                } else {

                    Print("Failed to cancel Buy Stop order ", orderTicket, ", error code: ", GetLastError());

                }

            }

        } else {

            Print("Failed to get order ticket for index ", i, ", error code: ", GetLastError());

        }

    }

}



void CheckAndCancelBuyLimitOrders()

  {

   string chartSymbol = _Symbol; // Get the current chart symbol

   for(int i = OrdersTotal() - 1; i >= 0; i--)

     {

      ulong orderTicket = OrderGetTicket(i); // Get the ticket number of the order

      if(orderTicket > 0)

        {

         string orderSymbol = OrderGetString(ORDER_SYMBOL);

         ENUM_ORDER_TYPE orderType = ENUM_ORDER_TYPE(OrderGetInteger(ORDER_TYPE));

         if(orderSymbol == chartSymbol && orderType == ORDER_TYPE_BUY_LIMIT)

           {

            bool result = trade.OrderDelete(orderTicket); // Attempt to cancel the order

            if(result)

              {

               Print("Buy Limit order ", orderTicket, " on ", orderSymbol, " has been successfully canceled.");

              }

            else

              {

               Print("Failed to cancel Buy Limit order ", orderTicket, ", error code: ", GetLastError());

              }

           }

        }

      else

        {

         Print("Failed to get order ticket for index ", i, ", error code: ", GetLastError());

        }

     }

  }


//+------------------------------------------------------------------+


//+------------------------------------------------------------------+

//|                                                                  |

//+------------------------------------------------------------------+

void CheckAndCancelSellLimitOrders()

  {

   string chartSymbol = _Symbol; // Get the current chart symbol

   for(int i = OrdersTotal() - 1; i >= 0; i--)

     {

      ulong orderTicket = OrderGetTicket(i); // Get the ticket number of the order

      if(orderTicket > 0)

        {

         string orderSymbol = OrderGetString(ORDER_SYMBOL);

         ENUM_ORDER_TYPE orderType = ENUM_ORDER_TYPE(OrderGetInteger(ORDER_TYPE));

         if(orderSymbol == chartSymbol && orderType == ORDER_TYPE_SELL_LIMIT)

           {

            bool result = trade.OrderDelete(orderTicket); // Attempt to cancel the order

            if(result)

              {

               Print("Sell Limit order ", orderTicket, " on ", orderSymbol, " has been successfully canceled.");

              }

            else

              {

               Print("Failed to cancel Sell Limit order ", orderTicket, ", error code: ", GetLastError());

              }

           }

        }

      else

        {

         Print("Failed to get order ticket for index ", i, ", error code: ", GetLastError());

        }

     }

  }

//+------------------------------------------------------------------+



Comments

Popular posts from this blog

MQL5 : Add time to current time in mins

MQL5: Closed order detail