public static decimal GetUsedMargin(this IMarginTradingAccount account) { var fplData = account.GetAccountFpl(); //According to ESMA MCO rule a stop-out added at 50% of the initially invested margin //So if the 50% of the initially invested margin (accumulated per the account), is bigger than the recalculated 100%, than this margin requirement is the reference for the free capital determination and the liquidation level. return(Math.Max(fplData.UsedMargin, fplData.InitiallyUsedMargin / 2)); }
public static AccountLevel GetAccountLevel(this IMarginTradingAccount account, decimal?overnightUsedMargin = null) { var marginUsageLevel = account.GetMarginUsageLevel(overnightUsedMargin); var accountFplData = account.GetAccountFpl(); if (marginUsageLevel <= accountFplData.StopOutLevel) { return(AccountLevel.StopOut); } if (marginUsageLevel <= accountFplData.MarginCall2Level) { return(AccountLevel.MarginCall2); } if (marginUsageLevel <= accountFplData.MarginCall1Level) { return(AccountLevel.MarginCall1); } return(AccountLevel.None); }
public static int GetOpenPositionsCount(this IMarginTradingAccount account) { return(account.GetAccountFpl().OpenPositionsCount); }
public static decimal GetStopOutLevel(this IMarginTradingAccount account) { return(account.GetAccountFpl().StopoutLevel); }
public static decimal GetMarginCallLevel(this IMarginTradingAccount account) { return(account.GetAccountFpl().MarginCallLevel); }
public static decimal GetMarginInit(this IMarginTradingAccount account) { return(account.GetAccountFpl().MarginInit); }
public static decimal GetUsedMargin(this IMarginTradingAccount account) { return(account.GetAccountFpl().UsedMargin); }
public static decimal GetPnl(this IMarginTradingAccount account) { return(account.GetAccountFpl().PnL); }
public static int GetActiveOrdersCount(this IMarginTradingAccount account) { return(account.GetAccountFpl().ActiveOrdersCount); }
public static decimal GetFrozenMargin(this IMarginTradingAccount account) { return(account.GetAccountFpl().WithdrawalFrozenMargin); }
public static decimal GetUnrealizedDailyPnl(this IMarginTradingAccount account) { return(account.GetAccountFpl().UnrealizedDailyPnl); }