เปลี่ยนประวัติ MT5 ให้เป็นรายงาน
อ่านดีลจริง แยกเงินฝาก แล้วส่งออกผลลัพธ์
ดาวน์โหลดตัวอย่าง Python · ZIP ↓
คำแนะนำทีละขั้นตอน
- 0:00
เปลี่ยนประวัติ MT5 ให้เป็นรายงาน
บทเรียนนี้จะแสดงวิธีอ่านประวัติการเทรด MT5 คำนวณผลการเทรดที่บันทึกเข้าบัญชีแล้ว และส่งออกรายงานที่อ่านง่ายด้วย Python
- 0:13
เชื่อมต่อเพื่ออ่านข้อมูลเท่านั้น
เปิด mt5.mrpc.pro แล้วเลือก ConnectEx กรอกหมายเลขล็อกอิน รหัสผ่าน และเซิร์ฟเวอร์โบรกเกอร์ของบัญชีเดโม ใช้ TRIAL หรือ API key ของคุณ เว้นช่อง id ที่ไม่บังคับไว้ ที่นี่เราใช้รหัสผ่านนักลงทุนเพื่อเข้าถึงแบบอ่านอย่างเดียว คอนโซลจะเก็บ id ของเทอร์มินัลที่ได้รับกลับมา
- 0:42
ตรวจสอบสกุลเงินของบัญชี
เรียก AccountSummary นี่เป็นบัญชีเดโมสกุลเงินดอลลาร์สหรัฐ มียอดคงเหลือเก้าหมื่นเก้าพันเก้าร้อยเก้าสิบเก้าดอลลาร์เก้าสิบหกเซนต์ ใช้สกุลเงินของบัญชีเมื่อแสดงกำไรและค่าใช้จ่าย
- 1:00
เลือกช่วงเวลาที่สิ้นสุดแล้ว
เลือก DealsHistory กรอก inputFromUtc และ inputToUtc ด้วยเวลาที่ลงท้ายด้วย Z เว้นช่องเวลาเซิร์ฟเวอร์โบรกเกอร์ที่ตรงกันไว้ วิดีโอนี้ใช้ช่วงตั้งแต่วันที่หนึ่งตุลาคมจนถึงต้นวันที่ยี่สิบแปดตุลาคม ให้คงช่วงเวลานี้ไว้เมื่อขอหน้าถัดไป
- 1:25
อ่านข้อมูลทุกหน้า
เมื่อได้รับ HTTP Status Code 200 ให้ตรวจ error ก่อน คำตอบนี้ไม่มีข้อผิดพลาดจาก API เมื่อ pageSize เท่ากับสอง คำตอบแรกมีเพียงสองจากทั้งหมดสิบสามดีล คัดลอก nextPageToken ไปที่ pageToken และใช้ตัวกรองเดิม ทำต่อจน nextPageToken ว่าง
- 1:49
ออเดอร์ ดีล และสถานะ
ออเดอร์คือคำสั่งเทรด ส่วนดีลคือบันทึกการดำเนินการ AllHistoryOrders แสดงบันทึกออเดอร์ ใน DealsHistory ค่า order เชื่อมไปยังหมายเลขออเดอร์ ส่วน positionId รวมดีลที่เกี่ยวข้องกับสถานะเดียวกัน ตัวอย่างนี้มีการเข้าสถานะศูนย์จุดศูนย์สองล็อต และออกสองครั้ง ครั้งละศูนย์จุดศูนย์หนึ่งล็อต
- 2:18
ใช้จำนวนเงินพร้อมเครื่องหมายเดิม
สำหรับแต่ละดีล ให้บวก profit, commission, swap และ fee ตามค่าที่ส่งกลับมา รักษาเครื่องหมายบวกหรือลบไว้ อย่าหักค่าคอมมิชชันที่เป็นลบอยู่แล้วซ้ำอีก ดีลปิดนี้ได้กำไรสองเซนต์และไม่มีค่าใช้จ่าย ต้องรวมดีลเปิดด้วย เพราะโบรกเกอร์อาจคิดค่าคอมมิชชันตอนเปิดสถานะ
- 2:42
แยกรายการเงินทุนออก
รายการแรกคือการฝากเงินเดโมหนึ่งแสนดอลลาร์ มีชนิดเป็น BALANCE และไม่มีออเดอร์หรือสถานะ นี่ไม่ใช่กำไรจากการเทรด รายงานแยกดีล Buy และ Sell ออกจากชนิดอื่น ตรวจค่าธรรมเนียมแยก เครดิต และรายการปรับปรุงได้ในไฟล์ other-deals
- 3:03
ตรวจขอบเขตของรายงาน
มีข้อมูลครบสิบสามรายการแล้ว ดีลเทรดสิบสองรายการรวมกันขาดทุนสี่เซนต์ ตัวอย่างนี้ commission, swap และ fee เป็นศูนย์ทั้งหมด เงินฝากถูกแยกไว้ นี่คือจำนวนเงินที่บันทึกในวันที่เลือก ไม่ใช่กำไรขาดทุนลอยตัว สถานะที่เปิดก่อนช่วงนี้อาจมีค่าใช้จ่ายเดิมที่ไม่อยู่ในรายงาน
- 3:29
ส่งออกข้อมูลเดียวกันด้วย Python
สคริปต์ที่ให้มาเรียก DealsHistory เช่นเดียวกัน อ่านหน้าถัดไปด้วยเคอร์เซอร์ และตรวจจำนวนสุดท้าย ใช้การคำนวณเลขฐานสิบและรวมจำนวนเงินตาม positionId ตั้ง API key และ id ของเทอร์มินัลเป็นข้อมูลส่วนตัวในตัวแปรสภาพแวดล้อม สคริปต์นี้ไม่เปิดหรือปิดการเทรดใด ๆ
- 3:54
เปิดไฟล์รายงานทั้งสาม
รันสคริปต์โดยใช้วันที่ UTC ที่กำหนดไว้ สคริปต์สร้าง trade-deals.csv, other-deals.csv และ summary.json ไฟล์ตัวอย่างได้รับการตรวจเทียบกับประวัติที่บันทึกนี้แล้ว หากเกิดข้อผิดพลาด API หรือข้อมูลไม่ครบทุกหน้า สคริปต์จะหยุดแทนที่จะแสดงยอดรวมที่ไม่ครบ
- 4:18
ตัดการเชื่อมต่อเมื่อเสร็จ
สุดท้ายเรียก Disconnect ในคอนโซลเพื่อคืนเทอร์มินัล เซสชันของเราตัดการเชื่อมต่อแล้ว คุณได้ดึงประวัติ แยกเงินทุนออกจากผลการเทรด และส่งออกรายงานที่ตรวจสอบและนำไปใช้ต่อได้