Xem lại giao dịch tháng trước¶
Việc đánh giá hằng tháng giúp trả lời ba câu hỏi: Có bao nhiêu giao dịch đã đóng, kết quả ra sao và những rủi ro nào vẫn còn tồn tại? Hướng dẫn này tập hợp các giao dịch, lịch sử lệnh đã hoàn tất và mức độ rủi ro hiện tại vào một thư mục có ghi ngày. Sau đó, các bước được kết hợp thành tập lệnh có thể chạy lại vào cuối mỗi tháng.
Mẹo
Thiết lập thông tin đăng nhập trong các biến shell một lần duy nhất. Tất cả các lệnh tương tác bên dưới đều dùng lại các biến này, giúp các bước ngắn gọn hơn và tập lệnh dễ sử dụng trong nhiều môi trường.
export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd
1. Lấy các giao dịch đã đóng trong tháng ¶
deals chỉ trả về các giao dịch đóng vị thế: mỗi lần khớp lệnh đóng vị thế có một bản ghi kèm lãi/lỗ đã thực hiện. Đây cũng là dữ liệu được hiển thị trong tab Lịch sử của cTrader. --from và --to lọc giao dịch theo thời gian đóng, còn --count trả về những giao dịch đóng gần đây nhất. Những lần khớp lệnh mở vị thế không được tính, vì vậy một vị thế chỉ xuất hiện trong deals sau khi được đóng toàn bộ hoặc một phần.
ctrader-cli deals --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--from=01/06/2025 --to=30/06/2025
Đối với mỗi giao dịch đóng vị thế, đầu ra gồm ký hiệu, hướng giao dịch, khối lượng, giá khớp lệnh và lợi nhuận đã thực hiện.
2. Lấy lịch sử các lệnh đã hoàn tất ¶
orders-history liệt kê các lệnh đã hoàn tất trong cùng khoảng thời gian cùng trạng thái cuối (filled, expired, cancelled hoặc error). Các lệnh chờ chưa hoàn tất không được tính.
ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--from=01/06/2025 --to=30/06/2025
Đối chiếu danh sách giao dịch với lịch sử lệnh để xác định những lần vào lệnh tương ứng với từng lần thoát lệnh.
deals và orders-history có các giới hạn truy xuất lịch sử sau:
- CLI tải dữ liệu trong toàn bộ khoảng thời gian xác định bằng
--from/--to, không giới hạn độ dài khoảng thời gian. - Tuy nhiên, mỗi lần gọi chỉ trả về 200 giao dịch gần nhất (
deals) hoặc 500 lệnh gần nhất (orders-history) trong khoảng đó. - Nếu không chỉ định
--from/--to, cả hai lệnh chỉ trả về dữ liệu của 30 ngày gần nhất.
Nếu tháng đó có nhiều giao dịch, hãy chia khoảng thời gian thành các đoạn ngắn và chạy từng lệnh riêng cho mỗi đoạn.
3. Xem mức độ rủi ro hiện tại ¶
exposure tổng hợp mức độ rủi ro từ các vị thế mở trong tài khoản, nhóm theo ký hiệu. Đó là bản chụp mức độ rủi ro vẫn còn tồn tại sang ngày sau khi đánh giá.
ctrader-cli exposure --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
4. Lưu từng kết quả vào tệp có ghi ngày ¶
Mỗi lệnh xuất dữ liệu JSON nên bạn chỉ cần chuyển hướng đầu ra vào tệp để lưu hồ sơ đánh giá.
MONTH=2025-06
ctrader-cli deals --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=01/06/2025 --to=30/06/2025 > ${MONTH}_deals.json
ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=01/06/2025 --to=30/06/2025 > ${MONTH}_orders.json
ctrader-cli exposure --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q > ${MONTH}_exposure.json
Bạn sẽ có ba tệp ghi ngày, mỗi tệp tương ứng với một câu hỏi, để dễ so sánh với kết quả đánh giá của tháng tiếp theo.
5. Gộp các bước thành tập lệnh đánh giá hằng tháng ¶
Lưu toàn bộ chuỗi lệnh thành monthly-review.sh. Tập lệnh tự tính ngày đầu và ngày cuối của tháng trước nên có thể sử dụng bất kể thời điểm thực thi.
#!/usr/bin/env bash
set -euo pipefail
CTID=letstrade
ACC=7654321
PWD_FILE=$HOME/.ctrader/pwd
MONTH=$(date -d "last month" +%Y-%m)
FROM=$(date -d "last month" +01/%m/%Y)
TO=$(date -d "last month" +$(date -d "last day of last month" +%d)/%m/%Y)
mkdir -p ${MONTH}
cd ${MONTH}
ctrader-cli deals --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=$FROM --to=$TO > ${MONTH}_deals.json
ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --from=$FROM --to=$TO > ${MONTH}_orders.json
ctrader-cli exposure --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q > ${MONTH}_exposure.json
echo "Review for ${MONTH} saved to $(pwd)/${MONTH}_*.json"
Chạy mỗi tháng một lần để tạo một thư mục có dấu thời gian cho từng kỳ đánh giá. Trên Linux, date -d chấp nhận trực tiếp các biểu thức last month và last day of last month. Trên macOS, sử dụng lệnh tương đương gdate từ coreutils hoặc đặt giá trị cố định cho --from và --to.
6. Phát hiện các xu hướng từ dữ liệu ¶
Các tệp JSON có cấu trúc phù hợp để phân tích trong notebook hoặc bằng một chuỗi lệnh shell đơn giản. Một số phép kiểm tra thường dùng gồm:
- Tỷ lệ giao dịch có lãi: So sánh số giao dịch có lợi nhuận dương với số giao dịch bị lỗ.
- Phân tích theo ký hiệu: Nhóm giao dịch theo ký hiệu rồi cộng lợi nhuận của từng nhóm.
- Khoản lỗ đơn lẻ lớn nhất: Sắp xếp giao dịch theo lợi nhuận và tìm giá trị thấp nhất.
- Rủi ro từ vị thế mở: Xem tệp dữ liệu rủi ro để biết những ký hiệu nào vẫn còn vị thế mở.
Kết hợp những phép kiểm tra này với bản chụp account-stats cùng ngày để hiểu rõ hơn tình trạng tài khoản đã thay đổi ra sao trong tháng.
Tài liệu tham chiếu cTrader CLI liệt kê tất cả tùy chọn của những lệnh được sử dụng trong quy trình này.
Cảnh báo
cTrader CLI là công cụ phục vụ giao dịch và tự động hóa. Công cụ này không cung cấp lời khuyên tài chính, đầu tư, pháp lý hoặc thuế. Kết quả trong quá khứ không đảm bảo kết quả trong tương lai. Hãy kiểm tra từng lệnh trước khi thực thi, thử nghiệm trên tài khoản demo trước và bảo vệ thông tin đăng nhập của bạn.