private static void QTrade_OnAccountBalancesRecieved(object sender, APIAccountBalancesReturnArgs e) { Console.WriteLine("Combined balances:"); for (int i = 0; i < e.details.combinedBalances.Length; i++) { var c = e.details.combinedBalances; Console.WriteLine(string.Format("{0} - Buying power: {1}, Cash: {2}, MaintExcess: {3}, Market Value: {4}, Total Equity: {5}", c[i].currency, c[i].buyingPower, c[i].cash, c[i].maintenanceExcess, c[i].marketValue, c[i].totalEquity)); } }
/// <summary> /// Retrives an account balance given an account number /// </summary> /// <param name="id">Account number</param> /// <param name="cancellationTokenSource">Cancellation token source</param> public void GetAccountBalanceAsync(string id, CancellationTokenSource cancellationTokenSource) { CancellationToken ct = cancellationTokenSource.Token; Task.Run(() => { ct.ThrowIfCancellationRequested(); var obj = ApiGet <AccountBalances>(apiClient, string.Format("v1/accounts/{0}/balances", id), ct); //obj.Wait(ct); if (obj.isSuccess && !ct.IsCancellationRequested) { var arg = new APIAccountBalancesReturnArgs(); arg.details = obj.q_obj; arg.NumCallsLeft = obj.NumCallsLeft; arg.RateReset = obj.RateReset; OnAccountBalancesRecieved(this, arg); } }, ct); }