การดำเนินการเทรดของ cBot
ในคู่มือนี้ เราอธิบายรายละเอียดเกี่ยวกับการดำเนินการเทรดที่สำคัญที่คุณสามารถดำเนินการโดยใช้ cBot ที่พัฒนาผ่าน Algo API
ต่อไปนี้คือการดำเนินการบางส่วนที่รองรับสำหรับ cBot:
- การส่งคำสั่ง Market
- การส่งคำสั่งที่รอดำเนินการ
- การแก้ไขคำสั่งที่รอดำเนินการและโพสิชันที่เปิดอยู่
- การปิดโพสิชันและยกเลิกคำสั่ง
- การสมัครรับข้อมูลเหตุการณ์การเทรด (โพสิชัน คำสั่ง และกิจกรรมที่เกี่ยวข้อง)
ส่งคำสั่ง Market
คำสั่ง Market จะถูกส่งไปยังเซิร์ฟเวอร์การเทรดเมื่อมีการเรียกใช้เมธอด ExecuteMarketOrder() หลังจากสร้าง cBot ใหม่ คุณสามารถเพิ่มเมธอดนี้พร้อมกับคุณสมบัติที่กำหนดไว้หลายอย่างของคำสั่ง Market (สัญลักษณ์ ปริมาณ Take Profit, Stop Loss ฯลฯ) ตัวอย่างด้านล่างนี้จะส่งคำสั่ง Market เมื่อ cBot เริ่มต้น
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
1 2 3 4 5 6 7 8 9 10 | |
เคล็ดลับ
ในตัวอย่าง พารามิเตอร์คำสั่งหลายตัวถูกตั้งค่าเป็น "" โดยเจตนา ตรวจสอบ References สำหรับลายเซ็นและลำดับของพารามิเตอร์ ExecuteMarketOrder() ทั้งหมด
เมื่อสร้าง cBot และเพิ่มอินสแตนซ์ คุณจะเห็นว่าคำสั่ง Market ที่มีพารามิเตอร์ที่ระบุได้ถูกดำเนินการเมื่อเริ่มต้น แท็บ Positions และ Log ในแผง Trade Watch จะแสดงรายการโพสิชันและบันทึกที่เกี่ยวข้อง
ส่งคำสั่งที่รอดำเนินการ
cTrader รองรับคำสั่งที่รอดำเนินการสามประเภท ได้แก่ คำสั่ง Stop, คำสั่ง Limit และคำสั่ง Stop-limit เพื่อส่งคำสั่งที่รอดำเนินการเมื่อเริ่มต้น คุณสามารถแทนที่คำสั่ง Market ด้วยโค้ดสนิปเป็ตต่อไปนี้ในตัวอย่าง cBot ก่อนหน้านี้
1 2 3 | |
1 2 3 | |
เคล็ดลับ
เพื่อตรวจสอบพารามิเตอร์ของเมธอดอย่างรวดเร็ว ให้เริ่มพิมพ์ชื่อเมธอดและวงเล็บเปิด คุณจะเห็นป๊อปอัพ IntelliSense ที่มีข้อมูลเพิ่มเติม

เคล็ดลับ
หากคุณคลิกที่เมธอด/พารามิเตอร์ใน cTrader Algo และกด F1 แผงช่วยเหลือทางด้านขวาของหน้าต่างโค้ดจะแสดงผลการค้นหาที่ตรงกัน หากเคอร์เซอร์ข้อความอยู่นอกหน้าต่างโค้ดและคุณกด F1 หน้าต่าง Help Centre จะปรากฏขึ้นเพื่อช่วยเหลือคุณ
คุณจะเห็นบันทึกต่อไปนี้ในแผง Trade Watch หลังจากการสร้างและรัน cBot สำเร็จ
คำสั่งที่รอดำเนินการและโพสิชันที่เปิดอยู่
เมื่อมีการวางคำสั่งที่รอดำเนินการ คำสั่งเหล่านั้นจะปรากฏใน cBot PendingOrders collection ของคุณ คุณสามารถเข้าถึงและแก้ไขคำสั่งเหล่านั้นผ่าน collection นี้ คำสั่งที่รอดำเนินการที่มีอยู่สามารถแก้ไขได้โดยการปรับระดับ Stop Loss ดังต่อไปนี้
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 | |
แท็บ Log ของแผงควบคุม Trade Watch แสดงว่าคำสั่งที่รอดำเนินการทั้งสามรายการได้รับการแก้ไขสำเร็จทันทีหลังจากที่วางคำสั่ง

