Bỏ qua

Ước tính ký quỹ

Trong cTrader Windows 4.5, chúng tôi đã thêm tính toán ký quỹ ước tính vào Algo API. Nói cách khác, bây giờ bạn có thể sử dụng một phương thức để kiểm tra mức ký quỹ sẽ được sử dụng cho một vị thế hoặc lệnh mới.

Cách hoạt động của ước tính ký quỹ

Để tính toán ký quỹ ước tính, hãy gọi phương thức Symbol.GetEstimatedMargin() và truyền các đối số cần thiết, cụ thể là loại giao dịch (mua hoặc bán) và khối lượng lệnh.

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

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

GetEstimatedMargin() là một phương thức giao diện, bạn có thể sử dụng nó với bất kỳ đối tượng Symbol hoặc SymbolInfo nào như được hiển thị bên dưới.

 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)}"); 
        }
    }
}

Ghi chú

Trong quá trình backtest hoặc tối ưu hóa, phương thức GetEstimatedMargin() sẽ trả về ký quỹ ước tính mà không xem xét đến mức độ phơi nhiễm.