How to detect if there are any pending orders in mql5
How to detect if there are any pending orders in mql5
Loading saved threads...
Gabriele · External communityPost link
External question — Stack Overflow Stack Exchange
Author: Gabriele
Original post: https://stackoverflow.com/questions/76595407
License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
I want to detect if there are any pending orders in mql5. I tried to use OrdersTotal, but it returns always 0 orders.
Quote
Report
David Gálvez · External communityPost link
External answer — Stack Overflow Stack Exchange
Author: David Gálvez
Original post: https://stackoverflow.com/a/76988918
License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
Check this code, it works on my MT5.
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CheckIfOpenOrder()
{
int Orders = OrdersTotal();
if(Orders > 0)
{
for(int i=0; i<Orders; i++)
{
double open_price = OrderGetDouble(ORDER_PRICE_OPEN);
string symbol = OrderGetString(ORDER_SYMBOL);
long order_magic = OrderGetInteger(ORDER_MAGIC);
long positionID = OrderGetInteger(ORDER_POSITION_ID);
double volume = OrderGetDouble(ORDER_VOLUME_INITIAL);
string type = EnumToString(ENUM_ORDER_TYPE(OrderGetInteger(ORDER_TYPE)));
MessageBox("Order: " + (string)i);
}
}
else
{
MessageBox("Doesn't exist any order");
}
}
//+------------------------------------------------------------------+
Quote
Report
Post Reply
Quoted from Forex.com.bd-Editorial External answer — Stack Overflow Stack Exchange Author: David Gálvez Source score (net votes, not local likes): 0 Original post: https://stackoverflow.com/a/76988918 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. Check this code, it works on my MT5. //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void CheckIfOpenOrder() { int Orders = OrdersTotal(); if(Orders > 0) { for(int i=0; i<Orders; i++) { double open_price = OrderGetDouble(ORDER_PRICE_OPEN); string symbol = OrderGetString(ORDER_SYMBOL); long order_magic = OrderGetInteger(ORDER_MAGIC); long positionID = OrderGetInteger(ORDER_POSITION_ID); double volume = OrderGetDouble(ORDER_VOLUME_INITIAL); string type = EnumToString(ENUM_ORDER_TYPE(OrderGetInteger(ORDER_TYPE))); MessageBox("Order: " + (string)i); } } else { MessageBox("Doesn't exist any order"); } } //+------------------------------------------------------------------+
Checking account access…