#1
Để tính lợi nhuận đã chốt trong một ngày, ba ngày và một tuần, bạn có thể sử dụng hàm OrderSelect() để lấy thông tin về từng lệnh đã được chốt, sau đó tính tổng lợi nhuận của các lệnh đó.
Ví dụ, để tính lợi nhuận đã chốt trong một ngày, bạn có thể sử dụng đoạn mã sau.

Copy hàm dưới bỏ vào OnTick() nhé:

double profit_days = 0;
datetime now = TimeLocal();
datetime days_ago = now - 1 * 86400;

int total_orders = OrdersHistoryTotal();

for (int i = 0; i < total_orders; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) 
    {
        if (OrderCloseTime() >= days_ago && OrderCloseTime() < now && (OrderProfit() > 0 || OrderProfit() < 0)) 
        {
            profit_days += OrderProfit() + OrderSwap() + OrderCommission();
        }
    }
}
Còn để tính lợi nhuận đã chốt trong ba ngày và một tuần, bạn có thể thay đổi giá trị của biến days_ago tương ứng. Ví dụ, để tính lợi nhuận đã chốt trong ba ngày, bạn có thể sử dụng:

datetime days_ago = now - 3 * 86400;
Và để tính lợi nhuận đã chốt trong một tuần, bạn có thể sử dụng:

datetime days_ago = now - 7 * 86400;
Lưu ý rằng đoạn mã trên chỉ tính tổng lợi nhuận của các lệnh đã chốt và có lợi nhuận. Nếu bạn muốn tính tổng lợi nhuận của tất cả các lệnh đã đóng, bao gồm cả các lệnh có lợi nhuận âm, bạn cần sửa lại điều kiện trong vòng lặp.

👉 Group ZALO hỏi đáp và trao đổi CODE: TẠI ĐÂY

image quote pre code
Xem hướng dẫn đăng nhập để đăng bình luận Tại Đây
Chia sẻ: