ตัวแปลงสกุลเงิน
ในการเทรดด้วย Algo การให้ความสามารถแก่ cBot และอินดิเคเตอร์ในการแปลงสกุลเงินโดยอัตโนมัติโดยใช้อัตราตลาดปัจจุบันเป็นสิ่งสำคัญ ในคู่มือ API นี้ เราครอบคลุมวิธีการใช้งานฟีเจอร์นี้ใน cTrader
การแปลงสกุลเงินในหนึ่งนาที!
- เมธอด
Convert (double value, Asset from, Asset toและConvert(double value, string from, string to))ส่งคืนอัตราการแปลงที่แน่นอนระหว่างสินทรัพย์ที่ระบุหรือสินทรัพย์ที่มีชื่อที่ระบุ เข้าถึงได้ผ่านคุณสมบัติAssetConverterใหม่ของคลาสAlgo - คลาส
AssetมีเมธอดConvert(Asset to, double value)และConvert(string to, double value)ของตัวเองซึ่งสามารถเรียกใช้ได้อย่างง่ายดายจากออบเจกต์Assetใด ๆ - เมื่อทำ Backtesting cTrader จะใช้อัตราการแปลงในอดีตโดยอัตโนมัติ ซึ่งหมายความว่าคุณสามารถคาดหวังผลลัพธ์ที่ถูกต้องตามประวัติศาสตร์และประเมินประสิทธิภาพของ cBot ของคุณได้อย่างเต็มที่
การแปลงสกุลเงินทำงานอย่างไร
อินเทอร์เฟซ IAssetConverter ในเนมสเปซ cAlgo.API.Internals มีเมธอด Convert() ที่มีโอเวอร์โหลดดังต่อไปนี้:
double Convert(double value, Asset from, Asset to)- แปลงค่าที่ระบุจากสินทรัพย์fromเป็นสินทรัพย์todouble Convert(double value, string from, string to)- แปลงค่าที่ระบุจากสินทรัพย์ที่มีชื่อตรงกับสตริงfromเป็นสินทรัพย์ที่มีชื่อตรงกับสตริงto
คลาส Algo ตอนนี้มีคุณสมบัติ AssetConverter ของประเภท IAssetConverter คุณสามารถเข้าถึงสองเมธอดด้านบนโดยพิมพ์ดังต่อไปนี้
1 | |
คลาส Asset ยังมีเมธอด Convert() ของตัวเองซึ่งมีโอเวอร์โหลดดังต่อไปนี้:
double Convert(Asset to, double value)- แปลงค่าที่ระบุจากสินทรัพย์ที่เรียกเมธอดนี้เป็นสินทรัพย์todouble Convert(string to, double value)- แปลงค่าที่ระบุจากสินทรัพย์ที่เรียกเมธอดนี้เป็นสินทรัพย์ที่มีชื่อตรงกับสตริงto
ลองพิจารณาตัวอย่างด้านล่างซึ่ง cBot ของเราแปลง GBP เป็น JPY และจากนั้นดำเนินการคำสั่งตลาดใหม่โดยใช้ค่าที่คำนวณได้เป็นปริมาณคำสั่ง
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 29 30 31 32 33 34 | |
หากเราดูที่บันทึก เราจะเห็นว่า cBot ของเราทำงานตามที่คาดไว้ ในเวลาที่เริ่มต้นอินสแตนซ์ ราคา Bid สำหรับ GBPJPY เท่ากับ 159.619

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