
Hello! To get the latest order entry price among n orders in MT4, you can use the OrderSelect() function to select the most recently opened order. Then, use OrderOpenPrice() to get its entry price. Here’s a simple example:
double GiaMoiNhat(string type)
{
double GiaVaoLenh = 0;
for(int i = 0; i < OrdersTotal(); i++)//>
{
if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol() && OrderMagicNumber()== MagicNumber)
{
if(OrderType()==OP_BUY && type== "OP_BUY") GiaVaoLenh = OrderOpenPrice();
if(OrderType()==OP_SELL && type== "OP_SELL") GiaVaoLenh = OrderOpenPrice();
}
}
return GiaVaoLenh;
}
The GiaMoiNhat function is used to retrieve the latest open price of a specified order type (OP_BUY or OP_SELL). Here’s a detailed explanation of the function:
-
Input Parameter:
-
type: A string specifying the order type you want to retrieve. It can be"OP_BUY"or"OP_SELL".
-
-
Local Variable:
-
double GiaVaoLenh = 0: This variable is initialized to 0 and will hold the latest entry price of the specified order type.
-
-
Loop Through Open Orders:
-
The
forloop iterates through all open orders usingOrdersTotal()to get the total number. -
Each order is selected by position using
OrderSelect(). -
It then checks if the selected order matches the current symbol (
OrderSymbol()) and the specified Magic Number (OrderMagicNumber()). -
Next, it checks if the order type matches the
typeparameter passed into the function. If it matches, the function retrieves the order’s entry price viaOrderOpenPrice()and stores it inGiaVaoLenh.
-
-
Return the Latest Open Price:
-
After completing the loop, the function returns the latest entry price for the specified order type. If no matching order is found, the function returns the default value
0.
-
Note: Be sure to call this function with the correct order type and validate the returned value before using it in your trading strategy.


: