ใช้งาน MT5 ด้วย Python
ดาวน์โหลด ตั้งค่า เชื่อมต่อ อ่านข้อมูล รับสตรีม แล้วตัดการเชื่อมต่อ
ดาวน์โหลดตัวอย่าง Python · ZIP ↓
คำแนะนำทีละขั้นตอน
- 0:00
ใช้งาน MT5 ด้วย Python
บทเรียนนี้จะแสดงวิธีเชื่อมต่อ MT5 ด้วย Python อ่านข้อมูลบัญชีทดลอง รับราคาสด และตัดการเชื่อมต่ออย่างถูกต้องเมื่อเสร็จงาน
- 0:13
เริ่มจากดาวน์โหลดตัวอย่าง
เปิด เอ็ม อาร์ พี ซี ดอตโปร สแลช เอ พี ไอ เข้าสู่ระบบแล้วเลือก Python คลิก Download example ตัวอย่างจากเว็บไซต์จะสร้างบัญชีทดลองใหม่และสาธิตการซื้อขายครบขั้นตอน โดยต้องใช้คีย์ เอ พี ไอ ส่วนตัว ไฟล์ที่ดาวน์โหลดอาจมีคีย์นี้อยู่ด้วย จึงควรเก็บไฟล์ไว้เป็นส่วนตัว
- 0:37
เลือกตัวอย่างให้ตรงงาน
บทเรียนนี้ใช้ตัวอย่าง Python สำหรับรับราคา ซึ่งเป็นไฟล์ประกอบแยกต่างหาก ใช้ข้อมูลเข้าสู่บัญชีทดลองที่มีอยู่และไม่ส่งคำขอซื้อขาย คุณใช้ TRIAL กับบัญชีทดลองเดิมได้เมื่อยังมีโควตาทดลองว่าง แต่การสร้างบัญชีทดลองใหม่ต้องใช้คีย์ส่วนตัว ทั้งสองแบบจึงมีจุดเริ่มต้นต่างกัน
- 1:03
เตรียม Python
ใช้ Python เวอร์ชันสามจุดสิบขึ้นไป สร้างสภาพแวดล้อมเสมือนในโฟลเดอร์โปรเจกต์ แล้วใช้ Python ของสภาพแวดล้อมนั้นติดตั้ง requests และ websocket client โดย requests ส่งคำขอ REST ส่วน websocket client รับสตรีมสด เดโมต้นฉบับบนเว็บไซต์ใช้ไลบรารีมาตรฐาน สองแพ็กเกจนี้ใช้กับตัวอย่างสตรีมของเรา
- 1:30
ตั้งค่าข้อมูลสำหรับเชื่อมต่อ
ตั้งค่าตัวแปรสภาพแวดล้อมสี่ตัวที่แสดง แล้วแทนค่าตัวอย่างด้วยข้อมูลของคุณ ใช้ชื่อเซิร์ฟเวอร์ทดลองของโบรกเกอร์ให้ตรงทุกตัว และใช้รหัสผ่านซื้อขายของบัญชีนั้น ตัวแปรสภาพแวดล้อมช่วยแยกข้อมูลลับออกจากซอร์สโค้ด บน macOS หรือ Linux ให้ใช้ export แทนรูปแบบตัวแปรของ PowerShell
- 1:57
เชื่อมต่อครั้งเดียว แล้วใช้ ID เดิม
ตัวอย่างเรียก Connect E X พร้อมล็อกอินทดลอง รหัสผ่าน และเซิร์ฟเวอร์ แล้วเก็บ terminal instance GUID ไว้ในหน่วยความจำ คำขอ REST ต่อไปส่งค่านี้ในส่วนหัว id และส่งคีย์ของคุณในส่วนหัว APIKey คีย์ระบุสิทธิ์เข้าถึง MetaRPC ของคุณ ส่วน terminal ID ใช้เลือกบัญชีที่เชื่อมต่อนี้
- 2:27
ตรวจทุกคำตอบ
ตรวจ HTTP Status Code ก่อน เมื่อได้ HTTP Status Code 200 ให้แปลง JSON แล้วตรวจ error ถ้า error ไม่เป็น null ให้หยุดขั้นตอนนี้และอ่านรหัสกับข้อความผิดพลาดเป็นการส่วนตัว หากไม่มี error จึงอ่าน data ตัวอย่างบันทึกข้อผิดพลาดแบบสั้นโดยไม่พิมพ์ URL เชื่อมต่อ เพราะ URL เหล่านั้นมีรหัสผ่านซื้อขาย
- 2:55
อ่านข้อมูลบัญชี
นี่คือผลลัพธ์จากการรัน Python จริง สรุปบัญชีอ่าน account Currency, account Balance และ account Equity จาก data ค่านี้เป็นของบัญชีโบรกเกอร์ ไม่ใช่ยอดเครดิตบริการ MetaRPC อีกสามบรรทัดถัดไปคือข้อความราคาที่ตัวอย่างได้รับจริง ไม่ใช่ค่าตัวอย่างที่แต่งขึ้น
- 3:20
สมัครรับราคาสด
ที่อยู่ WebSocket สมัครรับราคา อี ยู อาร์ ยู เอส ดี Python ส่ง APIKey และ id ในส่วนหัวช่วง handshake ได้ สำหรับทุกข้อความ JSON ให้ตรวจ error ก่อน แล้วอ่าน data dot symbol Tick ค่า bid คือราคาขาย ส่วน ask คือราคาซื้อ ใช้ time U T C สำหรับเวลาบนมาตรฐาน UTC
- 3:53
หยุดสตรีมและตัดการเชื่อมต่อ
ตัวอย่างเต็มจะหยุดหลังได้รับราคาสามข้อความ ขั้นตอน cleanup ปิด WebSocket ก่อน แล้วเรียก Disconnect ด้วย terminal ID เดิม แม้สตรีมจะล้มเหลว การปิด socket หยุดการสมัครรับข้อมูล ส่วนการตัดการเชื่อมต่อปล่อยเทอร์มินัลที่โฮสต์ไว้ อายุห้านาทีที่ระบุเป็นเพียงทางสำรอง ไม่ใช้แทน cleanup
- 4:19
การเชื่อมต่อจากเครื่องของคุณพร้อมแล้ว
รันตัวอย่างด้วย Python ในสภาพแวดล้อมเสมือน เมื่อสำเร็จจะพิมพ์สรุปบัญชี ราคาสามรายการ WebSocket closed และ Terminal disconnected เมื่อนำไปปรับใช้ให้เก็บการตรวจ error และ cleanup ไว้ จากนั้นเปลี่ยนคำสั่ง print เป็นตรรกะของแอปพลิเคชัน และใช้คีย์ส่วนตัวเมื่อพร้อม