ข้ามไปที่เนื้อหา

ทบทวนผลการเทรดเดือนที่ผ่านมา

การทบทวนรายเดือนช่วยตอบคำถามสามข้อ ได้แก่ มีรายการเทรดที่ปิดแล้วกี่รายการ ผลลัพธ์เป็นอย่างไร และยังมีความเสี่ยงใดเหลืออยู่บ้าง คำแนะนำนี้แสดงวิธีบันทึกดีล ประวัติคำสั่งที่เสร็จสิ้น และสถานะความเสี่ยงปัจจุบันลงในโฟลเดอร์ที่ระบุวันที่ แล้วรวมขั้นตอนเป็นสคริปต์ที่เรียกใช้ซ้ำได้ทุกสิ้นเดือน

เคล็ดลับ

ตั้งค่าข้อมูลเข้าสู่ระบบในตัวแปร shell เพียงครั้งเดียว คำสั่งในโหมดอินเทอร์แอกทีฟทั้งหมดด้านล่างจะใช้ตัวแปรเหล่านี้ร่วมกัน ทำให้ขั้นตอนกระชับและนำสคริปต์ไปใช้ในสภาพแวดล้อมอื่นได้ง่าย

export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd

1. ดึงรายการเทรดที่ปิดในเดือนนั้น

deals ส่งคืนเฉพาะดีลที่ใช้ปิดโพสิชัน โดยมีหนึ่งรายการต่อการดำเนินการปิดแต่ละครั้ง พร้อมกำไรหรือขาดทุนที่เกิดขึ้นจริง ข้อมูลนี้เป็นข้อมูลเดียวกับที่แสดงในแท็บ ประวัติ ของ cTrader --from และ --to กรองดีลตามเวลาที่ปิด ส่วน --count ส่งคืนดีลที่ปิดล่าสุด ไม่รวมการดำเนินการที่ใช้เปิดโพสิชัน ดังนั้นโพสิชันจะปรากฏใน deals ก็ต่อเมื่อถูกปิดทั้งหมดหรือบางส่วนแล้ว

ctrader-cli deals --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --from=01/06/2025 --to=30/06/2025

ผลลัพธ์ของแต่ละดีลที่ปิดประกอบด้วยสัญลักษณ์ ทิศทางการเทรด ปริมาณการเทรด ราคาที่ดำเนินการ และกำไรที่เกิดขึ้นจริง

2. ดึงประวัติคำสั่งที่เสร็จสิ้น

orders-history แสดงคำสั่งที่เสร็จสิ้นในช่วงเวลาเดียวกัน พร้อมสถานะสุดท้าย (filled, expired, cancelled หรือ error) ไม่รวมคำสั่งที่รอดำเนินการซึ่งยังทำงานอยู่

ctrader-cli orders-history --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --from=01/06/2025 --to=30/06/2025

เปรียบเทียบรายการดีลกับประวัติคำสั่ง เพื่อดูว่าการเปิดแต่ละครั้งตรงกับการปิดใด

คำสั่ง deals และ orders-history มีข้อจำกัดด้านประวัติดังนี้

  • CLI โหลดข้อมูลตลอดช่วงเวลาที่กำหนดด้วย --from / --to โดยไม่จำกัดความยาวของช่วงเวลา
  • แต่การเรียกแต่ละครั้งจะส่งคืนดีลล่าสุดเพียง 200 รายการ (deals) หรือคำสั่งล่าสุด 500 รายการ (orders-history) ในช่วงเวลานั้น
  • หากไม่ระบุ --from / --to ทั้งสองคำสั่งจะส่งคืนข้อมูลเฉพาะ 30 วันล่าสุด

หากมีการเทรดจำนวนมากในเดือนนั้น ให้แบ่งช่วงเวลาออกเป็นช่วงสั้น ๆ และเรียกใช้แต่ละคำสั่งแยกกันสำหรับแต่ละช่วง

3. ตรวจสอบสถานะความเสี่ยงปัจจุบัน

exposure สรุปความเสี่ยงจากโพสิชันที่เปิดอยู่ในบัญชี โดยจัดกลุ่มตามสัญลักษณ์ ข้อมูลนี้เป็นภาพรวมความเสี่ยงที่ยังคงอยู่ในวันถัดจากการทบทวน

ctrader-cli exposure --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q

4. บันทึกผลลัพธ์แต่ละชุดลงในไฟล์ที่ระบุวันที่

แต่ละคำสั่งส่งออก JSON คุณจึงเพียงเปลี่ยนเส้นทางผลลัพธ์ไปยังไฟล์เพื่อเก็บบันทึกการทบทวน

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

คุณจะได้ไฟล์ที่ระบุวันที่สามไฟล์ ไฟล์ละหนึ่งคำถาม และนำไปเปรียบเทียบกับผลการทบทวนของเดือนถัดไปได้ง่าย

5. รวมขั้นตอนเป็นสคริปต์ทบทวนรายเดือน

บันทึกชุดคำสั่งทั้งหมดเป็น monthly-review.sh สคริปต์คำนวณวันแรกและวันสุดท้ายของเดือนก่อนหน้าโดยอัตโนมัติ จึงใช้งานได้ไม่ว่าจะเรียกใช้ในวันใด

#!/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"

เรียกใช้เดือนละครั้งเพื่อสร้างโฟลเดอร์พร้อมเวลาที่บันทึกไว้สำหรับแต่ละช่วง บน Linux คำสั่ง date -d รองรับข้อความ last month และ last day of last month โดยตรง บน macOS ให้ใช้คำสั่งเทียบเท่า gdate จาก coreutils หรือกำหนดค่าตายตัวให้ --from และ --to

6. ค้นหารูปแบบจากข้อมูล

ไฟล์ JSON มีโครงสร้างที่เหมาะสำหรับวิเคราะห์ในโน้ตบุ๊กหรือผ่านชุดคำสั่ง shell แบบง่าย ตัวอย่างการวิเคราะห์ที่ใช้บ่อย ได้แก่

  • สัดส่วนการเทรดที่มีกำไร: เปรียบเทียบจำนวนดีลที่มีกำไรเป็นบวกกับจำนวนดีลที่ขาดทุน
  • แยกตามสัญลักษณ์: จัดกลุ่มดีลตามสัญลักษณ์แล้วรวมกำไรของแต่ละกลุ่ม
  • การขาดทุนรายดีลสูงสุด: เรียงดีลตามกำไรแล้วหาค่าต่ำสุด
  • ความเสี่ยงของโพสิชันที่เปิดอยู่: ดูไฟล์สถานะความเสี่ยงเพื่อตรวจสอบว่ายังมีโพสิชันเปิดอยู่ในสัญลักษณ์ใดบ้าง

นำการวิเคราะห์เหล่านี้มาเทียบกับสแนปชอต account-stats ของวันเดียวกัน เพื่อให้เห็นการเปลี่ยนแปลงสถานะบัญชีตลอดทั้งเดือน

เอกสารอ้างอิงคำสั่ง cTrader CLI แสดงตัวเลือกทั้งหมดที่ใช้กับคำสั่งในขั้นตอนนี้

คำเตือน

cTrader CLI เป็นเครื่องมือสำหรับการเทรดและระบบอัตโนมัติ เครื่องมือนี้ไม่ได้ให้คำแนะนำด้านการเงิน การลงทุน กฎหมาย หรือภาษี ผลการดำเนินงานในอดีตไม่ได้รับประกันผลลัพธ์ในอนาคต ตรวจสอบทุกคำสั่งก่อนเรียกใช้ ทดสอบในบัญชีทดลองก่อน และปกป้องข้อมูลประจำตัวของคุณ