ข้ามไปที่เนื้อหา

การประมาณการมาร์จิ้น

ใน cTrader Windows 4.5 เราได้เพิ่มการคำนวณประมาณการมาร์จิ้นลงใน Algo API กล่าวอีกนัยหนึ่ง ตอนนี้คุณสามารถใช้เมธอดเพื่อตรวจสอบว่ามาร์จิ้นของคุณจะถูกใช้ไปเท่าไหร่โดยโพสิชันใหม่หรือคำสั่ง

การประมาณการมาร์จิ้นทำงานอย่างไร

ในการคำนวณประมาณการมาร์จิ้น ให้เรียกเมธอด Symbol.GetEstimatedMargin() และส่งอาร์กิวเมนต์ที่จำเป็น ได้แก่ ประเภทการเทรด (ซื้อหรือขาย) และปริมาณคำสั่ง

1
2
3
4
var estimatedMargin = Symbol.GetEstimatedMargin(TradeType.Buy, 10000);

if (estimatedMargin > Account.FreeMargin)
    Print("Not enough margin");

เนื่องจาก GetEstimatedMargin() เป็นเมธอดอินเตอร์เฟซ คุณสามารถใช้กับออบเจ็กต์ Symbol หรือ SymbolInfo ใดๆ ได้ดังที่แสดงด้านล่าง

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using cAlgo.API;

namespace cAlgo.Robots
{
    [Robot(AccessRights = AccessRights.None)]
    public class ExpectedMargin : Robot
    {
        [Parameter("Volume", DefaultValue = 10000, MinValue = -1)]
        public double Volume {get; set;}

        [Parameter("Symbol Name")]
        public string UserSymbolName {get; set;}

        protected override void OnStart()
        {
            if (string.IsNullOrWhiteSpace(UserSymbolName))
                UserSymbolName = SymbolName;

            Print($"Buy: {Symbols.GetSymbolInfo(UserSymbolName).GetEstimatedMargin(TradeType.Buy, Volume)}");
            Print($"Sell: {Symbols.GetSymbolInfo(UserSymbolName).GetEstimatedMargin(TradeType.Sell, Volume)}"); 
        }
    }
}

หมายเหตุ

ในระหว่างการทดสอบย้อนหลังหรือการปรับให้เหมาะสม เมธอด GetEstimatedMargin() จะส่งคืนประมาณการมาร์จิ้นโดยไม่คำนึงถึงการเปิดรับความเสี่ยง