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
Post a Comment