Để lấy giá cao nhất trong n lệnh MT4, bạn có thể sử dụng hàm
OrderSelect()
để chọn từng lệnh và lấy giá trị của lệnh đó bằng hàm
OrderOpenPrice()
, sau đó so sánh với giá trị cao nhất hiện tại. Dưới đây là một ví dụ về cách lấy giá cao nhất trong n lệnh MT4:
double HighPrice(int mode)
{
double Highest=0;
for(int a=0; a<=OrdersTotal(); a++)//>
{
if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==_Symbol)
{
if(OrderType()==OP_BUY && mode ==0)
{
Highest=OrderOpenPrice();
}
if(OrderType()==OP_SELL && mode ==1)
{
Highest=OrderOpenPrice();
}
}
}
return Highest;
}
Comment("Gia cao nhat trong " + OrdersTotal() + " lenh Buy la: " + LastPrice(0));
Comment("Gia cao nhat trong " + OrdersTotal() + " lenh Sell la: " + LastPrice(1));
Trong ví dụ này, chúng ta sử dụng vòng lặp for để duyệt qua từng lệnh, bắt đầu từ lệnh đầu tiên và kết thúc ở lệnh mới nhất. Hàm
OrdersTotal()
được sử dụng để lấy số lượng lệnh hiện tại. Trong mỗi vòng lặp, chúng ta sử dụng hàm
OrderSelect()
để chọn lệnh ở vị trí i, và sau đó sử dụng hàm
OrderClosePrice()
để lấy giá trị giá đóng lệnh của lệnh đó. Nếu giá đóng lệnh lớn hơn giá cao nhất hiện tại, chúng ta cập nhật giá cao nhất hiện tại bằng giá đóng lệnh đó. Cuối cùng, chúng ta in ra
Nếu bạn chưa hiểu hay có vấn để gì thắc mắc cần giải đáp, vui lòng bình luận ở bên dưới nhé. BDOFOREX sẽ cố gắng giải đáp hết tất cả những gì mà chúng tôi biết để giúp bạn.
👉 Group ZALO hỏi đáp và trao đổi CODE:
TẠI ĐÂY
image quote pre code