หลังจากที่คำสั่งประเภทต่างๆ ถูกดำเนินการสำเร็จ โพสิชันจะถูกเปิดสำหรับบัญชีของคุณ โพสิชันที่เปิดทั้งหมดจะอยู่ใน Positions collection ของ cBot ของคุณ เช่นเดียวกับการแก้ไขคำสั่งที่รอดำเนินการในตัวอย่างก่อนหน้านี้ คุณสามารถแก้ไขโพสิชันที่เปิดอยู่ได้ เนื่องจากคำสั่ง Market เป็นวิธีที่เร็วที่สุดในการเปิดโพสิชัน เราจึงเพิ่มเมธอด OnBar() พร้อมการดำเนินการแก้ไขโพสิชันลงใน cBot แรกในคู่มือนี้
1 2 3 4 5 6 7 | |
1 2 3 4 | |
ตามที่แสดงในบันทึก โพสิชันที่เปิดได้รับการแก้ไขในแท่งเทียนแรกที่เปิด

ปิดโพสิชันและยกเลิกคำสั่ง
คุณสามารถดูตัวอย่าง cBot ด้านล่างที่ปิดโพสิชันที่เปิดทั้งหมดและยกเลิกคำสั่งที่รอดำเนินการทั้งหมดในวันศุกร์เวลา 11:00 (UTC) โดยเรียกใช้เมธอด OnTick()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |

สมัครรับข้อมูลเหตุการณ์การเทรด
cTrader อนุญาตให้นักพัฒนาอัลกอริทึมสมัครรับข้อมูลเหตุการณ์การเทรดและติดตามกิจกรรมการเทรด ไม่ว่าจะเริ่มต้นโดย cBot หรือด้วยตนเอง สิ่งนี้สามารถทำได้โดยการรับฟังเหตุการณ์ที่มีอยู่ในสอง collection ที่แสดงก่อนหน้านี้ ได้แก่ Positions และ PendingOrders
มีสามเหตุการณ์ที่มีให้สำหรับโพสิชัน:
OpenModifiedClosed
เหตุการณ์เหล่านี้จะถูกเรียกใช้เมื่อคุณเปิด แก้ไข และปิดโพสิชันในบัญชีของคุณตามลำดับ
ในตัวอย่างโค้ดด้านล่าง เหตุการณ์ทั้งสามถูกประกาศในเมธอด OnStart() และมีการกำหนดเมธอดที่จะถูกเรียกใช้ สิ่งนี้จะสร้างลายเซ็นโค้ดโดยอัตโนมัติสำหรับเราใช้ หลังจากนั้น คำสั่ง Print() จะถูกเพิ่มลงในแต่ละเมธอดของเหตุการณ์
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
ไม่ว่าจะเป็นคุณหรือ cBot ที่ดำเนินการเหตุการณ์ Open, Modified และ Closed อัลกอริทึมจะตอบสนองทุกครั้งด้วยข้อความที่พิมพ์ออกมาตามที่แสดงในบันทึกด้านล่าง

ในทำนองเดียวกัน คุณสามารถสมัครรับข้อมูลเหตุการณ์ที่เกี่ยวข้องกับคำสั่งที่รอดำเนินการได้ มีสี่เหตุการณ์ที่มีให้สำหรับคำสั่งที่รอดำเนินการ:
CreatedModifiedFilledCancelled
เหตุการณ์ทั้งสี่ถูกประกาศในเมธอด OnStart() และมีการเพิ่มตัวจัดการเหตุการณ์ดังต่อไปนี้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
หากสมัครรับข้อมูลเหตุการณ์ที่เกี่ยวข้องกับคำสั่งที่รอดำเนินการ cBot จะตอบสนองต่อกิจกรรมการเทรดทั้งที่ทำด้วยตนเองและที่เขียนโปรแกรมไว้

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



