วิธีสร้าง cBot สำหรับ cTrader ภายใน 5 นาที
ในบทความนี้และวิดีโอที่เกี่ยวข้อง เราจะอธิบายวิธีการสร้าง cBot ใน cTrader Algo อย่างรวดเร็ว cBot ที่เราจะสร้างจะใช้กลยุทธ์การเทรดอย่างง่ายที่เรียกว่า Three white soldiers และ three black crows คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับกลยุทธ์นี้ได้ใน ฐานความรู้ของเรา
ก่อนที่จะปฏิบัติตามคำแนะนำของเรา โปรดตรวจสอบให้แน่ใจว่าคุณได้ดาวน์โหลดและติดตั้งแอปพลิเคชัน cTrader สำหรับ Windows หรือ Mac จาก เว็บไซต์อย่างเป็นทางการ เปิดใช้งาน และไปที่ส่วน cTrader Algo คุณสามารถพบได้ในแผงด้านซ้าย คลิกแท็บ Algo และส่วน cTrader Algo ควรปรากฏขึ้น
เพิ่ม cBot ใหม่
คลิกปุ่ม New ใน cTrader Algo เพื่อเริ่ม สร้าง cBot ใหม่ ป้อนชื่อ เลือกภาษาการเขียนโปรแกรมระหว่าง C# และ Python และดำเนินการต่อไปจนถึงเมื่อตัวแก้ไขโค้ดเปิดขึ้น
เพิ่มการตั้งค่า cBot
ก่อนที่เราจะเริ่มใช้กลยุทธ์การเทรด เราจะดูพารามิเตอร์และเมธอดพื้นฐานของ cBot กัน คุณสามารถดู เอกสารของเรา เพื่อทำความคุ้นเคยกับพารามิเตอร์และเมธอดต่างๆ ว่าทำอะไรได้บ้าง
-
พารามิเตอร์ cBot – ช่วยให้คุณกำหนดคุณลักษณะที่สามารถกำหนดค่าได้ เช่น ปริมาณการเทรดหรือระยะทาง Stop-Loss/Take-Profit
-
เมธอด cBot – กำหนดว่า cBot ของคุณจะทำงานอย่างไรเมื่อเกิดเหตุการณ์เฉพาะ มีสี่เหตุการณ์หลักที่คุณต้องจัดการเมื่อพัฒนา cTrader cBot และแต่ละอันจะถูกจัดการโดยเมธอดที่เกี่ยวข้องที่ cTrader จัดเตรียมไว้ให้ เมธอดเหล่านี้คือ
OnStart(),OnTick(),OnBar(),OnStop()ของ C# และon_start(),on_tick(),on_bar_closed(),on_stop()ของ Python โปรดทราบว่าเมธอดOnBar()ของ C# และon_bar_closed()ของ Python ไม่รวมอยู่ในเทมเพลตโค้ดเริ่มต้น
ตารางต่อไปนี้อธิบายเมธอดทั้งสี่นี้โดยละเอียด
| C# | Python | จุดประสงค์ |
|---|---|---|
OnStart() | on_start() | ทริกเกอร์เมื่อ cBot เริ่มทำงาน ใช้เพื่อเริ่มต้นตัวแปรใดๆ ที่คุณวางแผนจะใช้ใน cBot ของคุณ เช่น อินดิเคเตอร์ ตัวนับ ตัวจัดการเหตุการณ์ หรือตัวจับเวลา |
OnTick() | on_tick() | ทริกเกอร์ทุกติ๊ก (การอัปเดตราคา) บนแผนภูมิการเทรดที่ cBot กำลังทำงานอยู่ มักใช้สำหรับตรรกะการเข้าหรือออกแบบรวดเร็วตามข้อมูลแบบเรียลไทม์ ภายในเมธอดนี้ คุณสามารถเขียนโปรแกรมเงื่อนไขการเข้าและออกแบบกำหนดเอง รวมถึงฟังก์ชันเสริมอื่นๆ ที่คุณต้องการให้ทำงานเมื่อมีติ๊กใหม่เข้ามา |
OnBar() | on_bar_closed() | ทริกเกอร์เมื่อแท่งเทียนปิด ภายในเมธอดนี้ คุณสามารถเขียนโปรแกรมเงื่อนไขการเข้าและออกแบบกำหนดเอง หรือฟังก์ชันอื่นๆ ที่ต้องทำงานเมื่อมีการสร้างแท่งเทียนใหม่แต่ละแท่ง |
OnStop() | on_stop() | เรียกเมื่อ cBot หยุดทำงาน ใช้เพื่อดำเนินการขั้นสุดท้าย เช่น การปิดโพสิชัน การบันทึกสถานะ และอื่นๆ |
เพิ่มตรรกะการเทรด
ตอนนี้เราจะเพิ่มโค้ดสำหรับกลยุทธ์การเทรดของเรา cBot ของเราควรเปิดโพสิชัน Buy เมื่อมีแท่งเทียนสีเขียวสามแท่งเกิดขึ้นบนแผนภูมิ และโพสิชัน Sell เมื่อมีแท่งเทียนสีแดงสามแท่งติดต่อกัน
ก่อนอื่น เราต้องกำหนดพารามิเตอร์ของ cBot ของเรา พารามิเตอร์เหล่านี้จะสามารถปรับแต่งได้อย่างเต็มที่จาก UI ของ cTrader เราจะกำหนดสามพารามิเตอร์ใน cBot ของเรา
- ปริมาณของแต่ละการเทรด
- Stop Loss เป็น pip
- Take Profit เป็น pip
วางโค้ดต่อไปนี้ลงในโปรแกรมแก้ไขโค้ดของคุณ ถัดจากวงเล็บปีกกาหลังการประกาศคลาส (public class NewcBot : Robot)
1 2 3 4 5 6 7 8 | |
หมายเหตุ
cBots ของ Python ใช้พารามิเตอร์ที่ปรับแต่งได้ซึ่งประกาศในไฟล์ .cs ของพวกเขา
1 2 3 4 5 6 7 8 | |
ตอนนี้เราต้องใช้ตรรกะเบื้องหลังกลยุทธ์การเทรดของเรา วางโค้ดต่อไปนี้ในเมธอด OnBar() หรือ on_bar_closed() ของคุณ โปรดจำไว้ว่าเมธอดนี้จะถูกเรียกทุกครั้งที่มีการสร้างแท่งเทียนใหม่
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
1 2 3 4 5 6 7 8 9 10 11 | |
ตอนนี้เราจะตรวจสอบโค้ดอย่างละเอียดมากขึ้น cTrader ให้การเข้าถึงแท่งเทียนในอดีตของแผนภูมิ ช่วยให้เราสามารถตรวจสอบว่าสามแท่งสุดท้ายเป็นสีเขียวทั้งหมดหรือสีแดงทั้งหมดตามลำดับ ในเมธอด OnBar() ของ C# และ on_bar_closed() ของ Python ข้างต้น เราตรวจสอบก่อนว่าแท่งราคาสามแท่งสุดท้ายเป็นสีเขียวทั้งหมดหรือไม่ จากนั้นเราประเมินว่าแท่งเหล่านี้เป็นสีแดงทั้งหมดหรือไม่
หากเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง เราจะส่งคำสั่งตลาดโดยใช้เมธอด ExecuteMarketOrder() มันรับอินพุต (อาร์กิวเมนต์) หลายตัว โดยที่สำคัญที่สุดคือทิศทางการเทรด สัญลักษณ์ ปริมาณการเทรด stop loss และ take profit
ในกรณีของเรา ทิศทางของคำสั่ง (TradeType.Buy, TradeType.Sell) ถูกกำหนดโดยเงื่อนไขของกลยุทธ์การเทรด ชื่อสัญลักษณ์ถูกนำมาโดยตรงจากแผนภูมิที่ cBot ของเรากำลังทำงานอยู่ SymbolName ปริมาณการเทรด Stop Loss และ Take Profit (C#'s Volume, StopLoss, TakeProfit และ Python's VolumeInLots, StopLossInPips, TakeProfitInPips) ทั้งหมดถูกดึงมาจากพารามิเตอร์ cBot ที่เรากำหนดไว้
สร้างและรัน cBot
ตอนนี้เราต้องตรวจสอบว่า cBot ของเราสร้างสำเร็จหรือไม่ โดยค่าเริ่มต้น หน้าต่างผลลัพธ์การสร้างจะอยู่ด้านล่างของโปรแกรมแก้ไขโค้ดโดยตรง หากคุณไม่เห็น ให้คลิกปุ่ม Layout ในแถบบนสุดของ UI ของ cTrader และเลือก Build Result ทางลัดแป้นพิมพ์สำหรับการกระทำนี้คือ Ctrl + W
หลังจากนั้น คลิกปุ่ม Build ที่อยู่ในแถบบนสุดของ UI ของ cTrader หรือคลิกขวาที่ cBot ของคุณและคลิก Build ในเมนูที่ปรากฏขึ้นใหม่ หรือเพียงแค่กด Ctrl + B

หากการสร้างสำเร็จ คุณจะเห็นข้อความสีเขียวในพื้นที่ Build Result ที่ด้านล่างของโปรแกรมแก้ไขโค้ด

หรือหากมีปัญหากับโค้ดของคุณ คุณจะเห็นข้อความสีแดงและสรุปโดยละเอียดของข้อผิดพลาดในการสร้างทั้งหมด

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

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

คุณสามารถเปลี่ยนพารามิเตอร์เหล่านี้ได้ตามที่คุณต้องการหรือปล่อยไว้ที่ค่าเริ่มต้นก็ได้
นอกจากนี้ คุณจะเห็นปุ่ม เล่น ที่ด้านบนของกราฟ EURUSD

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

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